Restore --enable-objc-gc support
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Tue, 4 Oct 2016 09:00:27 +0000 (09:00 +0000)
committerRainer Orth <ro@gcc.gnu.org>
Tue, 4 Oct 2016 09:00:27 +0000 (09:00 +0000)
* configure.ac (target_libraries): Readd target-boehm-gc.
Restore --enable-objc-gc handling.
* configure: Regenerate.

From-SVN: r240740

ChangeLog
configure
configure.ac

index 587a2343a98a30cf56ebd633c87d0fe160561ffb..228c717ece320072a3cbf0a2c730ac87979519e9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2016-10-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (target_libraries): Readd target-boehm-gc.
+       Restore --enable-objc-gc handling.
+       * configure: Regenerate.
+
 2015-10-03  Jeff Law  <law@redhat.com>
 
        * MAINTAINERS: Move several inactive maintainers to the
index 122ec4e45e4842c0623a1076c5c2c9eb21f225a3..f9650c92765b4af57e5c02f99b8c1f163b9c89ab 100755 (executable)
--- a/configure
+++ b/configure
@@ -784,6 +784,7 @@ enable_lto
 enable_linker_plugin_configure_flags
 enable_linker_plugin_flags
 enable_stage1_languages
+enable_objc_gc
 with_build_sysroot
 with_debug_prefix_map
 with_build_config
@@ -1499,6 +1500,8 @@ Optional Features:
   --enable-stage1-languages[=all]
                           choose additional languages to build during stage1.
                           Mostly useful for compiler development
+  --enable-objc-gc        enable use of Boehm's garbage collector with the GNU
+                          Objective-C runtime
   --enable-vtable-verify  Enable vtable verification feature
   --enable-serial-[{host,target,build}-]configure
                           force sequential configuration of sub-packages for
@@ -2748,6 +2751,7 @@ target_libraries="target-libgcc \
                target-libssp \
                target-libquadmath \
                target-libgfortran \
+               target-boehm-gc \
                target-libffi \
                target-libobjc \
                target-libada \
@@ -6389,6 +6393,28 @@ for dir in $configdirs $build_configdirs $target_configdirs ; do
   fi
 done
 
+# Check for Boehm's garbage collector
+# Check whether --enable-objc-gc was given.
+if test "${enable_objc_gc+set}" = set; then :
+  enableval=$enable_objc_gc; case ,${enable_languages},:${enable_objc_gc}:${noconfigdirs} in
+  *,objc,*:*:yes:*target-boehm-gc*)
+    as_fn_error "Boehm's garbage collector was requested yet not supported in this configuration" "$LINENO" 5
+    ;;
+esac
+fi
+
+
+# Make sure we only build Boehm's garbage collector if required.
+case ,${enable_languages},:${enable_objc_gc} in
+  *,objc,*:yes)
+    # Keep target-boehm-gc if requested for Objective-C.
+    ;;
+  *)
+    # Otherwise remove target-boehm-gc.
+    noconfigdirs="$noconfigdirs target-boehm-gc"
+    ;;
+esac
+
 # Disable libcilkrts, libitm, libsanitizer, libvtv, liboffloadmic if we're not building C++
 case ,${enable_languages}, in
   *,c++,*)
index afceb19458b8accf9c4316944a569ef9f07ae6ca..aec703a19f08c3f474dcfd052804bf91b24bd993 100644 (file)
@@ -161,6 +161,7 @@ target_libraries="target-libgcc \
                target-libssp \
                target-libquadmath \
                target-libgfortran \
+               target-boehm-gc \
                target-libffi \
                target-libobjc \
                target-libada \
@@ -2054,6 +2055,28 @@ for dir in $configdirs $build_configdirs $target_configdirs ; do
   fi
 done
 
+# Check for Boehm's garbage collector
+AC_ARG_ENABLE(objc-gc,
+[AS_HELP_STRING([--enable-objc-gc],
+               [enable use of Boehm's garbage collector with the
+                GNU Objective-C runtime])],
+[case ,${enable_languages},:${enable_objc_gc}:${noconfigdirs} in
+  *,objc,*:*:yes:*target-boehm-gc*)
+    AC_MSG_ERROR([Boehm's garbage collector was requested yet not supported in this configuration])
+    ;;
+esac])
+
+# Make sure we only build Boehm's garbage collector if required.
+case ,${enable_languages},:${enable_objc_gc} in
+  *,objc,*:yes)
+    # Keep target-boehm-gc if requested for Objective-C.
+    ;;
+  *)
+    # Otherwise remove target-boehm-gc.
+    noconfigdirs="$noconfigdirs target-boehm-gc"
+    ;;
+esac
+
 # Disable libcilkrts, libitm, libsanitizer, libvtv, liboffloadmic if we're not building C++
 case ,${enable_languages}, in
   *,c++,*)