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