summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-09-14 21:17:59 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-09-14 21:17:59 (GMT)
commit60b0bb1bab1dca165c5d93c55f02b5da27719274 (patch)
treeee30a46b2e3cf1bc63ad7500b2b1051626e3dc66 /scripts
parentc0f4b573f8a334c3e946737920764831d5dc1e1f (diff)
Migrate all supported architectures to use the architecture-specific framework.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/build/libc_glibc.sh14
-rw-r--r--scripts/functions52
2 files changed, 23 insertions, 43 deletions
diff --git a/scripts/build/libc_glibc.sh b/scripts/build/libc_glibc.sh
index 37d0861..0fcb438 100644
--- a/scripts/build/libc_glibc.sh
+++ b/scripts/build/libc_glibc.sh
@@ -230,14 +230,7 @@ do_libc_start_files() {
else
extra_cc_args="${CT_CFLAGS_FOR_HOST}"
fi
- case "${CT_LIBC_EXTRA_CC_ARGS}" in
- *-mbig-endian*) ;;
- *-mlittle-endian*) ;;
- *) case "${CT_ARCH_BE},${CT_ARCH_LE}" in
- y,) extra_cc_args="${extra_cc_args} -mbig-endian";;
- ,y) extra_cc_args="${extra_cc_args} -mlittle-endian";;
- esac;;
- esac
+ extra_cc_args="${extra_cc_args} ${CT_ARCH_ENDIAN_OPT}"
cross_cc=`CT_Which "${CT_TARGET}-gcc"`
CT_DoLog DEBUG "Using gcc for target : \"${cross_cc}\""
@@ -340,10 +333,7 @@ do_libc() {
else
extra_cc_args="${CT_CFLAGS_FOR_HOST}"
fi
- case "${CT_ARCH_BE},${CT_ARCH_LE}" in
- y,) extra_cc_args="${extra_cc_args} -mbig-endian";;
- ,y) extra_cc_args="${extra_cc_args} -mlittle-endian";;
- esac
+ extra_cc_args="${extra_cc_args} ${CT_ARCH_ENDIAN_OPT}"
cross_cc=`CT_Which "${CT_TARGET}-gcc"`
CT_DoLog DEBUG "Using gcc for target : \"${cross_cc}\""
diff --git a/scripts/functions b/scripts/functions
index c6692a3..e5a338a 100644
--- a/scripts/functions
+++ b/scripts/functions
@@ -487,42 +487,32 @@ CT_DoConfigSub() {
# tuple. It is needed both by the normal build sequence, as well as the
# sample saving sequence.
CT_DoBuildTargetTuple() {
+ # Set the endianness suffix, and the default endianness gcc option
case "${CT_ARCH_BE},${CT_ARCH_LE}" in
- y,) target_endian_eb=eb; target_endian_el=;;
- ,y) target_endian_eb=; target_endian_el=el;;
- esac
- case "${CT_ARCH}" in
- arm) CT_TARGET="${CT_ARCH}${target_endian_eb}";;
- ia64) CT_TARGET="${CT_ARCH}";;
- mips) CT_TARGET="${CT_ARCH}${target_endian_el}";;
- x86*) # Much love for this one :-(
- arch="${CT_ARCH_ARCH}"
- [ -z "${arch}" ] && arch="${CT_ARCH_TUNE}"
- case "${CT_ARCH}" in
- x86_64) CT_TARGET=x86_64;;
- *) case "${arch}" in
- "") CT_TARGET=i386;;
- i386|i486|i586|i686) CT_TARGET="${arch}";;
- winchip*) CT_TARGET=i486;;
- pentium|pentium-mmx|c3*) CT_TARGET=i586;;
- nocona|athlon*64|k8|athlon-fx|opteron) CT_TARGET=x86_64;;
- pentiumpro|pentium*|athlon*) CT_TARGET=i686;;
- *) CT_TARGET=i586;;
- esac;;
- esac;;
+ y,) target_endian_eb=eb
+ target_endian_el=
+ CT_ARCH_ENDIAN_OPT="-mbig-endian"
+ ;;
+ ,y) target_endian_eb=
+ target_endian_el=el
+ CT_ARCH_ENDIAN_OPT="-mlittle-endian"
+ ;;
esac
- case "${CT_TARGET_VENDOR}" in
- "") CT_TARGET="${CT_TARGET}-unknown";;
- *) CT_TARGET="${CT_TARGET}-${CT_TARGET_VENDOR}";;
+
+ # Set defaults for the system part of the tuple. Can be overriden
+ # by architecture-specific values.
+ case "${CT_LIBC}" in
+ glibc) CT_TARGET_SYS=gnu;;
+ uClibc) CT_TARGET_SYS=uclibc;;
esac
+
+ # Call the architecture specific settings
+ CT_DoArchValues
+
case "${CT_KERNEL}" in
- linux*) CT_TARGET="${CT_TARGET}-linux";;
- esac
- case "${CT_LIBC}" in
- glibc) CT_TARGET="${CT_TARGET}-gnu";;
- uClibc) CT_TARGET="${CT_TARGET}-uclibc";;
+ linux*) CT_TARGET_KERNEL=linux;;
esac
- CT_TARGET=`CT_DoConfigSub "${CT_TARGET}"`
+ CT_TARGET=`CT_DoConfigSub "${CT_TARGET_ARCH}-${CT_TARGET_VENDOR:-unknown}-${CT_TARGET_KERNEL}-${CT_TARGET_SYS}"`
}
# This function does pause the build until the user strikes "Return"