+# Handle --disable-<component> generically.
+for dir in $configdirs $build_configdirs $target_configdirs ; do
+ dirname=`echo $dir | sed -e s/target-//g -e s/build-//g -e s/-/_/g`
+ if eval test x\${enable_${dirname}} "=" xno ; then
+ noconfigdirs="$noconfigdirs $dir"
+ fi
+done
+
+# Check for Boehm's garbage collector
+# Check whether --enable-objc-gc or --disable-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*)
+ { echo "configure: error: Boehm's garbage collector was requested yet not supported in this configuration" 1>&2; exit 1; }
+ ;;
+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 depending on target-libjava.
+ if echo " ${noconfigdirs} " | grep "target-libjava" >/dev/null 2>&1; then
+ noconfigdirs="$noconfigdirs target-boehm-gc"
+ fi
+ ;;
+esac
+