diff options
author | Björn Gustavsson <[email protected]> | 2014-01-16 14:37:34 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2014-01-17 16:42:50 +0100 |
commit | 9f57d8c4f86323cf7481c9a7e512486087bb5542 (patch) | |
tree | 07c02b2dc2bc012d1c4fa5b298712a8bc8576e94 | |
parent | 3f53b27f9c4af8f91c3a66e8ebe81efe5ea02b62 (diff) | |
download | otp-9f57d8c4f86323cf7481c9a7e512486087bb5542.tar.gz otp-9f57d8c4f86323cf7481c9a7e512486087bb5542.tar.bz2 otp-9f57d8c4f86323cf7481c9a7e512486087bb5542.zip |
configure: Prefer the system's zlib over own our zlib source
WxWidgets (used by the wx application) also uses zlib. To
ensure that the run-time system and WxWidgets use the same version
of zlib, use the system's zlib if present.
Also, the system's zlib may be specially optimized and thus faster
than our own generic source code.
We only use zlib versions that are "good enough". For now, that
means 1.2.5 or higher.
Remove the option --enable-shared-zlib and add the option
--enable-builtin-zlib to force the use of the built-in zlib.
-rw-r--r-- | configure.in | 5 | ||||
-rw-r--r-- | erts/configure.in | 46 |
2 files changed, 36 insertions, 15 deletions
diff --git a/configure.in b/configure.in index f25a068be9..d33e8bf125 100644 --- a/configure.in +++ b/configure.in @@ -255,8 +255,9 @@ AC_ARG_ENABLE(dynamic-ssl-lib, AS_HELP_STRING([--disable-dynamic-ssl-lib], [disable using dynamic openssl libraries])) -AC_ARG_ENABLE(shared-zlib, -AS_HELP_STRING([--enable-shared-zlib], [enable using shared zlib library])) +AC_ARG_ENABLE(builtin-zlib, +AS_HELP_STRING([--enable-builtin-zlib], + [force use of our own built-in zlib])) dnl This functionality has been lost along the way... :( dnl It could perhaps be nice to reintroduce some day; therefore, diff --git a/erts/configure.in b/erts/configure.in index 3b4c46d4a5..f03296a89f 100644 --- a/erts/configure.in +++ b/erts/configure.in @@ -1372,24 +1372,44 @@ dnl ------------- dnl zlib dnl ------------- -AC_ARG_ENABLE(shared-zlib, -AS_HELP_STRING([--enable-shared-zlib], [enable using shared zlib library]), -[ case "$enableval" in - no) enable_shared_zlib=no ;; - *) enable_shared_zlib=yes ;; - esac ], enable_shared_zlib=no) +AC_ARG_ENABLE(builtin-zlib, + AS_HELP_STRING([--enable-builtin-zlib], + [force use of our own built-in zlib]), + [ case "$enableval" in + no) enable_builtin_zlib=no ;; + *) enable_builtin_zlib=yes ;; + esac ], enable_builtin_zlib=no) Z_LIB= -if test "x$enable_shared_zlib" = "xyes" ; then - AC_CHECK_LIB(z, adler32_combine, - [Z_LIB="-lz" - AC_DEFINE(HAVE_LIBZ, 1, [Define to 1 if you have the `z' library (-lz).])], - [AC_MSG_ERROR([cannot find any shared zlib])]) +if test "x$enable_builtin_zlib" = "xyes"; then + AC_MSG_NOTICE([Using our own built-in zlib source]) else - AC_MSG_NOTICE([Using own zlib source]) +AC_MSG_CHECKING(for zlib 1.2.5 or higher) +zlib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[ +#include "zlib.h" +]],[[ +#if ZLIB_VERNUM >= 0x1250 + Bytef s[1]; + s[0] = 0; + (void) adler32((uLong)0, s, 1); +#else +#error "No zlib 1.2.5 or higher found" +error +#endif +]])], +[ + Z_LIB="-lz" + AC_DEFINE(HAVE_LIBZ, 1, [Define to 1 if you have the `z' library (-lz).]) + AC_MSG_RESULT(yes) +],[ + AC_MSG_RESULT(no) +]) +LIBS=$zlib_save_LIBS fi - AC_SUBST(Z_LIB) dnl |