mirror of
https://git.tukaani.org/xz.git
synced 2025-02-17 14:08:12 +00:00
CMake: Disable symbol versioning on non-glibc Linux.
This better matches what configure.ac does. For example, musl has only basic symbol versioning support: https://wiki.musl-libc.org/functional-differences-from-glibc.html#Symbol_versioning configure.ac tries to enable symbol versioning only with glibc so now CMake does the same. (cherry picked from commit 2ad7fad67080e88fa7fc191f9d613d8b7add9c62) (cherry picked from commit 78a015e753d40d604952d6c1e4428c5f440ea6b9)
This commit is contained in:
parent
706134d965
commit
13a0a0fc8f
@ -271,8 +271,26 @@ if(NOT WIN32)
|
||||
# This includes a few extra compatibility symbols for RHEL/CentOS 7
|
||||
# which are pointless on non-glibc non-Linux systems.
|
||||
#
|
||||
# FIXME? Avoid symvers on Linux with non-glibc like musl?
|
||||
# Avoid symvers on Linux with non-glibc like musl and uClibc.
|
||||
# In Autoconf it's enough to check that $host_os equals linux-gnu
|
||||
# instead of, for example, linux-musl. CMake doesn't provide such
|
||||
# a method.
|
||||
#
|
||||
# This check is here for now since it's not strictly required
|
||||
# by anything else.
|
||||
check_c_source_compiles(
|
||||
"#include <features.h>
|
||||
#if defined(__GLIBC__) && !defined(__UCLIBC__)
|
||||
int main(void) { return 0; }
|
||||
#else
|
||||
compile error
|
||||
#endif
|
||||
"
|
||||
IS_LINUX_WITH_GLIBC)
|
||||
|
||||
if(IS_LINUX_WITH_GLIBC)
|
||||
set(SYMBOL_VERSIONING_DEFAULT "linux")
|
||||
endif()
|
||||
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
|
||||
set(SYMBOL_VERSIONING_DEFAULT "generic")
|
||||
|
Loading…
x
Reference in New Issue
Block a user