issue4483: dbm build failures on systems with gdbm_compat lib.
This commit is contained in:
parent
514624d29e
commit
b7387a5e0d
|
@ -23,6 +23,9 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #4483: _dbm module now builds on systems with gdbm & gdbm_compat
|
||||
libs.
|
||||
|
||||
- FileIO's mode attribute now always includes ``"b"``.
|
||||
|
||||
|
||||
|
|
|
@ -21,6 +21,9 @@ static char *which_dbm = "GNU gdbm"; /* EMX port of GDBM */
|
|||
#elif defined(HAVE_GDBM_NDBM_H)
|
||||
#include <gdbm/ndbm.h>
|
||||
static char *which_dbm = "GNU gdbm";
|
||||
#elif defined(HAVE_GDBM_DASH_NDBM_H)
|
||||
#include <gdbm-ndbm.h>
|
||||
static char *which_dbm = "GNU gdbm";
|
||||
#elif defined(HAVE_BERKDB_H)
|
||||
#include <db.h>
|
||||
static char *which_dbm = "Berkeley DB";
|
||||
|
|
16
setup.py
16
setup.py
|
@ -1019,8 +1019,20 @@ class PyBuildExt(build_ext):
|
|||
exts.append( Extension('dbm', ['dbmmodule.c'],
|
||||
define_macros=[('HAVE_NDBM_H',None)],
|
||||
libraries = ndbm_libs ) )
|
||||
elif (self.compiler.find_library_file(lib_dirs, 'gdbm')
|
||||
and find_file("gdbm/ndbm.h", inc_dirs, []) is not None):
|
||||
elif self.compiler.find_library_file(lib_dirs, 'gdbm'):
|
||||
gdbm_libs = ['gdbm']
|
||||
if self.compiler.find_library_file(lib_dirs, 'gdbm_compat'):
|
||||
gdbm_libs.append('gdbm_compat')
|
||||
if find_file("gdbm/ndbm.h", inc_dirs, []) is not None:
|
||||
exts.append( Extension(
|
||||
'dbm', ['dbmmodule.c'],
|
||||
define_macros=[('HAVE_GDBM_NDBM_H',None)],
|
||||
libraries = gdbm_libs ) )
|
||||
elif find_file("gdbm-ndbm.h", inc_dirs, []) is not None:
|
||||
exts.append( Extension(
|
||||
'dbm', ['dbmmodule.c'],
|
||||
define_macros=[('HAVE_GDBM_DASH_NDBM_H',None)],
|
||||
libraries = gdbm_libs ) )
|
||||
exts.append( Extension('dbm', ['dbmmodule.c'],
|
||||
define_macros=[('HAVE_GDBM_NDBM_H',None)],
|
||||
libraries = ['gdbm'] ) )
|
||||
|
|
Loading…
Reference in New Issue