bug-gnulib
[Top][All Lists]
Advanced

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

Re: gnulib taking over libobjs?


From: Simon Josefsson
Subject: Re: gnulib taking over libobjs?
Date: Tue, 10 Oct 2006 15:29:30 +0200
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.50 (gnu/linux)

Ralf Wildenhues <address@hidden> writes:

> Hello Simon,
>
> * Simon Josefsson wrote on Tue, Oct 10, 2006 at 03:10:38PM CEST:
>> 
>> address@hidden:/tmp/jas4711/libidn-0.6.8/gl$ make
>> make  all-am
>> if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H  -I. -I. 
>> -I..      -g -O2 -MT ../gl/error.lo -MD -MP -MF ".deps/../gl/error.Tpo" -c 
>> -o ../gl/error.lo ../gl/error.c;  then mv -f ".deps/../gl/error.Tpo" 
>> ".deps/../gl/error.Plo"; else rm -f ".deps/../gl/error.Tpo"; exit 1; fi
>>  gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT ../gl/error.lo -MD -MP -MF 
>> .deps/../gl/error.Tpo -c ../gl/error.c  -fPIC -DPIC -o ../gl/.libs/error.o
>> cc1: No such file or directory: opening dependency file .deps/../gl/error.Tpo
>
>> The problem seems to be that libtool doesn't understand relative
>> dependencies in libgnu_la_DEPENDENCIES, and the -MF parameter becomes
>> wrong.
>
> Most certainly not a Libtool bug.  Which exact Automake version is used,
> how can I reproduce this failure easily?

I'm using automake 1.9.6.  It isn't easy to reproduce this right now,
since it involves setting up a project with two different gnulib
directories.  I can install what I'm working on right now on a CVS
branch in libidn, if you want to take a look.

>> @@ -1137,7 +1138,8 @@ func_emit_lib_Makefile_am ()
>>    echo "${libname}_${libext}_SOURCES ="
>>    # Here we use $(LIBOBJS), not @address@hidden The value is the same. 
>> However,
>>    # automake during its analyses looks for $(LIBOBJS), not for 
>> @address@hidden
>> -  echo "${libname}_${libext}_LIBADD = \$(${perhapsLT}LIBOBJS)"
>> +  echo "${libname}_${libext}_LIBADD = 
>> \$(${macro_prefix}_${perhapsLT}LIBOBJS)"
>> +  echo "${libname}_${libext}_DEPENDENCIES = 
>> \$(${macro_prefix}_${perhapsLT}LIBOBJS)"
>
> You can just drop this last line.  Automake can compute these
> dependencies.

Note that we aren't talking about LTLIBOBJS or LIBOBJS, for which
automake indeed seems to do some magic -- this is about foo_LTLIBOBJS,
a replacement that allows multiple OBJDIR's in a project.

If I removed that line, the dependencies (error.lo) weren't built at
all, at least that's the reason I added it.

I may of course still be wrong, of course...  but I thought I should
offer an explanation first.

Maybe there is some better way to cause the dependencies to be built,
except libgnu_la_DEPENDENCIES?

/Simon




reply via email to

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