aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--configure.ac91
1 files changed, 50 insertions, 41 deletions
diff --git a/configure.ac b/configure.ac
index 075567f6..3200f89c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -716,52 +716,61 @@ elif test "x$enable_shared" = xno ; then
enable_symbol_versions=no
AC_MSG_RESULT([no (not building a shared library)])
else
- case "$host_cpu-$host_os" in
- microblaze*)
- # GCC 12 on MicroBlaze doesn't support __symver__
- # attribute. It's simplest and safest to use the
- # generic version on that platform since then only
- # the linker script is needed. The RHEL/CentOS 7
- # compatibility symbols don't matter on MicroBlaze.
- enable_symbol_versions=generic
- ;;
- *-linux*)
- case "$pic_mode-$enable_static" in
- default-*)
- # Use symvers if PIC is defined.
- have_symbol_versions_linux=2
- ;;
- *-no)
- # Not building static library.
- # Use symvers unconditionally.
- have_symbol_versions_linux=1
- ;;
- *)
- AC_MSG_RESULT([])
- AC_MSG_ERROR([
+ if test "x$enable_symbol_versions" = xyes ; then
+ case "$host_cpu-$host_os" in
+ microblaze*)
+ # GCC 12 on MicroBlaze doesn't support __symver__
+ # attribute. It's simplest and safest to use the
+ # generic version on that platform since then only
+ # the linker script is needed. The RHEL/CentOS 7
+ # compatibility symbols don't matter on MicroBlaze.
+ enable_symbol_versions=generic
+ ;;
+ *-linux*)
+ enable_symbol_versions=linux
+ ;;
+ *)
+ enable_symbol_versions=generic
+ ;;
+ esac
+ fi
+
+ if test "x$enable_symbol_versions" = xlinux ; then
+ case "$pic_mode-$enable_static" in
+ default-*)
+ # Use symvers if PIC is defined.
+ have_symbol_versions_linux=2
+ ;;
+ *-no)
+ # Not building static library.
+ # Use symvers unconditionally.
+ have_symbol_versions_linux=1
+ ;;
+ *)
+ AC_MSG_RESULT([])
+ AC_MSG_ERROR([
On GNU/Linux, building both shared and static library at the same time
is not supported if --with-pic or --without-pic is used.
Use either --disable-shared or --disable-static to build one type
of library at a time. If both types are needed, build one at a time,
possibly picking only src/liblzma/.libs/liblzma.a from the static build.])
- ;;
- esac
- enable_symbol_versions=linux
- AC_DEFINE_UNQUOTED([HAVE_SYMBOL_VERSIONS_LINUX],
- [$have_symbol_versions_linux],
- [Define to 1 to if GNU/Linux-specific details
- are unconditionally wanted for symbol
- versioning. Define to 2 to if these are wanted
- only if also PIC is defined (allows building
- both shared and static liblzma at the same
- time with Libtool if neither --with-pic nor
- --without-pic is used). This define must be
- used together with liblzma_linux.map.])
- ;;
- *)
- enable_symbol_versions=generic
- ;;
- esac
+ ;;
+ esac
+ AC_DEFINE_UNQUOTED([HAVE_SYMBOL_VERSIONS_LINUX],
+ [$have_symbol_versions_linux],
+ [Define to 1 to if GNU/Linux-specific details
+ are unconditionally wanted for symbol
+ versioning. Define to 2 to if these are wanted
+ only if also PIC is defined (allows building
+ both shared and static liblzma at the same
+ time with Libtool if neither --with-pic nor
+ --without-pic is used). This define must be
+ used together with liblzma_linux.map.])
+ elif test "x$enable_symbol_versions" != xgeneric ; then
+ AC_MSG_RESULT([])
+ AC_MSG_ERROR(
+ [unknown symbol versioning variant '$enable_symbol_versions'])
+ fi
AC_MSG_RESULT([yes ($enable_symbol_versions)])
fi