third_party/zlib: Initial support for zlib
[samba.git] / lib / zlib / wscript
index 51e46908698d319eace9e233eeb0e7d2efe0a25e..9965fe276014617c869bdc5fe36691efed357278 100644 (file)
@@ -1,22 +1,30 @@
+#!/usr/bin/env python
+
 def configure(conf):
-    conf.CHECK_HEADERS('zlib.h')
-    conf.CHECK_FUNCS_IN('zlibVersion', 'z')
+    version_check='''
+        #if (ZLIB_VERNUM >= 0x1230)
+        #else
+        #error "ZLIB_VERNUM < 0x1230"
+        #endif
+        z_stream *z;
+        inflateInit2(z, -15);
+        '''
 
-    conf.CHECK_CODE('''
-                    #if (ZLIB_VERNUM >= 0x1230)
-                    #else
-                    #error "ZLIB_VERNUM < 0x1230"
-                    #endif
-                    ''',
-                    define='HAVE_ZLIB')
+    if conf.CHECK_BUNDLED_SYSTEM('z', minversion='1.2.3', pkg='zlib',
+                                 checkfunctions='zlibVersion',
+                                 headers='zlib.h',
+                                 checkcode=version_check,
+                                 implied_deps='replace'):
+        conf.define('USING_SYSTEM_ZLIB', 1)
 
 def build(bld):
-    if bld.CONFIG_SET('HAVE_ZLIB'):
-        bld.TARGET_ALIAS('z', 'ZLIB')
-    else:
-        bld.SAMBA_LIBRARY('ZLIB',
-                          source='''adler32.c compress.c crc32.c gzio.c
-                                    uncompr.c deflate.c trees.c zutil.c
-                                    inflate.c infback.c inftrees.c inffast.c''')
-
+    if bld.CONFIG_SET('USING_SYSTEM_ZLIB'):
+        return
 
+    bld.SAMBA_LIBRARY('z',
+                      private_library=True,
+                      deps='replace',
+                      allow_warnings=True,
+                      source='''adler32.c compress.c crc32.c gzio.c
+                                uncompr.c deflate.c trees.c zutil.c
+                                inflate.c infback.c inftrees.c inffast.c''')