[gcc(refs/users/aoliva/heads/testbase)] Fixes after recent configure changes relating to static libraries

Alexandre Oliva aoliva@gcc.gnu.org
Thu Feb 6 07:30:00 GMT 2020


https://gcc.gnu.org/g:20fa702b32c7ec7a7215df322d3e8d19b79f2068

commit 20fa702b32c7ec7a7215df322d3e8d19b79f2068
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Thu Jan 30 12:18:13 2020 +0000

    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.

Diff:
---
 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 fb33919..f1fec81 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,7 @@
+2020-02-01  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Update shell syntax.
+
 2020-01-27  Andrew Burgess  <andrew.burgess@embecosm.com>
 
 	* lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Add new
diff --git a/config/lib-link.m4 b/config/lib-link.m4
index 662192e..20e281f 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 e4a3efd..2d1488c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2020-02-01  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* configure: Regenerate.
+
 2020-01-31  Vladimir Makarov  <vmakarov@redhat.com>
 
 	PR rtl-optimization/91333
diff --git a/gcc/configure b/gcc/configure
index e2c8fc7..4c2c599 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 8c93696..fa518ec 100644
--- a/intl/ChangeLog
+++ b/intl/ChangeLog
@@ -1,3 +1,7 @@
+2020-02-01  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* configure: Regenerate.
+
 2018-11-07  Hafiz Abid Qadeer  <abidh@codesourcery.com>
 
         * configure: Regenerated.
diff --git a/intl/configure b/intl/configure
index 2f35993..870b29f 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 f749622..e61700f 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,7 @@
+2020-02-01  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* configure: Regenerate.
+
 2020-01-28  Nathan Sidwell  <nathan@acm.org>
 
 	PR preprocessor/93452
diff --git a/libcpp/configure b/libcpp/configure
index 7e53cad..11da199 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 966e7df..d875201 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,7 @@
+2020-02-01  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* configure: Regenerate.
+
 2020-01-31  Patrick Palka  <ppalka@redhat.com>
 
 	* testsuite/24_iterators/range_operations/distance.cc: Do not assume
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 5e28921..a39c33b 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



More information about the Libstdc++-cvs mailing list