mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 14:26:09 +03:00
build: Support -mcpu= on ARM and ARM64
This commit is contained in:
parent
101e5b42ba
commit
e7f307a72b
@ -37,6 +37,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 = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
# For lacros build, we use ARM v8 by default.
|
# For lacros build, we use ARM v8 by default.
|
||||||
@ -130,6 +132,9 @@ if (current_cpu == "arm" || v8_current_cpu == "arm") {
|
|||||||
# arm64 supports only "hard".
|
# arm64 supports only "hard".
|
||||||
arm_float_abi = "hard"
|
arm_float_abi = "hard"
|
||||||
arm_use_neon = true
|
arm_use_neon = true
|
||||||
|
declare_args() {
|
||||||
|
arm_cpu = ""
|
||||||
|
}
|
||||||
declare_args() {
|
declare_args() {
|
||||||
# Enables the new Armv8 branch protection features. Valid strings are:
|
# Enables the new Armv8 branch protection features. Valid strings are:
|
||||||
# - "pac": Enables Pointer Authentication Code (PAC, featured in Armv8.3)
|
# - "pac": Enables Pointer Authentication Code (PAC, featured in Armv8.3)
|
||||||
|
@ -832,9 +832,13 @@ config("compiler") {
|
|||||||
# TODO(pcc): The contents of .ARM.attributes should be based on the
|
# TODO(pcc): The contents of .ARM.attributes should be based on the
|
||||||
# -march flag passed at compile time (see llvm.org/pr36291).
|
# -march flag passed at compile time (see llvm.org/pr36291).
|
||||||
if (current_cpu == "arm") {
|
if (current_cpu == "arm") {
|
||||||
|
if (arm_cpu != "") {
|
||||||
|
ldflags += [ "-mcpu=$arm_cpu" ]
|
||||||
|
} else {
|
||||||
ldflags += [ "-march=$arm_arch" ]
|
ldflags += [ "-march=$arm_arch" ]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (compiler_timing) {
|
if (compiler_timing) {
|
||||||
if (is_clang && !is_nacl) {
|
if (is_clang && !is_nacl) {
|
||||||
@ -1181,9 +1185,14 @@ config("compiler_cpu_abi") {
|
|||||||
}
|
}
|
||||||
if (!is_nacl) {
|
if (!is_nacl) {
|
||||||
cflags += [
|
cflags += [
|
||||||
"-march=$arm_arch",
|
|
||||||
"-mfloat-abi=$arm_float_abi",
|
"-mfloat-abi=$arm_float_abi",
|
||||||
]
|
]
|
||||||
|
if (arm_cpu != "") {
|
||||||
|
cflags += [ "-mcpu=$arm_cpu" ]
|
||||||
|
} else {
|
||||||
|
cflags += [ "-march=$arm_arch" ]
|
||||||
|
}
|
||||||
|
ldflags += [ "-mfloat-abi=$arm_float_abi" ]
|
||||||
}
|
}
|
||||||
if (arm_tune != "") {
|
if (arm_tune != "") {
|
||||||
cflags += [ "-mtune=$arm_tune" ]
|
cflags += [ "-mtune=$arm_tune" ]
|
||||||
@ -1194,6 +1203,9 @@ config("compiler_cpu_abi") {
|
|||||||
cflags += [ "--target=aarch64-linux-gnu" ]
|
cflags += [ "--target=aarch64-linux-gnu" ]
|
||||||
ldflags += [ "--target=aarch64-linux-gnu" ]
|
ldflags += [ "--target=aarch64-linux-gnu" ]
|
||||||
}
|
}
|
||||||
|
if (arm_cpu != "") {
|
||||||
|
cflags += [ "-mcpu=$arm_cpu" ]
|
||||||
|
}
|
||||||
} else if (current_cpu == "mipsel" && !is_nacl) {
|
} else if (current_cpu == "mipsel" && !is_nacl) {
|
||||||
ldflags += [ "-Wl,--hash-style=sysv" ]
|
ldflags += [ "-Wl,--hash-style=sysv" ]
|
||||||
if (custom_toolchain == "") {
|
if (custom_toolchain == "") {
|
||||||
|
Loading…
Reference in New Issue
Block a user