[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Convenience libraries build both PIC and non-PIC regardless of -stat
Re: Convenience libraries build both PIC and non-PIC regardless of -static?
Mon, 25 Feb 2008 22:01:39 -0600 (CST)
On Mon, 25 Feb 2008, Steven Brown wrote:
Is there a way to tell libtool to not build those PIC objects without
disabling shared libraries globally in the project with AC_DISABLE_SHARED?
Probably not without an ugly recursive configure. The problem is that
libtool does not know how the convenience libraries will be used so it
plays it safe.
If you are feeling brave, investigate using a non-recursive build in
order to avoid convenience libraries entirely and improve build times.
Time for my (mixed C and C++) project to build:
recursive: gmake -j 6 89.10s user 7.47s system 195% cpu 49.413 total
non-recursive: gmake -j 6 94.90s user 4.56s system 289% cpu 34.301 total
The "recursive" project is older and has a bit less code to compile.
The difference grows larger on slower systems. Notice that more build
concurrency was achieved with the non-recursive build since with the
recursive build there are more "barrier" points (e.g. packing and
unpacking the convenience libs) where concurrency is not allowed.
GraphicsMagick Maintainer, http://www.GraphicsMagick.org/