summaryrefslogtreecommitdiff
path: root/conf
diff options
context:
space:
mode:
Diffstat (limited to 'conf')
-rw-r--r--conf/distro/angstrom-2008.1.conf2
-rw-r--r--conf/distro/asusoe.conf2
-rw-r--r--conf/distro/celinux-test.conf7
-rw-r--r--conf/distro/chinook-compat.conf7
-rw-r--r--conf/distro/foonas.conf5
-rw-r--r--conf/distro/gmustix.conf3
-rw-r--r--conf/distro/include/angstrom-2007-for-openmoko.inc3
-rw-r--r--conf/distro/include/angstrom-eglibc.inc13
-rw-r--r--conf/distro/include/angstrom-glibc.inc16
-rw-r--r--conf/distro/include/angstrom-uclibc.inc9
-rw-r--r--conf/distro/include/angstrom-uclinux-uclibc.inc5
-rw-r--r--conf/distro/include/angstrom.inc13
-rw-r--r--conf/distro/include/eglibc.inc9
-rw-r--r--conf/distro/include/glibc.inc9
-rw-r--r--conf/distro/include/kaeilos.inc12
-rw-r--r--conf/distro/include/sane-toolchain-eglibc.inc20
-rw-r--r--conf/distro/include/sane-toolchain-glibc.inc17
-rw-r--r--conf/distro/include/sane-toolchain-uclibc.inc8
-rw-r--r--conf/distro/include/sane-toolchain-uclinux-uclibc.inc4
-rw-r--r--conf/distro/include/sane-toolchain.inc7
-rw-r--r--conf/distro/include/slugos.inc7
-rw-r--r--conf/distro/include/uclibc.inc11
-rw-r--r--conf/distro/jlime-2009.1.conf9
-rw-r--r--conf/distro/jlime-donkey.conf4
-rw-r--r--conf/distro/jlime-henchman.conf9
-rw-r--r--conf/distro/jlime-mongo.conf9
-rw-r--r--conf/distro/jlime-shrek.conf3
-rw-r--r--conf/distro/kaeilos.conf2
-rw-r--r--conf/distro/mamona.conf13
-rw-r--r--conf/distro/minimal-uclibc.conf9
-rw-r--r--conf/distro/minimal.conf10
-rw-r--r--conf/distro/nylon.conf3
-rw-r--r--conf/distro/openmn.conf2
-rw-r--r--conf/distro/openmoko.conf3
-rw-r--r--conf/distro/openprotium.conf9
-rw-r--r--conf/distro/oplinux-uclibc.conf4
-rw-r--r--conf/distro/oplinux.conf17
-rw-r--r--conf/distro/slugos.conf6
-rw-r--r--conf/distro/ucslugc.conf2
-rw-r--r--conf/distro/wrt54oe.conf3
40 files changed, 109 insertions, 197 deletions
diff --git a/conf/distro/angstrom-2008.1.conf b/conf/distro/angstrom-2008.1.conf
index 740ff31435..a466834968 100644
--- a/conf/distro/angstrom-2008.1.conf
+++ b/conf/distro/angstrom-2008.1.conf
@@ -46,7 +46,7 @@ IMAGE_LINGUAS = '${@base_less_or_equal("ROOT_FLASH_SIZE", "16", "", "en-us", d)}
# set feed path variables
-FEED_BASEPATH = "feeds/2008/${ANGSTROM_PKG_FORMAT}/${ANGSTROMLIBC}/"
+FEED_BASEPATH = "feeds/2008/${ANGSTROM_PKG_FORMAT}/${LIBC}/"
#The angstrom-mirrors.bbclass should have everything, but we can use this as a fallback
diff --git a/conf/distro/asusoe.conf b/conf/distro/asusoe.conf
index 35be6a4fab..efc4efccd4 100644
--- a/conf/distro/asusoe.conf
+++ b/conf/distro/asusoe.conf
@@ -7,6 +7,8 @@ DISTRO_VERSION = "0.1-alpha"
TARGET_OS = "linux-uclibc"
TARGET_SYS = "${TARGET_ARCH}-uclibc"
+LIBC = "uclibc"
+require conf/distro/include/${LIBC}.inc
CROSS_DIR = "/opt/brcm/hndtools-mipsel-uclibc"
diff --git a/conf/distro/celinux-test.conf b/conf/distro/celinux-test.conf
index 0787ff2bca..fbc96e19bf 100644
--- a/conf/distro/celinux-test.conf
+++ b/conf/distro/celinux-test.conf
@@ -39,7 +39,6 @@ PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-inte
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}binutils:binutils-cross"
-PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}libc-for-gcc:glibc"
PREFERRED_VERSION_binutils = "2.16"
PREFERRED_VERSION_binutils-cross = "2.16"
@@ -49,12 +48,10 @@ PREFERRED_VERSION_gcc-cross = "3.4.4"
PREFERRED_VERSION_gcc-cross-initial = "3.4.4"
PREFERRED_VERSION_gcc-cross-intermediate = "3.4.4"
+LIBC = "glibc"
+require conf/distro/include/${LIBC}.inc
PREFERRED_VERSION_glibc = "2.3.5+cvs20050627"
-# glibc provides iconv and intl
-PREFERRED_PROVIDER_virtual/libiconv = "glibc"
-PREFERRED_PROVIDER_virtual/libintl = "glibc"
-
#
# omap5912osk settings
#
diff --git a/conf/distro/chinook-compat.conf b/conf/distro/chinook-compat.conf
index d2ff51eaa4..8fefbbce8a 100644
--- a/conf/distro/chinook-compat.conf
+++ b/conf/distro/chinook-compat.conf
@@ -21,6 +21,7 @@ DISTRO_TYPE = "debug"
# Needed for e.g. libffi builds on armv6
OVERRIDES .= ":${FEED_ARCH}"
+LIBC = "glibc"
require conf/distro/include/angstrom-glibc.inc
FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -O1"
@@ -49,12 +50,6 @@ PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-inte
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
-PREFERRED_PROVIDER_virtual/libc = "glibc"
-
-# NPTL stuff
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/arm-linux-gnueabi-libc-for-gcc = "glibc"
-
PREFERRED_PROVIDER_virtual/arm-linux-gnueabi-binutils = "binutils-cross"
PREFERRED_PROVIDER_linux-libc-header = "linux-libc-headers"
PREFERRED_PROVIDER_virtual/libx11 = "libx11"
diff --git a/conf/distro/foonas.conf b/conf/distro/foonas.conf
index cc5bbbbb32..57d73a0a2a 100644
--- a/conf/distro/foonas.conf
+++ b/conf/distro/foonas.conf
@@ -6,8 +6,9 @@
#@MAINTAINER: Øyvind Repvik <repvik@foonas.org>
#@--------------------------------------------------------------------
-FOONAS_MODE ?= "glibc"
-ANGSTROMLIBC = ${FOONAS_MODE}
+LIBC ?= "glibc"
+FOONAS_MODE ?= "${LIBC}"
+ANGSTROMLIBC = "${LIBC}"
require conf/distro/angstrom-2008.1.conf
DISTRO_NAME = "foonas"
diff --git a/conf/distro/gmustix.conf b/conf/distro/gmustix.conf
index a47de7c100..17f805617a 100644
--- a/conf/distro/gmustix.conf
+++ b/conf/distro/gmustix.conf
@@ -3,6 +3,8 @@
#@DESCRIPTION: Gumstix distribution for GMU (George Mason University)
INHERIT += "package_tar package_ipk"
+LIBC = "uclibc"
+require conf/distro/include/${LIBC}.inc
TARGET_OS = "linux-uclibc"
TARGET_FPU = "soft"
IMAGE_FSTYPES = "jffs2"
@@ -11,7 +13,6 @@ PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
-PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}libc-for-gcc:uclibc"
PREFERRED_PROVIDER_classpath = "classpath-minimal"
diff --git a/conf/distro/include/angstrom-2007-for-openmoko.inc b/conf/distro/include/angstrom-2007-for-openmoko.inc
index b931d340c3..1deb85d7f7 100644
--- a/conf/distro/include/angstrom-2007-for-openmoko.inc
+++ b/conf/distro/include/angstrom-2007-for-openmoko.inc
@@ -28,7 +28,7 @@ DISTRO_TYPE ?= "debug"
IMAGE_LINGUAS = '${@base_less_or_equal("ROOT_FLASH_SIZE", "16", "", "en-gb", d)}'
# set feed path variables
-FEED_BASEPATH = "feeds/2007/${ANGSTROM_PKG_FORMAT}/${ANGSTROMLIBC}/"
+FEED_BASEPATH = "feeds/2007/${ANGSTROM_PKG_FORMAT}/${LIBC}/"
#The angstrom-mirrors.bbclass should have everything, but we can use this as a fallback
@@ -137,7 +137,6 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
#Set preferred provider for the C library that is used to build the crosscompiler (NPTL voodoo)
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc"
PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-libc-for-gcc = "glibc"
PREFERRED_PROVIDER_virtual/armeb-angstrom-linux-gnueabi-libc-for-gcc = "glibc"
PREFERRED_PROVIDER_virtual/powerpc-angstrom-linux-libc-for-gcc = "glibc"
diff --git a/conf/distro/include/angstrom-eglibc.inc b/conf/distro/include/angstrom-eglibc.inc
index c0d87a4ff5..655cf9d50e 100644
--- a/conf/distro/include/angstrom-eglibc.inc
+++ b/conf/distro/include/angstrom-eglibc.inc
@@ -1,16 +1,5 @@
# eglibc:
-PREFERRED_PROVIDER_virtual/libiconv = "eglibc"
-PREFERRED_PROVIDER_virtual/libintl = "eglibc"
-PREFERRED_PROVIDER_virtual/libc = "eglibc"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "eglibc-initial"
-
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "eglibc"
-PREFERRED_PROVIDER_virtual/arm${TARGET_VENDOR}-linux-gnueabi-libc-for-gcc = "eglibc"
-PREFERRED_PROVIDER_virtual/armeb${TARGET_VENDOR}-linux-gnueabi-libc-for-gcc = "eglibc"
-PREFERRED_PROVIDER_virtual/arm${TARGET_VENDOR}-linux-libc-for-gcc = "eglibc"
-PREFERRED_PROVIDER_virtual/powerpc${TARGET_VENDOR}-linux-libc-for-gcc = "eglibc"
-PREFERRED_PROVIDER_virtual/mipsel${TARGET_VENDOR}-linux-libc-for-gcc = "eglibc"
-PREFERRED_PROVIDER_virtual/sparc${TARGET_VENDOR}-linux-libc-for-gcc = "eglibc"
+require conf/distro/include/eglibc.inc
TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb'] and bb.data.getVar('MACHINE',d) not in ['collie','h3600', 'h3800', 'simpad', 'htcwallaby']]}"
diff --git a/conf/distro/include/angstrom-glibc.inc b/conf/distro/include/angstrom-glibc.inc
index b14f880328..5df77d8c74 100644
--- a/conf/distro/include/angstrom-glibc.inc
+++ b/conf/distro/include/angstrom-glibc.inc
@@ -1,19 +1,7 @@
# glibc:
-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_linux-libc-headers ?= "linux-libc-headers"
-
-#Set preferred provider for the C library that is used to build the crosscompiler (NPTL voodoo)
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/armeb-angstrom-linux-gnueabi-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/arm-angstrom-linux-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/powerpc-angstrom-linux-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/mipsel-angstrom-linux-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/sparc-angstrom-linux-libc-for-gcc = "glibc"
+require conf/distro/include/glibc.inc
+PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers"
TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb'] and bb.data.getVar('MACHINE',d) not in ['collie','h3600', 'h3800', 'simpad', 'htcwallaby']]}"
diff --git a/conf/distro/include/angstrom-uclibc.inc b/conf/distro/include/angstrom-uclibc.inc
index 86a9afd465..3079e0d365 100644
--- a/conf/distro/include/angstrom-uclibc.inc
+++ b/conf/distro/include/angstrom-uclibc.inc
@@ -1,12 +1,5 @@
# uclibc:
-#fix some iconv issues, needs to be adjusted when doing uclibc builds
-PREFERRED_PROVIDER_virtual/libc = "uclibc"
-PREFERRED_PROVIDER_virtual/libiconv ?= "libiconv"
-PREFERRED_PROVIDER_virtual/libintl ?= "gettext"
-PREFERRED_PROVIDER_virtual/libintl_avr32 = "proxy-libintl"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "uclibc"
-PREFERRED_PROVIDER_virtual/arm-angstrom-linux-uclibcgnueabi-libc-for-gcc = "uclibc-initial"
-PREFERRED_PROVIDER_virtual/armeb-angstrom-linux-uclibcgnueabi-libc-for-gcc = "uclibc-initial"
+require conf/distro/include/uclibc.inc
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross"
PREFERRED_PROVIDER_linux-libc-headers = "linux-libc-headers"
diff --git a/conf/distro/include/angstrom-uclinux-uclibc.inc b/conf/distro/include/angstrom-uclinux-uclibc.inc
index 68ad145879..c3f908c2c4 100644
--- a/conf/distro/include/angstrom-uclinux-uclibc.inc
+++ b/conf/distro/include/angstrom-uclinux-uclibc.inc
@@ -1,8 +1,5 @@
# uclibc:
-#fix some iconv issues, needs to be adjusted when doing uclibc builds
-PREFERRED_PROVIDER_virtual/libc = "uclibc"
-PREFERRED_PROVIDER_virtual/libiconv ?= "libiconv"
-PREFERRED_PROVIDER_virtual/libintl ?= "gettext"
+require conf/distro/include/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 1f0fced434..d8c3cd78df 100644
--- a/conf/distro/include/angstrom.inc
+++ b/conf/distro/include/angstrom.inc
@@ -18,11 +18,12 @@ SRC_DIST_LOCAL ?= "symlink"
# Can be "glibc", "eglibc" or "uclibc"
ANGSTROMLIBC ?= "glibc"
-PSTAGE_EXTRAPATH = "${ANGSTROMLIBC}"
+LIBC ?= "${ANGSTROMLIBC}"
+PSTAGE_EXTRAPATH = "${LIBC}"
-CACHE = "${TMPDIR}/cache/${ANGSTROMLIBC}/${MACHINE}"
-DEPLOY_DIR = "${TMPDIR}/deploy/${ANGSTROMLIBC}"
-require conf/distro/include/angstrom-${ANGSTROMLIBC}.inc
+CACHE = "${TMPDIR}/cache/${LIBC}/${MACHINE}"
+DEPLOY_DIR = "${TMPDIR}/deploy/${LIBC}"
+require conf/distro/include/angstrom-${LIBC}.inc
# ARM920T and up can use thumb mode to decrease binary size at the expense of speed
# (the complete story is a bit more nuanced due to cache starvation)
@@ -144,7 +145,7 @@ PACKAGE_EXTRA_ARCHS_htcwallaby = "arm-oabi"
#Name the generated images in a sane way
-IMAGE_NAME = "${DISTRO_NAME}-${IMAGE_BASENAME}-${ANGSTROMLIBC}-${ANGSTROM_PKG_FORMAT}-${DISTRO_VERSION}-${MACHINE}"
+IMAGE_NAME = "${DISTRO_NAME}-${IMAGE_BASENAME}-${LIBC}-${ANGSTROM_PKG_FORMAT}-${DISTRO_VERSION}-${MACHINE}"
DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}"
# Angstrom *always* has some form of release config, so error out if someone thinks he knows better
@@ -156,7 +157,7 @@ DISTRO_CHECK := "${@bb.data.getVar("DISTRO_VERSION",d,1) or bb.fatal('Remove thi
# in their local.conf
#Name of the client
-TINDER_MACHINE = "${MACHINE}-${ANGSTROMLIBC}-build-image"
+TINDER_MACHINE = "${MACHINE}-${LIBC}-build-image"
# Which lof file to write to, which tree to report to
TINDER_LOG = "${TMPDIR}/tinder.log"
diff --git a/conf/distro/include/eglibc.inc b/conf/distro/include/eglibc.inc
new file mode 100644
index 0000000000..ed3e0ecf9d
--- /dev/null
+++ b/conf/distro/include/eglibc.inc
@@ -0,0 +1,9 @@
+# Add glibc overrides to the overrides for eglibc.
+OVERRIDES .= ":glibc"
+
+# The things eglibc can provide. We default to wanting eglibc to provide them.
+PREFERRED_PROVIDER_virtual/libiconv ?= "eglibc"
+PREFERRED_PROVIDER_virtual/libintl ?= "eglibc"
+PREFERRED_PROVIDER_virtual/libc = "eglibc"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "eglibc-initial"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "eglibc"
diff --git a/conf/distro/include/glibc.inc b/conf/distro/include/glibc.inc
new file mode 100644
index 0000000000..1d6b22d8b5
--- /dev/null
+++ b/conf/distro/include/glibc.inc
@@ -0,0 +1,9 @@
+# Add glibc to the overrides.
+OVERRIDES .= ":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"
diff --git a/conf/distro/include/kaeilos.inc b/conf/distro/include/kaeilos.inc
index 6d5ceb8da8..de7dca7534 100644
--- a/conf/distro/include/kaeilos.inc
+++ b/conf/distro/include/kaeilos.inc
@@ -20,12 +20,12 @@ SRC_DIST_LOCAL ?= "symlink"
INHERIT += "src_distribute_local"
# Can be "glibc", "eglibc" or "uclibc"
-ANGSTROMLIBC ?= "glibc"
-PSTAGE_EXTRAPATH = "${ANGSTROMLIBC}"
+LIBC ?= "glibc"
+PSTAGE_EXTRAPATH = "${LIBC}"
-CACHE = "${TMPDIR}/cache/${ANGSTROMLIBC}/${MACHINE}"
-DEPLOY_DIR = "${TMPDIR}/deploy/${ANGSTROMLIBC}"
-require conf/distro/include/angstrom-${ANGSTROMLIBC}.inc
+CACHE = "${TMPDIR}/cache/${LIBC}/${MACHINE}"
+DEPLOY_DIR = "${TMPDIR}/deploy/${LIBC}"
+require conf/distro/include/angstrom-${LIBC}.inc
# ARM920T and up can use thumb mode to decrease binary size at the expense of speed
# (the complete story is a bit more nuanced due to cache starvation)
@@ -283,7 +283,7 @@ PACKAGE_EXTRA_ARCHS_htcwallaby = "arm-oabi"
#Name the generated images in a sane way
-IMAGE_NAME = "${DISTRO_NAME}-${IMAGE_BASENAME}-${ANGSTROMLIBC}-${ANGSTROM_PKG_FORMAT}-${DISTRO_VERSION}-${MACHINE}"
+IMAGE_NAME = "${DISTRO_NAME}-${IMAGE_BASENAME}-${LIBC}-${ANGSTROM_PKG_FORMAT}-${DISTRO_VERSION}-${MACHINE}"
DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}"
# KaeilOS *always* has some form of release config, so error out if someone thinks he knows better
diff --git a/conf/distro/include/sane-toolchain-eglibc.inc b/conf/distro/include/sane-toolchain-eglibc.inc
index e780349137..1b0d49316d 100644
--- a/conf/distro/include/sane-toolchain-eglibc.inc
+++ b/conf/distro/include/sane-toolchain-eglibc.inc
@@ -1,26 +1,6 @@
# Originally brought to you by the Angstrom Distribution
# eglibc:
-PREFERRED_PROVIDER_virtual/libiconv = "eglibc"
-PREFERRED_PROVIDER_virtual/libintl = "eglibc"
-PREFERRED_PROVIDER_virtual/libc = "eglibc"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "eglibc-initial"
-
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "eglibc"
-PREFERRED_PROVIDER_virtual/arm${TARGET_VENDOR}-linux-gnueabi-libc-for-gcc = "eglibc"
-PREFERRED_PROVIDER_virtual/armeb${TARGET_VENDOR}-linux-gnueabi-libc-for-gcc = "eglibc"
-PREFERRED_PROVIDER_virtual/arm${TARGET_VENDOR}-linux-libc-for-gcc = "eglibc"
-PREFERRED_PROVIDER_virtual/powerpc${TARGET_VENDOR}-linux-libc-for-gcc = "eglibc"
-PREFERRED_PROVIDER_virtual/mipsel${TARGET_VENDOR}-linux-libc-for-gcc = "eglibc"
-PREFERRED_PROVIDER_virtual/sparc${TARGET_VENDOR}-linux-libc-for-gcc = "eglibc"
-
-TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb'] and bb.data.getVar('MACHINE',d) not in ['collie','h3600', 'h3800', 'simpad', 'htcwallaby']]}"
-
-#TARGET_OS = "linux-gnuspe"
-
-#mess with compiler flags to use -Os instead of -O2
-#Please see http://free-electrons.com/doc/embedded_linux_optimizations/img47.html for some more info
-# perl has some problems, see http://bugs.openembedded.net/show_bug.cgi?id=1616
# [23:00] oxo: glibc (any version) on sparc does not like (repeat me) "-Os"
FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os"
diff --git a/conf/distro/include/sane-toolchain-glibc.inc b/conf/distro/include/sane-toolchain-glibc.inc
index b14f880328..b4da525fcf 100644
--- a/conf/distro/include/sane-toolchain-glibc.inc
+++ b/conf/distro/include/sane-toolchain-glibc.inc
@@ -1,19 +1,6 @@
-# glibc:
-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_linux-libc-headers ?= "linux-libc-headers"
-
-#Set preferred provider for the C library that is used to build the crosscompiler (NPTL voodoo)
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/armeb-angstrom-linux-gnueabi-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/arm-angstrom-linux-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/powerpc-angstrom-linux-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/mipsel-angstrom-linux-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/sparc-angstrom-linux-libc-for-gcc = "glibc"
+# Originally brought to you by the Angstrom Distribution
+# glibc:
TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb'] and bb.data.getVar('MACHINE',d) not in ['collie','h3600', 'h3800', 'simpad', 'htcwallaby']]}"
diff --git a/conf/distro/include/sane-toolchain-uclibc.inc b/conf/distro/include/sane-toolchain-uclibc.inc
index 66ac81a508..394b52ae75 100644
--- a/conf/distro/include/sane-toolchain-uclibc.inc
+++ b/conf/distro/include/sane-toolchain-uclibc.inc
@@ -1,14 +1,6 @@
# Originally brought to you by the Angstrom Distribution
# uclibc:
-#fix some iconv issues, needs to be adjusted when doing uclibc builds
-PREFERRED_PROVIDER_virtual/libc = "uclibc"
-PREFERRED_PROVIDER_virtual/libiconv ?= "libiconv"
-PREFERRED_PROVIDER_virtual/libintl ?= "gettext"
-PREFERRED_PROVIDER_virtual/libintl_avr32 = "proxy-libintl"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "uclibc"
-PREFERRED_PROVIDER_virtual/arm-${TARGET_VENDOR}-linux-uclibcgnueabi-libc-for-gcc = "uclibc-initial"
-PREFERRED_PROVIDER_virtual/armeb-${TARGET_VENDOR}-linux-uclibcgnueabi-libc-for-gcc = "uclibc-initial"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross"
PREFERRED_PROVIDER_linux-libc-headers = "linux-libc-headers"
diff --git a/conf/distro/include/sane-toolchain-uclinux-uclibc.inc b/conf/distro/include/sane-toolchain-uclinux-uclibc.inc
index 85ccddf704..b757efb55a 100644
--- a/conf/distro/include/sane-toolchain-uclinux-uclibc.inc
+++ b/conf/distro/include/sane-toolchain-uclinux-uclibc.inc
@@ -1,10 +1,6 @@
# Originally brought to you by the Angstrom Distribution
# uclibc:
-#fix some iconv issues, needs to be adjusted when doing uclibc builds
-PREFERRED_PROVIDER_virtual/libc = "uclibc"
-PREFERRED_PROVIDER_virtual/libiconv ?= "libiconv"
-PREFERRED_PROVIDER_virtual/libintl ?= "gettext"
USE_NLS ?= "no"
USE_NLS_glib-2.0 = "yes"
diff --git a/conf/distro/include/sane-toolchain.inc b/conf/distro/include/sane-toolchain.inc
index f70e98ee17..dff4b9f081 100644
--- a/conf/distro/include/sane-toolchain.inc
+++ b/conf/distro/include/sane-toolchain.inc
@@ -115,9 +115,10 @@ TARGET_CC_ARCH_pn-cairo_armv5te = "-march=armv4t"
#############################################################################
# Can be "glibc", "eglibc" or "uclibc"
-PREFERRED_LIBC ?= "glibc"
-PSTAGE_EXTRAPATH = "${PREFERRED_LIBC}"
-require conf/distro/include/sane-toolchain-${PREFERRED_LIBC}.inc
+LIBC ?= "glibc"
+require conf/distro/include/${LIBC}.inc
+PSTAGE_EXTRAPATH = "${LIBC}"
+require conf/distro/include/sane-toolchain-${LIBC}.inc
# Generate locales on the buildsystem instead of on the target. Speeds up first boot, set to "1" to enable
PREFERRED_PROVIDER_qemu-native = "qemu-native"
diff --git a/conf/distro/include/slugos.inc b/conf/distro/include/slugos.inc
index 51ca9f34b1..b1b89b9870 100644
--- a/conf/distro/include/slugos.inc
+++ b/conf/distro/include/slugos.inc
@@ -120,13 +120,6 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-interme
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
-#Set preferred provider for the C library that is used to build the crosscompiler (NPTL voodoo)
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/armeb-linux-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/arm-linux-gnueabi-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/armeb-linux-gnueabi-libc-for-gcc = "glibc"
-
# Set the preferred provider for a few toolchain-related items, otherwise
# these may be selected from the external-toolchain instead.
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross"
diff --git a/conf/distro/include/uclibc.inc b/conf/distro/include/uclibc.inc
new file mode 100644
index 0000000000..979b7f1539
--- /dev/null
+++ b/conf/distro/include/uclibc.inc
@@ -0,0 +1,11 @@
+# Add uclibc overrides to the overrides.
+OVERRIDES .= ":uclibc"
+
+# The things uclibc can provide. We default to wanting uclibc to provide them.
+PREFERRED_PROVIDER_virtual/libiconv ?= "libiconv"
+PREFERRED_PROVIDER_virtual/libintl ?= "gettext"
+#fix some iconv issues, needs to be adjusted when doing uclibc builds
+PREFERRED_PROVIDER_virtual/libintl_avr32 = "proxy-libintl"
+PREFERRED_PROVIDER_virtual/libc = "uclibc"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "uclibc-initial"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "uclibc"
diff --git a/conf/distro/jlime-2009.1.conf b/conf/distro/jlime-2009.1.conf
index a72988ea76..7488ddec3e 100644
--- a/conf/distro/jlime-2009.1.conf
+++ b/conf/distro/jlime-2009.1.conf
@@ -69,12 +69,9 @@ TARGET_OS = "linux"
TARGET_FPU_arm = "soft"
TARGET_FPU_armeb = "soft"
-PREFERRED_PROVIDER_virtual/libiconv = "glibc"
-PREFERRED_PROVIDER_virtual/libintl = "glibc"
-PREFERRED_PROVIDER_virtual/libc = "glibc"
-PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/${TARGET_ARCH}-${TARGET_OS}-libc-for-gcc = "glibc"
+LIBC = "glibc"
+require conf/distro/include/${LIBC}.inc
+
PREFERRED_VERSION_linux-libc-headers = "2.6.18"
PREFERRED_VERSION_glibc = "2.5"
diff --git a/conf/distro/jlime-donkey.conf b/conf/distro/jlime-donkey.conf
index dad1f1fd05..db964f00bc 100644
--- a/conf/distro/jlime-donkey.conf
+++ b/conf/distro/jlime-donkey.conf
@@ -23,8 +23,8 @@ PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc:gcc-cross"
PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}g++:gcc-cross"
-PREFERRED_PROVIDER_virtual/sh3-linux-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc"
+LIBC = "glibc"
+require conf/distro/include/${LIBC}.inc
#<>----------------------------------------------------------------->
#<> We want this so we can crosscompile the kernel using gcc 3.4.3
diff --git a/conf/distro/jlime-henchman.conf b/conf/distro/jlime-henchman.conf
index 5a99ef2d79..14ea57d18c 100644
--- a/conf/distro/jlime-henchman.conf
+++ b/conf/distro/jlime-henchman.conf
@@ -68,12 +68,9 @@ TARGET_OS = "linux"
TARGET_FPU_arm = "fixed"
TARGET_FPU_armeb = "fixed"
-PREFERRED_PROVIDER_virtual/libiconv = "glibc"
-PREFERRED_PROVIDER_virtual/libintl = "glibc"
-PREFERRED_PROVIDER_virtual/libc = "glibc"
-PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/${TARGET_ARCH}-${TARGET_OS}-libc-for-gcc = "glibc"
+LIBC = "glibc"
+require conf/distro/include/${LIBC}.inc
+
PREFERRED_VERSION_linux-libc-headers = "2.6.23"
PREFERRED_VERSION_glibc = "2.5"
diff --git a/conf/distro/jlime-mongo.conf b/conf/distro/jlime-mongo.conf
index 4e922eab35..2e6c43462e 100644
--- a/conf/distro/jlime-mongo.conf
+++ b/conf/distro/jlime-mongo.conf
@@ -69,12 +69,9 @@ TARGET_OS = "linux"
TARGET_FPU_arm = "soft"
TARGET_FPU_armeb = "soft"
-PREFERRED_PROVIDER_virtual/libiconv = "glibc"
-PREFERRED_PROVIDER_virtual/libintl = "glibc"
-PREFERRED_PROVIDER_virtual/libc = "glibc"
-PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/${TARGET_ARCH}-${TARGET_OS}-libc-for-gcc = "glibc"
+LIBC = "glibc"
+require conf/distro/include/${LIBC}.inc
+
PREFERRED_VERSION_linux-libc-headers = "2.6.18"
PREFERRED_VERSION_glibc = "2.5"
diff --git a/conf/distro/jlime-shrek.conf b/conf/distro/jlime-shrek.conf
index 7928387390..98844d76a4 100644
--- a/conf/distro/jlime-shrek.conf
+++ b/conf/distro/jlime-shrek.conf
@@ -15,7 +15,8 @@ PREFERRED_PROVIDERS = "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
PREFERRED_PROVIDERS = "virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
-PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}libc-for-gcc:glibc"
+LIBC = "glibc"
+require conf/distro/include/${LIBC}.inc
PREFERRED_PROVIDER_virtual/kernel = "jlime-kernel-${TARGET_ARCH}"
PREFERRED_PROVIDER_xserver = "xserver-kdrive"
diff --git a/conf/distro/kaeilos.conf b/conf/distro/kaeilos.conf
index 53e928ba81..718239bed8 100644
--- a/conf/distro/kaeilos.conf
+++ b/conf/distro/kaeilos.conf
@@ -44,7 +44,7 @@ IMAGE_LINGUAS = '${@base_less_or_equal("ROOT_FLASH_SIZE", "16", "", "en-us", d)}
# set feed path variables
-FEED_BASEPATH = "feeds/2008/${ANGSTROM_PKG_FORMAT}/${ANGSTROMLIBC}/"
+FEED_BASEPATH = "feeds/2008/${ANGSTROM_PKG_FORMAT}/${LIBC}/"
#The angstrom-mirrors.bbclass should have everything, but we can use this as a fallback
diff --git a/conf/distro/mamona.conf b/conf/distro/mamona.conf
index 83e102663c..648d327677 100644
--- a/conf/distro/mamona.conf
+++ b/conf/distro/mamona.conf
@@ -53,23 +53,14 @@ PREFERRED_VERSION_binutils-cross-sdk ?= "2.18"
# *libc
TARGET_OS = "linux-gnueabi"
-PREFERRED_PROVIDER_virtual/libiconv = "glibc"
-PREFERRED_PROVIDER_virtual/libintl = "glibc"
-PREFERRED_PROVIDER_virtual/libc = "glibc"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial ?= "glibc-initial"
+LIBC = "glibc"
+require conf/distro/include/${LIBC}.inc
PREFERRED_VERSION_glibc ?= "2.5"
PREFERRED_VERSION_glibc-intermediate ?= "2.5"
PREFERRED_VERSION_glibc-initial ?= "2.5"
PREFERRED_VERSION_uclibc ?= "0.9.29"
-# NPTL stuff
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/arm-mamona-linux-gnueabi-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/armeb-mamona-linux-gnueabi-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/arm-mamona-linux-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/i586-mamona-linux-libc-for-gcc = "glibc"
-
# Other Packages
# ==============
diff --git a/conf/distro/minimal-uclibc.conf b/conf/distro/minimal-uclibc.conf
index 62eb86ab84..34f92119b2 100644
--- a/conf/distro/minimal-uclibc.conf
+++ b/conf/distro/minimal-uclibc.conf
@@ -8,8 +8,6 @@
#@COMMENT: It bases on conservative settings and should always be buildable.
#-----------------------------------------------------------------------------
-require conf/distro/minimal.conf
-
#
# Header
#
@@ -21,11 +19,11 @@ DISTRO_NAME = "minimal-uclibc"
TARGET_OS = "linux-uclibc"
TARGET_FPU_arm = "soft"
TARGET_FPU_armeb = "soft"
-PREFERRED_PROVIDER_virtual/libc = "uclibc"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "uclibc"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross"
PREFERRED_PROVIDER_linux-libc-headers = "linux-libc-headers"
-PREFERRED_PROVIDER_virtual/libiconv = "libiconv"
+
+# Override the default virtual/libintl
+LIBC = "uclibc"
PREFERRED_PROVIDER_virtual/libintl = "proxy-libintl"
USE_NLS ?= "no"
@@ -36,3 +34,4 @@ USE_NLS_gcc-cross = "no"
PREFERRED_VERSION_uclibc = "0.9.30"
PREFERRED_VERSION_uclibc-initial = "0.9.30"
+require conf/distro/minimal.conf
diff --git a/conf/distro/minimal.conf b/conf/distro/minimal.conf
index 35c3368451..f1f04e5e6a 100644
--- a/conf/distro/minimal.conf
+++ b/conf/distro/minimal.conf
@@ -10,7 +10,7 @@
#############################################################################
# NAME and VERSION
#############################################################################
-DISTRO_NAME = "minimal"
+DISTRO_NAME ?= "minimal"
DISTRO_VERSION = ".dev-snapshot-${SRCDATE}"
#DISTRO_TYPE = "release"
DISTRO_TYPE = "debug"
@@ -56,9 +56,9 @@ IPKG_VARIANT = "opkg-nogpg"
# IMAGES
#############################################################################
# Name the generated images in a sane way
-IMAGE_NAME = "${DISTRO_NAME}-${IMAGE_BASENAME}-${PREFERRED_LIBC}-${PREFERRED_PKG_FORMAT}-${DISTRO_VERSION}-${MACHINE}"
-CACHE ?= "${TMPDIR}/cache/${PREFERRED_LIBC}/${MACHINE}"
-DEPLOY_DIR ?= "${TMPDIR}/deploy/${PREFERRED_LIBC}"
+IMAGE_NAME = "${DISTRO_NAME}-${IMAGE_BASENAME}-${LIBC}-${PREFERRED_PKG_FORMAT}-${DISTRO_VERSION}-${MACHINE}"
+CACHE ?= "${TMPDIR}/cache/${LIBC}/${MACHINE}"
+DEPLOY_DIR ?= "${TMPDIR}/deploy/${LIBC}"
DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}"
#############################################################################
@@ -70,7 +70,7 @@ MACHINE_KERNEL_VERSION = "2.6"
#############################################################################
# TOOLCHAIN
#############################################################################
-PREFERRED_LIBC = "glibc"
+LIBC ?= "glibc"
require conf/distro/include/sane-toolchain.inc
#############################################################################
diff --git a/conf/distro/nylon.conf b/conf/distro/nylon.conf
index 3d1f0579f0..3670f725de 100644
--- a/conf/distro/nylon.conf
+++ b/conf/distro/nylon.conf
@@ -16,11 +16,12 @@ TARGET_OS = "linux"
INHERIT += "package_ipk debian nylon-mirrors"
INHERIT += "linux-kernel-base"
+LIBC = "glibc"
+require conf/distro/include/${LIBC}.inc
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
-PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}libc-for-gcc:glibc"
PREFERRED_PROVIDERS += " virtual/libx11:diet-x11"
PREFERRED_PROVIDERS += " python:python-curses"
PREFERRED_PROVIDER_classpath = "classpath-minimal"
diff --git a/conf/distro/openmn.conf b/conf/distro/openmn.conf
index 9de6c7d9e1..c4a4ccfaee 100644
--- a/conf/distro/openmn.conf
+++ b/conf/distro/openmn.conf
@@ -13,6 +13,8 @@ TARGET_OS = "linux"
INHERIT += "package_ipk"
INHERIT += "debian"
PACKAGE_EXTRA_ARCHS = "armv5te openmn"
+LIBC = "glibc"
+require conf/distro/include/${LIBC}.inc
FEED_URIS = "mnci54##http://www.mn-solutions.de/feed/mnci54/base"
diff --git a/conf/distro/openmoko.conf b/conf/distro/openmoko.conf
index 36461087bd..4d73b8ff84 100644
--- a/conf/distro/openmoko.conf
+++ b/conf/distro/openmoko.conf
@@ -18,6 +18,9 @@ DISTRO = "openmoko"
OVERRIDES = "local:${MACHINE}:openmoko:angstrom:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}"
+LIBC = "glibc"
+require conf/distro/include/${LIBC}.inc
+
INHERIT += "packaged-staging"
CVS_TARBALL_STASH += "http://downloads.openmoko.org/developer/sources/"
diff --git a/conf/distro/openprotium.conf b/conf/distro/openprotium.conf
index 633e3bcaef..4e0f472675 100644
--- a/conf/distro/openprotium.conf
+++ b/conf/distro/openprotium.conf
@@ -63,13 +63,8 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-interme
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/powerpc-linux-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/powerpc-linux-libc-initial = "glibc-initial"
-
-PREFERRED_PROVIDER_virtual/libc = "glibc"
-PREFERRED_PROVIDER_virtual/libiconv = "glibc"
-PREFERRED_PROVIDER_virtual/libintl = "glibc"
+LIBC = "glibc"
+require conf/distro/include/${LIBC}.inc
#silence a warning message...
PREFERRED_PROVIDER_linux-libc-headers = "linux-libc-headers"
diff --git a/conf/distro/oplinux-uclibc.conf b/conf/distro/oplinux-uclibc.conf
index 3a97c36aa6..b8617cc763 100644
--- a/conf/distro/oplinux-uclibc.conf
+++ b/conf/distro/oplinux-uclibc.conf
@@ -29,8 +29,8 @@ DISTRO_TYPE = "debug"
# Target OS & FPU system
#
TARGET_OS = "linux-uclibc"
-PREFERRED_PROVIDER_virtual/libiconv = "libiconv"
-PREFERRED_PROVIDER_virtual/libintl = "gettext"
+LIBC = "uclibc"
+require conf/distro/include/${LIBC}.inc
#
# Kernel
diff --git a/conf/distro/oplinux.conf b/conf/distro/oplinux.conf
index bab726ff16..43e8fad61c 100644
--- a/conf/distro/oplinux.conf
+++ b/conf/distro/oplinux.conf
@@ -46,21 +46,8 @@ PREFERRED_PROVIDER_esound ?= "pulseaudio"
# glibc:
-PREFERRED_PROVIDER_virtual/libiconv ?= "glibc"
-PREFERRED_PROVIDER_virtual/libintl ?= "glibc"
-PREFERRED_PROVIDER_virtual/libc ?= "glibc"
-
-
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/arm-oplinux-linux-gnueabi-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/armeb-oplinux-linux-gnueabi-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/armeb-linux-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/powerpc-oplinux-linux-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/mipsel-oplinux-linux-libc-for-gcc = "glibc"
-PREFERRED_PROVIDER_virtual/sparc-oplinux-linux-libc-for-gcc = "glibc"
-
-
+LIBC ?= "glibc"
+require conf/distro/include/${LIBC}.inc
# Virtuals:
PREFERRED_PROVIDER_virtual/db ?= "db"
diff --git a/conf/distro/slugos.conf b/conf/distro/slugos.conf
index 3e816f7c58..d82be5d2b5 100644
--- a/conf/distro/slugos.conf
+++ b/conf/distro/slugos.conf
@@ -18,7 +18,5 @@ IMAGE_INITSCRIPTS ?= "initscripts-slugos"
require conf/distro/include/slugos.inc
# glibc:
-PREFERRED_PROVIDER_virtual/libiconv ?= "glibc"
-PREFERRED_PROVIDER_virtual/libintl ?= "glibc"
-PREFERRED_PROVIDER_virtual/libc ?= "glibc"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial ?= "glibc-initial"
+LIBC ?= "glibc"
+require conf/distro/include/${LIBC}.inc
diff --git a/conf/distro/ucslugc.conf b/conf/distro/ucslugc.conf
index e3fa0166ed..df8cde8973 100644
--- a/conf/distro/ucslugc.conf
+++ b/conf/distro/ucslugc.conf
@@ -8,6 +8,8 @@ TARGET_ARCH = "armeb"
ARM_INSTRUCTION_SET = "thumb"
THUMB_INTERWORK = "yes"
TARGET_OS = "linux-uclibc"
+LIBC = "uclibc"
+require conf/distro/include/${LIBC}.inc
PREFERRED_VERSION_gcc-cross-initial = "3.4.4"
PREFERRED_VERSION_gcc-cross-intermediate = "3.4.4"
diff --git a/conf/distro/wrt54oe.conf b/conf/distro/wrt54oe.conf
index 4d18407333..0cea34912a 100644
--- a/conf/distro/wrt54oe.conf
+++ b/conf/distro/wrt54oe.conf
@@ -12,12 +12,13 @@
INHERIT += "package_ipk debian"
TARGET_OS = "linux-uclibc"
+LIBC = "uclibc"
+require conf/distro/include/${LIBC}.inc
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
-PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}libc-for-gcc:uclibc"
PREFERRED_VERSION_gcc-cross-initial = "3.4.4"
PREFERRED_VERSION_gcc-cross-intermediate = "3.4.4"