+# Check for Boehm's garbage collector
+AC_ARG_ENABLE(objc-gc,
+[ --enable-objc-gc enable the 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_libgcj}:${enable_objc_gc} in
+ *,objc,*:*:yes)
+ # Keep target-boehm-gc if requested for Objective-C.
+ ;;
+ *,java,*:no:*)
+ # Remove target-boehm-gc if libgcj has been disabled explicitly.
+ noconfigdirs="$noconfigdirs target-boehm-gc"
+ ;;
+ *,java,*:*:*)
+ # Keep target-boehm-gc by default for Java.
+ ;;
+ *)
+ # Otherwise remove target-boehm-gc.
+ noconfigdirs="$noconfigdirs target-boehm-gc"
+ ;;
+esac
+