automake
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]