From: Guido van Rossum Date: Sun, 15 Apr 2001 15:16:12 +0000 (+0000) Subject: Patch by Mark Favas to ensure that the zlib we find is 1.1.3 or X-Git-Tag: v2.1c2~12 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e697091c45001a1674434a553d67e15f2c6b13b8;p=python 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. --- diff --git a/setup.py b/setup.py index d99f43dd7f..5fc981cb0c 100644 --- a/setup.py +++ b/setup.py @@ -449,9 +449,23 @@ class PyBuildExt(build_ext): # Andrew Kuchling's zlib module. # This require zlib 1.1.3 (or later). # See http://www.cdrom.com/pub/infozip/zlib/ - if (self.compiler.find_library_file(lib_dirs, 'z')): - exts.append( Extension('zlib', ['zlibmodule.c'], - libraries = ['z']) ) + zlib_inc = find_file('zlib.h', [], inc_dirs) + if zlib_inc is not None: + 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 #