mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-06-14 21:38:16 +00:00
arch: allow adding a suffix to the arch-part of a tuple
For some architectures, it is legit to have an alternate value in the 'architecture' part of the tuple. For example: armv5te-* armv7a8-* Besides, some packages expect the tuple to reflect the arch variant (eg. openMPI) to detect the variant's capabilities (eg. atomic primitives). This patch adds an option for the user to specify a suffix to be added to the arch-part of the tuple. Signed-off-by: Willy Tarreau <w@1wt.eu> Message-ID: <20130120225822.GS6838@1wt.eu> Patch-Id: 213994 [yann.morin.1998@free.fr: make it a suffix, not an override] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
This commit is contained in:
committed by
willy tarreau
parent
d82f1c6f2a
commit
150f500426
@ -41,6 +41,21 @@ config TARGET_LDFLAGS
|
|||||||
|
|
||||||
source "config.gen/arch.in"
|
source "config.gen/arch.in"
|
||||||
|
|
||||||
|
config ARCH_SUFFIX
|
||||||
|
string
|
||||||
|
prompt "Suffix to the arch-part"
|
||||||
|
help
|
||||||
|
Some architectures have multiple variants and being able to specify
|
||||||
|
the variant instead of the arch is quite convenient. This is commonly
|
||||||
|
seen for instance when "armv5tel-" is used as a prefix instead of the
|
||||||
|
more generic "arm-", or with "alphaev6-" instead of "alpha-".
|
||||||
|
|
||||||
|
Whatever you enter here will be appended to the architecture-part of the
|
||||||
|
tuple, just before the first '-'. It will override any architecture-
|
||||||
|
specific suffix that crosstool-NG may compute.
|
||||||
|
|
||||||
|
If you are not sure about what this is, leave it blank.
|
||||||
|
|
||||||
#--------------------------------------
|
#--------------------------------------
|
||||||
comment "Generic target options"
|
comment "Generic target options"
|
||||||
|
|
||||||
|
@ -2,5 +2,5 @@
|
|||||||
|
|
||||||
CT_DoArchTupleValues () {
|
CT_DoArchTupleValues () {
|
||||||
# The architecture part of the tuple:
|
# The architecture part of the tuple:
|
||||||
CT_TARGET_ARCH="${CT_ARCH}${CT_ARCH_ALPHA_VARIANT}"
|
CT_TARGET_ARCH="${CT_ARCH}${CT_ARCH_SUFFIX:-${CT_ARCH_ALPHA_VARIANT}}"
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
CT_DoArchTupleValues() {
|
CT_DoArchTupleValues() {
|
||||||
# The architecture part of the tuple:
|
# The architecture part of the tuple:
|
||||||
CT_TARGET_ARCH="${CT_ARCH}${target_endian_eb}"
|
CT_TARGET_ARCH="${CT_ARCH}${CT_ARCH_SUFFIX:-${target_endian_eb}}"
|
||||||
|
|
||||||
# The system part of the tuple:
|
# The system part of the tuple:
|
||||||
case "${CT_LIBC},${CT_ARCH_ARM_EABI}" in
|
case "${CT_LIBC},${CT_ARCH_ARM_EABI}" in
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
# Compute AVR32-specific values
|
# Compute AVR32-specific values
|
||||||
|
|
||||||
CT_DoArchTupleValues() {
|
CT_DoArchTupleValues() {
|
||||||
# The architecture part of the tuple:
|
|
||||||
CT_TARGET_ARCH="${CT_ARCH}"
|
|
||||||
|
|
||||||
# gcc ./configure flags
|
# gcc ./configure flags
|
||||||
CT_ARCH_WITH_ARCH=
|
CT_ARCH_WITH_ARCH=
|
||||||
CT_ARCH_WITH_ABI=
|
CT_ARCH_WITH_ABI=
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
CT_DoArchTupleValues() {
|
CT_DoArchTupleValues() {
|
||||||
# The architecture part of the tuple:
|
# The architecture part of the tuple:
|
||||||
CT_TARGET_ARCH="bfin"
|
CT_TARGET_ARCH="bfin${CT_ARCH_SUFFIX}"
|
||||||
|
|
||||||
# gcc ./configure flags
|
# gcc ./configure flags
|
||||||
CT_ARCH_WITH_ARCH=
|
CT_ARCH_WITH_ARCH=
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
CT_DoArchTupleValues () {
|
CT_DoArchTupleValues () {
|
||||||
# The architecture part of the tuple:
|
# The architecture part of the tuple:
|
||||||
CT_TARGET_ARCH="${CT_ARCH}${target_endian_el}"
|
CT_TARGET_ARCH="${CT_ARCH}${CT_ARCH_SUFFIX:-${target_endian_el}}"
|
||||||
|
|
||||||
# gcc ./configure flags
|
# gcc ./configure flags
|
||||||
CT_ARCH_WITH_ARCH=
|
CT_ARCH_WITH_ARCH=
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
# Compute MIPS-specific values
|
# Compute MIPS-specific values
|
||||||
|
|
||||||
CT_DoArchTupleValues() {
|
CT_DoArchTupleValues() {
|
||||||
# The architecture part of the tuple, override only for 64-bit
|
local _64
|
||||||
|
|
||||||
|
# The architecture part of the tuple
|
||||||
if [ "${CT_ARCH_64}" = "y" ]; then
|
if [ "${CT_ARCH_64}" = "y" ]; then
|
||||||
CT_TARGET_ARCH="mips64${target_endian_el}"
|
_64="64"
|
||||||
else
|
|
||||||
# The architecture part of the tuple:
|
|
||||||
CT_TARGET_ARCH="${CT_ARCH}${target_endian_el}"
|
|
||||||
fi
|
fi
|
||||||
|
CT_TARGET_ARCH="${CT_ARCH}${_64}${CT_ARCH_SUFFIX:-${target_endian_el}}"
|
||||||
|
|
||||||
# Override CFLAGS for endianness:
|
# Override CFLAGS for endianness:
|
||||||
case "${CT_ARCH_ENDIAN}" in
|
case "${CT_ARCH_ENDIAN}" in
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
CT_DoArchTupleValues () {
|
CT_DoArchTupleValues () {
|
||||||
# The architecture part of the tuple, override only for 64-bit
|
# The architecture part of the tuple, override only for 64-bit
|
||||||
if [ "${CT_ARCH_64}" = "y" ]; then
|
if [ "${CT_ARCH_64}" = "y" ]; then
|
||||||
CT_TARGET_ARCH="powerpc64"
|
CT_TARGET_ARCH="powerpc64${CT_ARCH_SUFFIX}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Only override values when ABI is not the default
|
# Only override values when ABI is not the default
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
CT_DoArchTupleValues() {
|
CT_DoArchTupleValues() {
|
||||||
# That's the only thing to override
|
# That's the only thing to override
|
||||||
if [ "${CT_ARCH_64}" = "y" ]; then
|
if [ "${CT_ARCH_64}" = "y" ]; then
|
||||||
CT_TARGET_ARCH="s390x"
|
CT_TARGET_ARCH="s390x${CT_ARCH_SUFFIX}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
CT_DoArchTupleValues () {
|
CT_DoArchTupleValues () {
|
||||||
# The architecture part of the tuple:
|
# The architecture part of the tuple:
|
||||||
CT_TARGET_ARCH="${CT_ARCH_SH_VARIANT}${target_endian_eb}"
|
CT_TARGET_ARCH="${CT_ARCH_SH_VARIANT}${CT_ARCH_SUFFIX:-${target_endian_eb}}"
|
||||||
|
|
||||||
# gcc ./configure flags
|
# gcc ./configure flags
|
||||||
CT_ARCH_WITH_ARCH=
|
CT_ARCH_WITH_ARCH=
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
CT_DoArchTupleValues() {
|
CT_DoArchTupleValues() {
|
||||||
# That's the only thing to override
|
# That's the only thing to override
|
||||||
if [ "${CT_ARCH_64}" = "y" ]; then
|
if [ "${CT_ARCH_64}" = "y" ]; then
|
||||||
CT_TARGET_ARCH="${CT_ARCH}64"
|
CT_TARGET_ARCH="sparc64${CT_ARCH_SUFFIX}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
# This one really needs a little love! :-(
|
# This one really needs a little love! :-(
|
||||||
|
|
||||||
CT_DoArchTupleValues() {
|
CT_DoArchTupleValues() {
|
||||||
|
|
||||||
# Override the architecture part of the tuple:
|
# Override the architecture part of the tuple:
|
||||||
if [ "${CT_ARCH_64}" = "y" ]; then
|
if [ "${CT_ARCH_64}" = "y" ]; then
|
||||||
CT_TARGET_ARCH=x86_64
|
CT_TARGET_ARCH=x86_64
|
||||||
@ -20,4 +19,5 @@ CT_DoArchTupleValues() {
|
|||||||
*) CT_TARGET_ARCH=i586;;
|
*) CT_TARGET_ARCH=i586;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
CT_TARGET_ARCH="${CT_TARGET_ARCH}${CT_ARCH_SUFFIX}"
|
||||||
}
|
}
|
||||||
|
@ -1121,7 +1121,7 @@ CT_DoBuildTargetTuple() {
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
# Build the default architecture tuple part
|
# Build the default architecture tuple part
|
||||||
CT_TARGET_ARCH="${CT_ARCH}"
|
CT_TARGET_ARCH="${CT_ARCH}${CT_ARCH_SUFFIX}"
|
||||||
|
|
||||||
# Set defaults for the system part of the tuple. Can be overriden
|
# Set defaults for the system part of the tuple. Can be overriden
|
||||||
# by architecture-specific values.
|
# by architecture-specific values.
|
||||||
|
Reference in New Issue
Block a user