diff options
author | Andrew M. Kuchling <amk@amk.ca> | 2001-01-17 20:51:18 (GMT) |
---|---|---|
committer | Andrew M. Kuchling <amk@amk.ca> | 2001-01-17 20:51:18 (GMT) |
commit | a99202a017b69f176c27a4f2cee222a9b4fa9a11 (patch) | |
tree | 5e6c680065ee2a90baa85899999151f80b4d555f /setup.py | |
parent | 33b4d50180af7c939f922e0e68e5fb65bf6309a2 (diff) | |
download | cpython-a99202a017b69f176c27a4f2cee222a9b4fa9a11.zip cpython-a99202a017b69f176c27a4f2cee222a9b4fa9a11.tar.gz cpython-a99202a017b69f176c27a4f2cee222a9b4fa9a11.tar.bz2 |
Fix for bug #129173, reported by Skip Montanaro:
Check for the two possible headers for Expat, expat.h and xmlparse.h,
and only compile the pyexpat module if one of them is found.
Diffstat (limited to 'setup.py')
-rw-r--r-- | setup.py | 15 |
1 files changed, 11 insertions, 4 deletions
@@ -68,6 +68,7 @@ class PyBuildExt(build_ext): # a fixed list lib_dirs = self.compiler.library_dirs[:] lib_dirs += ['/lib', '/usr/lib', '/usr/local/lib'] + inc_dirs = ['/usr/include', '/usr/local/include'] + self.include_dirs exts = [] # XXX Omitted modules: gl, pure, dl, SGI-specific modules @@ -232,8 +233,7 @@ class PyBuildExt(build_ext): # Setup.config before enabling it here. if (self.compiler.find_library_file(lib_dirs, 'db') and - find_file(['/usr/include', '/usr/local/include'] + self.include_dirs, - 'db_185.h') ): + find_file(inc_dirs, 'db_185.h') ): exts.append( Extension('bsddb', ['bsddbmodule.c'], libraries = ['db'] ) ) @@ -340,8 +340,15 @@ class PyBuildExt(build_ext): # ar cr libexpat.a xmltok/*.o xmlparse/*.o # if (self.compiler.find_library_file(lib_dirs, 'expat')): - exts.append( Extension('pyexpat', ['pyexpat.c'], - libraries = ['expat']) ) + defs = None + if find_file(inc_dirs, 'expat.h'): + defs = [('HAVE_EXPAT_H', 1)] + elif find_file(inc_dirs, 'xmlparse.h'): + defs = [] + if defs is not None: + exts.append( Extension('pyexpat', ['pyexpat.c'], + define_macros = defs, + libraries = ['expat']) ) # Platform-specific libraries plat = sys.platform |