From: Jack Howarth Date: Mon, 3 May 2010 22:37:50 +0000 (+0000) Subject: re PR java/43839 (libjava incorrectly uses -liconv in testsuite, jni.exp when using... X-Git-Tag: releases/gcc-4.6.0~7517 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7b39ef14886d54effef697279d8f30788f5d4c02;p=thirdparty%2Fgcc.git re PR java/43839 (libjava incorrectly uses -liconv in testsuite, jni.exp when using --with-libiconv-prefix) PR 43839 * testsuite/Makefile.am: Override automake for site.exp creation and add entry to set libiconv. * testsuite/Makefile.in: Regenerate. * testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation): Add new global variable libiconv to handle alternative libiconv locations. From-SVN: r159009 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index c986d1092c70..b1fe9cdeef28 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,13 @@ +2010-05-03 Jack Howarth + + PR 43839 + * testsuite/Makefile.am: Override automake for site.exp creation + and add entry to set libiconv. + * testsuite/Makefile.in: Regenerate. + * testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation): + Add new global variable libiconv to handle alternative libiconv + locations. + 2010-04-19 Andrew Haley PR libgcj/40860 diff --git a/libjava/testsuite/Makefile.am b/libjava/testsuite/Makefile.am index fe42040d364d..2aebd7c99384 100644 --- a/libjava/testsuite/Makefile.am +++ b/libjava/testsuite/Makefile.am @@ -24,6 +24,31 @@ MYGCJH = gjavah .PHONY: compile-tests +# We need more things in site.exp, but automake completely controls the +# creation of that file; there's no way to append to it without messing up +# the dependency chains. So we overrule automake. This rule is exactly +# what it would have generated, plus our own additions. +site.exp: Makefile + @echo 'Making a new site.exp file...' + @echo '## these variables are automatically generated by make ##' >site.tmp + @echo '# Do not edit here. If you wish to override these values' >>site.tmp + @echo '# edit the last section' >>site.tmp + @echo 'set srcdir $(srcdir)' >>site.tmp + @echo "set objdir `pwd`" >>site.tmp + @echo 'set build_alias "$(build_alias)"' >>site.tmp + @echo 'set build_triplet $(build_triplet)' >>site.tmp + @echo 'set host_alias "$(host_alias)"' >>site.tmp + @echo 'set host_triplet $(host_triplet)' >>site.tmp + @echo 'set target_alias "$(target_alias)"' >>site.tmp + @echo 'set target_triplet $(target_triplet)' >>site.tmp + @echo 'set libiconv "$(LIBICONV)"' >>site.tmp + @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp + @test ! -f site.exp || \ + sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp + @-rm -f site.bak + @test ! -f site.exp || mv site.exp site.bak + @mv site.tmp site.exp + check-am: compile-tests compile-tests: diff --git a/libjava/testsuite/Makefile.in b/libjava/testsuite/Makefile.in index fc1db70566de..a582efdd72cf 100644 --- a/libjava/testsuite/Makefile.in +++ b/libjava/testsuite/Makefile.in @@ -388,25 +388,6 @@ check-DEJAGNU: site.exp else echo "WARNING: could not find \`runtest'" 1>&2; :;\ fi; \ exit $$exit_status -site.exp: Makefile - @echo 'Making a new site.exp file...' - @echo '## these variables are automatically generated by make ##' >site.tmp - @echo '# Do not edit here. If you wish to override these values' >>site.tmp - @echo '# edit the last section' >>site.tmp - @echo 'set srcdir $(srcdir)' >>site.tmp - @echo "set objdir `pwd`" >>site.tmp - @echo 'set build_alias "$(build_alias)"' >>site.tmp - @echo 'set build_triplet $(build_triplet)' >>site.tmp - @echo 'set host_alias "$(host_alias)"' >>site.tmp - @echo 'set host_triplet $(host_triplet)' >>site.tmp - @echo 'set target_alias "$(target_alias)"' >>site.tmp - @echo 'set target_triplet $(target_triplet)' >>site.tmp - @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp - @test ! -f site.exp || \ - sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp - @-rm -f site.bak - @test ! -f site.exp || mv site.exp site.bak - @mv site.tmp site.exp distclean-DEJAGNU: -rm -f site.exp site.bak @@ -557,6 +538,31 @@ uninstall-am: .PHONY: compile-tests +# We need more things in site.exp, but automake completely controls the +# creation of that file; there's no way to append to it without messing up +# the dependency chains. So we overrule automake. This rule is exactly +# what it would have generated, plus our own additions. +site.exp: Makefile + @echo 'Making a new site.exp file...' + @echo '## these variables are automatically generated by make ##' >site.tmp + @echo '# Do not edit here. If you wish to override these values' >>site.tmp + @echo '# edit the last section' >>site.tmp + @echo 'set srcdir $(srcdir)' >>site.tmp + @echo "set objdir `pwd`" >>site.tmp + @echo 'set build_alias "$(build_alias)"' >>site.tmp + @echo 'set build_triplet $(build_triplet)' >>site.tmp + @echo 'set host_alias "$(host_alias)"' >>site.tmp + @echo 'set host_triplet $(host_triplet)' >>site.tmp + @echo 'set target_alias "$(target_alias)"' >>site.tmp + @echo 'set target_triplet $(target_triplet)' >>site.tmp + @echo 'set libiconv "$(LIBICONV)"' >>site.tmp + @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp + @test ! -f site.exp || \ + sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp + @-rm -f site.bak + @test ! -f site.exp || mv site.exp site.bak + @mv site.tmp site.exp + check-am: compile-tests compile-tests: diff --git a/libjava/testsuite/libjava.jni/jni.exp b/libjava/testsuite/libjava.jni/jni.exp index 68dbd279033d..dbeced481a82 100644 --- a/libjava/testsuite/libjava.jni/jni.exp +++ b/libjava/testsuite/libjava.jni/jni.exp @@ -251,7 +251,11 @@ proc gcj_jni_invocation_compile_c_to_binary {file {options {}}} { } proc gcj_jni_get_cxxflags_invocation {} { + global libiconv global LIBJAVA + if {$libiconv == ""} { + set libiconv "-liconv" + } if [info exists LIBJAVA] { set libjava $LIBJAVA; } else { @@ -267,7 +271,7 @@ proc gcj_jni_get_cxxflags_invocation {} { # to just make the linker find libgcc using -L options. # Similar logic applies to libgcj. if { [istarget "*-*-darwin*"] } { - lappend cxxflags -shared-libgcc -lgcj -liconv + eval lappend cxxflags "-shared-libgcc -lgcj $libiconv" } if { [istarget "*-*-solaris*"] } {