This is the mail archive of the automake@gnu.org mailing list for the automake 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: automake 1.8.3: Tru64: fix for depcomp


On Sat, Apr 24, 2004 at 11:20:59AM +0200, Alexandre Duret-Lutz wrote:
> >>> "Burgers" == Burgers A R <burgers@ecn.nl> writes:
> 
>  Burgers> In order to get the dependencies for a LTLIBRARY right for Tru64's
>  Burgers> native cc C-compiler, I had to apply the following patch to
>  Burgers> automake's depcomp script. cc -MD outputs the dependencies in the
>  Burgers> .o.d file, not in the .lo.d file.
> 
>  Burgers> I am using automake 1.8.3, autoconf 2.59,
>  Burgers> libtool (ltmain.sh (GNU libtool) 1.5 (1.1220 2003/04/05 19:32:58))
> 
> Thanks, I'm installing the following patch on HEAD and
> branch-1-8.  It would be nice to know the difference between
> your setup and Nicolas's.
> 
> 2004-04-24  Alexandre Duret-Lutz  <adl@gnu.org>
> 
> 	* lib/depcomp (tru64) [libtool]: Nicolas Joly reported on
> 	2002-06-12 that dependencies were output in $dir.libs/$base.lo.d.
> 	Teun Burgers reported on 2004-03-30 they were in $dir.libs/$base.o.d.
> 	Try both.

I just made some testing with one of my projects with automake 1.8.4 /
libtool 1.5.6, and noticed some remaining problems about libtool and
Tru64 dependency mode.

source='sequence.c' object='sequence.lo' libtool=yes  depfile='.deps/sequence.Plo' tmpdepfile='.deps/sequence.TPlo'  depmode=tru64 /bin/ksh ../depcomp  /bin/ksh ../libtool --mode=compile cc -DHAVE_CONFIG_H  -I. -I. -I.      -g -c -o sequence.lo sequence.c
mkdir .libs
 cc -DHAVE_CONFIG_H -I. -I. -I. -g -c -MD sequence.c  -DPIC -o .libs/sequence.o
 cc -DHAVE_CONFIG_H -I. -I. -I. -g -c -MD sequence.c -o sequence.o >/dev/null 2>&1

With libtool 1.5 and Tru64 C compiler, 2 separate objects are now
generated. And, as a side effect, two separate `.d' dependencies files
are made : `sequence.o.d' and `.libs/sequence.o.d'.

Actually, the second one is processed to make the final
`.deps/sequence.Plo' file. But the first one remains unused, and seems
forgotten here ... This breaks `gmake distcheck' target, which
complains about `files left in build directory after distclean'.

I that case, shouldn't it be better to use for tmpdepfile2 :

  "$dir$base.o.d"       instead of      "$dir.libs/$base.o.d"

NB: "$dir.libs/$base.o.d" are automatically cleaned with `make
distclean', with the `.libs' directory removal.

-- 
Nicolas Joly

Biological Software and Databanks.
Institut Pasteur, Paris.



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