mirror of
				https://git.tukaani.org/xz.git
				synced 2025-11-04 07:22:55 +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)
This commit is contained in:
		
							parent
							
								
									4b3c84e8ee
								
							
						
					
					
						commit
						1888fb49f6
					
				@ -358,8 +358,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?
 | 
			
		||||
        set(SYMBOL_VERSIONING_DEFAULT "linux")
 | 
			
		||||
        # 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