aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2009-02-07 21:17:07 +0200
committerLasse Collin <lasse.collin@tukaani.org>2009-02-07 21:17:07 +0200
commit880c3309386aac58fc4f3d7ca99bd31bcb1526a3 (patch)
treee96c422423cd0ba79e36df013de1f129d32135ec /configure.ac
parentadd gitignore files (diff)
downloadxz-880c3309386aac58fc4f3d7ca99bd31bcb1526a3.tar.xz
Make it easy to choose if command line tools should be
linked statically or dynamically against liblzma. The default is still to use static liblzma, but it can now be changed by passing --enable-dynamic to configure. Thanks to Mike Frysinger for the original patch. Fixed a few minor bugs in configure.ac.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac39
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.
###############################################################################