aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--conf/distro/include/angstrom.inc3
-rw-r--r--conf/distro/include/kaeilos.inc3
-rw-r--r--conf/distro/include/slugos.inc9
-rw-r--r--conf/distro/minimal-uclibc.conf1
-rw-r--r--conf/distro/minimal.conf1
-rw-r--r--recipes/uclibc/uclibc-config.inc6
6 files changed, 19 insertions, 4 deletions
diff --git a/conf/distro/include/angstrom.inc b/conf/distro/include/angstrom.inc
index f13cc2223d..3ba94fa02a 100644
--- a/conf/distro/include/angstrom.inc
+++ b/conf/distro/include/angstrom.inc
@@ -204,3 +204,6 @@ DISTRO_FEATURES = "largefile ipv4 ipv6 nfs smbfs wifi ppp alsa bluetooth ext2 vf
# Use-like features
DISTRO_FEATURES += "tk"
+
+# Add thumb-interwork to feature list if selected machine supports it.
+DISTRO_FEATURES += ' ${@["", "thumb-interwork"][bb.data.getVar('THUMB_INTERWORK', d, 1) == "yes"]}'
diff --git a/conf/distro/include/kaeilos.inc b/conf/distro/include/kaeilos.inc
index bdc4aadc87..edbad69990 100644
--- a/conf/distro/include/kaeilos.inc
+++ b/conf/distro/include/kaeilos.inc
@@ -214,3 +214,6 @@ DISTRO_FEATURES = "nfs smbfs wifi ppp alsa bluetooth ext2 vfat irda pcmcia usbga
# Use-like features
DISTRO_FEATURES += "tk"
+
+# Add thumb-interwork to feature list if selected machine supports it.
+DISTRO_FEATURES += ' ${@["", "thumb-interwork"][bb.data.getVar('THUMB_INTERWORK', d, 1) == "yes"]}'
diff --git a/conf/distro/include/slugos.inc b/conf/distro/include/slugos.inc
index 807d45de61..8d53ffc0ec 100644
--- a/conf/distro/include/slugos.inc
+++ b/conf/distro/include/slugos.inc
@@ -23,9 +23,18 @@ DISTRO_VERSION ?= "${SLUGOS_VERSION}${DISTRO_REVISION}-${DISTRO_TYPE}"
# DISTRO_FEED ?= "${SLUGOS_VERSION}-${DISTRO_TYPE}"
DISTRO_FEED ?= "unstable"
+THUMB_INTERWORK = "yes"
+# "yes" "no"
+# Whether to compile with code to allow interworking between the two
+# instruction sets. This allows thumb code to be executed on a primarily
+# arm system and vice versa. It is strongly recommended that DISTROs not
+# turn this off - the actual cost is very small.
# We want images supporting the following features (for task-base)
DISTRO_FEATURES = "nfs smbfs wifi ppp alsa bluetooth ext2 vfat irda pcmcia usbgadget usbhost pci"
+# Add thumb-interwork to feature list if selected machine supports it.
+DISTRO_FEATURES += ' ${@["", "thumb-interwork"][bb.data.getVar('THUMB_INTERWORK', d, 1) == "yes"]}'
+
IMAGE_BASENAME = "${@['slugos${SITEINFO_ENDIANESS}', 'ucslugc'][bb.data.getVar('TARGET_OS', d, 1) == 'linux-uclibc']}"
# The following need not be set, the defaults should be adequate
diff --git a/conf/distro/minimal-uclibc.conf b/conf/distro/minimal-uclibc.conf
index 44805cf9c3..287d6de2b4 100644
--- a/conf/distro/minimal-uclibc.conf
+++ b/conf/distro/minimal-uclibc.conf
@@ -44,3 +44,4 @@ DISTRO_FEATURES += "pam"
DISTRO_FEATURES += "largefile"
# glib-2.0 nneds ipv6 and there is no knob to control it
DISTRO_FEATURES += "ipv4 ipv6"
+DISTRO_FEATURES += ' ${@["", "thumb-interwork"][bb.data.getVar('THUMB_INTERWORK', d, 1) == "yes"]}'
diff --git a/conf/distro/minimal.conf b/conf/distro/minimal.conf
index 9a081309e1..5fbbc33585 100644
--- a/conf/distro/minimal.conf
+++ b/conf/distro/minimal.conf
@@ -33,6 +33,7 @@ DISTRO_FEATURES += "eabi"
# or higher
DISTRO_FEATURES += "mplt"
+DISTRO_FEATURES += ' ${@["", "thumb-interwork"][bb.data.getVar('THUMB_INTERWORK', d, 1) == "yes"]}'
#############################################################################
# LIBRARY NAMES
diff --git a/recipes/uclibc/uclibc-config.inc b/recipes/uclibc/uclibc-config.inc
index 5a6fbe82e9..ef4385ed4f 100644
--- a/recipes/uclibc/uclibc-config.inc
+++ b/recipes/uclibc/uclibc-config.inc
@@ -94,10 +94,8 @@ def uclibc_cfg(feature, features, tokens, cnf, rem):
# Map distro and machine features to config settings
def features_to_uclibc_settings(d):
cnf, rem = ([], [])
- distro_features = bb.data.getVar('DISTRO_FEATURES', d).split()
- if bb.data.getVar('THUMB_INTERWORKING', d, 1) == "yes":
- distro_features += "thumb-interworking"
- #machine_features = bb.data.getVar('MACHINE_FEATURES', d).split()
+ distro_features = bb.data.getVar('DISTRO_FEATURES', d, True).split()
+ #machine_features = bb.data.getVar('MACHINE_FEATURES', d, True).split()
uclibc_cfg('ipv4', distro_features, 'UCLIBC_HAS_IPV4', cnf, rem)
uclibc_cfg('ipv6', distro_features, 'UCLIBC_HAS_IPV6', cnf, rem)
uclibc_cfg('largefile', distro_features, 'UCLIBC_HAS_LFS', cnf, rem)