]> granicus.if.org Git - python/commitdiff
allow --with-dbmliborder to specify that no dbm modules will be built #6491
authorBenjamin Peterson <benjamin@python.org>
Fri, 1 Jan 2010 15:21:13 +0000 (15:21 +0000)
committerBenjamin Peterson <benjamin@python.org>
Fri, 1 Jan 2010 15:21:13 +0000 (15:21 +0000)
Misc/NEWS
setup.py

index acb03be4c4ca190ab70bcbe6463e389627e1c90e..cf9148177f7b04f331409816738f170d77e5cd66 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -93,6 +93,8 @@ C-API
 Build
 -----
 
+- Issue #6491: Allow --with-dbmliborder to specify that no dbms will be built.
+
 - Issue #6943: Use pkg-config to find the libffi headers when the
   --with-system-ffi flag is used.
 
index 3749054b86713b7028641be6efd06da70e28c435..faf2c33386445467cc9743e8a08348fa598df06b 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -1000,14 +1000,15 @@ class PyBuildExt(build_ext):
         else:
             missing.append('bsddb185')
 
+        dbm_order = ['gdbm']
         # The standard Unix dbm module:
         if platform not in ['cygwin']:
             config_args = [arg.strip("'")
                            for arg in sysconfig.get_config_var("CONFIG_ARGS").split()]
-            dbm_args = [arg.split('=')[-1] for arg in config_args
+            dbm_args = [arg for arg in config_args
                         if arg.startswith('--with-dbmliborder=')]
             if dbm_args:
-                dbm_order = dbm_args[-1].split(":")
+                dbm_order = [arg.split('=')[-1] for arg in dbm_args][-1].split(":")
             else:
                 dbm_order = "ndbm:gdbm:bdb".split(":")
             dbmext = None
@@ -1071,7 +1072,8 @@ class PyBuildExt(build_ext):
                 missing.append('dbm')
 
         # Anthony Baxter's gdbm module.  GNU dbm(3) will require -lgdbm:
-        if (self.compiler_obj.find_library_file(lib_dirs, 'gdbm')):
+        if ('gdbm' in dbm_order and
+            self.compiler_obj.find_library_file(lib_dirs, 'gdbm')):
             exts.append( Extension('gdbm', ['gdbmmodule.c'],
                                    libraries = ['gdbm'] ) )
         else: