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
#FEED_URIS_append += "unstable_cross##http://ipkg.nslu2-linux.org/feeds/ucslugc/cross/unstable"
#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
#----------------------------------------------------------------------------------