mirror of
https://git.tukaani.org/xz.git
synced 2024-04-04 12:36:23 +02:00
Build: Remove the static/dynamic tricks.
Most distros want xz linked against shared liblzma, so it doesn't help much to require --enable-dynamic for that. Those who want to avoid PIC on x86-32 to get better performance, can still do it e.g. by using --disable-shared to compile xz and then another pass to compile shared liblzma. Part of these static/dynamic tricks were needed for Windows in the past. Nowadays we rely on GCC and binutils to do the right thing with auto-import. If the Autotooled build system needs to support some other toolchain on Windows in the future, this may need some rethinking.
This commit is contained in:
parent
fda4724d81
commit
f9907503f8
6 changed files with 5 additions and 91 deletions
74
configure.ac
74
configure.ac
|
@ -369,41 +369,6 @@ AC_DEFINE_UNQUOTED([ASSUME_RAM], [$enable_assume_ram],
|
||||||
be determined.])
|
be determined.])
|
||||||
|
|
||||||
|
|
||||||
############################################
|
|
||||||
# xz/xzdec/lzmadec linkage against liblzma #
|
|
||||||
############################################
|
|
||||||
|
|
||||||
# Link the xz, xzdec, and lzmadec command line tools against static 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 programs should be linked against liblzma])
|
|
||||||
AC_ARG_ENABLE([dynamic], [AC_HELP_STRING([--enable-dynamic=TYPE],
|
|
||||||
[Set how command line tools are linked against liblzma.
|
|
||||||
TYPE can be mixed, yes, or no. The default is mixed.])],
|
|
||||||
[], [enable_dynamic=mixed])
|
|
||||||
case $enable_dynamic in
|
|
||||||
mixed)
|
|
||||||
AC_MSG_RESULT([mixed (some dynamically, some statically)])
|
|
||||||
;;
|
|
||||||
yes)
|
|
||||||
AC_MSG_RESULT([dynamically])
|
|
||||||
;;
|
|
||||||
no)
|
|
||||||
AC_MSG_RESULT([statically])
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
AC_MSG_RESULT([])
|
|
||||||
AC_MSG_ERROR([--enable-dynamic accepts only \`mixed', \`yes', or \`no'])
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
# We use the actual results later, because we don't know yet
|
|
||||||
# if --disable-shared or --disable-static was used.
|
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Checks for programs.
|
# Checks for programs.
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -611,45 +576,6 @@ AM_CONDITIONAL([COND_GNULIB], test -n "$LIBOBJS")
|
||||||
# Add default AM_CFLAGS.
|
# Add default AM_CFLAGS.
|
||||||
AC_SUBST([AM_CFLAGS])
|
AC_SUBST([AM_CFLAGS])
|
||||||
|
|
||||||
# Set additional flags for static/dynamic linking. The idea is that every
|
|
||||||
# program (not library) being built will use either STATIC_{CPPFLAGS,LDFLAGS}
|
|
||||||
# or DYNAMIC_{CPPFLAGS,LDFLAGS} depending on which type of linkage is
|
|
||||||
# preferred. These preferences get overridden by use of --disable-static,
|
|
||||||
# --disable-shared, or --enable-dynamic.
|
|
||||||
#
|
|
||||||
# This is quite messy, because we want to use LZMA_API_STATIC when linking
|
|
||||||
# against static liblzma. It's needed on Windows.
|
|
||||||
if test "x$enable_static" = xno; then
|
|
||||||
enable_dynamic=yes
|
|
||||||
fi
|
|
||||||
if test "x$enable_shared" = xno; then
|
|
||||||
enable_dynamic=no
|
|
||||||
fi
|
|
||||||
case $enable_dynamic in
|
|
||||||
yes)
|
|
||||||
STATIC_CPPFLAGS=
|
|
||||||
STATIC_LDFLAGS=
|
|
||||||
DYNAMIC_CPPFLAGS=
|
|
||||||
DYNAMIC_LDFLAGS=
|
|
||||||
;;
|
|
||||||
mixed)
|
|
||||||
STATIC_CPPFLAGS="-DLZMA_API_STATIC"
|
|
||||||
STATIC_LDFLAGS="-static"
|
|
||||||
DYNAMIC_CPPFLAGS=
|
|
||||||
DYNAMIC_LDFLAGS=
|
|
||||||
;;
|
|
||||||
no)
|
|
||||||
STATIC_CPPFLAGS="-DLZMA_API_STATIC"
|
|
||||||
STATIC_LDFLAGS="-static"
|
|
||||||
DYNAMIC_CPPFLAGS="-DLZMA_API_STATIC"
|
|
||||||
DYNAMIC_LDFLAGS="-static"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
AC_SUBST([STATIC_CPPFLAGS])
|
|
||||||
AC_SUBST([STATIC_LDFLAGS])
|
|
||||||
AC_SUBST([DYNAMIC_CPPFLAGS])
|
|
||||||
AC_SUBST([DYNAMIC_LDFLAGS])
|
|
||||||
|
|
||||||
# This is needed for src/scripts.
|
# This is needed for src/scripts.
|
||||||
xz=`echo xz | sed "$program_transform_name"`
|
xz=`echo xz | sed "$program_transform_name"`
|
||||||
AC_SUBST([xz])
|
AC_SUBST([xz])
|
||||||
|
|
|
@ -16,10 +16,7 @@ noinst_PROGRAMS = \
|
||||||
|
|
||||||
AM_CPPFLAGS = \
|
AM_CPPFLAGS = \
|
||||||
-I$(top_srcdir)/src/common \
|
-I$(top_srcdir)/src/common \
|
||||||
-I$(top_srcdir)/src/liblzma/api \
|
-I$(top_srcdir)/src/liblzma/api
|
||||||
$(STATIC_CPPFLAGS)
|
|
||||||
|
|
||||||
AM_LDFLAGS = $(STATIC_LDFLAGS)
|
|
||||||
|
|
||||||
LDADD = $(top_builddir)/src/liblzma/liblzma.la
|
LDADD = $(top_builddir)/src/liblzma/liblzma.la
|
||||||
|
|
||||||
|
|
|
@ -16,10 +16,8 @@ lzmainfo_CPPFLAGS = \
|
||||||
-DLOCALEDIR=\"$(localedir)\" \
|
-DLOCALEDIR=\"$(localedir)\" \
|
||||||
-I$(top_srcdir)/src/common \
|
-I$(top_srcdir)/src/common \
|
||||||
-I$(top_srcdir)/src/liblzma/api \
|
-I$(top_srcdir)/src/liblzma/api \
|
||||||
-I$(top_builddir)/lib \
|
-I$(top_builddir)/lib
|
||||||
$(DYNAMIC_CPPFLAGS)
|
|
||||||
|
|
||||||
lzmainfo_LDFLAGS = $(DYNAMIC_LDFLAGS)
|
|
||||||
lzmainfo_LDADD = $(top_builddir)/src/liblzma/liblzma.la
|
lzmainfo_LDADD = $(top_builddir)/src/liblzma/liblzma.la
|
||||||
|
|
||||||
if COND_GNULIB
|
if COND_GNULIB
|
||||||
|
|
|
@ -46,10 +46,8 @@ xz_CPPFLAGS = \
|
||||||
-DLOCALEDIR=\"$(localedir)\" \
|
-DLOCALEDIR=\"$(localedir)\" \
|
||||||
-I$(top_srcdir)/src/common \
|
-I$(top_srcdir)/src/common \
|
||||||
-I$(top_srcdir)/src/liblzma/api \
|
-I$(top_srcdir)/src/liblzma/api \
|
||||||
-I$(top_builddir)/lib \
|
-I$(top_builddir)/lib
|
||||||
$(STATIC_CPPFLAGS)
|
|
||||||
|
|
||||||
xz_LDFLAGS = $(STATIC_LDFLAGS)
|
|
||||||
xz_LDADD = $(top_builddir)/src/liblzma/liblzma.la
|
xz_LDADD = $(top_builddir)/src/liblzma/liblzma.la
|
||||||
|
|
||||||
if COND_GNULIB
|
if COND_GNULIB
|
||||||
|
|
|
@ -27,9 +27,7 @@ xzdec_CPPFLAGS = \
|
||||||
-DTUKLIB_GETTEXT=0 \
|
-DTUKLIB_GETTEXT=0 \
|
||||||
-I$(top_srcdir)/src/common \
|
-I$(top_srcdir)/src/common \
|
||||||
-I$(top_srcdir)/src/liblzma/api \
|
-I$(top_srcdir)/src/liblzma/api \
|
||||||
-I$(top_builddir)/lib \
|
-I$(top_builddir)/lib
|
||||||
$(STATIC_CPPFLAGS)
|
|
||||||
xzdec_LDFLAGS = $(STATIC_LDFLAGS)
|
|
||||||
xzdec_LDADD = $(top_builddir)/src/liblzma/liblzma.la
|
xzdec_LDADD = $(top_builddir)/src/liblzma/liblzma.la
|
||||||
|
|
||||||
if COND_GNULIB
|
if COND_GNULIB
|
||||||
|
|
|
@ -17,10 +17,7 @@ EXTRA_DIST = \
|
||||||
AM_CPPFLAGS = \
|
AM_CPPFLAGS = \
|
||||||
-I$(top_srcdir)/src/common \
|
-I$(top_srcdir)/src/common \
|
||||||
-I$(top_srcdir)/src/liblzma/api \
|
-I$(top_srcdir)/src/liblzma/api \
|
||||||
-I$(top_builddir)/lib \
|
-I$(top_builddir)/lib
|
||||||
$(STATIC_CPPFLAGS)
|
|
||||||
|
|
||||||
AM_LDFLAGS = $(STATIC_LDFLAGS)
|
|
||||||
|
|
||||||
LDADD = $(top_builddir)/src/liblzma/liblzma.la
|
LDADD = $(top_builddir)/src/liblzma/liblzma.la
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue