From 9848b4f5b207d762a75d6cf0ccbb59c6486a1616 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Fri, 3 Feb 2017 22:01:48 -0800 Subject: [PATCH] Check for libz first If building statically, linking libz before libbfd results in unresolved symbols (compress/compressBound in libbfd.a). Signed-off-by: Alexey Neyman --- configure | 108 +++++++++++++++++++++++++++++++++-------------------------- configure.ac | 10 +++--- 2 files changed, 65 insertions(+), 53 deletions(-) diff --git a/configure b/configure index d8d14be..df612cb 100755 --- a/configure +++ b/configure @@ -675,6 +675,7 @@ infodir docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -758,6 +759,7 @@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE}' @@ -1010,6 +1012,15 @@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1147,7 +1158,7 @@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir + libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1300,6 +1311,7 @@ Fine tuning of the installation directories: --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -3779,14 +3791,14 @@ if test "$ac_binutils_build_dir" != "NONE"; then test "$ac_binutils_include_dir" = "NONE" && ac_binutils_include_dir="$ac_binutils_build_dir/include" fi -if test "$ac_libiberty" = "NONE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objalloc_create in -liberty" >&5 -$as_echo_n "checking for objalloc_create in -liberty... " >&6; } -if ${ac_cv_lib_iberty_objalloc_create+:} false; then : +if test "$ac_zlib_prefix" = "NONE"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for deflate in -lz" >&5 +$as_echo_n "checking for deflate in -lz... " >&6; } +if ${ac_cv_lib_z_deflate+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-liberty $LIBS" +LIBS="-lz $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -3796,47 +3808,46 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char objalloc_create (); +char deflate (); int main () { -return objalloc_create (); +return deflate (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_iberty_objalloc_create=yes + ac_cv_lib_z_deflate=yes else - ac_cv_lib_iberty_objalloc_create=no + ac_cv_lib_z_deflate=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_iberty_objalloc_create" >&5 -$as_echo "$ac_cv_lib_iberty_objalloc_create" >&6; } -if test "x$ac_cv_lib_iberty_objalloc_create" = xyes; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_deflate" >&5 +$as_echo "$ac_cv_lib_z_deflate" >&6; } +if test "x$ac_cv_lib_z_deflate" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_LIBIBERTY 1 +#define HAVE_LIBZ 1 _ACEOF - LIBS="-liberty $LIBS" + LIBS="-lz $LIBS" fi - ac_libiberty=auto else - LIBS="$ac_libiberty $LIBS" + LIBS="-L$ac_zlib_prefix/lib -lz $LIBS" fi -if test "$ac_libbfd" = "NONE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bfd_openr in -lbfd" >&5 -$as_echo_n "checking for bfd_openr in -lbfd... " >&6; } -if ${ac_cv_lib_bfd_bfd_openr+:} false; then : +if test "$ac_libiberty" = "NONE"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objalloc_create in -liberty" >&5 +$as_echo_n "checking for objalloc_create in -liberty... " >&6; } +if ${ac_cv_lib_iberty_objalloc_create+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lbfd $LIBS" +LIBS="-liberty $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -3846,47 +3857,47 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char bfd_openr (); +char objalloc_create (); int main () { -return bfd_openr (); +return objalloc_create (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_bfd_bfd_openr=yes + ac_cv_lib_iberty_objalloc_create=yes else - ac_cv_lib_bfd_bfd_openr=no + ac_cv_lib_iberty_objalloc_create=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bfd_bfd_openr" >&5 -$as_echo "$ac_cv_lib_bfd_bfd_openr" >&6; } -if test "x$ac_cv_lib_bfd_bfd_openr" = xyes; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_iberty_objalloc_create" >&5 +$as_echo "$ac_cv_lib_iberty_objalloc_create" >&6; } +if test "x$ac_cv_lib_iberty_objalloc_create" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_LIBBFD 1 +#define HAVE_LIBIBERTY 1 _ACEOF - LIBS="-lbfd $LIBS" + LIBS="-liberty $LIBS" fi - ac_libbfd=auto + ac_libiberty=auto else - LIBS="$ac_libbfd $LIBS" + LIBS="$ac_libiberty $LIBS" fi -if test "$ac_zlib_prefix" = "NONE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for deflate in -lz" >&5 -$as_echo_n "checking for deflate in -lz... " >&6; } -if ${ac_cv_lib_z_deflate+:} false; then : +if test "$ac_libbfd" = "NONE"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bfd_openr in -lbfd" >&5 +$as_echo_n "checking for bfd_openr in -lbfd... " >&6; } +if ${ac_cv_lib_bfd_bfd_openr+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lz $LIBS" +LIBS="-lbfd $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -3896,37 +3907,38 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char deflate (); +char bfd_openr (); int main () { -return deflate (); +return bfd_openr (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_z_deflate=yes + ac_cv_lib_bfd_bfd_openr=yes else - ac_cv_lib_z_deflate=no + ac_cv_lib_bfd_bfd_openr=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_deflate" >&5 -$as_echo "$ac_cv_lib_z_deflate" >&6; } -if test "x$ac_cv_lib_z_deflate" = xyes; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bfd_bfd_openr" >&5 +$as_echo "$ac_cv_lib_bfd_bfd_openr" >&6; } +if test "x$ac_cv_lib_bfd_bfd_openr" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_LIBZ 1 +#define HAVE_LIBBFD 1 _ACEOF - LIBS="-lz $LIBS" + LIBS="-lbfd $LIBS" fi + ac_libbfd=auto else - LIBS="-L$ac_zlib_prefix/lib -lz $LIBS" + LIBS="$ac_libbfd $LIBS" fi bfd_include_dir= diff --git a/configure.ac b/configure.ac index dcf0f92..7dcc082 100644 --- a/configure.ac +++ b/configure.ac @@ -114,6 +114,11 @@ if test "$ac_binutils_build_dir" != "NONE"; then fi dnl Checks for libraries. +if test "$ac_zlib_prefix" = "NONE"; then + AC_CHECK_LIB(z, deflate) +else + LIBS="-L$ac_zlib_prefix/lib -lz $LIBS" +fi if test "$ac_libiberty" = "NONE"; then AC_CHECK_LIB(iberty, objalloc_create) ac_libiberty=auto @@ -126,11 +131,6 @@ if test "$ac_libbfd" = "NONE"; then else LIBS="$ac_libbfd $LIBS" fi -if test "$ac_zlib_prefix" = "NONE"; then - AC_CHECK_LIB(z, deflate) -else - LIBS="-L$ac_zlib_prefix/lib -lz $LIBS" -fi bfd_include_dir= if test "$ac_bfd_include_dir" != "NONE"; then -- 2.9.3