Skip to content

Commit 75e2f12

Browse files
authored
Merge pull request #5668 from martin-frbg/issue5665
Fix CMake DYNAMIC_ARCH compilation with old compilers on ARM64
2 parents d073702 + 78fd789 commit 75e2f12

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

cmake/system_check.cmake

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,15 @@ endif()
145145
endif()
146146

147147
if (ARM64)
148+
if (NOT NO_SVE)
149+
file(WRITE ${PROJECT_BINARY_DIR}/sve.c "#include <arm_sve.h>\n\n int main(void){}\n")
150+
execute_process(COMMAND ${CMAKE_C_COMPILER} -march=armv8-a+sve -c -o ${PROJECT_BINARY_DIR}/sve.o ${PROJECT_BINARY_DIR}/sve.c OUTPUT_QUIET ERROR_QUIET RESULT_VARIABLE NO_SVE)
151+
if (NO_SVE EQUAL 1)
152+
set (CCOMMON_OPT "${CCOMMON_OPT} -DNO_SVE")
153+
endif()
154+
file(REMOVE "${PROJECT_BINARY_DIR}/sve.c" "${PROJECT_BINARY_DIR}/sve.o")
155+
endif()
156+
148157
if (NOT NO_SME)
149158
file(WRITE ${PROJECT_BINARY_DIR}/sme.c ".text \n.global sme_test\n\nsme_test:\nsmstart\nsmstop\nret\n")
150159
execute_process(COMMAND ${CMAKE_C_COMPILER} -march=armv9-a+sve2+sme -c -v -o ${PROJECT_BINARY_DIR}/sme.o ${PROJECT_BINARY_DIR}/sme.c OUTPUT_QUIET ERROR_QUIET RESULT_VARIABLE NO_SME)

0 commit comments

Comments
 (0)