diff --git a/ChangeLog b/ChangeLog index c745090c8..f0538e4a4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,12 @@ * configure.in: remove references to dead files +2002-04-18 Tom Tromey + + * configure.in: Disallow configuring libgcj when it is already + installed and we're using Solaris 2.8 linker. Do enable libgcj on + Solaris 2.8 by default. For PR libgcj/6158. + 2002-04-17 Nathanael Nerode * configure.in: Move default CC setting out of config/mh-* fragments diff --git a/configure.in b/configure.in index d8686b6a9..fc528ac20 100644 --- a/configure.in +++ b/configure.in @@ -1043,15 +1043,6 @@ case "${target}" in fi ;; sparc-*-solaris*) - case "${host}" in - sparc-*-solaris2.8) - # According to Gerald Pfeifer , libjava - # won't build correctly on Solaris 8 if there's a - # previously-installed version of GCC in the configured prefix. - # This problem does not show up on earlier versions of Solaris. - noconfigdirs="$noconfigdirs ${libgcj}" - ;; - esac ;; v810-*-*) noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld ${libstdcxx_version} opcodes target-libgloss ${libgcj}" @@ -1425,6 +1416,33 @@ case "${host}" in ;; esac +# If we're building libgcj and we're using the Solaris 2.8 linker, +# then we check for a known problem. +if test "x${libgcj}" = x && test "${with_gnu_ld}" != yes \ + && test "${is_cross_compiler}" = no; then + + case "${host}" in + sparc-*-solaris2.8) + if test "$libdir" = '${exec_prefix}/lib';then + if test "$exec_prefix" = '$(prefix)'; then + tlibdir="$prefix/lib" + else + tlibdir="$exec_prefix/lib" + fi + else + tlibdir="$libdir" + fi + if test -f $tlibdir/libgcj.la; then + echo "*** You've already installed libgcj in $tlibdir." 1>&2 + echo " This causes problems when rebuilding libgcj with the Solaris 2.8 linker." 1>&2 + echo " Either disable the libgcj build, or remove the" 1>&2 + echo " already-installed libgcj files." 1>&2 + exit 1 + fi + ;; + esac +fi + # If --enable-shared was set, we must set LD_LIBRARY_PATH so that the # binutils tools will find libbfd.so. if [ "${shared}" = "yes" ]; then