libtool
[Top][All Lists]
Advanced

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

Static library "-lfoo" not appearing in libconvenience.la's dependency_l


From: Rhys Ulerich
Subject: Static library "-lfoo" not appearing in libconvenience.la's dependency_libs when --enable-shared
Date: Thu, 30 Jun 2011 17:47:02 -0500

'Evening all,

I am using libtool 2.4 revision 1.3293 with automake to build a
convenience library called libchannel.la like so
    noinst_LTLIBRARIES    = libchannel.la
    libchannel_la_SOURCES = channel.cpp channel.hpp  # etcetera
    libchannel_la_LIBADD  = $(ESIO_LIBS) $(LOG4CXX_LIBS)
../suzerain/libsuzerain.la
where
    ESIO_LIBS = -L/h2/rhys/Staged/esio-0.1.6/lib -lesio # etcetera
comes from configure-time information.

When -lesio is available only statically (as libesio.a), I see very
different dependency_libs entries in my libchannel.la:

    1. Using --disable-shared, dependency_libs contains
'/h2/rhys/Staged/esio-0.1.6/lib/libesio.la'.

    2. Using --enable-shared, dependency_libs contains
'-L/h2/rhys/Staged/esio-0.1.6/lib' but does /not/ contain -lesio.

The first case is as I expect.  The second case is not and it causes
binaries depending on libchannel.la to fail to link.  In the second
case I expected to see either "libesio.la" or "-lesio" to appear
within dependency_libs.

Should the second case place -lesio within dependency_libs?  If not,
what should I do differently to cause it to be preserved?  I would
like to have my LT_INIT default to --enable-shared behavior but would
also like my convenience libraries to be convenient on systems where
some things are static-only.

Thanks for your time,
Rhys



reply via email to

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