summaryrefslogtreecommitdiff
path: root/conf
diff options
context:
space:
mode:
authorJohn Bowler <jbowler@nslu2-linux.org>2005-08-11 20:51:17 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-08-11 20:51:17 +0000
commit2c071abeee8f883ee38e4de0e0370a8816486894 (patch)
treefca59a77ad34a1facc8dcb0c4a3de2cb1b374b70 /conf
parent5d0228c596f8ff96033c23258eadbb14de8aa094 (diff)
Set -mthumb-interwork on ucslugc builds to allow building (and maybe
someday running) of thumb exectuables.
Diffstat (limited to 'conf')
-rw-r--r--conf/distro/ucslugc.conf31
1 files changed, 29 insertions, 2 deletions
diff --git a/conf/distro/ucslugc.conf b/conf/distro/ucslugc.conf
index 7eb8e2f9ad..bb383b8a66 100644
--- a/conf/distro/ucslugc.conf
+++ b/conf/distro/ucslugc.conf
@@ -18,8 +18,13 @@ USE_NLS_glib-2.0 = "yes"
INHERIT += " package_ipk debian nslu2_flashimg"
# The OVERRIDES are modified here so that 'openslug' overrides are picked up if
-# present (ucslugc overrides take precedence)
-OVERRIDES = "local:${MACHINE}:${DISTRO}:openslug:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}"
+# present (ucslugc overrides take precedence), 'thumb' is used to factor out
+# things where a pack assumes that an arm target implies 32 bit instruction
+# support with no attention to thumb/arm mode (it indicates a bug if it is
+# necessary to use this).
+#NSLU2_THUMB_OVERRIDE = ":thumb"
+NSLU2_THUMB_OVERRIDE = ""
+OVERRIDES = "local:${MACHINE}:${DISTRO}:openslug:${TARGET_OS}${NSLU2_THUMB_OVERRIDE}:${TARGET_ARCH}:build-${BUILD_OS}"
# NOTE: to build new packages set UCSLUGC_EXTRA_BBFILES to the full path name to
# the .bb files for the packages to build - see ucslugc-packages.conf in this
@@ -46,6 +51,28 @@ FEED_URIS_append += "native##http://ipkg.nslu2-linux.org/feeds/ucslugc/native/${
#FEED_URIS_append += "unstable_native##http://ipkg.nslu2-linux.org/feeds/ucslugc/native/unstable"
#----------------------------------------------------------------------------------
+# OVERALL BUILD OPTIONS
+#----------------------------------------------------------------------------------
+#
+# TARGET_CC_ARCH is used to provide architecture specific definitions to the C
+# compiler. For target compilation it is part of "CC" - not part of "CFLAGS" -
+# in the hope that individual package builds will therefore not circumvent it
+# (this doesn't always work, but it is more reliable than a simple setting of
+# CFLAGS values).
+#
+# For UcSlugC the architecture value used is based on the standard NSLU2 value,
+# however it selects both thumb interwork and thumb code generation to minimise
+# build size. The distro allows the choice of thumb or arm code to be overridden
+# on a per-package basis by setting NSLU2_THUMB (to empty) in the package .bb file.
+# See also the 'override' above.
+#NSLU2_THUMB = "-mthumb"
+NSLU2_THUMB = ""
+TARGET_CC_ARCH = "-march=armv5te -mtune=xscale -mthumb-interwork ${NSLU2_THUMB}"
+TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale -mno-thumb-interwork -mno-thumb"
+TARGET_LD_ARCH = ""
+TARGET_LD_KERNEL_ARCH = ""
+
+#----------------------------------------------------------------------------------
# FIRMWARE CONFIGURATION
#----------------------------------------------------------------------------------
# IMAGE BUILD OPTIONS