summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDoug Goldstein <cardoe@cardoe.com>2013-11-18 16:21:23 -0600
committerDaniel P. Berrange <berrange@redhat.com>2013-11-22 14:45:48 +0000
commit965d7e7c4cd02c37ca07b58c40cbc058745c4d3a (patch)
treed5bb52e4d1f9745cae8d6fdeacdb65f3bcc3fd54
parent562c14fe47422524b60f130c50fc56e4c2df303f (diff)
downloadlibvirt-python-v8-965d7e7c4cd02c37ca07b58c40cbc058745c4d3a.tar.gz
libvirt-python-v8-965d7e7c4cd02c37ca07b58c40cbc058745c4d3a.tar.xz
libvirt-python-v8-965d7e7c4cd02c37ca07b58c40cbc058745c4d3a.zip
Don't build LXC module when building less than 1.0.2
The functions that the LXC module wraps did not appear until 1.0.2 so we can't build the module unless we're building against 1.0.2 or newer.
-rw-r--r--setup.py34
1 files changed, 23 insertions, 11 deletions
diff --git a/setup.py b/setup.py
index d641fab..bf32e2a 100644
--- a/setup.py
+++ b/setup.py
@@ -7,6 +7,7 @@ from distutils.command.sdist import sdist
from distutils.dir_util import remove_tree
from distutils.util import get_platform
from distutils.spawn import spawn
+from distutils.errors import DistutilsExecError
import distutils
import sys
@@ -17,6 +18,7 @@ import re
import time
MIN_LIBVIRT = "0.10.2"
+MIN_LIBVIRT_LXC = "1.0.2"
# Hack to stop 'pip install' failing with error
# about missing 'build' dir.
@@ -33,6 +35,14 @@ spawn([pkgcfg,
"--atleast-version=%s" % MIN_LIBVIRT,
"libvirt"])
+have_libvirt_lxc=True
+try:
+ spawn([pkgcfg,
+ "--atleast-version=%s" % MIN_LIBVIRT_LXC,
+ "libvirt"])
+except DistutilsExecError,e:
+ have_libvirt_lxc=False
+
def get_pkgconfig_data(args, mod, required=True):
"""Run pkg-config to and return content associated with it"""
f = os.popen("%s %s %s" % (pkgcfg, " ".join(args), mod))
@@ -79,17 +89,18 @@ if ldflags != "":
c_modules.append(moduleqemu)
py_modules.append("libvirt_qemu")
-modulelxc = Extension('libvirtmod_lxc',
- sources = ['libvirt-lxc-override.c', 'build/libvirt-lxc.c', 'typewrappers.c', 'libvirt-utils.c'],
- libraries = [ "virt-lxc" ],
- include_dirs = [ "." ])
-if cflags != "":
- modulelxc.extra_compile_args.append(cflags)
-if ldflags != "":
- modulelxc.extra_link_args.append(ldflags)
+if have_libvirt_lxc:
+ modulelxc = Extension('libvirtmod_lxc',
+ sources = ['libvirt-lxc-override.c', 'build/libvirt-lxc.c', 'typewrappers.c', 'libvirt-utils.c'],
+ libraries = [ "virt-lxc" ],
+ include_dirs = [ "." ])
+ if cflags != "":
+ modulelxc.extra_compile_args.append(cflags)
+ if ldflags != "":
+ modulelxc.extra_link_args.append(ldflags)
-c_modules.append(modulelxc)
-py_modules.append("libvirt_lxc")
+ c_modules.append(modulelxc)
+ py_modules.append("libvirt_lxc")
class my_build(build):
@@ -114,7 +125,8 @@ class my_build(build):
self.spawn(["python", "generator.py", "libvirt", apis[0]])
self.spawn(["python", "generator.py", "libvirt-qemu", apis[1]])
- self.spawn(["python", "generator.py", "libvirt-lxc", apis[2]])
+ if have_libvirt_lxc:
+ self.spawn(["python", "generator.py", "libvirt-lxc", apis[2]])
build.run(self)