From: Mika Lindqvist Date: Tue, 27 Jun 2023 15:52:12 +0000 (+0300) Subject: [ARM] Check that we have features.h before detecting float-abi X-Git-Tag: 2.1.3~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b5908b8c99c17c5ceb13abdbdfeb33c7c0a8b89;p=thirdparty%2Fzlib-ng.git [ARM] Check that we have features.h before detecting float-abi * MacOS/arm64 is known to not have features.h --- diff --git a/CMakeLists.txt b/CMakeLists.txt index e92d3826f..9b420769e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -210,24 +210,27 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "GNU" OR CMAKE_C_COMPILER_ID MATCHES "Clang") if(BASEARCH_ARM_FOUND) if("${ARCH}" MATCHES "arm" AND NOT CMAKE_C_FLAGS MATCHES "-mfloat-abi") # Auto-detect support for ARM floating point ABI - set(CMAKE_REQUIRED_FLAGS -mfloat-abi=softfp) - check_c_source_compiles( - "#include - int main() { return 0; }" - HAVE_FLOATABI_SOFTFP) - if(HAVE_FLOATABI_SOFTFP) - set(FLOATABI -mfloat-abi=softfp) - else() - set(CMAKE_REQUIRED_FLAGS -mfloat-abi=hard) + check_include_file(features.h HAVE_FEATURES_H) + if(HAVE_FEATURES_H) + set(CMAKE_REQUIRED_FLAGS -mfloat-abi=softfp) check_c_source_compiles( "#include int main() { return 0; }" - HAVE_FLOATABI_HARD) - if(HAVE_FLOATABI_HARD) - set(FLOATABI -mfloat-abi=hard) + HAVE_FLOATABI_SOFTFP) + if(HAVE_FLOATABI_SOFTFP) + set(FLOATABI -mfloat-abi=softfp) + else() + set(CMAKE_REQUIRED_FLAGS -mfloat-abi=hard) + check_c_source_compiles( + "#include + int main() { return 0; }" + HAVE_FLOATABI_HARD) + if(HAVE_FLOATABI_HARD) + set(FLOATABI -mfloat-abi=hard) + endif() endif() + set(CMAKE_REQUIRED_FLAGS) endif() - set(CMAKE_REQUIRED_FLAGS) if(FLOATABI) message(STATUS "ARM floating point arch: ${FLOATABI}") add_compile_options(${FLOATABI})