Hello Jan, * Jan Nieuwenhuizen wrote on Thu, Nov 30, 2006 at 11:06:34PM CET: > > I am writing a tool*) to generate Makefile.am files. [...] > *) http://lilypond.org/~janneke/vc/amgen.git
FWIW, there's no documentation reachable from that URL, so it's not really easy to understand what this tool intends to achieve. > I would like to produce shared libraries for unit tests with automatic > registration. I have tried > > # FIXME: check_libraries are always static? > check_LTLIBRARIES = libtest-foo.la Two pieces playing together here: For `libtool --mode=link' to create a shared library, it needs an argument of `-rpath $dir' passed, pointing to where that library should eventually be reachable at.[1] Automake now adds such an argument of `-rpath $<FOO>dir' for libraries mentioned in a <FOO>_LTLIBRARIES variable, where FOO is different from noinst or check. For the latter two, if you need a shared library, you could just add that argument manually, e.g., by libtest_foo_la_LDFLAGS = -rpath /foo $(AM_LDFLAGS) If you never intend to actually install the library anywhere, it doesn't really matter which path name you supply here. See http://www.gnu.org/software/libtool/manual.html#Using-Automake for more information. > but both produce static libraries. In configure.ac I have > > AM_DISABLE_STATIC > AC_DISABLE_STATIC These two are synonyms, using just the latter is sufficient. Hope that helps. Cheers, Ralf [1] This is necessary but not sufficient. Shared libraries must not have been turned off, e.g., by --disable-shared, or on a system where libtool does not know how to create them.
