Search code examples
dynamic-linkingautoconfautomakebuilding

Switching to dynamic linking


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?


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;