From 560b82ef8cc3b895b0d1addb3b8132268e330bba Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sun, 13 May 2001 01:55:40 +0000 Subject: [PATCH] Fixes PR automake/169. * m4/depend.m4 (AM_DEPENDENCIES): Handle GCJ. Don't assume gcc style for OBJC. * automake.in (java): Added autodep entry. * tests/Makefile.am (TESTS): Added gcj3.test. * tests/gcj3.test: New file. --- ChangeLog | 9 +++++++++ automake.in | 3 +-- m4/depend.m4 | 13 +++++++++++-- tests/Makefile.am | 1 + tests/Makefile.in | 1 + tests/gcj3.test | 21 +++++++++++++++++++++ 6 files changed, 44 insertions(+), 4 deletions(-) create mode 100755 tests/gcj3.test diff --git a/ChangeLog b/ChangeLog index e92c195f..f6d9f31f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2001-05-12 Tom Tromey + + Fixes PR automake/169. + * m4/depend.m4 (AM_DEPENDENCIES): Handle GCJ. Don't assume gcc + style for OBJC. + * automake.in (java): Added autodep entry. + * tests/Makefile.am (TESTS): Added gcj3.test. + * tests/gcj3.test: New file. + 2001-05-12 Raja R Harinath * automake.in (ASSIGNMENT_PATTERN): Make variable-name pattern diff --git a/automake.in b/automake.in index 8f3062df..a286507a 100755 --- a/automake.in +++ b/automake.in @@ -959,13 +959,12 @@ register_language ('name' => 'ratfor', '_finish' => \&lang_ratfor_finish); # Java via gcj. -# FIXME: for now we can't do dependency tracking for Java. -# autodep=GCJ register_language ('name' => 'java', 'Name' => 'Java', 'config_vars' => ['GCJ'], 'linker' => 'GCJLINK', 'link' => '$(GCJLD) $(AM_GCJFLAGS) $(GCJFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@', + 'autodep' => 'GCJ', 'flags' => 'GCJFLAGS', 'compile' => '$(GCJ) $(AM_GCJFLAGS) $(GCJFLAGS)', 'compiler' => 'GCJCOMPILE', diff --git a/m4/depend.m4 b/m4/depend.m4 index cb73080a..1911b324 100644 --- a/m4/depend.m4 +++ b/m4/depend.m4 @@ -14,6 +14,7 @@ AC_DEFUN([AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +am_compiler_list= ifelse([$1], CC, [AC_REQUIRE([AC_PROG_][CC])dnl AC_REQUIRE([AC_PROG_][CPP]) @@ -23,7 +24,12 @@ depcpp="$CPP"], AC_REQUIRE([AC_PROG_][CXXCPP]) depcc="$CXX" depcpp="$CXXCPP"], - [$1], OBJC, [am_cv_OBJC_dependencies_compiler_type=gcc], + [$1], OBJC, [am_compiler_list='gcc gcc3' +depcc="$OBJC" +depcpp=""], + [$1], GCJ, [am_compiler_list='gcc gcc3' +depcc="$GCJ" +depcpp=""], [AC_REQUIRE([AC_PROG_][$1])dnl depcc="$$1" depcpp=""]) @@ -45,7 +51,10 @@ AC_CACHE_CHECK([dependency style of $depcc], cd confdir am_cv_$1_dependencies_compiler_type=none - for depmode in `sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < "./depcomp"`; do + if test "$am_compiler_list" = ""; then + am_compiler_list="`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`" + fi + for depmode in $am_compiler_list; do # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. diff --git a/tests/Makefile.am b/tests/Makefile.am index 51ac2d35..314a2c91 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -123,6 +123,7 @@ fpinst2.test \ fpinstall.test \ gcj.test \ gcj2.test \ +gcj3.test \ gnits.test \ header.test \ implicit.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 9bda144c..93ad14a3 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -195,6 +195,7 @@ fpinst2.test \ fpinstall.test \ gcj.test \ gcj2.test \ +gcj3.test \ gnits.test \ header.test \ implicit.test \ diff --git a/tests/gcj3.test b/tests/gcj3.test new file mode 100755 index 00000000..706918d1 --- /dev/null +++ b/tests/gcj3.test @@ -0,0 +1,21 @@ +#! /bin/sh + +# Make sure dependency tracking works for java. + +. $srcdir/defs || exit 1 + +cat >> configure.in << 'END' +AM_DEPENDENCIES(GCJ) +AC_SUBST(GCJ) +END + +cat > Makefile.am << 'END' +bin_PROGRAMS = convert +convert_SOURCES = x/y/convert.java +END + +$ACLOCAL || exit 1 +$AUTOMAKE || exit 1 + +num=`grep depcomp Makefile.in | wc -l` +test $num -gt 1 -- 2.43.5