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 /erts | |
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.
Diffstat (limited to 'erts')
-rw-r--r-- | erts/configure.in | 46 |
1 files changed, 33 insertions, 13 deletions
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 |