automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: automake 1.8.3: Tru64: fix for depcomp


From: Nicolas Joly
Subject: Re: automake 1.8.3: Tru64: fix for depcomp
Date: Thu, 29 Apr 2004 14:55:41 +0200
User-agent: Mutt/1.5.5.1i

On Sat, Apr 24, 2004 at 11:20:59AM +0200, Alexandre Duret-Lutz wrote:
> >>> "Burgers" == Burgers A R <address@hidden> 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  <address@hidden>
> 
>       * 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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]