This is the mail archive of the
mailing list for the GCC project.
Re: make in libjava uses wrong specs to build libgcj...
- From: Bryce McKinlay <mckinlay at redhat dot com>
- To: David Daney <ddaney at avtrex dot com>
- Cc: java at gcc dot gnu dot org, GCC Mailing List <gcc at gcc dot gnu dot org>
- Date: Fri, 03 Sep 2004 16:03:24 -0400
- Subject: Re: make in libjava uses wrong specs to build libgcj...
- References: <4137A4D7.email@example.com>
David Daney wrote:
This seems to be an automake problem:
I have an existing build of libgcj installed. Then I changed
libgcj.spec and rebuilt. In the rebuild libgcj gets built with the
libgcj.spec of the previous install instead of the modified version in
It took me a while to figure out why the new specs were not being used.
Doing a cut and paste from the make output and adding -v yields
something like this:
-isystem /home/test35/mipsel-linux/include -isystem
/home/test35/mipsel-linux/sys-include --encoding=UTF-8 -Wno-deprecated
-mxgot -g -O2 -MD -MT java/math/BigInteger.o -MF java/math/BigInteger.o
-c -MT java/math/BigInteger.o -MD -MP -MF java/math/.deps/BigInteger.Tpo
-c ../../../gccmaincvs/gcc/libjava/java/math/BigInteger.java -fPIC -v -o
Reading specs from /newdisk/programs/mipsel-gccmaincvs/gcc/specs
Reading specs from /home/test35/mipsel-linux/lib/libgcj.spec
rename spec lib to liborig
Where /newdisk/programs/mipsel-gccmaincvs is the build dir and
/home/test35 is the --prefix.
So as you can see, it is getting libgcj.spec from the previous install
rather than the current build.
The obvious workaround is to make install with the new specs file and
then do another clean build so that the libgcj build uses the proper specs.
FYI I guess, if someone gives guidance I may try to fix it.
The later two -B flags are incorrect, because they point to the installation directory when building libjava. The AM_PROG_GCJ macro is attaching these to $(GCJ). It should be instead passing the equivalent locations in the _build_ directory.