Patch: update libgcj configury, try 2

Tom Tromey tromey@redhat.com
Mon Dec 15 22:28:00 GMT 2003


>>>>> "Tom" == Thomas Fitzsimmons <fitzsim@redhat.com> writes:

Tom> Note: do NOT run autoheader.  I haven't updated configure.in to include
Tom> an AC_DEFINE for each of the #defines in include/config.h.in.  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 Makefile.in 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.


+	 AM_CONDITIONAL(SUPPLY_BACKTRACE, true)

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=no
    ...  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
appropriate.

Tom



More information about the Java-patches mailing list