From a99202a017b69f176c27a4f2cee222a9b4fa9a11 Mon Sep 17 00:00:00 2001 From: "Andrew M. Kuchling" Date: Wed, 17 Jan 2001 20:51:18 +0000 Subject: 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. --- setup.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index 646dd43..44af338 100644 --- a/setup.py +++ b/setup.py @@ -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 -- cgit v0.12