Changeset View
Standalone View
Makefile.inc1
Show First 20 Lines • Show All 122 Lines • ▼ Show 20 Lines | |||||
.endif | .endif | ||||
.if ${TARGET} == "arm" | .if ${TARGET} == "arm" | ||||
.if ${TARGET_ARCH:Marmv[67]*} != "" && ${TARGET_CPUTYPE:M*soft*} == "" | .if ${TARGET_ARCH:Marmv[67]*} != "" && ${TARGET_CPUTYPE:M*soft*} == "" | ||||
TARGET_ABI= gnueabihf | TARGET_ABI= gnueabihf | ||||
.else | .else | ||||
TARGET_ABI= gnueabi | TARGET_ABI= gnueabi | ||||
.endif | .endif | ||||
.endif | .endif | ||||
OS_VERSION?= freebsd13.0 | |||||
imp: any way of getting this automatically? | |||||
jhbUnsubmitted Done Inline ActionsNot really, it's the version we are building as opposed to the build host, etc. We already have to bump this one when creating a new branch, this just centralizes it. I think Makefile.libcompat also hardcodes freebsd13 and it would be nice if we could fix that to use OS_VERSION as part of this change. jhb: Not really, it's the version we are building as opposed to the build host, etc. We already… | |||||
# See https://clang.llvm.org/docs/CrossCompilation.html#target-triple | |||||
MACHINE_VENDOR?= unknown | |||||
MACHINE_ABI?= unknown | MACHINE_ABI?= unknown | ||||
MACHINE_TRIPLE?=${MACHINE_ARCH:S/amd64/x86_64/:C/hf$//:S/mipsn32/mips64/}-${MACHINE_ABI}-freebsd13.0 | .if ${MACHINE_ABI} == "unknown" | ||||
MACHINE_TRIPLE?=${MACHINE_ARCH:S/amd64/x86_64/:C/hf$//:S/mipsn32/mips64/}-${MACHINE_VENDOR}-${OS_VERSION} | |||||
.else | |||||
MACHINE_TRIPLE?=${MACHINE_ARCH:S/amd64/x86_64/:C/hf$//:S/mipsn32/mips64/}-${MACHINE_VENDOR}-${OS_VERSION}-${MACHINE_ABI} | |||||
.endif | |||||
TARGET_VENDOR?= unknown | |||||
TARGET_ABI?= unknown | TARGET_ABI?= unknown | ||||
TARGET_TRIPLE?= ${TARGET_ARCH:S/amd64/x86_64/:C/hf$//:S/mipsn32/mips64/}-${TARGET_ABI}-freebsd13.0 | .if ${TARGET_ABI} == "unknown" | ||||
TARGET_TRIPLE?= ${TARGET_ARCH:S/amd64/x86_64/:C/hf$//:S/mipsn32/mips64/}-${TARGET_VENDOR}-${OS_VERSION} | |||||
impUnsubmitted Done Inline Actionsnot an objection, per-se, but an observation that these same transforms are used 4 times in an identical fasion. Any way to make that more common? imp: not an objection, per-se, but an observation that these same transforms are used 4 times in an… | |||||
jhbUnsubmitted Done Inline ActionsYou could have TARGET_TRIPLE_ARCH and MACHINE_TRIPLE_ARCH helper variables to at least cut it in half. jhb: You could have TARGET_TRIPLE_ARCH and MACHINE_TRIPLE_ARCH helper variables to at least cut it… | |||||
.else | |||||
TARGET_TRIPLE?= ${TARGET_ARCH:S/amd64/x86_64/:C/hf$//:S/mipsn32/mips64/}-${TARGET_VENDOR}-${OS_VERSION}-${TARGET_ABI} | |||||
.endif | |||||
Not Done Inline ActionsInternally llvm::Triple uses "environment" rather than "abi" because the last component can also contain suffixes like -elf to indicate the object format. If we were to use {TARGET,MACHINE}_TRIPLE_ENVIRONMENT (or {TARGET,MACHINE}_TRIPLE_ABI) instead, that would avoid conflicts with CheriBSD? arichardson: Internally llvm::Triple uses "environment" rather than "abi" because the last component can… | |||||
Done Inline ActionsThe problem with {TARGET,MACHINE}_ABI is that its use appears to be incorrect. Actually users wanted to use {TARGET,MACHINE}_VENDOR instead, when following "<arch><sub>-<vendor>-<sys>-<abi>" format. (note we don't have {TARGET,MACHINE}_SUB, we append it to {TARGET,MACHINE}_ARCH value) I like your proposal of having {TARGET,MACHINE}_TRIPLE_ENVIRONMENT to customize compiler target triple (like {TARGET,MACHINE}_TRIPLE the overrides everything) alfredo: The problem with {TARGET,MACHINE}_ABI is that its use appears to be incorrect. Actually users… | |||||
KNOWN_ARCHES?= aarch64/arm64 \ | KNOWN_ARCHES?= aarch64/arm64 \ | ||||
amd64 \ | amd64 \ | ||||
arm \ | arm \ | ||||
armv6/arm \ | armv6/arm \ | ||||
armv7/arm \ | armv7/arm \ | ||||
i386 \ | i386 \ | ||||
mips \ | mips \ | ||||
mipsel/mips \ | mipsel/mips \ | ||||
▲ Show 20 Lines • Show All 3,229 Lines • Show Last 20 Lines |
any way of getting this automatically?