[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Conditionally compiling Java
From: |
Alexandre Duret-Lutz |
Subject: |
Re: Conditionally compiling Java |
Date: |
Tue, 11 Jun 2002 19:08:53 +0200 |
User-agent: |
Gnus/5.090006 (Oort Gnus v0.06) Emacs/21.2 (i386-debian-linux-gnu) |
>>> "Braden" == Braden McDaniel <address@hidden> writes:
[...]
Braden> if WITH_JDK
Braden> noinst_JAVA = MyClass1.java MyClass2.java
Braden> endif
Braden> Works if WITH_JDK is true; but if WITH_JDK is false,
Braden> javac still gets called, but with no source file
Braden> arguments.
Could you try this patch?
Index: ChangeLog
--- ChangeLog
+++ ChangeLog
@@ -1,1 +1,9 @@
+2002-06-11 Alexandre Duret-Lutz <address@hidden>
+
+ * 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.
+
Index: lib/am/java.am
===================================================================
RCS file: /cvs/automake/automake/lib/am/java.am,v
retrieving revision 1.15
diff -u -r1.15 java.am
--- lib/am/java.am 30 May 2001 02:02:50 -0000 1.15
+++ lib/am/java.am 11 Jun 2002 17:02:40 -0000
@@ -27,8 +27,11 @@
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
Index: tests/Makefile.am
===================================================================
RCS file: /cvs/automake/automake/tests/Makefile.am,v
retrieving revision 1.385.2.13
diff -u -r1.385.2.13 Makefile.am
--- tests/Makefile.am 8 Jun 2002 16:56:56 -0000 1.385.2.13
+++ tests/Makefile.am 11 Jun 2002 17:02:40 -0000
@@ -183,6 +183,7 @@
interp.test \
interp2.test \
java.test \
+java2.test \
javaprim.test \
javasubst.test \
ldadd.test \
Index: tests/java2.test
===================================================================
RCS file: tests/java2.test
diff -N tests/java2.test
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tests/java2.test 11 Jun 2002 17:02:40 -0000
@@ -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
--
Alexandre Duret-Lutz