summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 587a2343a98a..228c717ece32 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 122ec4e45e48..f9650c92765b 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 afceb19458b8..aec703a19f08 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++,*)