mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-09-21 13:41:20 +02:00
51 lines
2.2 KiB
Diff
51 lines
2.2 KiB
Diff
Override default tuning which is for the build system
|
|
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -175,18 +175,34 @@
|
|
string(SUBSTRING "${_GCC_OUTPUT}" ${POS} -1 _GCC_OUTPUT)
|
|
string(REGEX REPLACE "${ARCH_FLAG}=[ \t]*([^ \n]*)[ \n].*" "\\1" GNUCC_ARCH "${_GCC_OUTPUT}")
|
|
|
|
- # test the parsed flag
|
|
- set (EXEC_ARGS ${CC_ARG1} -E - -mtune=${GNUCC_ARCH})
|
|
- execute_process(COMMAND ${CMAKE_C_COMPILER} ${EXEC_ARGS}
|
|
- OUTPUT_QUIET ERROR_QUIET
|
|
- INPUT_FILE /dev/null
|
|
- RESULT_VARIABLE GNUCC_TUNE_TEST)
|
|
- if (NOT GNUCC_TUNE_TEST EQUAL 0)
|
|
- message(WARNING "Something went wrong determining gcc tune: -mtune=${GNUCC_ARCH} not valid, falling back to -mtune=native")
|
|
- set(TUNE_FLAG native)
|
|
+ if (CMAKE_SYSTEM_PROCESSOR MATCHES "arch64")
|
|
+ set(GNUCC_ARCH armv8)
|
|
+ set(TUNE_FLAG generic)
|
|
+ message(STATUS "gcc will tune for ${GNUCC_ARCH}, ${TUNE_FLAG}")
|
|
+ set(ARCH_C_FLAGS -march=armv8-a)
|
|
+ set(ARCH_CXX_FLAGS -march=armv8-a)
|
|
+ message(WARNING "Using armv8-a for arm64")
|
|
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "i686")
|
|
+ set(GNUCC_ARCH core2)
|
|
+ set(TUNE_FLAG generic)
|
|
+ message(STATUS "gcc will tune for ${GNUCC_ARCH}, ${TUNE_FLAG}")
|
|
+ set(ARCH_C_FLAGS -march=core2)
|
|
+ set(ARCH_CXX_FLAGS -march=core2)
|
|
+ message(WARNING "Using core2 for X86/X86_64")
|
|
else()
|
|
- set(TUNE_FLAG ${GNUCC_ARCH})
|
|
- message(STATUS "gcc will tune for ${GNUCC_ARCH}, ${TUNE_FLAG}")
|
|
+ # test the parsed flag
|
|
+ set (EXEC_ARGS ${CC_ARG1} -E - -mtune=${GNUCC_ARCH})
|
|
+ execute_process(COMMAND ${CMAKE_C_COMPILER} ${EXEC_ARGS}
|
|
+ OUTPUT_QUIET ERROR_QUIET
|
|
+ INPUT_FILE /dev/null
|
|
+ RESULT_VARIABLE GNUCC_TUNE_TEST)
|
|
+ if (NOT GNUCC_TUNE_TEST EQUAL 0)
|
|
+ message(WARNING "Something went wrong determining gcc tune: -mtune=${GNUCC_ARCH} not valid, falling back to -mtune=native")
|
|
+ set(TUNE_FLAG native)
|
|
+ else()
|
|
+ set(TUNE_FLAG ${GNUCC_ARCH})
|
|
+ message(STATUS "gcc will tune for ${GNUCC_ARCH}, ${TUNE_FLAG}")
|
|
+ endif()
|
|
endif()
|
|
elseif (CMAKE_COMPILER_IS_CLANG AND NOT CROSS_COMPILE)
|
|
if (ARCH_IA32 OR ARCH_X86_64)
|