From 51c614e3bf7623959ef029a434ee7aa7d77c219d Mon Sep 17 00:00:00 2001 From: Matthias Klose Date: Wed, 29 Apr 2009 19:52:49 +0000 Subject: [PATCH] - Issue #4587: Add configure option --with-dbmliborder=db1:db2:... to specify the order that backends for the dbm extension are checked. --- configure.in | 2 +- setup.py | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/configure.in b/configure.in index 2c6cb520e54..282861a912c 100644 --- a/configure.in +++ b/configure.in @@ -1921,7 +1921,7 @@ AC_MSG_RESULT($with_system_ffi) # Check for --with-dbmliborder AC_MSG_CHECKING(for --with-dbmliborder) AC_ARG_WITH(dbmliborder, - AC_HELP_STRING(--with-dbmliborder=db1:db2:..., order to check db backends for dbm), + AC_HELP_STRING([--with-dbmliborder=db1:db2:...], [order to check db backends for dbm. Valid value is a colon separated string with the backend names `ndbm', `gdbm' and `bdb'.]), [ if test x$with_dbmliborder = xyes then diff --git a/setup.py b/setup.py index dbac7258b0a..ff24eec4b4a 100644 --- a/setup.py +++ b/setup.py @@ -1000,13 +1000,14 @@ class PyBuildExt(build_ext): # The standard Unix dbm module: if platform not in ['cygwin']: - config_args = sysconfig.get_config_var("CONFIG_ARGS") - dbm_args = [arg.split('=')[-1] for arg in args.split() + config_args = [arg.strip("'") + for arg in sysconfig.get_config_var("CONFIG_ARGS").split()] + dbm_args = [arg.split('=')[-1] for arg in config_args if arg.startswith('--with-dbmliborder=')] if dbm_args: - dbm_order = "ndbm:gdbm:bdb".split(":") + dbm_order = dbm_args[-1].split(":") else: - dbm_order = dbm_args.split(":") + dbm_order = "ndbm:gdbm:bdb".split(":") dbmext = None for cand in dbm_order: if cand == "ndbm":