From c4f0333bbc9247b6488224d1a9969e216e6426e9 Mon Sep 17 00:00:00 2001 From: Dave Korn Date: Wed, 30 Sep 2009 22:20:54 +0000 Subject: [PATCH] configure.host (libgcj_sublib_ltflags): New variable. * configure.host (libgcj_sublib_ltflags): New variable. * configure.ac (LIBGCJ_SUBLIB_LTFLAGS): AC_SUBST variable for the above in makefiles. * configure: Regenerate. * Makefile.am (libgcj_la_LDFLAGS_NOUNDEF): Rename from this ... (LIBJAVA_LDFLAGS_NOUNDEF): ... to this, initialise from LIBGCJ_SUBLIB_LTFLAGS (only when building sublibs), and ... (libgij_la_LDFLAGS, libgcj_tools_la_LDFLAGS, libjvm_la_LDFLAGS, lib_gnu_awt_xlib_la_LDFLAGS, libgcj_bc_la_LDFLAGS): ... use it in all these places to replace hard-coded -no-undefined and -bindir flags, as well as ... (libgcj_la_LDFLAGS): ... updating existing reference here. * Makefile.in: Regenerate. * include/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. * gcj/Makefile.in: Likewise. From-SVN: r152347 --- libjava/ChangeLog | 20 +++++++++++ libjava/Makefile.am | 16 ++++----- libjava/Makefile.in | 17 +++++----- libjava/configure | 64 +++++++++++++++++++---------------- libjava/configure.ac | 5 +++ libjava/configure.host | 3 ++ libjava/gcj/Makefile.in | 1 + libjava/include/Makefile.in | 1 + libjava/testsuite/Makefile.in | 1 + 9 files changed, 83 insertions(+), 45 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 0a6c90260d54..78aaa3e473a5 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,23 @@ +2009-09-30 Dave Korn + + * configure.host (libgcj_sublib_ltflags): New variable. + * configure.ac (LIBGCJ_SUBLIB_LTFLAGS): AC_SUBST variable for + the above in makefiles. + * configure: Regenerate. + + * Makefile.am (libgcj_la_LDFLAGS_NOUNDEF): Rename from this ... + (LIBJAVA_LDFLAGS_NOUNDEF): ... to this, initialise from + LIBGCJ_SUBLIB_LTFLAGS (only when building sublibs), and ... + (libgij_la_LDFLAGS, libgcj_tools_la_LDFLAGS, libjvm_la_LDFLAGS, + lib_gnu_awt_xlib_la_LDFLAGS, libgcj_bc_la_LDFLAGS): ... use it in + all these places to replace hard-coded -no-undefined and -bindir + flags, as well as ... + (libgcj_la_LDFLAGS): ... updating existing reference here. + * Makefile.in: Regenerate. + * include/Makefile.in: Likewise. + * testsuite/Makefile.in: Likewise. + * gcj/Makefile.in: Likewise. + 2009-09-27 Ralf Wildenhues PR libgcj/38298 diff --git a/libjava/Makefile.am b/libjava/Makefile.am index ad4fca2b6a81..3c0423e64f88 100644 --- a/libjava/Makefile.am +++ b/libjava/Makefile.am @@ -201,12 +201,12 @@ if BUILD_SUBLIBS toolexeclib_LTLIBRARIES += libgcj-noncore.la libgcj_noncore_la_LIBADD_SUBOBJECTS = $(NONCORE_PACKAGE_SOURCE_FILES_LO) libgcj_la_LIBADD_SUBOBJECTS = $(CORE_PACKAGE_SOURCE_FILES_LO) -libgcj_la_LDFLAGS_NOUNDEF = -no-undefined -bindir $(bindir) +LIBJAVA_LDFLAGS_NOUNDEF = $(LIBGCJ_SUBLIB_LTFLAGS) else # If not building sublibraries, everything goes in libgcj, # and it cannot be usefully built shared on PE platforms. libgcj_la_LIBADD_SUBOBJECTS = $(ALL_PACKAGE_SOURCE_FILES_LO) -libgcj_la_LDFLAGS_NOUNDEF = +LIBJAVA_LDFLAGS_NOUNDEF = endif if USE_LIBGCJ_BC @@ -388,7 +388,7 @@ endif ## See jv_convert_LDADD. libgij_la_LIBADD = -L$(here)/.libs libgcj.la ## The mysterious backslash in the grep pattern is consumed by make. -libgij_la_LDFLAGS = -rpath $(toolexeclibdir) -no-undefined -bindir $(bindir) \ +libgij_la_LDFLAGS = -rpath $(toolexeclibdir) $(LIBJAVA_LDFLAGS_NOUNDEF) \ -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LIBGCJ_LD_SYMBOLIC) libgij_la_LINK = $(CXXLINK) $(libgij_la_LDFLAGS) @@ -445,7 +445,7 @@ xlib_nat_files = $(xlib_nat_source_files:.cc=.lo) # certain linuxthread functions get linked: ## The mysterious backslash in the grep pattern is consumed by make. libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(extra_ldflags) $(THREADLIBS) \ - $(LIBLTDL) $(SYS_ZLIBS) $(libgcj_la_LDFLAGS_NOUNDEF) \ + $(LIBLTDL) $(SYS_ZLIBS) $(LIBJAVA_LDFLAGS_NOUNDEF) \ -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) libgcj_la_LIBADD = \ @@ -495,7 +495,7 @@ libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch \ -fsource-filename=$(here)/classpath/tools/all-classes.lst libgcj_tools_la_LDFLAGS = -rpath $(toolexeclibdir) \ -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ - $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) -no-undefined -bindir $(bindir) + $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF) libgcj_tools_la_LIBADD = libgcj.la -lm libgcj_tools_la_DEPENDENCIES = libgcj.la libgcj.spec if BUILD_SUBLIBS @@ -512,7 +512,7 @@ endif ## See jv_convert_LDADD. libjvm_la_LIBADD = -L$(here)/.libs libgcj.la libjvm_la_LDFLAGS = -avoid-version $(LIBGCJ_LD_SYMBOLIC) \ - -no-undefined -bindir $(bindir) + $(LIBJAVA_LDFLAGS_NOUNDEF) libjvm_la_LINK = $(CXXLINK) $(libjvm_la_LDFLAGS) ## The .db file. This rule is only used for native builds, so it is @@ -542,7 +542,7 @@ lib_gnu_awt_xlib_la_CPPFLAGS = \ ## The mysterious backslash in the grep pattern is consumed by make. lib_gnu_awt_xlib_la_LDFLAGS = ../libstdc++-v3/src/libstdc++.la \ @X_PRE_LIBS@ @X_LIBS@ -lX11 @X_EXTRA_LIBS@ \ - -rpath $(toolexeclibdir) -no-undefined -bindir $(bindir) \ + -rpath $(toolexeclibdir) $(LIBJAVA_LDFLAGS_NOUNDEF) \ -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LIBGCJ_LD_SYMBOLIC) lib_gnu_awt_xlib_la_LINK = $(LIBLINK) $(lib_gnu_awt_xlib_la_LDFLAGS) @@ -552,7 +552,7 @@ lib_gnu_awt_xlib_la_LINK = $(LIBLINK) $(lib_gnu_awt_xlib_la_LDFLAGS) ## This library is not linked against libgcj. libgcj_bc_la_SOURCES = libgcj_bc.c libgcj_bc_la_LDFLAGS = -rpath $(toolexeclibdir) -no-static -version-info 1:0:0 \ - $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) -no-undefined -bindir $(bindir) + $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF) libgcj_bc_la_DEPENDENCIES = libgcj.la libgcj_bc_la_LINK = $(LIBLINK) $(libgcj_bc_la_LDFLAGS) ## This is specific to Linux/{Free,Net,Open}BSD/Hurd and perhaps few others. diff --git a/libjava/Makefile.in b/libjava/Makefile.in index 8c093738e347..ca822dc90337 100644 --- a/libjava/Makefile.in +++ b/libjava/Makefile.in @@ -727,6 +727,7 @@ LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@ LIBGCJ_LD_SYMBOLIC = @LIBGCJ_LD_SYMBOLIC@ LIBGCJ_LD_SYMBOLIC_FUNCTIONS = @LIBGCJ_LD_SYMBOLIC_FUNCTIONS@ LIBGCJ_SPEC = @LIBGCJ_SPEC@ +LIBGCJ_SUBLIB_LTFLAGS = @LIBGCJ_SUBLIB_LTFLAGS@ LIBICONV = @LIBICONV@ LIBLTDL = @LIBLTDL@ LIBOBJS = @LIBOBJS@ @@ -1046,8 +1047,8 @@ CORE_PACKAGE_SOURCE_FILES_LO = $(filter-out $(LOWER_PACKAGE_FILES_LO),$(ALL_PACK # and it cannot be usefully built shared on PE platforms. @BUILD_SUBLIBS_FALSE@libgcj_la_LIBADD_SUBOBJECTS = $(ALL_PACKAGE_SOURCE_FILES_LO) @BUILD_SUBLIBS_TRUE@libgcj_la_LIBADD_SUBOBJECTS = $(CORE_PACKAGE_SOURCE_FILES_LO) -@BUILD_SUBLIBS_FALSE@libgcj_la_LDFLAGS_NOUNDEF = -@BUILD_SUBLIBS_TRUE@libgcj_la_LDFLAGS_NOUNDEF = -no-undefined -bindir $(bindir) +@BUILD_SUBLIBS_FALSE@LIBJAVA_LDFLAGS_NOUNDEF = +@BUILD_SUBLIBS_TRUE@LIBJAVA_LDFLAGS_NOUNDEF = $(LIBGCJ_SUBLIB_LTFLAGS) dbexec_LTLIBRARIES = libjvm.la pkgconfigdir = $(libdir)/pkgconfig jardir = $(datadir)/java @@ -1127,7 +1128,7 @@ BOOTCLASSPATH = $(srcdir)/classpath/lib libgij_la_SOURCES = gij.cc libgij_la_DEPENDENCIES = libgcj.la libgcj.spec $(am__append_11) libgij_la_LIBADD = -L$(here)/.libs libgcj.la -libgij_la_LDFLAGS = -rpath $(toolexeclibdir) -no-undefined -bindir $(bindir) \ +libgij_la_LDFLAGS = -rpath $(toolexeclibdir) $(LIBJAVA_LDFLAGS_NOUNDEF) \ -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LIBGCJ_LD_SYMBOLIC) libgij_la_LINK = $(CXXLINK) $(libgij_la_LDFLAGS) @@ -1144,7 +1145,7 @@ xlib_nat_files = $(xlib_nat_source_files:.cc=.lo) # Include THREADLIBS here to ensure that the correct version of # certain linuxthread functions get linked: libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(extra_ldflags) $(THREADLIBS) \ - $(LIBLTDL) $(SYS_ZLIBS) $(libgcj_la_LDFLAGS_NOUNDEF) \ + $(LIBLTDL) $(SYS_ZLIBS) $(LIBJAVA_LDFLAGS_NOUNDEF) \ -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) @@ -1185,7 +1186,7 @@ libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch \ libgcj_tools_la_LDFLAGS = -rpath $(toolexeclibdir) \ -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ - $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) -no-undefined -bindir $(bindir) + $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF) libgcj_tools_la_LIBADD = libgcj.la -lm libgcj_tools_la_DEPENDENCIES = libgcj.la libgcj.spec $(am__append_22) @@ -1194,7 +1195,7 @@ libjvm_la_SOURCES = jni-libjvm.cc libjvm_la_DEPENDENCIES = libgcj.la libgcj.spec $(am__append_23) libjvm_la_LIBADD = -L$(here)/.libs libgcj.la libjvm_la_LDFLAGS = -avoid-version $(LIBGCJ_LD_SYMBOLIC) \ - -no-undefined -bindir $(bindir) + $(LIBJAVA_LDFLAGS_NOUNDEF) libjvm_la_LINK = $(CXXLINK) $(libjvm_la_LDFLAGS) lib_gnu_awt_xlib_la_SOURCES = $(xlib_nat_source_files) @@ -1209,13 +1210,13 @@ lib_gnu_awt_xlib_la_CPPFLAGS = \ lib_gnu_awt_xlib_la_LDFLAGS = ../libstdc++-v3/src/libstdc++.la \ @X_PRE_LIBS@ @X_LIBS@ -lX11 @X_EXTRA_LIBS@ \ - -rpath $(toolexeclibdir) -no-undefined -bindir $(bindir) \ + -rpath $(toolexeclibdir) $(LIBJAVA_LDFLAGS_NOUNDEF) \ -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LIBGCJ_LD_SYMBOLIC) lib_gnu_awt_xlib_la_LINK = $(LIBLINK) $(lib_gnu_awt_xlib_la_LDFLAGS) libgcj_bc_la_SOURCES = libgcj_bc.c libgcj_bc_la_LDFLAGS = -rpath $(toolexeclibdir) -no-static -version-info 1:0:0 \ - $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) -no-undefined -bindir $(bindir) + $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF) libgcj_bc_la_DEPENDENCIES = libgcj.la libgcj_bc_la_LINK = $(LIBLINK) $(libgcj_bc_la_LDFLAGS) diff --git a/libjava/configure b/libjava/configure index 5e92946deb92..95d21af1e5f4 100755 --- a/libjava/configure +++ b/libjava/configure @@ -919,6 +919,7 @@ BUILD_SUBLIBS_FALSE BUILD_SUBLIBS_TRUE LIBGCJ_LD_SYMBOLIC_FUNCTIONS LIBGCJ_LD_SYMBOLIC +LIBGCJ_SUBLIB_LTFLAGS LIBGCJ_JAVAFLAGS LIBGCJ_CXXFLAGS LIBGCJ_CFLAGS @@ -5939,11 +5940,14 @@ fi # libgcj_cflags - host specific C compiler flags # libgcj_cxxflags - host specific C++ compiler flags # libgcj_javaflags - host specific Java compiler flags +# libgcj_sublib_ltflags - host specific Libtool flags +# (only used when building sublibs) # and a number of others; see the list at the start of the file. libgcj_cflags= libgcj_cxxflags= libgcj_javaflags= +libgcj_sublib_ltflags= . ${srcdir}/configure.host @@ -5993,6 +5997,7 @@ fi LIBGCJ_CFLAGS="${libgcj_cflags}" LIBGCJ_CXXFLAGS="${libgcj_cxxflags}" LIBGCJ_JAVAFLAGS="${libgcj_javaflags}" +LIBGCJ_SUBLIB_LTFLAGS="${libgcj_sublib_ltflags}" LIBGCJ_LD_SYMBOLIC="${libgcj_ld_symbolic}" LIBGCJ_LD_SYMBOLIC_FUNCTIONS="${libgcj_ld_symbolic_functions}" @@ -6001,6 +6006,7 @@ LIBGCJ_LD_SYMBOLIC_FUNCTIONS="${libgcj_ld_symbolic_functions}" + # Only use libltdl for non-newlib builds. if test "x${with_newlib}" = "x" || test "x${with_newlib}" = "xno"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 @@ -7498,13 +7504,13 @@ if test "${lt_cv_nm_interface+set}" = set; then : else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:7501: $ac_compile\"" >&5) + (eval echo "\"\$as_me:7507: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:7504: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:7510: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:7507: output\"" >&5) + (eval echo "\"\$as_me:7513: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -8699,7 +8705,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 8702 "configure"' > conftest.$ac_ext + echo '#line 8708 "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -10633,11 +10639,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:10636: $lt_compile\"" >&5) + (eval echo "\"\$as_me:10642: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:10640: \$? = $ac_status" >&5 + echo "$as_me:10646: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -10972,11 +10978,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:10975: $lt_compile\"" >&5) + (eval echo "\"\$as_me:10981: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:10979: \$? = $ac_status" >&5 + echo "$as_me:10985: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -11077,11 +11083,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11080: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11086: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:11084: \$? = $ac_status" >&5 + echo "$as_me:11090: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -11132,11 +11138,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11135: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11141: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:11139: \$? = $ac_status" >&5 + echo "$as_me:11145: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -13541,7 +13547,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 13544 "configure" +#line 13550 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -13637,7 +13643,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 13640 "configure" +#line 13646 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -15599,11 +15605,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15602: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15608: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15606: \$? = $ac_status" >&5 + echo "$as_me:15612: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -15698,11 +15704,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15701: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15707: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:15705: \$? = $ac_status" >&5 + echo "$as_me:15711: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -15750,11 +15756,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15753: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15759: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:15757: \$? = $ac_status" >&5 + echo "$as_me:15763: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -17166,11 +17172,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17169: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17175: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:17173: \$? = $ac_status" >&5 + echo "$as_me:17179: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -17499,11 +17505,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17502: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17508: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:17506: \$? = $ac_status" >&5 + echo "$as_me:17512: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -17598,11 +17604,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17601: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17607: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:17605: \$? = $ac_status" >&5 + echo "$as_me:17611: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -17650,11 +17656,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17653: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17659: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:17657: \$? = $ac_status" >&5 + echo "$as_me:17663: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -19252,7 +19258,7 @@ if test "${enable_sjlj_exceptions+set}" = set; then : enableval=$enable_sjlj_exceptions; : else cat > conftest.$ac_ext << EOF -#line 19255 "configure" +#line 19261 "configure" struct S { ~S(); }; void bar(); void foo() diff --git a/libjava/configure.ac b/libjava/configure.ac index c2418dc2bbae..bfd33fd5154e 100644 --- a/libjava/configure.ac +++ b/libjava/configure.ac @@ -206,11 +206,14 @@ AC_EXEEXT # libgcj_cflags - host specific C compiler flags # libgcj_cxxflags - host specific C++ compiler flags # libgcj_javaflags - host specific Java compiler flags +# libgcj_sublib_ltflags - host specific Libtool flags +# (only used when building sublibs) # and a number of others; see the list at the start of the file. libgcj_cflags= libgcj_cxxflags= libgcj_javaflags= +libgcj_sublib_ltflags= . ${srcdir}/configure.host @@ -223,11 +226,13 @@ fi LIBGCJ_CFLAGS="${libgcj_cflags}" LIBGCJ_CXXFLAGS="${libgcj_cxxflags}" LIBGCJ_JAVAFLAGS="${libgcj_javaflags}" +LIBGCJ_SUBLIB_LTFLAGS="${libgcj_sublib_ltflags}" LIBGCJ_LD_SYMBOLIC="${libgcj_ld_symbolic}" LIBGCJ_LD_SYMBOLIC_FUNCTIONS="${libgcj_ld_symbolic_functions}" AC_SUBST(LIBGCJ_CFLAGS) AC_SUBST(LIBGCJ_CXXFLAGS) AC_SUBST(LIBGCJ_JAVAFLAGS) +AC_SUBST(LIBGCJ_SUBLIB_LTFLAGS) AC_SUBST(LIBGCJ_LD_SYMBOLIC) AC_SUBST(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) diff --git a/libjava/configure.host b/libjava/configure.host index 2955571b2764..a325bf1fb176 100644 --- a/libjava/configure.host +++ b/libjava/configure.host @@ -18,6 +18,7 @@ # libgcj_cflags Special CFLAGS to use when building # libgcj_cxxflags Special CXXFLAGS to use when building # libgcj_javaflags Special JAVAFLAGS to use when building +# libgcj_sublib_ltflags Special Libtool flags to use when building. # libgcj_interpreter If the bytecode interpreter supports this platform. # enable_java_net_default If java.net native code should be enabled by # default. @@ -41,6 +42,7 @@ libgcj_flags= libgcj_cflags= libgcj_cxxflags= libgcj_javaflags= +libgcj_sublib_ltflags= libgcj_interpreter= enable_java_net_default=yes enable_hash_synchronization_default=no @@ -347,6 +349,7 @@ case "${host}" in BACKTRACESPEC= # Win32 DLLs are limited to 64k exported symbols each. enable_libgcj_sublibs_default=yes + libgcj_sublib_ltflags='-no-undefined -bindir $(bindir)' ;; esac diff --git a/libjava/gcj/Makefile.in b/libjava/gcj/Makefile.in index 370499cbb65d..5752d72c9969 100644 --- a/libjava/gcj/Makefile.in +++ b/libjava/gcj/Makefile.in @@ -191,6 +191,7 @@ LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@ LIBGCJ_LD_SYMBOLIC = @LIBGCJ_LD_SYMBOLIC@ LIBGCJ_LD_SYMBOLIC_FUNCTIONS = @LIBGCJ_LD_SYMBOLIC_FUNCTIONS@ LIBGCJ_SPEC = @LIBGCJ_SPEC@ +LIBGCJ_SUBLIB_LTFLAGS = @LIBGCJ_SUBLIB_LTFLAGS@ LIBICONV = @LIBICONV@ LIBLTDL = @LIBLTDL@ LIBOBJS = @LIBOBJS@ diff --git a/libjava/include/Makefile.in b/libjava/include/Makefile.in index 7fd08b8b5cd5..3be44469915b 100644 --- a/libjava/include/Makefile.in +++ b/libjava/include/Makefile.in @@ -191,6 +191,7 @@ LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@ LIBGCJ_LD_SYMBOLIC = @LIBGCJ_LD_SYMBOLIC@ LIBGCJ_LD_SYMBOLIC_FUNCTIONS = @LIBGCJ_LD_SYMBOLIC_FUNCTIONS@ LIBGCJ_SPEC = @LIBGCJ_SPEC@ +LIBGCJ_SUBLIB_LTFLAGS = @LIBGCJ_SUBLIB_LTFLAGS@ LIBICONV = @LIBICONV@ LIBLTDL = @LIBLTDL@ LIBOBJS = @LIBOBJS@ diff --git a/libjava/testsuite/Makefile.in b/libjava/testsuite/Makefile.in index d96e38300caf..e229db5001c9 100644 --- a/libjava/testsuite/Makefile.in +++ b/libjava/testsuite/Makefile.in @@ -166,6 +166,7 @@ LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@ LIBGCJ_LD_SYMBOLIC = @LIBGCJ_LD_SYMBOLIC@ LIBGCJ_LD_SYMBOLIC_FUNCTIONS = @LIBGCJ_LD_SYMBOLIC_FUNCTIONS@ LIBGCJ_SPEC = @LIBGCJ_SPEC@ +LIBGCJ_SUBLIB_LTFLAGS = @LIBGCJ_SUBLIB_LTFLAGS@ LIBICONV = @LIBICONV@ LIBLTDL = @LIBLTDL@ LIBOBJS = @LIBOBJS@ -- 2.39.2