diff --git a/conf/distro/angstrom-2010.x.conf b/conf/distro/angstrom-2010.x.conf index ca088eb..4713c9f 100644 --- a/conf/distro/angstrom-2010.x.conf +++ b/conf/distro/angstrom-2010.x.conf @@ -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}" diff --git a/conf/distro/include/angstrom-eglibc.inc b/conf/distro/include/angstrom-eglibc.inc index 12abd58..6cb4cfe 100644 --- a/conf/distro/include/angstrom-eglibc.inc +++ b/conf/distro/include/angstrom-eglibc.inc @@ -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" diff --git a/conf/distro/include/angstrom-uclibc.inc b/conf/distro/include/angstrom-uclibc.inc index 74ca869..d9ad5ec 100644 --- a/conf/distro/include/angstrom-uclibc.inc +++ b/conf/distro/include/angstrom-uclibc.inc @@ -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" diff --git a/conf/distro/include/angstrom-uclinux-uclibc.inc b/conf/distro/include/angstrom-uclinux-uclibc.inc index e940c6a..2ecb337 100644 --- a/conf/distro/include/angstrom-uclinux-uclibc.inc +++ b/conf/distro/include/angstrom-uclinux-uclibc.inc @@ -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" diff --git a/conf/distro/include/angstrom.inc b/conf/distro/include/angstrom.inc index def925d..621650e 100644 --- a/conf/distro/include/angstrom.inc +++ b/conf/distro/include/angstrom.inc @@ -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}" diff --git a/conf/distro/include/arm-thumb.inc b/conf/distro/include/arm-thumb.inc deleted file mode 100644 index 75ed978..0000000 --- a/conf/distro/include/arm-thumb.inc +++ /dev/null @@ -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" diff --git a/conf/distro/include/eglibc.inc b/conf/distro/include/eglibc.inc deleted file mode 100644 index b65d6c4..0000000 --- a/conf/distro/include/eglibc.inc +++ /dev/null @@ -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 diff --git a/conf/distro/include/glibc.inc b/conf/distro/include/glibc.inc deleted file mode 100644 index 20b823d..0000000 --- a/conf/distro/include/glibc.inc +++ /dev/null @@ -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 diff --git a/conf/distro/include/uclibc.inc b/conf/distro/include/uclibc.inc deleted file mode 100644 index 899914b..0000000 --- a/conf/distro/include/uclibc.inc +++ /dev/null @@ -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"