Patch: update libgcj configury, try 2

Tom Tromey
Mon Dec 15 22:28:00 GMT 2003

>>>>> "Tom" == Thomas Fitzsimmons <> writes:

Tom> Note: do NOT run autoheader.  I haven't updated to include
Tom> an AC_DEFINE for each of the #defines in include/  That will
Tom> come as a separate patch.

We should do this as a single patch.  It's better to keep the tree in
a state where we can use a consistent set of tools to update it in the
normal way.

I think we need to resolve the size before we can check
this in.  See the other message for info about per-target flags.
These have an overhead in terms of Makefile size.  We should probably
try eliminating them to see if that helps.


It isn't really intended that you be able to define a conditional
twice.  It's better to introduce a new sh variable and then test it a
single time:

    ...  supply_backtrace=yes
    AM_CONDITIONAL(SUPPLY_BACKTRACE, test "$supply_backtrace" = yes)

+libgcj_la_CXXFLAGS = -I $(top_builddir)  -fno-rtti -fnon-call-exceptions $(THREADCXXFLAGS) -fdollars-in-identifiers -Wswitch-enum @LIBGCJ_CXXFLAGS@ @X_CFLAGS@ $(WARNINGS) -D_GNU_SOURCE -DPREFIX="\"$(prefix)\"" -DLIBDIR="\"$(libdir)\"" -DLT_NON_POSIX_NAMESPACE -DGCJVERSION="\"$(GCJVERSION)\"" -DBOOT_CLASS_PATH="\"$(jardir)/$(jar_DATA)\""

It's better to wrap these long lines with \ at the end of each line.
Some versions of sed have line length limits (this is probably ok,
but it is also a stylistic point)

+## FIXME: either libtool or automake puts DEPENDENCIES and OBJECTS in
+## the wrong order.  DEPENDENCIES need to come before OBJECTS so that
+## JNI headers are built before JNI C files.

Relying on ordering of dependencies like this means that the Makefile
has a possibility of failing when run with "make -j".  Instead we have
to add explicit dependencies to tell make to serialize the build where


More information about the Java-patches mailing list