diff options
author | David Ayers <d.ayers@inode.at> | 2006-06-06 18:05:47 +0200 |
---|---|---|
committer | David Ayers <ayers@gcc.gnu.org> | 2006-06-06 16:05:47 +0000 |
commit | 7cd0cf9c30bbc98aef2e366e8f914dccc0e7877f (patch) | |
tree | 294e756af6a9d2bf5deaaf7155f3ea29953ec266 /configure.in | |
parent | 1e19cfd26deed52f457a08a82ad753cebc854479 (diff) | |
download | gcc-7cd0cf9c30bbc98aef2e366e8f914dccc0e7877f.zip gcc-7cd0cf9c30bbc98aef2e366e8f914dccc0e7877f.tar.gz gcc-7cd0cf9c30bbc98aef2e366e8f914dccc0e7877f.tar.bz2 |
re PR libobjc/13946 (ObjC configured --with-objc-gc needs external Boehm gc)
2006-06-06 David Ayers <d.ayers@inode.at>
PR libobjc/13946
* Makefile.def: Add dependencies for libobjc which boehm-gc.
* Makefile.in: Regenerate.
* configure.in: Add --enable-objc-gc at toplevel and have it
enable boehm-gc for Objective-C.
Remove target-boehm-gc from libgcj.
Add target-boehm-gc to target_libraries.
Add target-boehm-gc to noconfigdirs where ${libgcj}
is specified.
Assert that boehm-gc is supported when requested for Objective-C.
Only build boehm-gc if needed either for Java or Objective-C.
* configure: Regenerate.
From-SVN: r114435
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 204 |
1 files changed, 116 insertions, 88 deletions
diff --git a/configure.in b/configure.in index bf37b80..77bbb6b 100644 --- a/configure.in +++ b/configure.in @@ -134,7 +134,6 @@ host_tools="texinfo byacc flex bison binutils gas ld fixincludes gcc sid sim gdb # libgcj represents the runtime libraries only used by gcj. libgcj="target-libffi \ - target-boehm-gc \ target-zlib \ target-qthreads \ target-libjava" @@ -149,6 +148,7 @@ target_libraries="target-libiberty \ target-libmudflap \ target-libssp \ target-libgfortran \ + target-boehm-gc \ ${libgcj} \ target-libobjc \ target-libada \ @@ -366,7 +366,7 @@ fi case "${target}" in *-*-chorusos) - noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-newlib target-libgloss target-boehm-gc ${libgcj}" ;; powerpc-*-darwin*) noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof" @@ -375,10 +375,10 @@ case "${target}" in *-*-darwin*) noconfigdirs="$noconfigdirs ld gas gdb gprof" noconfigdirs="$noconfigdirs sim target-rda" - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-newlib target-libgloss target-boehm-gc ${libgcj}" ;; *-*-freebsd*) noconfigdirs="$noconfigdirs target-newlib target-libgloss" @@ -392,13 +392,13 @@ case "${target}" in i*86-*-*) ;; alpha*-*-*) ;; *) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; esac ;; *-*-kaos*) # Remove unsupported stuff on all kaOS configurations. - skipdirs="target-libiberty ${libgcj} target-libstdc++-v3 target-librx" + skipdirs="target-libiberty target-boehm-gc ${libgcj} target-libstdc++-v3 target-librx" skipdirs="$skipdirs target-libobjc target-examples target-groff target-gperf" skipdirs="$skipdirs zlib fastjar target-libjava target-boehm-gc target-zlib" noconfigdirs="$noconfigdirs target-libgloss" @@ -412,25 +412,25 @@ case "${target}" in i*86-*-netbsdelf*) ;; arm*-*-netbsdelf*) ;; *) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; esac ;; *-*-netware*) - noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss ${libgcj} target-libmudflap" + noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss target-boehm-gc ${libgcj} target-libmudflap" ;; *-*-rtems*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}" ;; # The tpf target doesn't support gdb yet. *-*-tpf*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty ${libgcj} target-libmudflap gdb tcl tk libgui itcl" + noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty target-boehm-gc ${libgcj} target-libmudflap gdb tcl tk libgui itcl" ;; *-*-uclinux*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}" + noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda target-boehm-gc ${libgcj}" ;; *-*-vxworks*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty target-libstdc++-v3 ${libgcj}" + noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty target-libstdc++-v3 target-boehm-gc ${libgcj}" ;; alpha*-dec-osf*) # ld works, but does not support shared libraries. @@ -439,7 +439,7 @@ case "${target}" in noconfigdirs="$noconfigdirs gas ld fileutils target-newlib target-libgloss" ;; alpha*-*-*vms*) - noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss target-boehm-gc ${libgcj}" ;; alpha*-*-linux*) # newlib is not 64 bit ready @@ -447,16 +447,16 @@ case "${target}" in ;; alpha*-*-*) # newlib is not 64 bit ready - noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-newlib target-libgloss target-boehm-gc ${libgcj}" ;; am33_2.0-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj} target-newlib target-libgloss" ;; sh-*-linux*) - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj} target-newlib target-libgloss" ;; sh*-*-pe|mips*-*-pe|*arm-wince-pe) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" noconfigdirs="$noconfigdirs target-examples" noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr" noconfigdirs="$noconfigdirs tcl tk itcl libgui sim" @@ -471,12 +471,12 @@ case "${target}" in esac ;; arc-*-*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}" ;; arm-semi-aof ) ;; arm-*-coff | strongarm-*-coff | xscale-*-coff) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) noconfigdirs="$noconfigdirs target-libffi target-qthreads" @@ -486,25 +486,25 @@ case "${target}" in noconfigdirs="$noconfigdirs target-libjava target-libobjc" ;; arm*-*-symbianelf*) - noconfigdirs="$noconfigdirs ${libgcj} target-libiberty" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj} target-libiberty" ;; arm-*-pe*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}" ;; thumb-*-coff) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}" ;; thumb-*-elf) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}" ;; thumb-*-pe) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}" ;; arm-*-riscix*) - noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs ld target-libgloss target-boehm-gc ${libgcj}" ;; avr-*-*) - noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}" + noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 target-boehm-gc ${libgcj}" ;; bfin-*-*) noconfigdirs="$noconfigdirs target-libgloss gdb" @@ -513,10 +513,10 @@ case "${target}" in fi ;; c4x-*-* | tic4x-*-*) - noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss target-boehm-gc ${libgcj}" ;; c54x*-*-* | tic54x-*-*) - noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib" + noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss target-boehm-gc ${libgcj} gcc gdb newlib" ;; cris-*-* | crisv32-*-*) unsupported_languages="$unsupported_languages java" @@ -531,29 +531,29 @@ case "${target}" in noconfigdirs="$noconfigdirs target-newlib target-libgloss";; *) unsupported_languages="$unsupported_languages fortran" - noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss";; + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj} target-newlib target-libgloss";; esac ;; crx-*-*) - noconfigdirs="$noconfigdirs target-libstdc++-v3 target-mudflap ${libgcj}" + noconfigdirs="$noconfigdirs target-libstdc++-v3 target-mudflap target-boehm-gc ${libgcj}" ;; d10v-*-*) - noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss target-boehm-gc ${libgcj}" ;; d30v-*-*) - noconfigdirs="$noconfigdirs ${libgcj} gdb" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj} gdb" ;; fr30-*-elf*) - noconfigdirs="$noconfigdirs ${libgcj} gdb" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj} gdb" ;; frv-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; h8300*-*-*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}" ;; h8500-*-*) - noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss target-boehm-gc ${libgcj}" ;; hppa1.1-*-osf* | hppa1.1-*-bsd* ) ;; @@ -569,7 +569,7 @@ case "${target}" in hppa*-*-lites* | \ hppa*-*-openbsd* | \ hppa*64*-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; hppa*-hp-hpux11*) noconfigdirs="$noconfigdirs ld shellutils" @@ -577,10 +577,10 @@ case "${target}" in hppa*-*-*) # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't # build on HP-UX 10.20. - noconfigdirs="$noconfigdirs ld shellutils ${libgcj}" + noconfigdirs="$noconfigdirs ld shellutils target-boehm-gc ${libgcj}" ;; i960-*-*) - noconfigdirs="$noconfigdirs ${libgcj} gdb" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj} gdb" ;; ia64*-*-elf*) # No gdb support yet. @@ -588,19 +588,19 @@ case "${target}" in ;; ia64*-**-hpux*) # No gdb or ld support yet. - noconfigdirs="$noconfigdirs ${libgcj} readline mmalloc libgui itcl gdb ld" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj} readline mmalloc libgui itcl gdb ld" ;; i370-*-opened*) ;; i[[3456789]]86-*-coff | i[[3456789]]86-*-elf) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; i[[3456789]]86-*-linux*) # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's # not build java stuff by default. case "${target}" in *-*-*libc1*) - noconfigdirs="$noconfigdirs ${libgcj}";; + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}";; esac # This section makes it possible to build newlib natively on linux. @@ -616,7 +616,7 @@ case "${target}" in ;; i[[3456789]]86-*-mingw32*) target_configdirs="$target_configdirs target-mingw" - noconfigdirs="$noconfigdirs expect target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs expect target-libgloss target-boehm-gc ${libgcj}" # Can't build gdb for mingw32 if not native. case "${host}" in @@ -627,7 +627,7 @@ case "${target}" in ;; *-*-cygwin*) target_configdirs="$target_configdirs target-libtermcap target-winsup" - noconfigdirs="$noconfigdirs target-gperf target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-gperf target-libgloss target-boehm-gc ${libgcj}" # always build newlib if winsup directory is present. if test -d "$srcdir/winsup"; then skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` @@ -646,39 +646,39 @@ case "${target}" in i[[3456789]]86-*-uwin* | i[[3456789]]86-*-interix* ) ;; i[[3456789]]86-*-pe) - noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss target-boehm-gc ${libgcj}" ;; i[[3456789]]86-*-sco3.2v5*) # The linker does not yet know about weak symbols in COFF, # and is not configured to handle mixed ELF and COFF. - noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs ld target-libgloss target-boehm-gc ${libgcj}" ;; i[[3456789]]86-*-sco*) - noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss target-boehm-gc ${libgcj}" ;; i[[3456789]]86-*-solaris2*) noconfigdirs="$noconfigdirs target-libgloss" ;; i[[3456789]]86-*-sysv4*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}" ;; i[[3456789]]86-*-beos*) - noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss target-boehm-gc ${libgcj}" ;; i[[3456789]]86-*-rdos*) noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" ;; m32r-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*) - noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}" + noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 target-boehm-gc ${libgcj}" ;; m68k-*-elf*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; m68k-*-coff*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; mcore-*-pe*) # The EPOC C++ environment does not support exceptions or rtti, @@ -690,78 +690,78 @@ case "${target}" in unsupported_languages="$unsupported_languages fortran java" ;; mn10200-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; mn10300-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; mt-*-*) noconfigdirs="$noconfigdirs sim" ;; powerpc-*-aix*) # copied from rs6000-*-* entry - noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp target-boehm-gc ${libgcj}" ;; powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe) target_configdirs="$target_configdirs target-winsup" - noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl gnuserv ${libgcj}" + noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl gnuserv target-boehm-gc ${libgcj}" # always build newlib. skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;; # This is temporary until we can link against shared libraries powerpcle-*-solaris*) - noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl gnuserv ${libgcj}" + noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl gnuserv target-boehm-gc ${libgcj}" ;; powerpc-*-beos*) - noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss target-boehm-gc ${libgcj}" ;; powerpc-*-eabi) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; powerpc-*-eabi* | powerpcle-*-eabi* | powerpc-*-rtems* ) ;; rs6000-*-lynxos*) - noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}" + noconfigdirs="$noconfigdirs target-newlib gprof target-boehm-gc ${libgcj}" ;; rs6000-*-aix*) - noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp target-boehm-gc ${libgcj}" ;; rs6000-*-*) - noconfigdirs="$noconfigdirs gprof ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-boehm-gc ${libgcj}" ;; m68k-apollo-*) - noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss target-boehm-gc ${libgcj}" ;; mips*-*-irix5*) - noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss target-boehm-gc ${libgcj}" ;; mips*-*-irix6*) # Linking libjava exceeds command-line length limits on at least # IRIX 6.2, but not on IRIX 6.5. # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham # <oldham@codesourcery.com> - noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss target-boehm-gc ${libgcj}" ;; mips*-dec-bsd*) - noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss target-boehm-gc ${libgcj}" ;; mips*-*-bsd*) - noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss target-boehm-gc ${libgcj}" ;; mipstx39-*-*) - noconfigdirs="$noconfigdirs gprof ${libgcj}" # same as generic mips + noconfigdirs="$noconfigdirs gprof target-boehm-gc ${libgcj}" # same as generic mips ;; mips64*-*-linux*) - noconfigdirs="$noconfigdirs target-newlib ${libgcj}" + noconfigdirs="$noconfigdirs target-newlib target-boehm-gc ${libgcj}" ;; mips*-*-linux*) noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; mips*-*-*) - noconfigdirs="$noconfigdirs gprof ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-boehm-gc ${libgcj}" ;; romp-*-*) - noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss target-boehm-gc ${libgcj}" ;; sh-*-* | sh64-*-*) case "${host}" in @@ -770,19 +770,19 @@ case "${target}" in i[[3456789]]86-*-msdosdjgpp*) ;; # don't add gprof back in *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;; esac - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}" ;; sparc-*-elf*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; sparc64-*-elf*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; sparclite-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; sparc-*-sunos4*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" if test x${is_cross_compiler} != xno ; then noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" else @@ -790,42 +790,42 @@ case "${target}" in fi ;; sparc-*-solaris2.[[0-6]] | sparc-*-solaris2.[[0-6]].*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*) ;; v810-*-*) - noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libstdc++-v3 opcodes target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libstdc++-v3 opcodes target-libgloss target-boehm-gc ${libgcj}" ;; v850-*-*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}" ;; v850e-*-*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}" ;; v850ea-*-*) - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}" ;; vax-*-vms) - noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss target-boehm-gc ${libgcj}" ;; vax-*-*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-newlib target-libgloss target-boehm-gc ${libgcj}" ;; xtensa-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; ip2k-*-*) - noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}" + noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 target-boehm-gc ${libgcj}" ;; *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu) noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; *-*-lynxos*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-newlib target-libgloss target-boehm-gc ${libgcj}" ;; *-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}" ;; esac @@ -1333,6 +1333,34 @@ for dir in $configdirs $build_configdirs $target_configdirs ; do fi done +# 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 + # Remove the entries in $skipdirs and $noconfigdirs from $configdirs, # $build_configdirs and $target_configdirs. # If we have the source for $noconfigdirs entries, add them to $notsupp. |