angstrom: Leverage oe-core configurations when possible
tclibc-* files also get included via bibake.conf so we dont need to
include them here and it also means that we dont append to OVERRIDES n
number of times the inclusions happen
${TCLIBC}.inc files are really unused so delete them and move
interesting content from uclibc.inc to angstrom-uclibc.inc
Set SOC_FAMILY to be empty if not set. Setting it to 'Unknown'
adds Unknown to OVERRIDES which we should avoid.
Adjust MACHINEOVERRIDES to account for empty SOC_FAMILY
No need to pin webkit-gtk and cairo to armv4t it works fine
without it.
thumb-interwork is already available in OVERRIDES via
tune features from OE core so we dont add it to DISTRO_FEATURES
arm-thumb.inc is unused, delete it whatever it provided is
already available through tune features
No need to set THUMB_INTERWORK, machine confs know it better now
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
This commit is contained in:
@@ -158,7 +158,6 @@ require conf/distro/include/angstrom.inc
|
||||
|
||||
# Toolchain virtuals:
|
||||
require conf/distro/include/toolchain-${TOOLCHAIN_TYPE}.inc
|
||||
require conf/distro/include/arm-thumb.inc
|
||||
|
||||
# Set DISTRO_FEED_CONFIGS to our config var, assigned in the above .inc
|
||||
DISTRO_FEED_CONFIGS = "${ANGSTROM_FEED_CONFIGS}"
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
# eglibc:
|
||||
require conf/distro/include/tclibc-eglibc.inc
|
||||
|
||||
ANGSTROM_BLACKLIST_pn-libiconv = "the eglibc provided iconv library is used"
|
||||
|
||||
TARGET_OS = "linux"
|
||||
|
||||
@@ -1,9 +1,29 @@
|
||||
# uclibc:
|
||||
require conf/distro/include/uclibc.inc
|
||||
|
||||
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross"
|
||||
PREFERRED_PROVIDER_linux-libc-headers = "linux-libc-headers"
|
||||
|
||||
# The things uclibc can provide. We default to wanting uclibc to provide them.
|
||||
PREFERRED_PROVIDER_virtual/libintl = "proxy-libintl"
|
||||
PREFERRED_PROVIDER_virtual/gettext = "proxy-libintl"
|
||||
#fix some iconv issues, needs to be adjusted when doing uclibc builds
|
||||
PREFERRED_PROVIDER_virtual/libintl_avr32 = "proxy-libintl"
|
||||
PREFERRED_PROVIDER_virtual/gettext_avr32 = "proxy-libintl"
|
||||
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "uclibc-initial"
|
||||
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "uclibc"
|
||||
PREFERRED_PROVIDER_virtual/libiconv-nativesdk = "eglibc-nativesdk"
|
||||
PREFERRED_PROVIDER_virtual/libc-nativesdk = "eglibc-nativesdk"
|
||||
PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-initial-nativesdk = "eglibc-initial-nativesdk"
|
||||
PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-nativesdk = "eglibc-nativesdk"
|
||||
PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-for-gcc-nativesdk = "eglibc-nativesdk"
|
||||
# libc settings
|
||||
DISTRO_FEATURES += "${@['', ' nls'][bb.data.getVar('ENABLE_BINARY_LOCALE_GENERATION', d, 1) == '1']}"
|
||||
MACHINE_FEATURES += "${@['', ' bx'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
|
||||
# FIXME: We enable IPv4 per default to avoid alot of breakage.
|
||||
# FIXME: Figure out an acceptable way to negotiate either
|
||||
# FIXME: desired features or hard requirements, either top-down or bottom-up.
|
||||
DISTRO_FEATURES += " ipv4"
|
||||
|
||||
USE_NLS_glib-2.0 = "yes"
|
||||
USE_NLS_glib-2.0-native = "yes"
|
||||
USE_NLS_gcc-cross = "no"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# uclibc:
|
||||
require conf/distro/include/uclibc.inc
|
||||
require conf/distro/include/angstrom-uclibc.inc
|
||||
|
||||
USE_NLS ?= "no"
|
||||
USE_NLS_glib-2.0 = "yes"
|
||||
|
||||
@@ -12,7 +12,7 @@ BUILDNAME = "Angstrom ${DISTRO_VERSION}"
|
||||
TARGET_VENDOR = "-angstrom"
|
||||
SDK_VENDOR = "-angstromsdk"
|
||||
|
||||
SOC_FAMILY ?= "Unknown"
|
||||
SOC_FAMILY ?= ""
|
||||
|
||||
# Yocto work around for missing ONLINE_PACKAGE_MANAGEMENT support
|
||||
ONLINE_PACKAGE_MANAGEMENT = "full"
|
||||
@@ -27,8 +27,8 @@ FEED_ARCH_bfin = "blackfin"
|
||||
|
||||
# Add FEED_ARCH and SOC_FAMILY to machine overrides so we get access to e.g. 'armv7a' and 'omap3'
|
||||
# Hopefully we'll never see a machine or arch with 'all' as substring
|
||||
MACHINEOVERRIDES .= ":${@bb.data.getVar('FEED_ARCH', d,1).replace('all','noarch')}:${SOC_FAMILY}"
|
||||
|
||||
MACHINEOVERRIDES .= ":${@bb.data.getVar('FEED_ARCH', d,1).replace('all','noarch')}"
|
||||
MACHINEOVERRIDES .= "${@['', ':${SOC_FAMILY}']['${SOC_FAMILY}' != '']}"
|
||||
# Put links to sources in deploy/sources to make it easier for people to be GPL compliant
|
||||
#INHERIT += "src_distribute_local"
|
||||
SRC_DIST_LOCAL ?= "symlink"
|
||||
@@ -73,14 +73,6 @@ ARM_INSTRUCTION_SET = "${ANGSTROM_ARM_INSTRUCTION_SET}"
|
||||
# but requires more instructions (140% for 70% smaller code) so may be
|
||||
# slower.
|
||||
|
||||
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.
|
||||
|
||||
|
||||
#Use this variable in feeds and other parts that need a URI
|
||||
ANGSTROM_URI ?= "http://feeds.angstrom-distribution.org"
|
||||
|
||||
@@ -148,11 +140,6 @@ ENABLE_BINARY_LOCALE_GENERATION_armeb = "0"
|
||||
# Prelink images
|
||||
INHERIT += "image-prelink"
|
||||
|
||||
# webkit-gtk and cairo have alignment issues with double instructions on armv5 so
|
||||
# disable them here
|
||||
TARGET_CC_ARCH_pn-webkit-gtk_armv5te = "-march=armv4t"
|
||||
TARGET_CC_ARCH_pn-cairo_armv5te = "-march=armv4t"
|
||||
|
||||
#Name the generated images in a sane way
|
||||
IMAGE_NAME = "${DISTRO_NAME}-${IMAGE_BASENAME}-${TCLIBC}-${ANGSTROM_PKG_FORMAT}-${DISTRO_VERSION}-${MACHINE}"
|
||||
DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}"
|
||||
@@ -196,9 +183,6 @@ DISTRO_FEATURES = "alsa argp bluetooth ext2 ipv4 ipv6 irda largefile nfs pam pci
|
||||
DISTRO_FEATURES += "tk"
|
||||
DISTRO_FEATURES += "x11"
|
||||
|
||||
# Add thumb-interwork to feature list if selected machine supports it.
|
||||
DISTRO_FEATURES += ' ${@["", "thumb-interwork"][bb.data.getVar('THUMB_INTERWORK', d, 1) == "yes"]}'
|
||||
|
||||
# Inherit the default LIBC features superset from OE-core
|
||||
DISTRO_FEATURES += "${DISTRO_FEATURES_LIBC}"
|
||||
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
#tune file for thumb instructions
|
||||
|
||||
ARM_INSTRUCTION_SET ?= "arm"
|
||||
# "arm" "thumb"
|
||||
# The instruction set the compiler should use when generating application
|
||||
# code. The kernel is always compiled with arm code at present. arm code
|
||||
# is the original 32 bit ARM instruction set, thumb code is the 16 bit
|
||||
# encoded RISC sub-set. Thumb code is smaller (maybe 70% of the ARM size)
|
||||
# but requires more instructions (140% for 70% smaller code) so may be
|
||||
# slower.
|
||||
|
||||
THUMB_INTERWORK ?= "no"
|
||||
# "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.
|
||||
|
||||
OVERRIDE_THUMB = "${@['', 'thumb:'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
|
||||
OVERRIDE_INTERWORK = "${@['', 'thumb-interwork:'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}"
|
||||
OVERRIDES_prepend_arm =. "${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}"
|
||||
|
||||
# Compiler and linker options for application code and kernel code. These
|
||||
# options ensure that the compiler has the correct settings for the selected
|
||||
# instruction set and interworking.
|
||||
ARM_INTERWORK_M_OPT = "${@['-mno-thumb-interwork', '-mthumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}"
|
||||
ARM_THUMB_M_OPT = "${@['-mno-thumb', '-mthumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
|
||||
|
||||
TARGET_CC_ARCH_append_arm =. " ${ARM_INTERWORK_M_OPT} ${ARM_THUMB_M_OPT}"
|
||||
TARGET_CC_KERNEL_ARCH_append_arm =. " -mno-thumb-interwork -mno-thumb"
|
||||
@@ -1,16 +0,0 @@
|
||||
require conf/distro/include/tclibc-eglibc.inc
|
||||
|
||||
# The things eglibc can provide. We default to wanting eglibc to provide them.
|
||||
PREFERRED_PROVIDER_virtual/libiconv ?= "eglibc"
|
||||
PREFERRED_PROVIDER_virtual/libintl ?= "eglibc"
|
||||
|
||||
# And the same as above for the nativesdk
|
||||
PREFERRED_PROVIDER_virtual/libiconv-nativesdk ?= "eglibc-nativesdk"
|
||||
PREFERRED_PROVIDER_virtual/libintl-nativesdk ?= "eglibc-nativesdk"
|
||||
|
||||
# eglibc is configured for OLDEST_KERNEL kernel version, so we set minimal
|
||||
# sane versions there
|
||||
|
||||
|
||||
# ARM OABI is fine with 2.4.0, EABI is not, so we override on "-gnueabi"
|
||||
# TARGET_OS here, not on architecture which is 'arm' in both cases
|
||||
@@ -1,16 +0,0 @@
|
||||
# Add glibc to the overrides.
|
||||
OVERRIDES =. "libc-glibc:"
|
||||
|
||||
# The things glibc can provide. We default to wanting glibc to provide them.
|
||||
PREFERRED_PROVIDER_virtual/libiconv ?= "glibc"
|
||||
PREFERRED_PROVIDER_virtual/libintl ?= "glibc"
|
||||
PREFERRED_PROVIDER_virtual/libc = "glibc"
|
||||
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "glibc-initial"
|
||||
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc"
|
||||
|
||||
# glibc is configured for OLDEST_KERNEL kernel version, so we set minimal
|
||||
# sane versions there
|
||||
|
||||
|
||||
# ARM OABI is fine with 2.4.0, EABI is not, so we override on "-gnueabi"
|
||||
# TARGET_OS here, not on architecture which is 'arm' in both cases
|
||||
@@ -1,22 +0,0 @@
|
||||
require conf/distro/include/tclibc-uclibc.inc
|
||||
|
||||
# The things uclibc can provide. We default to wanting uclibc to provide them.
|
||||
PREFERRED_PROVIDER_virtual/libintl = "proxy-libintl"
|
||||
PREFERRED_PROVIDER_virtual/gettext = "proxy-libintl"
|
||||
#fix some iconv issues, needs to be adjusted when doing uclibc builds
|
||||
PREFERRED_PROVIDER_virtual/libintl_avr32 = "proxy-libintl"
|
||||
PREFERRED_PROVIDER_virtual/gettext_avr32 = "proxy-libintl"
|
||||
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "uclibc-initial"
|
||||
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "uclibc"
|
||||
PREFERRED_PROVIDER_virtual/libiconv-nativesdk = "eglibc-nativesdk"
|
||||
PREFERRED_PROVIDER_virtual/libc-nativesdk = "eglibc-nativesdk"
|
||||
PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-initial-nativesdk = "eglibc-initial-nativesdk"
|
||||
PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-nativesdk = "eglibc-nativesdk"
|
||||
PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-for-gcc-nativesdk = "eglibc-nativesdk"
|
||||
# libc settings
|
||||
DISTRO_FEATURES += "${@['', ' nls'][bb.data.getVar('ENABLE_BINARY_LOCALE_GENERATION', d, 1) == '1']}"
|
||||
MACHINE_FEATURES += "${@['', ' bx'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
|
||||
# FIXME: We enable IPv4 per default to avoid alot of breakage.
|
||||
# FIXME: Figure out an acceptable way to negotiate either
|
||||
# FIXME: desired features or hard requirements, either top-down or bottom-up.
|
||||
DISTRO_FEATURES += " ipv4"
|
||||
Reference in New Issue
Block a user