aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2016-10-04 09:00:27 +0000
committerRainer Orth <ro@gcc.gnu.org>2016-10-04 09:00:27 +0000
commit43c40f3e43aea07477d025eedc818e1bd10385d0 (patch)
tree18515e3301c39e5d8ac8443beb123b3d2e09a74c
parent5a79befbf444ecd99ed39bc4b9643c5ca5e0a447 (diff)
downloadgcc-43c40f3e43aea07477d025eedc818e1bd10385d0.zip
gcc-43c40f3e43aea07477d025eedc818e1bd10385d0.tar.gz
gcc-43c40f3e43aea07477d025eedc818e1bd10385d0.tar.bz2
Restore --enable-objc-gc support
* configure.ac (target_libraries): Readd target-boehm-gc. Restore --enable-objc-gc handling. * configure: Regenerate. From-SVN: r240740
-rw-r--r--ChangeLog6
-rwxr-xr-xconfigure26
-rw-r--r--configure.ac23
3 files changed, 55 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 587a234..228c717 100644
--- 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
diff --git a/configure b/configure
index 122ec4e..f9650c9 100755
--- 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++,*)
diff --git a/configure.ac b/configure.ac
index afceb19..aec703a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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++,*)