libjava: fix rebuild failure due to FFLAGS setting

Ralf Wildenhues Ralf.Wildenhues@gmx.de
Mon Dec 14 20:58:00 GMT 2009


Since libjava/libltdl is still using old Libtool, it falls prey of the
old bug that tests for C++ and Fortran are run even if the package in
question (here: libltdl) does not use these languages at all.  This
causes one interesting rebuild failure in the GCC tree: in an up to date
tree,
  touch $srcdir/libjava/libltdl/configure

(which can implicitly happen through ./contrib/gcc_update), causes a
failure like this (sorry for the long line):

Making all in libltdl
make[5]: Entering directory `/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libjava/libltdl'
/bin/sh ./config.status --recheck
running CONFIG_SHELL=/bin/sh /bin/sh ../../../../../gcc/libjava/libltdl/configure --disable-option-checking --prefix=/tmp/gcc-inst --with-multisubdir=32 --with-multisrctop= --enable-multilib --enable-maintainer-mode --with-boot-ldflags=-Wl,--as-needed --with-stage1-ldflags=-Wl,--as-needed --with-libelf=/tmp/gcc-inst --enable-lto --without-cloog --without-ppl --with-mpc=/tmp/gcc-inst --enable-languages=c,c++,fortran,java,lto,objc,obj-c++ --program-transform-name=s,y,y, --with-target-subdir=x86_64-unknown-linux-gnu --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=x86_64-unknown-linux-gnu build_alias=x86_64-unknown-linux-gnu host_alias=x86_64-unknown-linux-gnu target_alias=x86_64-unknown-linux-gnu CC=/tmp/gcc/build/./gcc/xgcc -B/tmp/gcc/build/./gcc/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/bin/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/lib/ -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/include -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/sys-include  CFLAGS=-g -O2 LDFLAGS= CPPFLAGS= CXX= /tmp/gcc/build/./gcc/xgcc -shared-libgcc -B/tmp/gcc/build/./gcc -nostdinc++ -L/tmp/gcc/build/x86_64-unknown-linux-gnu/libstdc++-v3/src -L/tmp/gcc/build/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/bin/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/lib/ -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/include -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/sys-include  CXXFLAGS=-g -O2 -D_GNU_SOURCE --enable-ltdl-convenience --with-vm-classes=/tmp/gcc/gcc/libjava:/tmp/gcc/build/x86_64-unknown-linux-gnu/libjava CC=/tmp/gcc/build/./gcc/xgcc -B/tmp/gcc/build/./gcc/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/bin/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/lib/ -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/include -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/sys-include  -m32 CXX=/tmp/gcc/build/./gcc/xgcc -shared-libgcc -B/tmp/gcc/build/./gcc -nostdinc++ -L/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libstdc++-v3/src -L/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libstdc++-v3/src/.libs -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/bin/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/lib/ -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/include -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/sys-include  -m32 F77= -m32 GCJ=/tmp/gcc/build/./gcc/gcj -B/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libjava/ -B/tmp/gcc/build/./gcc/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/bin/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/lib/ -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/include -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/sys-include  -m32 GFORTRAN=/tmp/gcc/build/./gcc/gfortran -B/tmp/gcc/build/./gcc/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/bin/ -B/tmp/gcc-inst/x86_64-unknown-linux-gnu/lib/ -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/include -isystem /tmp/gcc-inst/x86_64-unknown-linux-gnu/sys-include  -m32 LD_LIBRARY_PATH=/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libstdc++-v3/.libs:/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libmudflap/.libs:/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libssp/.libs:/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libgomp/.libs:/tmp/gcc/build/./gcc:/tmp/gcc/build/./prev-gcc:/tmp/gcc-inst/lib:/tmp/gcc-inst/lib64 --disable-tool-wrappers --disable-load-library --disable-debug --enable-default-toolkit= --with-vm-classes=/tmp/gcc/gcc/libjava:/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libjava --disable-core-jni --disable-examples --with-glibj=build --disable-gconf-peer --enable-default-preferences-peer=gnu.java.util.prefs.FileBasedFactory --disable-gtk-peer --disable-plugin --disable-qt-peer --without-escher --disable-gjdoc --disable-regen-headers --disable-Werror --with-auxdir=/tmp/gcc/gcc --cache-file=../config.cache --srcdir=../../../../../gcc/libjava/libltdl --no-create --no-recursion
configure: loading cache ../config.cache
configure: error: `FFLAGS' was not set in the previous run
configure: error: in `/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libjava/libltdl':
configure: error: changes in the environment can compromise the build
configure: error: run `make distclean' and/or `rm ../config.cache' and start over
make[5]: *** [config.status] Error 1
make[5]: Leaving directory `/tmp/gcc/build/x86_64-unknown-linux-gnu/32/libjava/libltdl'


The workaround for 1.5.x
<http://thread.gmane.org/gmane.comp.gnu.libtool.general/6579>
works here as well, both cutting down on libltdl/configure run time and
size as well as avoiding this bug.

Another workaround would be to declare FFLAGS as precious in
libjava/configure.ac, but what's the point, as nothing below libjava
uses this variable.

OK for trunk?  Bootstrapped i686-pc-linux-gnu without regressions.

(While this patch isn't in upstream Libtool branch-1-5, if you care
about it I can propose it upstream; the master branch has other code
with a similar effect.)

With this and the other recent patch in, I am not aware of any further
rebuilding glitches.

Thanks,
Ralf

Disable libtool support for languages unused in libjava/libltdl

libjava/libltdl/ChangeLog:
2009-12-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure.ac: Disable libtool support for unused languages,
	to avoid precious FFLAGS recheck cache consistency failure.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

diff --git a/libjava/libltdl/configure.ac b/libjava/libltdl/configure.ac
index 7e26e20..8631bd1 100644
--- a/libjava/libltdl/configure.ac
+++ b/libjava/libltdl/configure.ac
@@ -19,6 +19,10 @@
 
 AC_PREREQ(2.64)
 
+dnl Disable libtool 1.5 support for languages we don't use
+define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
+define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
+define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])dnl
 
 ## ------------------------ ##
 ## Autoconf initialisation. ##



More information about the Gcc-patches mailing list