On Tue, 2002-06-11 at 04:04, Alexandre Duret-Lutz wrote: > >>> "Braden" == Braden McDaniel <[EMAIL PROTECTED]> writes: > > Braden> I'm trying to conditionally compile some Java sources > Braden> (with javac) using an Automake conditional: > > Braden> JAVAROOT = $(top_builddir)/java > > Braden> JAVA_FILES = MyClass1.java MyClass2.java > > Braden> if WITH_JDK > Braden> noinst_JAVA = $(JAVA_FILES) > Braden> endif > > Braden> EXTRA_DIST = $(JAVA_FILES) > > Braden> I am having trouble when the condition is false. If > Braden> JAVAROOT is defined outside the conditional (as above), > Braden> I get this error: > > Braden> >CLASSPATH=../../../java:../../../../java/vrml/field/../../../java:$CLASSPATH -d >../../../java \ > Braden> /bin/sh: -d: command not found > > I can't reproduce this. Have you overridden $(JAVAC) somewhere?
Er, yes. I have this in configure.ac: AC_PATH_PROG(JAVAC, javac) > Here is the test case I've used: > > #! /bin/sh > > # Make sure conditional Java works. > # Report from Braden McDaniel. > > required=gcj > . $srcdir/defs || exit 1 Sorry I wasn't clear; I'm trying to use javac from the Sun JDK, not gcj. I tried changing to AC_PATH_PROG(JDK_JAVAC, javac) I never use $(JDK_JAVAC) other than to test that the variable is non-empty. And this in my Makefile.am: JAVAROOT = $(top_builddir)/java if WITH_JDK noinst_JAVA = MyClass1.java MyClass2.java endif Works if WITH_JDK is true; but if WITH_JDK is false, javac still gets called, but with no source file arguments. I don't want this to happen since someone may have configured --without-jdk because they don't have it on their system. -- Braden McDaniel e-mail: <[EMAIL PROTECTED]> <http://endoframe.com> Jabber: <[EMAIL PROTECTED]>