3
votes

I'm building some packages with autoconf and automake, and would like to make sure libraries are dynamically linked (i.e. no static links).

How should one set up the autotools to force dynamic library linking?

2

2 Answers

3
votes

Something like this comes to mind:

# Makefile.am
lib_LTLIBRARIES = libpart.la
libpart_la_SOURCES = lgpl_chunk.c

bin_PROGRAMS = prop
prop_SOURCES = prop.c
prop_LDADD = libpart.la

And make sure that you always build a shared library. Best by disabling static builds by default,

#configure.ac
AC_DISABLE_STATIC
if test "$enable_static" != "no"; then
  echo "Sorry Dave, I can't let you do that";
  exit 1;
fi; 
0
votes

You don't necessarily have to rely on autotools for this. You could use dlopen or some other facility to load the dynamic lib.