re PR libobjc/78697 (--with-target-bdw-gc-include shouldn't be required to be per...
authorMatthias Klose <doko@ubuntu.com>
Wed, 18 Jan 2017 15:48:54 +0000 (15:48 +0000)
committerMatthias Klose <doko@gcc.gnu.org>
Wed, 18 Jan 2017 15:48:54 +0000 (15:48 +0000)
2017-01-18  Matthias Klose  <doko@ubuntu.com>

        PR libobjc/78697
        * configure.ac: Allow default for --with-target-bdw-gc-include.
        * configure: Regenerate.

        PR libobjc/78698
        * configure.ac: Use the libgc.la file when available.
        * configure: Regenerate.

2017-01-18  Matthias Klose  <doko@ubuntu.com>

       * doc/install.texi: Allow default for --with-target-bdw-gc-include.

From-SVN: r244579

gcc/ChangeLog
gcc/doc/install.texi
libobjc/ChangeLog
libobjc/configure
libobjc/configure.ac

index 3ec183a266ab2ea163033e469f031034c680d276..7f96795436798b9ee86f09a29dd3cefeff7666d6 100644 (file)
@@ -1,3 +1,7 @@
+2017-01-18  Matthias Klose  <doko@ubuntu.com>
+
+       * doc/install.texi: Allow default for --with-target-bdw-gc-include.
+
 2016-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
 
        * config/rs6000/altivec.h (vec_bperm): Change #define.
index 713d22536b54ced2924bb9e06eefb12edb9ee5b4..4793ef85b0d9720dd4ef0c7f4b320a01af79dc9b 100644 (file)
@@ -2207,8 +2207,12 @@ is named as @samp{.} (dot), or is omitted (e.g.
 The options @option{--with-target-bdw-gc-include} and
 @option{--with-target-bdw-gc-lib} must always be specified together
 for each multilib variant and they take precedence over
-@option{--with-target-bdw-gc}.  If none of these options are
-specified, the library is assumed in default locations.
+@option{--with-target-bdw-gc}.  If @option{--with-target-bdw-gc-include}
+is missing values for a multilib, then the value for the default
+multilib is used (e.g. @samp{--with-target-bdw-gc-include=/opt/bdw-gc/include}
+@samp{--with-target-bdw-gc-lib=/opt/bdw-gc/lib64,32=/opt-bdw-gc/lib32}).
+If none of these options are specified, the library is assumed in
+default locations.
 @end table
 
 @html
index c3d1ba259da24615088b30277372920eb3388e65..55987a3ff3b8fb22cc5e44e92f3259f990ac0022 100644 (file)
@@ -1,3 +1,13 @@
+2017-01-18  Matthias Klose  <doko@ubuntu.com>
+
+        PR libobjc/78697
+       * configure.ac: Allow default for --with-target-bdw-gc-include.
+       * configure: Regenerate.
+
+        PR libobjc/78698
+       * configure.ac: Use the libgc.la file when available.
+       * configure: Regenerate.
+
 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
 
        PR other/79046
index 72645fddfb4a81d404b58090a70cfd6b75bff70f..abf5aed71cfa5a105574dfb2d9d2651aaaad5657 100755 (executable)
@@ -11567,16 +11567,19 @@ $as_echo "using paths configured with --with-target-bdw-gc options" >&6; }
       for i in `echo $with_target_bdw_gc_include | tr ',' ' '`; do
         case "$i" in
           *=*) sd=${i%%=*}; d=${i#*=} ;;
-          *) sd=.; d=$i ;;
+          *) sd=.; d=$i; fallback=$i ;;
         esac
         if test "$mldir" = "$sd"; then
           bdw_val=$d
         fi
       done
-      if test "x$bdw_val" = x; then
+      if test "x$bdw_val" = x && test "x$bdw_inc_dir" = x && test "x$fallback" != x; then
+        bdw_inc_dir="$fallback"
+      elif test "x$bdw_val" = x; then
         as_fn_error "no multilib path ($mldir) found in --with-target-bdw-gc-include" "$LINENO" 5
+      else
+        bdw_inc_dir="$bdw_val"
       fi
-      bdw_inc_dir="$bdw_val"
     fi
     bdw_val=
     if test "x$with_target_bdw_gc_lib" != x; then
@@ -11601,18 +11604,27 @@ $as_echo "using paths configured with --with-target-bdw-gc options" >&6; }
       as_fn_error "no multilib path ($mldir) found in --with-target-bdw-gc-lib" "$LINENO" 5
     fi
     BDW_GC_CFLAGS="-I$bdw_inc_dir"
-    BDW_GC_LIBS="-L$bdw_lib_dir -lgc"
+    if test -f $bdw_lib_dir/libgc.la; then
+      BDW_GC_LIBS="$bdw_lib_dir/libgc.la"
+    else
+      BDW_GC_LIBS="-L$bdw_lib_dir -lgc"
+    fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
 $as_echo "found" >&6; }
   fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for system boehm-gc" >&5
+  case "$BDW_GC_LIBS" in
+  *libgc.la)
+    use_bdw_gc=yes
+    ;;
+  *)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for system boehm-gc" >&5
 $as_echo_n "checking for system boehm-gc... " >&6; }
-  save_CFLAGS=$CFLAGS
-  save_LIBS=$LIBS
-  CFLAGS="$CFLAGS $BDW_GC_CFLAGS"
-  LIBS="$LIBS $BDW_GC_LIBS"
-      if test x$gcc_no_link = xyes; then
+    save_CFLAGS=$CFLAGS
+    save_LIBS=$LIBS
+    CFLAGS="$CFLAGS $BDW_GC_CFLAGS"
+    LIBS="$LIBS $BDW_GC_LIBS"
+            if test x$gcc_no_link = xyes; then
   as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
 fi
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -11628,18 +11640,18 @@ GC_init()
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
 
-      if test "$cross_compiling" = yes; then :
-          system_bdw_gc_found=no
+        if test "$cross_compiling" = yes; then :
+            system_bdw_gc_found=no
 
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-        #include <gc/gc.h>
-        int main() {
-          GC_init();
-          return 0;
-        }
+          #include <gc/gc.h>
+          int main() {
+            GC_init();
+            return 0;
+          }
 
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
@@ -11657,19 +11669,20 @@ else
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-  CFLAGS=$save_CFLAGS
-  LIBS=$save_LIBS
-  if test x$enable_objc_gc = xauto && test x$system_bdw_gc_found = xno; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: system bdw-gc not found, not building libobjc_gc" >&5
+    CFLAGS=$save_CFLAGS
+    LIBS=$save_LIBS
+    if test x$enable_objc_gc = xauto && test x$system_bdw_gc_found = xno; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: system bdw-gc not found, not building libobjc_gc" >&5
 $as_echo "$as_me: WARNING: system bdw-gc not found, not building libobjc_gc" >&2;}
-    use_bdw_gc=no
-  elif test x$enable_objc_gc = xyes && test x$system_bdw_gc_found = xno; then
-    as_fn_error "system bdw-gc required but not found" "$LINENO" 5
-  else
-    use_bdw_gc=yes
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
+      use_bdw_gc=no
+    elif test x$enable_objc_gc = xyes && test x$system_bdw_gc_found = xno; then
+      as_fn_error "system bdw-gc required but not found" "$LINENO" 5
+    else
+      use_bdw_gc=yes
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
 $as_echo "found" >&6; }
-  fi
+    fi
+  esac
 esac
 
 if test "$use_bdw_gc" = no; then
index 046e56894359a93a97633665ec9e2471195fe7b7..c6d48f787ae10a4dafc956bd27f9605ae5a83915 100644 (file)
@@ -256,16 +256,19 @@ no)
       for i in `echo $with_target_bdw_gc_include | tr ',' ' '`; do
         case "$i" in
           *=*) sd=${i%%=*}; d=${i#*=} ;;
-          *) sd=.; d=$i ;;
+          *) sd=.; d=$i; fallback=$i ;;
         esac
         if test "$mldir" = "$sd"; then
           bdw_val=$d
         fi
       done
-      if test "x$bdw_val" = x; then
+      if test "x$bdw_val" = x && test "x$bdw_inc_dir" = x && test "x$fallback" != x; then
+        bdw_inc_dir="$fallback"
+      elif test "x$bdw_val" = x; then
         AC_MSG_ERROR([no multilib path ($mldir) found in --with-target-bdw-gc-include])
+      else
+        bdw_inc_dir="$bdw_val"
       fi
-      bdw_inc_dir="$bdw_val"
     fi
     bdw_val=
     if test "x$with_target_bdw_gc_lib" != x; then
@@ -290,45 +293,55 @@ no)
       AC_MSG_ERROR([no multilib path ($mldir) found in --with-target-bdw-gc-lib])
     fi
     BDW_GC_CFLAGS="-I$bdw_inc_dir"
-    BDW_GC_LIBS="-L$bdw_lib_dir -lgc"
+    if test -f $bdw_lib_dir/libgc.la; then
+      BDW_GC_LIBS="$bdw_lib_dir/libgc.la"
+    else
+      BDW_GC_LIBS="-L$bdw_lib_dir -lgc"
+    fi
     AC_MSG_RESULT([found])
   fi
 
-  AC_MSG_CHECKING([for system boehm-gc])
-  save_CFLAGS=$CFLAGS
-  save_LIBS=$LIBS
-  CFLAGS="$CFLAGS $BDW_GC_CFLAGS"
-  LIBS="$LIBS $BDW_GC_LIBS"
-  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 <gc/gc.h>],[GC_init()])],
-    [
-      AC_RUN_IFELSE([AC_LANG_SOURCE([[
-        #include <gc/gc.h>
-        int main() {
-          GC_init();
-          return 0;
-        }
-        ]])],
-        [system_bdw_gc_found=yes],
-        [system_bdw_gc_found=no],
-        dnl assume no system boehm-gc for cross builds ...
-        [system_bdw_gc_found=no]
-      )
-    ],
-    [system_bdw_gc_found=no])
-  CFLAGS=$save_CFLAGS
-  LIBS=$save_LIBS
-  if test x$enable_objc_gc = xauto && test x$system_bdw_gc_found = xno; then
-    AC_MSG_WARN([system bdw-gc not found, not building libobjc_gc])
-    use_bdw_gc=no
-  elif test x$enable_objc_gc = xyes && test x$system_bdw_gc_found = xno; then
-    AC_MSG_ERROR([system bdw-gc required but not found])
-  else
+  case "$BDW_GC_LIBS" in
+  *libgc.la)
     use_bdw_gc=yes
-    AC_MSG_RESULT([found])
-  fi
+    ;;
+  *)
+    AC_MSG_CHECKING([for system boehm-gc])
+    save_CFLAGS=$CFLAGS
+    save_LIBS=$LIBS
+    CFLAGS="$CFLAGS $BDW_GC_CFLAGS"
+    LIBS="$LIBS $BDW_GC_LIBS"
+    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 <gc/gc.h>],[GC_init()])],
+      [
+        AC_RUN_IFELSE([AC_LANG_SOURCE([[
+          #include <gc/gc.h>
+          int main() {
+            GC_init();
+            return 0;
+          }
+          ]])],
+          [system_bdw_gc_found=yes],
+          [system_bdw_gc_found=no],
+          dnl assume no system boehm-gc for cross builds ...
+          [system_bdw_gc_found=no]
+        )
+      ],
+      [system_bdw_gc_found=no])
+    CFLAGS=$save_CFLAGS
+    LIBS=$save_LIBS
+    if test x$enable_objc_gc = xauto && test x$system_bdw_gc_found = xno; then
+      AC_MSG_WARN([system bdw-gc not found, not building libobjc_gc])
+      use_bdw_gc=no
+    elif test x$enable_objc_gc = xyes && test x$system_bdw_gc_found = xno; then
+      AC_MSG_ERROR([system bdw-gc required but not found])
+    else
+      use_bdw_gc=yes
+      AC_MSG_RESULT([found])
+    fi
+  esac
 esac
 
 if test "$use_bdw_gc" = no; then