]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
[ARM] Try to compile test for float-abi detection code.
authorMika Lindqvist <postmaster@raasu.org>
Fri, 29 Oct 2021 17:08:30 +0000 (20:08 +0300)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Wed, 10 Nov 2021 13:34:14 +0000 (14:34 +0100)
CMakeLists.txt

index 0ef7258a64a3d93f606c17e385c40b31af34649b..26558fd32588aec764f763d87870182e02b36081 100644 (file)
@@ -197,15 +197,24 @@ 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
-                check_c_compiler_flag(-mfloat-abi=softfp HAVE_FLOATABI_SOFTFP)
+                set(CMAKE_REQUIRED_FLAGS "-mfloat-abi=softfp")
+                check_c_source_compiles(
+                    "#include <features.h>
+                    int main() { return 0; }"
+                    HAVE_FLOATABI_SOFTFP)
                 if(HAVE_FLOATABI_SOFTFP)
                     set(FLOATABI "-mfloat-abi=softfp")
                 else()
-                    check_c_compiler_flag(-mfloat-abi=hard HAVE_FLOATABI_HARD)
+                    set(CMAKE_REQUIRED_FLAGS "-mfloat-abi=hard")
+                    check_c_source_compiles(
+                        "#include <features.h>
+                        int main() { return 0; }"
+                        HAVE_FLOATABI_HARD)
                     if(HAVE_FLOATABI_HARD)
                         set(FLOATABI "-mfloat-abi=hard")
                     endif()
                 endif()
+                set(CMAKE_REQUIRED_FLAGS)
                 if(FLOATABI)
                     message(STATUS "ARM floating point arch: ${FLOATABI}")
                     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLOATABI}")