diff options
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index afd5afc1..3a606cfc 100644 --- a/configure.ac +++ b/configure.ac @@ -387,11 +387,50 @@ AC_ARG_ENABLE([threads], AC_HELP_STRING([--disable-threads], This makes some things thread-unsafe.]), [], [enable_threads=yes]) if test "x$enable_threads" != xyes && test "x$enable_threads" != xno; then + AC_MSG_RESULT([]) AC_MSG_ERROR([--enable-threads accepts only \`yes' or \`no']) fi +AC_MSG_RESULT([$enable_threads]) # We use the actual result a little later. +############################################ +# xz/xzdec/lzmadec linkage against liblzma # +############################################ + +# Link the command line tool statically against liblzma unless using +# --enable-dynamic. Using static liblzma gives a little bit faster executable +# on x86, because no register is wasted for PIC. We also have one dependency +# less, which allows users to more freely copy the xz binary to other boxes. +# However, I wouldn't be surprised if distro maintainers still prefer dynamic +# linking, so let's make it easy for them. + +AC_MSG_CHECKING([how command line tools should be linked against liblzma]) +AC_ARG_ENABLE([dynamic], [AC_HELP_STRING([--enable-dynamic], + [Link command line tools dynamically against liblzma. + The default is to use static liblzma if it was + built.])], + [], [enable_dynamic=no]) +case $enable_dynamic in + yes) + STATIC_CPPFLAGS= + STATIC_LDFLAGS= + AC_MSG_RESULT([dynamically]) + ;; + no) + STATIC_CPPFLAGS="-DLZMA_API_STATIC" + STATIC_LDFLAGS="-static" + AC_MSG_RESULT([statically]) + ;; + *) + AC_MSG_RESULT([]) + AC_MSG_ERROR([--enable-dynamic accepts only \`yes' or \`no']) + ;; +esac +AC_SUBST([STATIC_CPPFLAGS]) +AC_SUBST([STATIC_LDFLAGS]) + + ############################################################################### # Checks for programs. ############################################################################### |