This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: make in libjava uses wrong specs to build libgcj...


David Daney wrote:

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
target/libjava/libgcj.spec.

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:

/newdisk/programs/mipsel-gccmaincvs/gcc/gcj
-B/newdisk/programs/mipsel-gccmaincvs/gcc/
-B/home/test35/mipsel-linux/bin/ -B/home/test35/mipsel-linux/lib/
-isystem /home/test35/mipsel-linux/include -isystem
/home/test35/mipsel-linux/sys-include --encoding=UTF-8 -Wno-deprecated
-fclasspath=
-fbootclasspath=/newdisk/programs/mipsel-gccmaincvs/mipsel-linux/libjava
-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
java/math/.libs/BigInteger.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.



This seems to be an automake problem:

/newdisk/programs/mipsel-gccmaincvs/gcc/gcj
-B/newdisk/programs/mipsel-gccmaincvs/gcc/
-B/home/test35/mipsel-linux/bin/ -B/home/test35/mipsel-linux/lib/

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.

Bryce





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]