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
This commit is contained in:
David Ayers 2006-06-06 18:05:47 +02:00 committed by David Ayers
parent 1e19cfd26d
commit 7cd0cf9c30
5 changed files with 394 additions and 314 deletions

View File

@ -1,3 +1,18 @@
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.
2006-06-05 Paolo Bonzini <bonzini@gnu.org> 2006-06-05 Paolo Bonzini <bonzini@gnu.org>
PR 27674 PR 27674

View File

@ -450,7 +450,9 @@ dependencies = { module=all-target-libjava; on=all-target-zlib; };
dependencies = { module=all-target-libjava; on=all-target-boehm-gc; }; dependencies = { module=all-target-libjava; on=all-target-boehm-gc; };
dependencies = { module=all-target-libjava; on=all-target-qthreads; }; dependencies = { module=all-target-libjava; on=all-target-qthreads; };
dependencies = { module=all-target-libjava; on=all-target-libffi; }; dependencies = { module=all-target-libjava; on=all-target-libffi; };
dependencies = { module=configure-target-libobjc; on=configure-target-boehm-gc; };
dependencies = { module=all-target-libobjc; on=all-target-libiberty; }; dependencies = { module=all-target-libobjc; on=all-target-libiberty; };
dependencies = { module=all-target-libobjc; on=all-target-boehm-gc; };
dependencies = { module=all-target-libstdc++-v3; on=all-target-libiberty; }; dependencies = { module=all-target-libstdc++-v3; on=all-target-libiberty; };
// Target modules in the 'src' repository. // Target modules in the 'src' repository.

View File

@ -41107,7 +41107,9 @@ all-target-libjava: maybe-all-target-zlib
all-target-libjava: maybe-all-target-boehm-gc all-target-libjava: maybe-all-target-boehm-gc
all-target-libjava: maybe-all-target-qthreads all-target-libjava: maybe-all-target-qthreads
all-target-libjava: maybe-all-target-libffi all-target-libjava: maybe-all-target-libffi
configure-target-libobjc: maybe-configure-target-boehm-gc
all-target-libobjc: maybe-all-target-libiberty all-target-libobjc: maybe-all-target-libiberty
all-target-libobjc: maybe-all-target-boehm-gc
all-target-libstdc++-v3: maybe-all-target-libiberty all-target-libstdc++-v3: maybe-all-target-libiberty
all-target-libgloss: maybe-configure-target-newlib all-target-libgloss: maybe-configure-target-newlib
all-target-winsup: maybe-all-target-libiberty all-target-winsup: maybe-all-target-libiberty

485
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -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 represents the runtime libraries only used by gcj.
libgcj="target-libffi \ libgcj="target-libffi \
target-boehm-gc \
target-zlib \ target-zlib \
target-qthreads \ target-qthreads \
target-libjava" target-libjava"
@ -149,6 +148,7 @@ target_libraries="target-libiberty \
target-libmudflap \ target-libmudflap \
target-libssp \ target-libssp \
target-libgfortran \ target-libgfortran \
target-boehm-gc \
${libgcj} \ ${libgcj} \
target-libobjc \ target-libobjc \
target-libada \ target-libada \
@ -366,7 +366,7 @@ fi
case "${target}" in case "${target}" in
*-*-chorusos) *-*-chorusos)
noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs target-newlib target-libgloss target-boehm-gc ${libgcj}"
;; ;;
powerpc-*-darwin*) powerpc-*-darwin*)
noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof" noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof"
@ -375,10 +375,10 @@ case "${target}" in
*-*-darwin*) *-*-darwin*)
noconfigdirs="$noconfigdirs ld gas gdb gprof" noconfigdirs="$noconfigdirs ld gas gdb gprof"
noconfigdirs="$noconfigdirs sim target-rda" noconfigdirs="$noconfigdirs sim target-rda"
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
;; ;;
*-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*) *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs target-newlib target-libgloss target-boehm-gc ${libgcj}"
;; ;;
*-*-freebsd*) *-*-freebsd*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss" noconfigdirs="$noconfigdirs target-newlib target-libgloss"
@ -392,13 +392,13 @@ case "${target}" in
i*86-*-*) ;; i*86-*-*) ;;
alpha*-*-*) ;; alpha*-*-*) ;;
*) *)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
;; ;;
esac esac
;; ;;
*-*-kaos*) *-*-kaos*)
# Remove unsupported stuff on all kaOS configurations. # 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 target-libobjc target-examples target-groff target-gperf"
skipdirs="$skipdirs zlib fastjar target-libjava target-boehm-gc target-zlib" skipdirs="$skipdirs zlib fastjar target-libjava target-boehm-gc target-zlib"
noconfigdirs="$noconfigdirs target-libgloss" noconfigdirs="$noconfigdirs target-libgloss"
@ -412,25 +412,25 @@ case "${target}" in
i*86-*-netbsdelf*) ;; i*86-*-netbsdelf*) ;;
arm*-*-netbsdelf*) ;; arm*-*-netbsdelf*) ;;
*) *)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
;; ;;
esac esac
;; ;;
*-*-netware*) *-*-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*) *-*-rtems*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}"
;; ;;
# The tpf target doesn't support gdb yet. # The tpf target doesn't support gdb yet.
*-*-tpf*) *-*-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*) *-*-uclinux*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}" noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda target-boehm-gc ${libgcj}"
;; ;;
*-*-vxworks*) *-*-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*) alpha*-dec-osf*)
# ld works, but does not support shared libraries. # ld works, but does not support shared libraries.
@ -439,7 +439,7 @@ case "${target}" in
noconfigdirs="$noconfigdirs gas ld fileutils target-newlib target-libgloss" noconfigdirs="$noconfigdirs gas ld fileutils target-newlib target-libgloss"
;; ;;
alpha*-*-*vms*) 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*) alpha*-*-linux*)
# newlib is not 64 bit ready # newlib is not 64 bit ready
@ -447,16 +447,16 @@ case "${target}" in
;; ;;
alpha*-*-*) alpha*-*-*)
# newlib is not 64 bit ready # 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*) am33_2.0-*-linux*)
noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj} target-newlib target-libgloss"
;; ;;
sh-*-linux*) 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) sh*-*-pe|mips*-*-pe|*arm-wince-pe)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
noconfigdirs="$noconfigdirs target-examples" noconfigdirs="$noconfigdirs target-examples"
noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr" noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
noconfigdirs="$noconfigdirs tcl tk itcl libgui sim" noconfigdirs="$noconfigdirs tcl tk itcl libgui sim"
@ -471,12 +471,12 @@ case "${target}" in
esac esac
;; ;;
arc-*-*) arc-*-*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}"
;; ;;
arm-semi-aof ) arm-semi-aof )
;; ;;
arm-*-coff | strongarm-*-coff | xscale-*-coff) arm-*-coff | strongarm-*-coff | xscale-*-coff)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
;; ;;
arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
noconfigdirs="$noconfigdirs target-libffi target-qthreads" noconfigdirs="$noconfigdirs target-libffi target-qthreads"
@ -486,25 +486,25 @@ case "${target}" in
noconfigdirs="$noconfigdirs target-libjava target-libobjc" noconfigdirs="$noconfigdirs target-libjava target-libobjc"
;; ;;
arm*-*-symbianelf*) arm*-*-symbianelf*)
noconfigdirs="$noconfigdirs ${libgcj} target-libiberty" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj} target-libiberty"
;; ;;
arm-*-pe*) arm-*-pe*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}"
;; ;;
thumb-*-coff) thumb-*-coff)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}"
;; ;;
thumb-*-elf) thumb-*-elf)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}"
;; ;;
thumb-*-pe) thumb-*-pe)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}"
;; ;;
arm-*-riscix*) arm-*-riscix*)
noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs ld target-libgloss target-boehm-gc ${libgcj}"
;; ;;
avr-*-*) avr-*-*)
noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}" noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 target-boehm-gc ${libgcj}"
;; ;;
bfin-*-*) bfin-*-*)
noconfigdirs="$noconfigdirs target-libgloss gdb" noconfigdirs="$noconfigdirs target-libgloss gdb"
@ -513,10 +513,10 @@ case "${target}" in
fi fi
;; ;;
c4x-*-* | tic4x-*-*) c4x-*-* | tic4x-*-*)
noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss target-boehm-gc ${libgcj}"
;; ;;
c54x*-*-* | tic54x-*-*) 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-*-*) cris-*-* | crisv32-*-*)
unsupported_languages="$unsupported_languages java" unsupported_languages="$unsupported_languages java"
@ -531,29 +531,29 @@ case "${target}" in
noconfigdirs="$noconfigdirs target-newlib target-libgloss";; noconfigdirs="$noconfigdirs target-newlib target-libgloss";;
*) *)
unsupported_languages="$unsupported_languages fortran" unsupported_languages="$unsupported_languages fortran"
noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss";; noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj} target-newlib target-libgloss";;
esac esac
;; ;;
crx-*-*) crx-*-*)
noconfigdirs="$noconfigdirs target-libstdc++-v3 target-mudflap ${libgcj}" noconfigdirs="$noconfigdirs target-libstdc++-v3 target-mudflap target-boehm-gc ${libgcj}"
;; ;;
d10v-*-*) d10v-*-*)
noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss target-boehm-gc ${libgcj}"
;; ;;
d30v-*-*) d30v-*-*)
noconfigdirs="$noconfigdirs ${libgcj} gdb" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj} gdb"
;; ;;
fr30-*-elf*) fr30-*-elf*)
noconfigdirs="$noconfigdirs ${libgcj} gdb" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj} gdb"
;; ;;
frv-*-*) frv-*-*)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
;; ;;
h8300*-*-*) h8300*-*-*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}"
;; ;;
h8500-*-*) 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* ) hppa1.1-*-osf* | hppa1.1-*-bsd* )
;; ;;
@ -569,7 +569,7 @@ case "${target}" in
hppa*-*-lites* | \ hppa*-*-lites* | \
hppa*-*-openbsd* | \ hppa*-*-openbsd* | \
hppa*64*-*-*) hppa*64*-*-*)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
;; ;;
hppa*-hp-hpux11*) hppa*-hp-hpux11*)
noconfigdirs="$noconfigdirs ld shellutils" noconfigdirs="$noconfigdirs ld shellutils"
@ -577,10 +577,10 @@ case "${target}" in
hppa*-*-*) hppa*-*-*)
# According to Alexandre Oliva <aoliva@redhat.com>, libjava won't # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
# build on HP-UX 10.20. # build on HP-UX 10.20.
noconfigdirs="$noconfigdirs ld shellutils ${libgcj}" noconfigdirs="$noconfigdirs ld shellutils target-boehm-gc ${libgcj}"
;; ;;
i960-*-*) i960-*-*)
noconfigdirs="$noconfigdirs ${libgcj} gdb" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj} gdb"
;; ;;
ia64*-*-elf*) ia64*-*-elf*)
# No gdb support yet. # No gdb support yet.
@ -588,19 +588,19 @@ case "${target}" in
;; ;;
ia64*-**-hpux*) ia64*-**-hpux*)
# No gdb or ld support yet. # 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*) i370-*-opened*)
;; ;;
i[[3456789]]86-*-coff | i[[3456789]]86-*-elf) i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
;; ;;
i[[3456789]]86-*-linux*) i[[3456789]]86-*-linux*)
# The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
# not build java stuff by default. # not build java stuff by default.
case "${target}" in case "${target}" in
*-*-*libc1*) *-*-*libc1*)
noconfigdirs="$noconfigdirs ${libgcj}";; noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}";;
esac esac
# This section makes it possible to build newlib natively on linux. # This section makes it possible to build newlib natively on linux.
@ -616,7 +616,7 @@ case "${target}" in
;; ;;
i[[3456789]]86-*-mingw32*) i[[3456789]]86-*-mingw32*)
target_configdirs="$target_configdirs target-mingw" 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. # Can't build gdb for mingw32 if not native.
case "${host}" in case "${host}" in
@ -627,7 +627,7 @@ case "${target}" in
;; ;;
*-*-cygwin*) *-*-cygwin*)
target_configdirs="$target_configdirs target-libtermcap target-winsup" 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. # always build newlib if winsup directory is present.
if test -d "$srcdir/winsup"; then if test -d "$srcdir/winsup"; then
skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` 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-*-uwin* | i[[3456789]]86-*-interix* )
;; ;;
i[[3456789]]86-*-pe) 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*) i[[3456789]]86-*-sco3.2v5*)
# The linker does not yet know about weak symbols in COFF, # The linker does not yet know about weak symbols in COFF,
# and is not configured to handle mixed ELF and 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*) i[[3456789]]86-*-sco*)
noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs gprof target-libgloss target-boehm-gc ${libgcj}"
;; ;;
i[[3456789]]86-*-solaris2*) i[[3456789]]86-*-solaris2*)
noconfigdirs="$noconfigdirs target-libgloss" noconfigdirs="$noconfigdirs target-libgloss"
;; ;;
i[[3456789]]86-*-sysv4*) i[[3456789]]86-*-sysv4*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}"
;; ;;
i[[3456789]]86-*-beos*) 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*) i[[3456789]]86-*-rdos*)
noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
;; ;;
m32r-*-*) m32r-*-*)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
;; ;;
m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*) 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*) m68k-*-elf*)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
;; ;;
m68k-*-coff*) m68k-*-coff*)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
;; ;;
mcore-*-pe*) mcore-*-pe*)
# The EPOC C++ environment does not support exceptions or rtti, # The EPOC C++ environment does not support exceptions or rtti,
@ -690,78 +690,78 @@ case "${target}" in
unsupported_languages="$unsupported_languages fortran java" unsupported_languages="$unsupported_languages fortran java"
;; ;;
mn10200-*-*) mn10200-*-*)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
;; ;;
mn10300-*-*) mn10300-*-*)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
;; ;;
mt-*-*) mt-*-*)
noconfigdirs="$noconfigdirs sim" noconfigdirs="$noconfigdirs sim"
;; ;;
powerpc-*-aix*) powerpc-*-aix*)
# copied from rs6000-*-* entry # 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) powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
target_configdirs="$target_configdirs target-winsup" 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. # always build newlib.
skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
;; ;;
# This is temporary until we can link against shared libraries # This is temporary until we can link against shared libraries
powerpcle-*-solaris*) 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*) powerpc-*-beos*)
noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss target-boehm-gc ${libgcj}"
;; ;;
powerpc-*-eabi) powerpc-*-eabi)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
;; ;;
powerpc-*-eabi* | powerpcle-*-eabi* | powerpc-*-rtems* ) powerpc-*-eabi* | powerpcle-*-eabi* | powerpc-*-rtems* )
;; ;;
rs6000-*-lynxos*) rs6000-*-lynxos*)
noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}" noconfigdirs="$noconfigdirs target-newlib gprof target-boehm-gc ${libgcj}"
;; ;;
rs6000-*-aix*) rs6000-*-aix*)
noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp ${libgcj}" noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp target-boehm-gc ${libgcj}"
;; ;;
rs6000-*-*) rs6000-*-*)
noconfigdirs="$noconfigdirs gprof ${libgcj}" noconfigdirs="$noconfigdirs gprof target-boehm-gc ${libgcj}"
;; ;;
m68k-apollo-*) m68k-apollo-*)
noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss target-boehm-gc ${libgcj}"
;; ;;
mips*-*-irix5*) mips*-*-irix5*)
noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs gprof target-libgloss target-boehm-gc ${libgcj}"
;; ;;
mips*-*-irix6*) mips*-*-irix6*)
# Linking libjava exceeds command-line length limits on at least # Linking libjava exceeds command-line length limits on at least
# IRIX 6.2, but not on IRIX 6.5. # IRIX 6.2, but not on IRIX 6.5.
# Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham
# <oldham@codesourcery.com> # <oldham@codesourcery.com>
noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs gprof target-libgloss target-boehm-gc ${libgcj}"
;; ;;
mips*-dec-bsd*) mips*-dec-bsd*)
noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs gprof target-libgloss target-boehm-gc ${libgcj}"
;; ;;
mips*-*-bsd*) mips*-*-bsd*)
noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs gprof target-libgloss target-boehm-gc ${libgcj}"
;; ;;
mipstx39-*-*) mipstx39-*-*)
noconfigdirs="$noconfigdirs gprof ${libgcj}" # same as generic mips noconfigdirs="$noconfigdirs gprof target-boehm-gc ${libgcj}" # same as generic mips
;; ;;
mips64*-*-linux*) mips64*-*-linux*)
noconfigdirs="$noconfigdirs target-newlib ${libgcj}" noconfigdirs="$noconfigdirs target-newlib target-boehm-gc ${libgcj}"
;; ;;
mips*-*-linux*) mips*-*-linux*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss" noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;; ;;
mips*-*-*) mips*-*-*)
noconfigdirs="$noconfigdirs gprof ${libgcj}" noconfigdirs="$noconfigdirs gprof target-boehm-gc ${libgcj}"
;; ;;
romp-*-*) 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-*-*) sh-*-* | sh64-*-*)
case "${host}" in case "${host}" in
@ -770,19 +770,19 @@ case "${target}" in
i[[3456789]]86-*-msdosdjgpp*) ;; # don't add gprof back in i[[3456789]]86-*-msdosdjgpp*) ;; # don't add gprof back in
*) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;; *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
esac esac
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}"
;; ;;
sparc-*-elf*) sparc-*-elf*)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
;; ;;
sparc64-*-elf*) sparc64-*-elf*)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
;; ;;
sparclite-*-*) sparclite-*-*)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
;; ;;
sparc-*-sunos4*) sparc-*-sunos4*)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
if test x${is_cross_compiler} != xno ; then if test x${is_cross_compiler} != xno ; then
noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss" noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
else else
@ -790,42 +790,42 @@ case "${target}" in
fi fi
;; ;;
sparc-*-solaris2.[[0-6]] | sparc-*-solaris2.[[0-6]].*) sparc-*-solaris2.[[0-6]] | sparc-*-solaris2.[[0-6]].*)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
;; ;;
sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*) sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*)
;; ;;
v810-*-*) 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-*-*) v850-*-*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}"
;; ;;
v850e-*-*) v850e-*-*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}"
;; ;;
v850ea-*-*) v850ea-*-*)
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs target-libgloss target-boehm-gc ${libgcj}"
;; ;;
vax-*-vms) 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-*-*) vax-*-*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}" noconfigdirs="$noconfigdirs target-newlib target-libgloss target-boehm-gc ${libgcj}"
;; ;;
xtensa-*-*) xtensa-*-*)
noconfigdirs="$noconfigdirs ${libgcj}" noconfigdirs="$noconfigdirs target-boehm-gc ${libgcj}"
;; ;;
ip2k-*-*) 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) *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu)
noconfigdirs="$noconfigdirs target-newlib target-libgloss" noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;; ;;
*-*-lynxos*) *-*-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 esac
@ -1333,6 +1333,34 @@ for dir in $configdirs $build_configdirs $target_configdirs ; do
fi fi
done 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, # Remove the entries in $skipdirs and $noconfigdirs from $configdirs,
# $build_configdirs and $target_configdirs. # $build_configdirs and $target_configdirs.
# If we have the source for $noconfigdirs entries, add them to $notsupp. # If we have the source for $noconfigdirs entries, add them to $notsupp.