summaryrefslogtreecommitdiff
path: root/scripts/build/arch
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2016-04-03 17:26:24 (GMT)
committerAlexey Neyman <stilor@att.net>2016-08-23 18:00:27 (GMT)
commit0fdc1887a7426bf7974f0ca6bb24815dff4a2997 (patch)
treed188e5a20d2deba7d516c648d8f9a3adb1a5ddc4 /scripts/build/arch
parent3ebc5d0c1e72e95f05a02818a3e2c642663d4b74 (diff)
Change multilib functions to set the variable.
Rather than echo-ing the new value, set the value into the variable with the name passed as an argument (similar to CT_SanitizeVarDir). This allows to use CT_DoLog in these functions. Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'scripts/build/arch')
-rw-r--r--scripts/build/arch/powerpc.sh31
-rw-r--r--scripts/build/arch/s390.sh16
-rw-r--r--scripts/build/arch/sparc.sh29
-rw-r--r--scripts/build/arch/x86.sh38
4 files changed, 69 insertions, 45 deletions
diff --git a/scripts/build/arch/powerpc.sh b/scripts/build/arch/powerpc.sh
index 964dd25..8015724 100644
--- a/scripts/build/arch/powerpc.sh
+++ b/scripts/build/arch/powerpc.sh
@@ -29,11 +29,12 @@ CT_DoArchTupleValues () {
#------------------------------------------------------------------------------
# Get multilib architecture-specific target
-# Usage: CT_DoArchMultilibTarget "multilib flags" "target tuple"
+# Usage: CT_DoArchMultilibTarget "target variable" "multilib flags"
CT_DoArchMultilibTarget ()
{
- local target="${1}"; shift
+ local target_var="${1}"; shift
local -a multi_flags=( "$@" )
+ local target_
local m32=false
local m64=false
@@ -49,22 +50,24 @@ CT_DoArchMultilibTarget ()
esac
done
+ eval target_=\"\${${target_var}}\"
+
# Fix up bitness
- case "${target}" in
- powerpc-*) $m64 && target=${target/#powerpc-/powerpc64-} ;;
- powerpcle-*) $m64 && target=${target/#powerpcle-/powerpc64le-} ;;
- powerpc64-*) $m32 && target=${target/#powerpc64-/powerpc-} ;;
- powerpc64le-*) $m32 && target=${target/#powerpc64le-/powerpcle-} ;;
+ case "${target_}" in
+ powerpc-*) $m64 && target_=${target_/#powerpc-/powerpc64-} ;;
+ powerpcle-*) $m64 && target_=${target_/#powerpcle-/powerpc64le-} ;;
+ powerpc64-*) $m32 && target_=${target_/#powerpc64-/powerpc-} ;;
+ powerpc64le-*) $m32 && target_=${target_/#powerpc64le-/powerpcle-} ;;
esac
# Fix up endianness
- case "${target}" in
- powerpc-*) $mlittle && target=${target/#powerpc-/powerpcle-} ;;
- powerpcle-*) $mbig && target=${target/#powerpcle-/powerpc-} ;;
- powerpc64-*) $mlittle && target=${target/#powerpc64-/powerpc64le-} ;;
- powerpc64le-*) $mbig && target=${target/#powerpc64le-/powerpc64-} ;;
+ case "${target_}" in
+ powerpc-*) $mlittle && target_=${target_/#powerpc-/powerpcle-} ;;
+ powerpcle-*) $mbig && target_=${target_/#powerpcle-/powerpc-} ;;
+ powerpc64-*) $mlittle && target_=${target_/#powerpc64-/powerpc64le-} ;;
+ powerpc64le-*) $mbig && target_=${target_/#powerpc64le-/powerpc64-} ;;
esac
- # return the target
- echo "${target}"
+ # Set the target variable
+ eval ${target_var}=\"${target_}\"
}
diff --git a/scripts/build/arch/s390.sh b/scripts/build/arch/s390.sh
index e303420..dff86a0 100644
--- a/scripts/build/arch/s390.sh
+++ b/scripts/build/arch/s390.sh
@@ -9,11 +9,12 @@ CT_DoArchTupleValues() {
#------------------------------------------------------------------------------
# Get multilib architecture-specific target
-# Usage: CT_DoArchMultilibTarget "multilib flags" "target tuple"
+# Usage: CT_DoArchMultilibTarget "target variable" "multilib flags"
CT_DoArchMultilibTarget ()
{
- local target="${1}"; shift
+ local target_var="${1}"; shift
local -a multi_flags=( "$@" )
+ local target_
local m31=false
local m64=false
@@ -25,11 +26,14 @@ CT_DoArchMultilibTarget ()
esac
done
+ eval target_=\"\${${target_var}}\"
+
# Fix bitness
- case "${target}" in
- s390-*) $m64 && target=${target/#s390-/s390x-} ;;
- s390x-*) $m31 && target=${target/#s390x-/s390-} ;;
+ case "${target_}" in
+ s390-*) $m64 && target_=${target_/#s390-/s390x-} ;;
+ s390x-*) $m31 && target_=${target_/#s390x-/s390-} ;;
esac
- echo "${target}"
+ # Set the target variable
+ eval ${target_var}=\"${target_}\"
}
diff --git a/scripts/build/arch/sparc.sh b/scripts/build/arch/sparc.sh
index 189cebe..15213a6 100644
--- a/scripts/build/arch/sparc.sh
+++ b/scripts/build/arch/sparc.sh
@@ -19,11 +19,12 @@ CT_DoArchTupleValues() {
#------------------------------------------------------------------------------
# Get multilib architecture-specific target
-# Usage: CT_DoArchMultilibTarget "multilib flags" "target tuple"
+# Usage: CT_DoArchMultilibTarget "target variable" "multilib flags"
CT_DoArchMultilibTarget ()
{
- local target="${1}"; shift
+ local target_var="${1}"; shift
local -a multi_flags=( "$@" )
+ local target_
local m32=false
local m64=false
@@ -35,29 +36,37 @@ CT_DoArchMultilibTarget ()
esac
done
+ eval target_=\"\${${target_var}}\"
+
# Fix up bitness
- case "${target}" in
- sparc-*) $m64 && target=${target/#sparc-/sparc64-} ;;
- sparc64-*) $m32 && target=${target/#sparc64-/sparc-} ;;
+ case "${target_}" in
+ sparc-*) $m64 && target_=${target_/#sparc-/sparc64-} ;;
+ sparc64-*) $m32 && target_=${target_/#sparc64-/sparc-} ;;
esac
- echo "${target}"
+ # Set the target variable
+ eval ${target_var}=\"${target_}\"
}
# Special tuple adjustment for glibc.
CT_DoArchGlibcAdjustTuple() {
- local target="${1}"
+ local target_var="${1}"
+ local target_
+
+ eval target_=\"\${${target_var}}\"
- case "${target}" in
+ case "${target_}" in
# SPARC quirk: glibc 2.23 and newer dropped support for SPARCv8 and
# earlier (corresponding pthread barrier code is missing). Until this
# support is reintroduced, configure as sparcv9.
sparc-*)
if [ "${CT_LIBC_GLIBC_2_23_or_later}" = y ]; then
- target=${target/#sparc-/sparcv9-}
+ CT_DoLog WARN "GLIBC 2.23 only supports SPARCv9"
+ target_=${target_/#sparc-/sparcv9-}
fi
;;
esac
- echo "${target}"
+ # Set the target variable
+ eval ${target_var}=\"${target_}\"
}
diff --git a/scripts/build/arch/x86.sh b/scripts/build/arch/x86.sh
index 0e41d67..5147678 100644
--- a/scripts/build/arch/x86.sh
+++ b/scripts/build/arch/x86.sh
@@ -35,11 +35,12 @@ CT_DoArchTupleValues() {
#------------------------------------------------------------------------------
# Get multilib architecture-specific target
-# Usage: CT_DoArchMultilibTarget "multilib flags" "target tuple"
+# Usage: CT_DoArchMultilibTarget "target variable" "multilib flags"
CT_DoArchMultilibTarget ()
{
- local target="${1}"; shift
+ local target_var="${1}"; shift
local -a multi_flags=( "$@" )
+ local target_
local bit32=false
local bit64=false
@@ -54,26 +55,32 @@ CT_DoArchMultilibTarget ()
esac
done
+ eval target_=\"\${${target_var}}\"
+
# Fix up architecture.
- case "${target}" in
- x86_64-*) $bit32 && target=${target/#x86_64-/i386-} ;;
- i[34567]86-*) $bit64 && target=${target/#i[34567]86-/x86_64-} ;;
+ case "${target_}" in
+ x86_64-*) $bit32 && target_=${target_/#x86_64-/i386-} ;;
+ i[34567]86-*) $bit64 && target_=${target_/#i[34567]86-/x86_64-} ;;
esac
# Fix up the ABI part.
- case "${target}" in
- *x32) $abi_dflt && target=${target/%x32} ;;
- *) $abi_x32 && target=${target}x32 ;;
+ case "${target_}" in
+ *x32) $abi_dflt && target_=${target_/%x32} ;;
+ *) $abi_x32 && target_=${target_}x32 ;;
esac
- echo "${target}"
+ # Set the target variable
+ eval ${target_var}=\"${target_}\"
}
# Adjust target tuple for GLIBC
CT_DoArchGlibcAdjustTuple() {
- local target="${1}"
+ local target_var="${1}"
+ local target_
+
+ eval target_=\"\${${target_var}}\"
- case "${target}" in
+ case "${target_}" in
# x86 quirk: architecture name is i386, but glibc expects i[4567]86 - to
# indicate the desired optimization. If it was a multilib variant of x86_64,
# then it targets at least NetBurst a.k.a. i786, but we'll follow the model
@@ -81,14 +88,15 @@ CT_DoArchGlibcAdjustTuple() {
# conservative choice, i486.
i386-*)
if [ "${CT_TARGET_ARCH}" = "x86_64" ]; then
- target=${target/#i386-/i686-}
+ target_=${target_/#i386-/i686-}
elif [ "${CT_TARGET_ARCH}" != "i386" ]; then
- target=${target/#i386-/${CT_TARGET_ARCH}-}
+ target_=${target_/#i386-/${CT_TARGET_ARCH}-}
else
- target=${target/#i386-/i486-}
+ target_=${target_/#i386-/i486-}
fi
;;
esac
- echo "${target}"
+ # Set the target variable
+ eval ${target_var}=\"${target_}\"
}