Question

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?

Was it helpful?

Solution

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; 

OTHER TIPS

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top