Build zlib (required for ndr_compression) if it's not pulled in through
authorJelmer Vernooij <jelmer@samba.org>
Tue, 14 Oct 2008 23:04:13 +0000 (01:04 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Tue, 14 Oct 2008 23:04:13 +0000 (01:04 +0200)
other means.

source3/Makefile.in
source3/configure.in

index d9ff8593f476a5df469dec092a23e613631fb579..234490e0488a24ec07f1ee6f979e0a9f064a59a7 100644 (file)
@@ -56,6 +56,7 @@ PIDL_ARGS=@PIDL_ARGS@
 TERMLDFLAGS=@TERMLDFLAGS@
 TERMLIBS=@TERMLIBS@
 PRINT_LIBS=@PRINT_LIBS@
+ZLIB_LIBS=@ZLIB_LIBS@
 AUTH_LIBS=@AUTH_LIBS@
 ACL_LIBS=@ACL_LIBS@
 PASSDB_LIBS=@PASSDB_LIBS@
@@ -251,8 +252,11 @@ LIBNDR_DRSUAPI_OBJ = librpc/ndr/ndr_drsuapi.o \
                     librpc/gen_ndr/ndr_drsuapi.o \
                     librpc/gen_ndr/ndr_drsblobs.o
 
+ZLIB_OBJ = @ZLIB_OBJS@
+
 COMPRESSION_OBJ = ../lib/compression/mszip.o \
-                                 ../lib/compression/lzxpress.o
+                                 ../lib/compression/lzxpress.o \
+                                 $(ZLIB_OBJ)
 
 DRSUAPI_OBJ = $(LIBNDR_DRSUAPI_OBJ) \
              $(COMPRESSION_OBJ)
index 443cdd61619fadacdc1e6d9b5d9e534fcba412a7..29209fd8351d8f661483797b27db6c63c2a15732 100644 (file)
@@ -6248,6 +6248,42 @@ if test x$enable_merged_build = xyes; then
        m4_include(samba4.m4)
 fi
 
+AC_CHECK_HEADERS(zlib.h)
+
+AC_CHECK_LIB_EXT(z, ZLIB_LIBS, zlibVersion)
+
+AC_CACHE_CHECK([for zlib >= 1.2.3], samba_cv_zlib_1_2_3, [
+       AC_TRY_COMPILE([
+               #include <zlib.h>
+               ],[
+               #if (ZLIB_VERNUM >= 0x1230)
+               #else
+               #error "ZLIB_VERNUM < 0x1230"
+               #endif
+               ],[
+               samba_cv_zlib_1_2_3=yes
+               ],[
+               samba_cv_zlib_1_2_3=no
+               ])
+])
+
+AC_SUBST(ZLIB_LIBS)
+AC_SUBST(ZLIB_OBJS)
+if test x"$ac_cv_header_zlib_h" = x"yes" -a \
+       x"$ac_cv_lib_ext_z_zlibVersion" = x"yes" -a \
+       x"$samba_cv_zlib_1_2_3" = x"yes"; then
+       ZLIB_OBJS=""
+else
+       ZLIB_LIBS=""
+       for o in adler32.o compress.o crc32.o gzio.o uncompr.o \
+                    deflate.o trees.o zutil.o inflate.o infback.o \
+                        inftrees.o inffast.o
+       do
+               ZLIB_OBJS="$ZLIB_OBJS ../lib/zlib/$o"
+       done
+       CFLAGS="$CFLAGS -I../lib/zlib"
+fi
+
 dnl Remove -L/usr/lib/? from LDFLAGS and LIBS
 LIB_REMOVE_USR_LIB(LDFLAGS)
 LIB_REMOVE_USR_LIB(LIBS)