Files
xen/tools/python/setup.py
T
Gianni Tedesco ce675adf0d tools/python: do not link against blktap except on Linux
Link to libblktapctl in python setup only for platforms which build it.
This fixes a build breakage on NetBSD introduced in 330c4d9010da.

Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
Tested-by: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2010-09-23 19:03:52 +01:00

140 lines
5.5 KiB
Python

from distutils.core import setup, Extension
import os
XEN_ROOT = "../.."
extra_compile_args = [ "-fno-strict-aliasing", "-Werror" ]
include_dirs = [ XEN_ROOT + "/tools/libxc",
XEN_ROOT + "/tools/xenstore",
XEN_ROOT + "/tools/include",
XEN_ROOT + "/tools/libxl",
]
library_dirs = [ XEN_ROOT + "/tools/libxc",
XEN_ROOT + "/tools/xenstore",
XEN_ROOT + "/tools/libxl"
]
libraries = [ "xenctrl", "xenguest", "xenstore" ]
plat = os.uname()[0]
if plat == 'Linux':
uuid_libs = ["uuid"]
blktap_ctl_libs = ["blktapctl"]
library_dirs.append(XEN_ROOT + "/tools/blktap2/control")
else:
uuid_libs = []
blktap_ctl_libs = []
xc = Extension("xc",
extra_compile_args = extra_compile_args,
include_dirs = include_dirs + [ "xen/lowlevel/xc" ],
library_dirs = library_dirs,
libraries = libraries,
sources = [ "xen/lowlevel/xc/xc.c" ])
xs = Extension("xs",
extra_compile_args = extra_compile_args,
include_dirs = include_dirs + [ "xen/lowlevel/xs" ],
library_dirs = library_dirs,
libraries = libraries,
sources = [ "xen/lowlevel/xs/xs.c" ])
scf = Extension("scf",
extra_compile_args = extra_compile_args,
include_dirs = include_dirs + [ "xen/lowlevel/scf" ],
library_dirs = library_dirs,
libraries = libraries,
sources = [ "xen/lowlevel/scf/scf.c" ])
process = Extension("process",
extra_compile_args = extra_compile_args,
include_dirs = include_dirs + [ "xen/lowlevel/process" ],
library_dirs = library_dirs,
libraries = libraries + [ "contract" ],
sources = [ "xen/lowlevel/process/process.c" ])
acm = Extension("acm",
extra_compile_args = extra_compile_args,
include_dirs = include_dirs + [ "xen/lowlevel/acm" ],
library_dirs = library_dirs,
libraries = libraries,
sources = [ "xen/lowlevel/acm/acm.c" ])
flask = Extension("flask",
extra_compile_args = extra_compile_args,
include_dirs = include_dirs + [ "xen/lowlevel/flask" ] +
[ "../flask/libflask/include" ],
library_dirs = library_dirs + [ "../flask/libflask" ],
libraries = libraries + [ "flask" ],
sources = [ "xen/lowlevel/flask/flask.c" ])
ptsname = Extension("ptsname",
extra_compile_args = extra_compile_args,
include_dirs = include_dirs + [ "ptsname" ],
library_dirs = library_dirs,
libraries = libraries,
sources = [ "ptsname/ptsname.c" ])
checkpoint = Extension("checkpoint",
extra_compile_args = extra_compile_args,
include_dirs = include_dirs,
library_dirs = library_dirs,
libraries = libraries + [ "rt" ],
sources = [ "xen/lowlevel/checkpoint/checkpoint.c",
"xen/lowlevel/checkpoint/libcheckpoint.c"])
netlink = Extension("netlink",
extra_compile_args = extra_compile_args,
include_dirs = include_dirs,
library_dirs = library_dirs,
libraries = libraries,
sources = [ "xen/lowlevel/netlink/netlink.c",
"xen/lowlevel/netlink/libnetlink.c"])
xl = Extension("xl",
extra_compile_args = extra_compile_args,
include_dirs = include_dirs + [ "xen/lowlevel/xl" ],
library_dirs = library_dirs,
libraries = libraries + ["xenlight" ] + blktap_ctl_libs + uuid_libs,
sources = [ "xen/lowlevel/xl/xl.c", "xen/lowlevel/xl/_pyxl_types.c" ])
modules = [ xc, xs, ptsname, acm, flask, xl ]
if plat == 'SunOS':
modules.extend([ scf, process ])
if plat == 'Linux':
modules.extend([ checkpoint, netlink ])
setup(name = 'xen',
version = '3.0',
description = 'Xen',
packages = ['xen',
'xen.lowlevel',
'xen.util',
'xen.util.xsm',
'xen.util.xsm.dummy',
'xen.util.xsm.flask',
'xen.util.xsm.acm',
'xen.xend',
'xen.xend.server',
'xen.xend.xenstore',
'xen.xm',
'xen.web',
'xen.sv',
'xen.xsview',
'xen.remus',
'xen.xend.tests',
'xen.xend.server.tests',
'xen.xend.xenstore.tests',
'xen.xm.tests'
],
ext_package = "xen.lowlevel",
ext_modules = modules
)
os.chdir('logging')
execfile('setup.py')