# configure.host
-# This shell script handles all host based configuration for boehm_gc.
+# This shell script handles all host based configuration for the garbage
+# collector.
# It sets various shell variables based on the the host and the
# configuration options. You can modify this shell script without
# needing to rerun autoconf.
# host The configuration host
# host_cpu The configuration host CPU
# target_optspace --enable-target-optspace ("yes", "no", "")
+# GCC should be "yes" if using gcc
# It sets the following shell variables:
-# boehm_gc_cflags Special CFLAGS to use when building
+# gc_cflags Special CFLAGS to use when building
+# gc_use_mmap Set to "yes" on platforms where mmap should be used instead
+# of sbrk. This will define USE_MMAP.
-boehm_gc_cflags=-fexceptions
+gc_cflags=""
+gc_use_mmap=
+
+# We should set -fexceptions if we are using gcc and might be used
+# inside something like gcj. This is the zeroth approximation:
+if test :"$GCC": = :yes: ; then
+ gc_cflags="${gc_cflags} -fexceptions"
+else
+ case "$host" in
+ hppa*-*-hpux* )
+ if test :$GCC: != :"yes": ; then
+ gc_cflags="${gc_flags} +ESdbgasm"
+ fi
+ # :TODO: actaully we should check using Autoconf if
+ # the compiler supports this option.
+ ;;
+ esac
+fi
+
+case "${host}" in
+ *-linux*|*-kfreebsd-gnu*|*-gnu*)
+ gc_use_mmap=yes
+ ;;
+esac
case "${target_optspace}:${host}" in
yes:*)
- boehm_gc_cflags="${boehm_gc_cflags} -Os"
+ gc_cflags="${gc_cflags} -Os"
;;
:m32r-* | :d10v-* | :d30v-*)
- boehm_gc_cflags="${boehm_gc_cflags} -Os"
+ gc_cflags="${gc_cflags} -Os"
;;
no:* | :*)
# Nothing.
case "${host}" in
mips-tx39-*|mipstx39-unknown-*)
- boehm_gc_cflags="${boehm_gc_cflags} -G 0"
+ gc_cflags="${gc_cflags} -G 0"
;;
*)
;;