mirror of
https://github.com/python/cpython.git
synced 2025-10-22 14:42:22 +00:00
Patch by Mark Favas to ensure that the zlib we find is 1.1.3 or
later. This assumes that zlib.h has a line of the form #define ZLIB_VERSION "1.1.3" This solves the problem where a zlib installation is found but it is an older version -- this would break the build, while a better solution is to simply ignore that zlib installation.
This commit is contained in:
parent
2b5ff073ab
commit
e697091c45
1 changed files with 17 additions and 3 deletions
20
setup.py
20
setup.py
|
@ -449,9 +449,23 @@ class PyBuildExt(build_ext):
|
||||||
# Andrew Kuchling's zlib module.
|
# Andrew Kuchling's zlib module.
|
||||||
# This require zlib 1.1.3 (or later).
|
# This require zlib 1.1.3 (or later).
|
||||||
# See http://www.cdrom.com/pub/infozip/zlib/
|
# See http://www.cdrom.com/pub/infozip/zlib/
|
||||||
if (self.compiler.find_library_file(lib_dirs, 'z')):
|
zlib_inc = find_file('zlib.h', [], inc_dirs)
|
||||||
exts.append( Extension('zlib', ['zlibmodule.c'],
|
if zlib_inc is not None:
|
||||||
libraries = ['z']) )
|
zlib_h = zlib_inc[0] + '/zlib.h'
|
||||||
|
version = '"0.0.0"'
|
||||||
|
version_req = '"1.1.3"'
|
||||||
|
fp = open(zlib_h)
|
||||||
|
while 1:
|
||||||
|
line = fp.readline()
|
||||||
|
if not line:
|
||||||
|
break
|
||||||
|
if line.find('#define ZLIB_VERSION', 0) == 0:
|
||||||
|
version = line.split()[2]
|
||||||
|
break
|
||||||
|
if version >= version_req:
|
||||||
|
if (self.compiler.find_library_file(lib_dirs, 'z')):
|
||||||
|
exts.append( Extension('zlib', ['zlibmodule.c'],
|
||||||
|
libraries = ['z']) )
|
||||||
|
|
||||||
# Interface to the Expat XML parser
|
# Interface to the Expat XML parser
|
||||||
#
|
#
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue