summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-11-07 08:09:42 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-11-07 08:09:42 (GMT)
commitf9f70c5ad6115b6b65c8ea18a054a3619f4891e9 (patch)
treebfa33e26122af9a19bf8c02db102c4458615de48
parent15d657ce4e82ba273b27bc154cfdb7bd4bc470d5 (diff)
Do not autodetect 64-bit archs, have them tell be 'select'-ing ARCH_64 in the configuration.
/trunk/scripts/crosstool.sh | 12 5 7 0 +++++------- /trunk/docs/overview.txt | 6 6 0 0 ++++++ /trunk/config/target.in | 4 4 0 0 ++++ /trunk/config/arch/x86_64.in | 1 1 0 0 + /trunk/config/arch/ia64.in | 1 1 0 0 + 5 files changed, 17 insertions(+), 7 deletions(-)
-rw-r--r--config/arch/ia64.in1
-rw-r--r--config/arch/x86_64.in1
-rw-r--r--config/target.in4
-rw-r--r--docs/overview.txt6
-rwxr-xr-xscripts/crosstool.sh12
5 files changed, 17 insertions, 7 deletions
diff --git a/config/arch/ia64.in b/config/arch/ia64.in
index ad0d9fd..f893d28 100644
--- a/config/arch/ia64.in
+++ b/config/arch/ia64.in
@@ -2,6 +2,7 @@
# EXPERIMENTAL
config ARCH_ia64
+ select ARCH_64
select ARCH_SUPPORTS_BOTH_ENDIAN
help
The ia64 architecture, as defined by:
diff --git a/config/arch/x86_64.in b/config/arch/x86_64.in
index 83b6e83..9e3f5d0 100644
--- a/config/arch/x86_64.in
+++ b/config/arch/x86_64.in
@@ -1,6 +1,7 @@
# x86_64 specific options
config ARCH_x86_64
+ select ARCH_64
select ARCH_SUPPORT_ARCH
select ARCH_SUPPORT_CPU
select ARCH_SUPPORT_TUNE
diff --git a/config/target.in b/config/target.in
index 60881ce..da6a13c 100644
--- a/config/target.in
+++ b/config/target.in
@@ -5,6 +5,10 @@ menu "Target options"
config ARCH
string
+config ARCH_64
+ bool
+ default n
+
# Pre-declare target optimisation variables
config ARCH_SUPPORT_ARCH
config ARCH_SUPPORT_ABI
diff --git a/docs/overview.txt b/docs/overview.txt
index 743592c..92af992 100644
--- a/docs/overview.txt
+++ b/docs/overview.txt
@@ -565,12 +565,18 @@ The architecture's ".in" file API:
The ARM architecture.
+ optional:
selects adequate associated config options.
+ Note: 64-bit architectures *shall* select ARCH_64
Eg.:
config ARCH_arm
select ARCH_SUPPORTS_BOTH_ENDIAN
select ARCH_DEFAULT_LE
help
The ARM architecture.
+ Eg.:
+ config ARCH_x86_64
+ select ARCH_64
+ help
+ The x86_64 architecture.
> other target-specific options, at your discretion. Note however that to
avoid name-clashing, such options shall be prefixed with "ARCH_%arch%",
diff --git a/scripts/crosstool.sh b/scripts/crosstool.sh
index 599fa8a..3438655 100755
--- a/scripts/crosstool.sh
+++ b/scripts/crosstool.sh
@@ -267,13 +267,11 @@ if [ -z "${CT_RESTART}" ]; then
# Now, in case we're 64 bits, just have lib64/ be a symlink to lib/
# so as to have all libraries in the same directory (we can do that
# because we are *not* multilib).
- case "${CT_TARGET}" in
- powerpc64*|ppc64*|x86_64*)
- ln -sf "lib" "${CT_SYSROOT_DIR}/lib64"
- ln -sf "lib" "${CT_SYSROOT_DIR}/usr/lib64"
- ln -sf "sys-root/lib" "${CT_PREFIX_DIR}/${CT_TARGET}/lib64"
- ;;
- esac
+ if [ "${CT_ARCH_64}" = "y" ]; then
+ ln -sf "lib" "${CT_SYSROOT_DIR}/lib64"
+ ln -sf "lib" "${CT_SYSROOT_DIR}/usr/lib64"
+ ln -sf "sys-root/lib" "${CT_PREFIX_DIR}/${CT_TARGET}/lib64"
+ fi
# Canadian-cross are really picky on the way they are built. Tweak the values.
CT_UNIQ_BUILD=$(echo "${CT_BUILD}" |sed -r -e 's/-/-build_/')