[Top][All Lists]

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

Re: libtool and make -j

From: Ralf Wildenhues
Subject: Re: libtool and make -j
Date: Thu, 4 Aug 2005 11:31:02 +0200
User-agent: Mutt/1.4.1i

Hi Johan,

* Johan Boule wrote on Thu, Jul 21, 2005 at 09:22:06PM CEST:
> I'm using automake to build several libtool libraries in the same makefile.
> Some built libraries depends on other built libraries, 
> and since automake doesn't create the necessary make rules for this (i have
> reported the problem to the authors of automake),
> i had to use a workaround like this:

I cannot reproduce this.  It seems to me that you are using old
Automake and maybe Libtool versions (which?).  Are those libraries built
in different directories?

Note that it is a known Automake/Libtool bug that `make install -j' does
not work correctly with interdependent libraries built from different
source directories.

> lib_LTLIBRARIES += lib-xxx.la
> lib_xxx_la_LIBADD += lib-yyy.la
> lib_xxx_la_SOURCES += xxx.cpp lib-yyy.la.stamp
> CLEANFILES += lib-yyy.la.stamp
> lib-yyy.la.stamp: lib-yyy.la
>       :>$@
> lib_LTLIBRARIES += lib-yyy.la
> lib_xxx_la_SOURCES += yyy.cpp
> My goal with this workaround was to ensure
> that lib-yyy.la is built before lib-xxx.la,
> this works well as long as i don't use make -j
> On a single processor system, with make -j 2,
> it seems to me that the .la file is created
> before the underlying "real" libraries are built,
> i.e., the .la file exists but there's no .so file yet.

I cannot imagine how this could happen: the libtool script itself (which
causes creation of both the real libraries and the .la files) does not
work asynchronously.

Maybe it would be best if you could post a reduced test case to
reproduce the issue (or maybe a link to the source if open).

> I was wondering if libtool could easily be changed so
> that the .la file is created last.

It is done last, to the best of my knowledge.

> Otherwize, i have to add things in my automake file that
> are very specific to libtool's own implementation,
> and not portable (i.e., referering to the .libs dir,
> knowing wether the library extension is .so or .dll etc,
> and knowing how the version in included in the filename)

I don't think this should be necessary.


reply via email to

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