build: Support ARM -mcpu= flag

This commit is contained in:
klzgrad 2020-05-19 23:42:14 +08:00
parent f08e8be7cd
commit 6ea200c1dc
2 changed files with 8 additions and 2 deletions

View File

@ -41,6 +41,8 @@ if (current_cpu == "arm" || v8_current_cpu == "arm") {
# Thumb is a reduced instruction set available on some ARM processors that # Thumb is a reduced instruction set available on some ARM processors that
# has increased code density. # has increased code density.
arm_use_thumb = true arm_use_thumb = true
arm_cpu = ""
} }
assert(arm_float_abi == "" || arm_float_abi == "hard" || assert(arm_float_abi == "" || arm_float_abi == "hard" ||

View File

@ -762,7 +762,7 @@ config("compiler_cpu_abi") {
] ]
} }
} else if (current_cpu == "arm") { } else if (current_cpu == "arm") {
if (is_clang && !is_android && !is_nacl) { if (is_clang && !is_android && !is_nacl && custom_toolchain == "") {
cflags += [ "--target=arm-linux-gnueabihf" ] cflags += [ "--target=arm-linux-gnueabihf" ]
ldflags += [ "--target=arm-linux-gnueabihf" ] ldflags += [ "--target=arm-linux-gnueabihf" ]
} }
@ -771,12 +771,16 @@ config("compiler_cpu_abi") {
"-march=$arm_arch", "-march=$arm_arch",
"-mfloat-abi=$arm_float_abi", "-mfloat-abi=$arm_float_abi",
] ]
if (arm_cpu != "") {
cflags += [ "-mcpu=$arm_cpu" ]
}
ldflags += [ "-mfloat-abi=$arm_float_abi" ]
} }
if (arm_tune != "") { if (arm_tune != "") {
cflags += [ "-mtune=$arm_tune" ] cflags += [ "-mtune=$arm_tune" ]
} }
} else if (current_cpu == "arm64") { } else if (current_cpu == "arm64") {
if (is_clang && !is_android && !is_nacl && !is_fuchsia) { if (is_clang && !is_android && !is_nacl && !is_fuchsia && custom_toolchain == "") {
cflags += [ "--target=aarch64-linux-gnu" ] cflags += [ "--target=aarch64-linux-gnu" ]
ldflags += [ "--target=aarch64-linux-gnu" ] ldflags += [ "--target=aarch64-linux-gnu" ]
} }