diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2019-04-12 20:13:34 +0000 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gcc.gnu.org> | 2019-04-12 20:13:34 +0000 |
commit | bb50312e027994bb5260163a9c021b5444f86257 (patch) | |
tree | a54ece0354260e54a34472ff2bc81f5834fd2742 /libphobos/m4/druntime/libraries.m4 | |
parent | 41fe51dd063c2d860f12311fc65c7ad8ed8e6df5 (diff) | |
download | gcc-bb50312e027994bb5260163a9c021b5444f86257.zip gcc-bb50312e027994bb5260163a9c021b5444f86257.tar.gz gcc-bb50312e027994bb5260163a9c021b5444f86257.tar.bz2 |
libphobos: Add target-zlib to top-level configure
Removes the building of zlib from within libphobos, using instead the
libz_convenience.a library.
ChangeLog:
2019-04-12 Iain Buclaw <ibuclaw@gdcproject.org>
* configure.ac: Add target-zlib to target_libraries.
* configure: Regenerate.
gcc/ChangeLog:
2019-04-12 Iain Buclaw <ibuclaw@gdcproject.org>
* doc/install.texi: Document --with-target-system-zlib.
libphobos/ChangeLog:
2019-04-12 Iain Buclaw <ibuclaw@gdcproject.org>
* m4/druntime/libraries.m4 (DRUNTIME_LIBRARIES_ZLIB): Use
libz_convenience.a if not using system zlib.
* Makefile.in: Regenerate.
* configure: Regenerate.
* libdruntime/Makefile.in: Regenerate.
* src/Makefile.am: Remove ZLIB_CSOURCES and AM_CFLAGS.
* src/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
From-SVN: r270328
Diffstat (limited to 'libphobos/m4/druntime/libraries.m4')
-rw-r--r-- | libphobos/m4/druntime/libraries.m4 | 65 |
1 files changed, 48 insertions, 17 deletions
diff --git a/libphobos/m4/druntime/libraries.m4 b/libphobos/m4/druntime/libraries.m4 index 41c8880..6e81fd9 100644 --- a/libphobos/m4/druntime/libraries.m4 +++ b/libphobos/m4/druntime/libraries.m4 @@ -79,28 +79,59 @@ AC_DEFUN([DRUNTIME_LIBRARIES_NET], # DRUNTIME_LIBRARIES_ZLIB # ----------------------- # Allow specifying whether to use the system zlib or -# compiling the zlib included in GCC. Define -# DRUNTIME_ZLIB_SYSTEM conditional and add zlib to -# LIBS if necessary. +# compiling the zlib included in GCC. Adds substitute +# for LIBZ or adds zlib to LIBS if necessary. AC_DEFUN([DRUNTIME_LIBRARIES_ZLIB], [ - AC_ARG_WITH(target-system-zlib, - AS_HELP_STRING([--with-target-system-zlib], - [use installed libz (default: no)])) + AC_LANG_PUSH([C]) + LIBZ="" - system_zlib=false - AS_IF([test "x$with_target_system_zlib" = "xyes"], [ - AC_CHECK_LIB([z], [deflate], [ - system_zlib=yes - ], [ - AC_MSG_ERROR([System zlib not found]) - ]) - ], [ - AC_MSG_CHECKING([for zlib]) + AC_ARG_WITH(target-system-zlib, + AS_HELP_STRING([--with-target-system-zlib={yes,no,auto}], + [use installed libz (default: no)]),, + [with_target_system_zlib=no]) + + case "$with_target_system_zlib" in + yes|no|auto) ;; + *) AC_MSG_ERROR([Invalid argument for --with-target-system-zlib]) ;; + esac + + AC_MSG_CHECKING([for system zlib]) + save_LIBS=$LIBS + LIBS="$LIBS -lz" + dnl the link test is not good enough for ARM32 multilib detection, + dnl first check to link, then to run + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([#include <zlib.h>],[gzopen("none", "rb")])], + [ + AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include <zlib.h> + int main() { + gzFile file = gzopen("none", "rb"); + return 0; + } + ]])], + [system_zlib_found=yes], + [system_zlib_found=no], + dnl no system zlib for cross builds ... + [system_zlib_found=no] + ) + ], + [system_zlib_found=no]) + LIBS=$save_LIBS + + if test x$system_zlib_found = xyes && test x$with_target_system_zlib != xno; then + AC_MSG_RESULT([found]) + LIBS="$LIBS -lz" + elif test x$system_zlib_found = xno && test x$with_target_system_zlib = xyes; then + AC_MSG_ERROR([system zlib required but not found]) + else AC_MSG_RESULT([just compiled]) - ]) + LIBZ=../../zlib/libz_convenience.la + fi - AM_CONDITIONAL([DRUNTIME_ZLIB_SYSTEM], [test "$with_target_system_zlib" = yes]) + AC_SUBST(LIBZ) + AC_LANG_POP([C]) ]) # DRUNTIME_LIBRARIES_ATOMIC |