issue 4483 - _dbm build failures on systems with gdbm_compat lib.
This commit is contained in:
parent
008d8ef1a8
commit
c1ce286061
|
@ -25,6 +25,9 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #4483: _dbm module now builds on systems with gdbm & gdbm_compat
|
||||
libs.
|
||||
|
||||
- Issue #4542: On Windows, binascii.crc32 still accepted str as binary input;
|
||||
the corresponding tests now pass.
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
19
setup.py
19
setup.py
|
@ -783,11 +783,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):
|
||||
exts.append( Extension('_dbm', ['_dbmmodule.c'],
|
||||
define_macros=[('HAVE_GDBM_NDBM_H',None)],
|
||||
libraries = ['gdbm'] ) )
|
||||
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 ) )
|
||||
elif db_incs is not None:
|
||||
exts.append( Extension('_dbm', ['_dbmmodule.c'],
|
||||
library_dirs=dblib_dir,
|
||||
|
|
Loading…
Reference in New Issue