build: added --minimum-library-version configure option
authorAndrew Tridgell <tridge@samba.org>
Sun, 11 Apr 2010 23:49:56 +0000 (09:49 +1000)
committerAndrew Tridgell <tridge@samba.org>
Sun, 11 Apr 2010 23:50:49 +0000 (09:50 +1000)
this allows the packager to override the default choice of system
library version

buildtools/wafsamba/samba_bundled.py
buildtools/wafsamba/wscript

index bab4143a9acee470a8f53a39d3e476ee858fb0c0..f87ff8027ca694ec1aad8457d0f3ab1e36f616dc 100644 (file)
@@ -54,6 +54,22 @@ def BUNDLED_EXTENSION_DEFAULT(opt, extension, noextenion=''):
 Options.Handler.BUNDLED_EXTENSION_DEFAULT = BUNDLED_EXTENSION_DEFAULT
 
 
+def minimum_library_version(conf, libname, default):
+    '''allow override of mininum system library version'''
+
+    minlist = Options.options.MINIMUM_LIBRARY_VERSION
+    if not minlist:
+        return default
+
+    for m in minlist.split(','):
+        a = m.split(':')
+        if len(a) != 2:
+            Logs.error("Bad syntax for --minimum-library-version of %s" % m)
+            sys.exit(1)
+        if a[0] == libname:
+            return a[1]
+    return default
+
 
 @runonce
 @conf
@@ -84,6 +100,8 @@ def CHECK_BUNDLED_SYSTEM(conf, libname, minversion='0.0.0',
                 conf.env[found] = False
                 return False
 
+    minversion = minimum_library_version(conf, libname, minversion)
+
     # try pkgconfig first
     if conf.check_cfg(package=libname,
                       args='"%s >= %s" --cflags --libs' % (libname, minversion),
@@ -107,3 +125,4 @@ def CHECK_BUNDLED_SYSTEM(conf, libname, minversion='0.0.0',
         Logs.error('ERROR: System library %s of version %s not found, and bundling disabled' % (libname, minversion))
         sys.exit(1)
     return False
+
index 1ae6b976403b547f60d366a43ee668a22798fc73..2e42139bb9dc884eeac0f81b56405761b33679ef 100644 (file)
@@ -30,6 +30,10 @@ def set_options(opt):
                    help=("command separated list of libraries to build directly into binaries [%s]" % builtin_defauilt),
                    action="store", dest='BUILTIN_LIBRARIES', default=builtin_defauilt)
 
+    opt.add_option('--minimum-library-version',
+                   help=("list of minimum system library versions (LIBNAME1:version,LIBNAME2:version)"),
+                   action="store", dest='MINIMUM_LIBRARY_VERSION', default='')
+
     opt.add_option('--with-modulesdir',
                    help=("modules directory [PREFIX/modules]"),
                    action="store", dest='MODULESDIR', default='${PREFIX}/modules')