summaryrefslogtreecommitdiffstats
path: root/setup.py
diff options
context:
space:
mode:
authorAndrew M. Kuchling <amk@amk.ca>2001-01-17 20:51:18 (GMT)
committerAndrew M. Kuchling <amk@amk.ca>2001-01-17 20:51:18 (GMT)
commita99202a017b69f176c27a4f2cee222a9b4fa9a11 (patch)
tree5e6c680065ee2a90baa85899999151f80b4d555f /setup.py
parent33b4d50180af7c939f922e0e68e5fb65bf6309a2 (diff)
downloadcpython-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.py15
1 files 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