summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--setup.py25
1 files changed, 15 insertions, 10 deletions
diff --git a/setup.py b/setup.py
index ea4d94f..4e8008b 100644
--- a/setup.py
+++ b/setup.py
@@ -325,17 +325,22 @@ class PyBuildExt(build_ext):
# (See http://electricrain.com/greg/python/bsddb3/ for an interface to
# BSD DB 3.x.)
- db_incs = find_file('db_185.h', inc_dirs, [])
- if (db_incs is not None and
- self.compiler.find_library_file(lib_dirs, 'db') ):
+ dblib = []
+ if self.compiler.find_library_file(lib_dirs, 'db'):
+ dblib = ['db']
+
+ db185_incs = find_file('db_185.h', inc_dirs,
+ ['/usr/include/db3', '/usr/include/db2'])
+ db_inc = find_file('db.h', inc_dirs, ['/usr/include/db1'])
+ if db185_incs is not None:
exts.append( Extension('bsddb', ['bsddbmodule.c'],
- include_dirs = db_incs,
- libraries = ['db'] ) )
- else:
- db_incs = find_file('db.h', inc_dirs, [])
- if db_incs is not None:
- exts.append( Extension('bsddb', ['bsddbmodule.c'],
- include_dirs = db_incs) )
+ include_dirs = db185_incs,
+ define_macros=[('HAVE_DB_185_H',1)],
+ libraries = dblib ) )
+ elif db_inc is not None:
+ exts.append( Extension('bsddb', ['bsddbmodule.c'],
+ include_dirs = db_inc,
+ libraries = dblib) )
# The mpz module interfaces to the GNU Multiple Precision library.
# You need to ftp the GNU MP library.