summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Duret-Lutz <adl@gnu.org>2002-06-12 07:52:35 +0000
committerAlexandre Duret-Lutz <adl@gnu.org>2002-06-12 07:52:35 +0000
commit83e6b7207ba0359502fe6c6473516cf54babc864 (patch)
treea0125f049f7e904d071fda74f494a173726ba231
parentd9a285184d6526ac094f739da507bf57bce80010 (diff)
downloadautomake-83e6b7207ba0359502fe6c6473516cf54babc864.tar.gz
* lib/am/java.am (class%DIR%.stamp): Don't run $(JAVAC) when there
is no file to compile. * tests/java2.test: New file. * tests/Makefile.am (TESTS): Add java2.test. Reported by Braden N. McDaniel.
-rw-r--r--ChangeLog8
-rw-r--r--lib/am/java.am7
-rw-r--r--tests/Makefile.am1
-rwxr-xr-xtests/java2.test35
4 files changed, 49 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 2daa260d1..03028f1a7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2002-06-11 Alexandre Duret-Lutz <duret_g@epita.fr>
+ * lib/am/java.am (class%DIR%.stamp): Don't run $(JAVAC) when there
+ is no file to compile.
+ * tests/java2.test: New file.
+ * tests/Makefile.am (TESTS): Add java2.test.
+ Reported by Braden N. McDaniel.
+
+2002-06-11 Alexandre Duret-Lutz <duret_g@epita.fr>
+
* tests/maintclean.test: Don't check for autom4te.cache if
it's not created by Autoconf.
Reported by Bernd Jendrissek.
diff --git a/lib/am/java.am b/lib/am/java.am
index c44a4b898..9fb5c7270 100644
--- a/lib/am/java.am
+++ b/lib/am/java.am
@@ -27,8 +27,11 @@ CLASSPATH_ENV = CLASSPATH=$(JAVAROOT):$(srcdir)/$(JAVAROOT):$$CLASSPATH
JAVAROOT = $(top_builddir)
class%DIR%.stamp: $(%DIR%_JAVA)
- $(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) \
- $(AM_JAVACFLAGS) $(JAVACFLAGS) $?
+ @if test -n "$?"; then \
+ echo '$(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) $(AM_JAVACFLAGS) $(JAVACFLAGS) $?' ; \
+ $(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) \
+ $(AM_JAVACFLAGS) $(JAVACFLAGS) $?; \
+ else :; fi
echo timestamp > class%DIR%.stamp
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 187953d3a..f85ed3bf3 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -186,6 +186,7 @@ instman2.test \
interp.test \
interp2.test \
java.test \
+java2.test \
javaprim.test \
javasubst.test \
ldadd.test \
diff --git a/tests/java2.test b/tests/java2.test
new file mode 100755
index 000000000..86d014590
--- /dev/null
+++ b/tests/java2.test
@@ -0,0 +1,35 @@
+#! /bin/sh
+
+# Make sure that Java rules doesn't attempt to run javac when there is
+# no classes to compile.
+# Report from Braden McDaniel.
+
+. $srcdir/defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AM_CONDITIONAL(WITH_JDK, false)
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+JAVAC = false
+JAVAROOT = $(top_builddir)/java
+
+JAVA_FILES = MyClass1.java
+
+if WITH_JDK
+noinst_JAVA = $(JAVA_FILES)
+endif
+
+EXTRA_DIST = $(JAVA_FILES)
+END
+
+: >MyClass1.java
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE