[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: automake 1.8.3: Tru64: fix for depcomp
From: |
Alexandre Duret-Lutz |
Subject: |
Re: automake 1.8.3: Tru64: fix for depcomp |
Date: |
Mon, 31 May 2004 23:44:49 +0200 |
User-agent: |
Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux) |
>>> "Nicolas" == Nicolas Joly <address@hidden> writes:
[...]
Nicolas> I just made some testing with one of my projects with automake 1.8.4 /
Nicolas> libtool 1.5.6, and noticed some remaining problems about libtool and
Nicolas> Tru64 dependency mode.
Nicolas> source='sequence.c' object='sequence.lo' libtool=yes
Nicolas> depfile='.deps/sequence.Plo'
Nicolas> tmpdepfile='.deps/sequence.TPlo' depmode=tru64
Nicolas> /bin/ksh ../depcomp /bin/ksh ../libtool --mode=compile
Nicolas> cc -DHAVE_CONFIG_H -I. -I. -I. -g -c -o sequence.lo
Nicolas> sequence.c
Nicolas> mkdir .libs
Nicolas> cc -DHAVE_CONFIG_H -I. -I. -I. -g -c -MD sequence.c -DPIC -o
.libs/sequence.o
Nicolas> cc -DHAVE_CONFIG_H -I. -I. -I. -g -c -MD sequence.c -o sequence.o
>/dev/null 2>&1
Nicolas> With libtool 1.5 and Tru64 C compiler, 2 separate
Nicolas> objects are now generated. And, as a side effect, two
Nicolas> separate `.d' dependencies files are made :
Nicolas> `sequence.o.d' and `.libs/sequence.o.d'.
Nicolas> Actually, the second one is processed to make the
Nicolas> final `.deps/sequence.Plo' file. But the first one
Nicolas> remains unused, and seems forgotten here ... This
Nicolas> breaks `gmake distcheck' target, which complains about
Nicolas> `files left in build directory after distclean'.
Nicolas> I that case, shouldn't it be better to use for tmpdepfile2 :
Nicolas> "$dir$base.o.d" instead of "$dir.libs/$base.o.d"
Nicolas> NB: "$dir.libs/$base.o.d" are automatically cleaned
Nicolas> with `make distclean', with the `.libs' directory
Nicolas> removal.
Thanks for the testing, and sorry it took me so long to answer.
I missed the mail.
I'm checking this in.
2004-05-31 Alexandre Duret-Lutz <address@hidden>
* lib/depcomp (tru64) [libtool]: Use $dir$base.o.d instead
of $dir.libs/$base.o.d. Libtool 1.5 causes both to be output,
and we will clean the second automatically during distclean.
Using the latter and leaving the former as we did before cause
"files left in build directory" failures during distcheck.
Suggested by Nicolas Joly.
Index: lib/depcomp
===================================================================
RCS file: /cvs/automake/automake/lib/depcomp,v
retrieving revision 1.50
diff -u -r1.50 depcomp
--- lib/depcomp 25 Apr 2004 11:21:03 -0000 1.50
+++ lib/depcomp 31 May 2004 21:43:08 -0000
@@ -1,7 +1,7 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2004-04-25.14
+scriptversion=2004-05-31.23
# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
@@ -288,9 +288,12 @@
if test "$libtool" = yes; then
# Dependencies are output in .lo.d with libtool 1.4.
- # They are output in .o.d with libtool 1.5.
+ # With libtool 1.5 they are output both in $dir.libs/$base.o.d
+ # and in $dir.libs/$base.o.d and $dir$base.o.d. We process the
+ # latter, because the former will be cleaned when $dir.libs is
+ # erased.
tmpdepfile1="$dir.libs/$base.lo.d"
- tmpdepfile2="$dir.libs/$base.o.d"
+ tmpdepfile2="$dir$base.o.d"
tmpdepfile3="$dir.libs/$base.d"
"$@" -Wc,-MD
else
--
Alexandre Duret-Lutz
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: automake 1.8.3: Tru64: fix for depcomp,
Alexandre Duret-Lutz <=