gcc/libjava/testsuite/Makefile.am
Jack Howarth 7b39ef1488 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
2010-05-03 22:37:50 +00:00

110 lines
4.0 KiB
Makefile

## Process this file with automake to produce Makefile.in.
AUTOMAKE_OPTIONS = foreign dejagnu
# May be used by various substitution variables.
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
# autoconf2.13's target_alias
target_noncanonical = @target_noncanonical@
# Setup the testing framework, if you have one
EXPECT = `if [ -f $(top_builddir)/../expect/expect ] ; then \
echo $(top_builddir)/../expect/expect ; \
else echo expect ; fi`
RUNTEST = "`if [ -f $(top_srcdir)/../dejagnu/runtest ] ; then \
echo $(top_srcdir)/../dejagnu/runtest ; \
else echo runtest; fi` $(AM_RUNTESTFLAGS)"
## Tell dejagnu whether the interpreter is enabled.
AM_RUNTESTFLAGS = INTERPRETER=$(INTERPRETER)
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:
if JAVA_MAINTAINER_MODE
for test in `cd $(srcdir) > /dev/null; \
find libjava.cni libjava.jni libjava.jvmti libjava.lang \
libjava.loader libjava.verify -name \*.java`; do \
testjar=$(srcdir)/`echo $$test | sed -e 's/\.java$$/\.jar/'`; \
testdep=; \
genheader=; \
case "$$test" in \
libjava.loader/dummy.java) \
testjar=$(srcdir)/libjava.loader/dummy.class;; \
libjava.loader/MyLoader.java) \
continue;; \
libjava.loader/*.java) \
testdep="libjava.loader/MyLoader.java";; \
libjava.jni/register2.java) \
;; \
libjava.jni/*.java|libjava.jvmti/interp/*.java) \
genheader=-jni;; \
libjava.jvmti/*.java|libjava.cni/*.java) \
genheader=-cni;; \
esac; \
if test -f $$testjar; then \
if ! test $(srcdir)/$$test -nt $$testjar; then \
test -z "$$testdep" && continue; \
test $(srcdir)/$$testdep -nt $$testjar || continue; \
fi; \
fi; \
echo Compiling $$test; \
testtmpdir=`echo $$test | sed -e 's,/,_,g'`T; \
rm -rf $$testtmpdir; $(mkdir_p) $$testtmpdir; \
if test -n "$$testdep"; then \
$(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
$(top_builddir)/libgcj-$(gcc_version).jar::$$testtmpdir \
-d $$testtmpdir $(srcdir)/$$testdep || exit; \
fi; \
$(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
$(top_builddir)/libgcj-$(gcc_version).jar:$$testtmpdir \
-d $$testtmpdir $(srcdir)/$$test || exit; \
case "$$test" in \
libjava.loader/dummy.java) \
cp $$testtmpdir/dummy.class $$testjar;; \
*) \
$(JAR) cf $$testjar \
`ls $$testtmpdir/*.class \
| sed -e 's,^,-C ,;s,/\([^/]*\.class\)$$, \1,'` || exit ;; \
esac; \
if test -n "$$genheader"; then \
$(MYGCJH) $$genheader $$testtmpdir/*.class \
-bootclasspath $(top_builddir)/libgcj-$(gcc_version).jar \
-d $$testtmpdir/ || exit; \
mv $$testtmpdir/*.h $(srcdir)/`dirname $$test`/ 2>/dev/null; \
fi; \
rm -rf $$testtmpdir; \
done
endif