This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: egcs-19981012: libf2c installation problem
- To: Dave Love <d dot love at dl dot ac dot uk>
- Subject: Re: egcs-19981012: libf2c installation problem
- From: Andreas Jaeger <aj at arthur dot rhein-neckar dot de>
- Date: 23 Oct 1998 07:45:52 +0200
- Cc: "Billinghurst, David (RTD)" <David dot Billinghurst at riotinto dot com dot au>, "'egcs at cygnus dot com'" <egcs at cygnus dot com>
- References: <996602523238D2118E000000F802ED3123D37B@ATMMAIL.atmdns> <rzqww5v9qlu.fsf@djlvig.dl.ac.uk>
>>>>> Dave Love writes:
>>>>> "DB" == Billinghurst, David (RTD) <David.Billinghurst@riotinto.com.au> writes:
DB> I am pretty sure the problem is the interaction between
DB> g2c.h and Makefile in $builddir/mips-sgi-irix6.2/libf2c
Dave> Yes.
DB> g2c.h depends on Makefile, among other things.
DB> g2c is (re)generated by ./config.status, which then (seems to) regenerate
DB> Makefile too ;-(
DB> Certainly the timestamp on Makefile is consistently 1 second after g2c.h
Dave> It occurs to me that your sources may predate this:
Dave> 1998-10-12 Dave Love <d.love@dl.ac.uk>
Dave> * configure.in: Reorder Makefile, g2c.h in AC_OUTPUT.
Dave> libf2c/configure.in should now contain this so that Makefile is made
Dave> first:
Dave> # Do Makefile first since g2c.h depends on it and shouldn't get an
Dave> # earlier timestamp.
Dave> AC_OUTPUT(Makefile g2c.h:g2c.hin,
Dave> [test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
Dave> ...
Dave> Is that the problem or is it elsewhere?
That's part of the problem. If you type make, g2c.h is regenerated -
and a lot of files seem to depend on it so that all of libf2c is remade:
aj@arthur: 07:40:37 /mnt/cc/egcs/build-mainstream/i486-pc-linux-gnu/libf2c
$ make
/bin/sh config.status
creating Makefile
creating g2c.h
Adding multilib support to Makefile in ../../../egcs-cvs/libf2c
multidirs=
with_multisubdir=
cd libI77; make CC='/mnt/cc/egcs/build-mainstream/gcc/xgcc -B/mnt/cc/egcs/build-mainstream/gcc/ -B/opt/egcs-1.2/i486-pc-linux-gnu/bin/' CFLAGS='-g -O2' CPPFLAGS='' AR='ar' RANLIB='ranlib' PICFLAG='' RUNTESTFLAGS='' all
make[1]: Entering directory `/mnt/cc/egcs/build-mainstream/i486-pc-linux-gnu/libf2c/libI77'
/mnt/cc/egcs/build-mainstream/gcc/xgcc -B/mnt/cc/egcs/build-mainstream/gcc/ -B/opt/egcs-1.2/i486-pc-linux-gnu/bin/ -c -I. -I../../../../egcs-cvs/libf2c/libI77 -I.. -I../../../../egcs-cvs/libf2c/libI77/.. -DSTDC_HEADERS=1 -D_POSIX_SOURCE=1 -DHAVE_TEMPNAM=1 -DNON_ANSI_RW_MODES=1 -DNO_EOF_CHAR_CHECK=1 -DSkip_f2c_Undefs=1 -g -O2 -o VersionI.o ../../../../egcs-cvs/libf2c/libI77/Version.c
[...]
The problem seems to be the following rule in libf2c/Makefile.in:
# Dependence on Makefile serializes for parallel make.
g2c.h: g2c.hin config.status Makefile
# Might try to avoid rebuilding everything if Makefile or configure
# changes and g2c.h doesn't; see also the Makefile rule. Should
# depend on another stamp file rather than using the commented-out
# lines below, since g2c.h isn't necessarily brought up to date.
# mv g2c.h g2c.x
$(SHELL) config.status
# $(srcdir)/../move-if-change g2c.h g2c.x && mv g2c.x g2c.h
Why are those two lines uncommented? We seem do need the
move-if-change line.
Dave, are you really not noticing this in your environment?
Andreas
--
Andreas Jaeger aj@arthur.rhein-neckar.de jaeger@informatik.uni-kl.de
for pgp-key finger ajaeger@aixd1.rhrk.uni-kl.de