From 20fa702b32c7ec7a7215df322d3e8d19b79f2068 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Thu, 30 Jan 2020 12:18:13 +0000 Subject: [PATCH] Fixes after recent configure changes relating to static libraries This commit: commit e7c26e04b2dd6266d62d5a5825ff7eb44d1cf14e (tjteru/master) Date: Wed Jan 22 14:54:26 2020 +0000 gcc: Add new configure options to allow static libraries to be selected contains a couple of issues. First I failed to correctly regenerate all of the configure files it should have done. Second, there was a mistake in lib-link.m4, one of the conditions didn't use pure sh syntax, I wrote this: if x$lib_type = xauto || x$lib_type = xshared; then When I should have written this: if test "x$lib_type" = "xauto" || test "x$lib_type" = "xshared"; then These issues were raised on the mailing list in these messages: https://gcc.gnu.org/ml/gcc-patches/2020-01/msg01827.html https://gcc.gnu.org/ml/gcc-patches/2020-01/msg01921.html config/ChangeLog: * lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Update shell syntax. gcc/ChangeLog: * configure: Regenerate. intl/ChangeLog: * configure: Regenerate. libcpp/ChangeLog: * configure: Regenerate. libstdc++-v3/ChangeLog: * configure: Regenerate. --- config/ChangeLog | 4 +++ config/lib-link.m4 | 2 +- gcc/ChangeLog | 4 +++ gcc/configure | 29 ++++++++++++++++----- intl/ChangeLog | 4 +++ intl/configure | 58 +++++++++++++++++++++++++++++++++--------- libcpp/ChangeLog | 4 +++ libcpp/configure | 2 +- libstdc++-v3/ChangeLog | 4 +++ libstdc++-v3/configure | 2 +- 10 files changed, 92 insertions(+), 21 deletions(-) diff --git a/config/ChangeLog b/config/ChangeLog index fb339196a22..f1fec81a0ca 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,7 @@ +2020-02-01 Andrew Burgess + + * lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Update shell syntax. + 2020-01-27 Andrew Burgess * lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Add new diff --git a/config/lib-link.m4 b/config/lib-link.m4 index 662192e0a07..20e281fd323 100644 --- a/config/lib-link.m4 +++ b/config/lib-link.m4 @@ -492,7 +492,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) - if x$lib_type = xauto || x$lib_type = xshared; then + if test "x$lib_type" = "xauto" || test "x$lib_type" = "xshared"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" else diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e4a3efd4fd3..2d1488cff36 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2020-02-01 Andrew Burgess + + * configure: Regenerate. + 2020-01-31 Vladimir Makarov PR rtl-optimization/91333 diff --git a/gcc/configure b/gcc/configure index e2c8fc71772..4c2c5991c0e 100755 --- a/gcc/configure +++ b/gcc/configure @@ -974,6 +974,7 @@ with_zstd_include with_zstd_lib enable_rpath with_libiconv_prefix +with_libiconv_type enable_sjlj_exceptions with_gcc_major_version_only enable_secureplt @@ -1811,6 +1812,7 @@ Optional Packages: --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir + --with-libiconv-type=TYPE type of library to search for (auto/static/shared) --with-gcc-major-version-only use only GCC major number in filesystem paths --with-pic try to use only PIC/non-PIC objects [default=use @@ -10730,6 +10732,16 @@ if test "${with_libiconv_prefix+set}" = set; then : fi + +# Check whether --with-libiconv-type was given. +if test "${with_libiconv_type+set}" = set; then : + withval=$with_libiconv_type; with_libiconv_type=$withval +else + with_libiconv_type=auto +fi + + lib_type=`eval echo \$with_libiconv_type` + LIBICONV= LTLIBICONV= INCICONV= @@ -10767,13 +10779,13 @@ fi found_so= found_a= if test $use_additional = yes; then - if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then + if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext" && test x$lib_type != xstatic; then found_dir="$additional_libdir" found_so="$additional_libdir/lib$name.$shlibext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi - else + elif test x$lib_type != xshared; then if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" @@ -10797,13 +10809,13 @@ fi case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then + if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext" && test x$lib_type != xstatic; then found_dir="$dir" found_so="$dir/lib$name.$shlibext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi - else + elif test x$lib_type != xshared; then if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" @@ -11031,8 +11043,13 @@ fi done fi else - LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" + if test "x$lib_type" = "xauto" || test "x$lib_type" = "xshared"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l:lib$name.$libext" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l:lib$name.$libext" + fi fi fi fi diff --git a/intl/ChangeLog b/intl/ChangeLog index 8c936960c30..fa518ec154a 100644 --- a/intl/ChangeLog +++ b/intl/ChangeLog @@ -1,3 +1,7 @@ +2020-02-01 Andrew Burgess + + * configure: Regenerate. + 2018-11-07 Hafiz Abid Qadeer * configure: Regenerated. diff --git a/intl/configure b/intl/configure index 2f35993148e..870b29f7d3f 100755 --- a/intl/configure +++ b/intl/configure @@ -719,8 +719,10 @@ enable_nls with_gnu_ld enable_rpath with_libiconv_prefix +with_libiconv_type with_included_gettext with_libintl_prefix +with_libintl_type enable_maintainer_mode ' ac_precious_vars='build_alias @@ -1353,9 +1355,11 @@ Optional Packages: --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir + --with-libiconv-type=TYPE type of library to search for (auto/static/shared) --with-included-gettext use the GNU gettext library included here --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir + --with-libintl-type=TYPE type of library to search for (auto/static/shared) Some influential environment variables: CC C compiler command @@ -5195,6 +5199,16 @@ if test "${with_libiconv_prefix+set}" = set; then : fi + +# Check whether --with-libiconv-type was given. +if test "${with_libiconv_type+set}" = set; then : + withval=$with_libiconv_type; with_libiconv_type=$withval +else + with_libiconv_type=auto +fi + + lib_type=`eval echo \$with_libiconv_type` + LIBICONV= LTLIBICONV= INCICONV= @@ -5232,13 +5246,13 @@ fi found_so= found_a= if test $use_additional = yes; then - if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then + if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext" && test x$lib_type != xstatic; then found_dir="$additional_libdir" found_so="$additional_libdir/lib$name.$shlibext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi - else + elif test x$lib_type != xshared; then if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" @@ -5262,13 +5276,13 @@ fi case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then + if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext" && test x$lib_type != xstatic; then found_dir="$dir" found_so="$dir/lib$name.$shlibext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi - else + elif test x$lib_type != xshared; then if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" @@ -5496,8 +5510,13 @@ fi done fi else - LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" + if test "x$lib_type" = "xauto" || test "x$lib_type" = "xshared"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l:lib$name.$libext" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l:lib$name.$libext" + fi fi fi fi @@ -6026,6 +6045,16 @@ if test "${with_libintl_prefix+set}" = set; then : fi + +# Check whether --with-libintl-type was given. +if test "${with_libintl_type+set}" = set; then : + withval=$with_libintl_type; with_libintl_type=$withval +else + with_libintl_type=auto +fi + + lib_type=`eval echo \$with_libintl_type` + LIBINTL= LTLIBINTL= INCINTL= @@ -6063,13 +6092,13 @@ fi found_so= found_a= if test $use_additional = yes; then - if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then + if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext" && test x$lib_type != xstatic; then found_dir="$additional_libdir" found_so="$additional_libdir/lib$name.$shlibext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi - else + elif test x$lib_type != xshared; then if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" @@ -6093,13 +6122,13 @@ fi case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then + if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext" && test x$lib_type != xstatic; then found_dir="$dir" found_so="$dir/lib$name.$shlibext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi - else + elif test x$lib_type != xshared; then if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" @@ -6327,8 +6356,13 @@ fi done fi else - LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" + if test "x$lib_type" = "xauto" || test "x$lib_type" = "xshared"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l:lib$name.$libext" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l:lib$name.$libext" + fi fi fi fi diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index f749622a5f7..e61700f7ee9 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,7 @@ +2020-02-01 Andrew Burgess + + * configure: Regenerate. + 2020-01-28 Nathan Sidwell PR preprocessor/93452 diff --git a/libcpp/configure b/libcpp/configure index 7e53cade210..11da199083b 100755 --- a/libcpp/configure +++ b/libcpp/configure @@ -7066,7 +7066,7 @@ fi done fi else - if x$lib_type = xauto || x$lib_type = xshared; then + if test "x$lib_type" = "xauto" || test "x$lib_type" = "xshared"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" else diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 966e7dfc3cc..d87520147df 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,7 @@ +2020-02-01 Andrew Burgess + + * configure: Regenerate. + 2020-01-31 Patrick Palka * testsuite/24_iterators/range_operations/distance.cc: Do not assume diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 5e2892121f4..a39c33b055d 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -29506,7 +29506,7 @@ fi done fi else - if x$lib_type = xauto || x$lib_type = xshared; then + if test "x$lib_type" = "xauto" || test "x$lib_type" = "xshared"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" else