[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
8.3.4 Libtool Libraries with Conditional Sources
Conditional compilation of sources in a library can be achieved in the
same way as conditional compilation of sources in a program
(see section Conditional compilation of sources). The only difference is that
_LIBADD
should be used instead of _LDADD
and that it
should mention libtool objects (‘.lo’ files).
So, to mimic the ‘hello’ example from Conditional compilation of sources, we could build a ‘libhello.la’ library using either ‘hello-linux.c’ or ‘hello-generic.c’ with the following ‘Makefile.am’.
lib_LTLIBRARIES = libhello.la libhello_la_SOURCES = hello-common.c EXTRA_libhello_la_SOURCES = hello-linux.c hello-generic.c libhello_la_LIBADD = $(HELLO_SYSTEM) libhello_la_DEPENDENCIES = $(HELLO_SYSTEM)
And make sure configure
defines HELLO_SYSTEM
as
either ‘hello-linux.lo’ or ‘hello-generic.lo’.
Or we could simply use an Automake conditional as follows.
lib_LTLIBRARIES = libhello.la libhello_la_SOURCES = hello-common.c if LINUX libhello_la_SOURCES += hello-linux.c else libhello_la_SOURCES += hello-generic.c endif
This document was generated on January 25, 2014 using texi2html 5.0.