automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Java support in automake


From: Leif Morgan Johnson
Subject: Java support in automake
Date: Tue, 12 Nov 2002 11:19:29 +0100
User-agent: Mutt/1.4i

Greetings -

I've been working for the past couple weeks on trying to
integrate a project written in Java, Python, and Jython with
automake. The Python and Jython parts actually work fairly
well, since I just call distutils from "install-data-local:"
rules to handle building and installation for those parts.

The Java part has been difficult, but not impossible, thanks
to the docs, mailing lists, and java.apache.org. Now,
though, I am starting to run into some apparently nasty
issues, so I wanted to find out a little more about this
territory.

First, what is the state of Java support in automake ? On my
machine (an IBM laptop ; I use the Debian automake-1.7
package), java_JAVA does not include Java source files in
the distribution, which breaks "make distcheck" (I use a
Java source file for AC_CONFIG_SRCDIR ... but clearly the
source files are needed for byte-compilation as well). This
doesn't seem like desirable behavior, but I am not sure how
well Java is supposed to be supported. Should I file a bug
for this ?

Second, I worked around the first problem by including
"EXTRA_DIST = $(java_JAVA)" in my Makefile.am's. But then
"make distcheck" breaks because it tries to install the
class files, which I try to prevent by explicitly moving
them elsewhere in my "all-local:" rule. (This is also
because the Sun JDK javac is dumb and does not automatically
create directories specified in -d, so I need do it
manually. Yuck. But that's a different story.)

Regardless of where the class files end up being built, I do
not want them to be installed ; instead, I want just one jar
file installed, so I put some rules for a jar file in my
top-level "install-data-local:" target. Is there any way I
can specify that the Java class files should not be
installed ? I tried using noinst_java_JAVA,
noinst_data_JAVA, etc., to list the Java sources, but
automake complains that the respective dirs are not defined.
My current workaround for this involves listing the Java
sources as noinst_DATA, and then manually byte-compiling
them in "all-local:". Yuck. Again, I suspect this might be a
lack of support for Java, but if not I will file a bug
report for you.

Any help, advice, suggestions, etc. are much appreciated. I
am even willing to try to hack on automake to help add Java
support, though my knowledge of Perl is minimal. Anyway,
thanks !

leif

--
(( Leif Morgan Johnson . http://ambient.2y.net/leif/ )
 ( IAESTE trainee      . http://www.iaeste.org/      )
 ( Salomon Automation  . http://www.salomon.at/      ))




reply via email to

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