From 8465132c9b8b8dd9a98f97bbba93b6fd8da1da44 Mon Sep 17 00:00:00 2001 From: Matthias Klose Date: Wed, 18 Jan 2017 15:48:54 +0000 Subject: [PATCH] re PR libobjc/78697 (--with-target-bdw-gc-include shouldn't be required to be per multilib) 2017-01-18 Matthias Klose 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 * doc/install.texi: Allow default for --with-target-bdw-gc-include. From-SVN: r244579 --- gcc/ChangeLog | 4 ++ gcc/doc/install.texi | 8 +++- libobjc/ChangeLog | 10 +++++ libobjc/configure | 69 ++++++++++++++++++++-------------- libobjc/configure.ac | 89 +++++++++++++++++++++++++------------------- 5 files changed, 112 insertions(+), 68 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3ec183a266a..7f967954367 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2017-01-18 Matthias Klose + + * doc/install.texi: Allow default for --with-target-bdw-gc-include. + 2016-01-18 Bill Schmidt * config/rs6000/altivec.h (vec_bperm): Change #define. diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index 713d22536b5..4793ef85b0d 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -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 diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog index c3d1ba259da..55987a3ff3b 100644 --- a/libobjc/ChangeLog +++ b/libobjc/ChangeLog @@ -1,3 +1,13 @@ +2017-01-18 Matthias Klose + + 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 PR other/79046 diff --git a/libobjc/configure b/libobjc/configure index 72645fddfb4..abf5aed71cf 100755 --- a/libobjc/configure +++ b/libobjc/configure @@ -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 - int main() { - GC_init(); - return 0; - } + #include + 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 diff --git a/libobjc/configure.ac b/libobjc/configure.ac index 046e5689435..c6d48f787ae 100644 --- a/libobjc/configure.ac +++ b/libobjc/configure.ac @@ -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_init()])], - [ - AC_RUN_IFELSE([AC_LANG_SOURCE([[ - #include - 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_init()])], + [ + AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include + 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