aboutsummaryrefslogtreecommitdiffstats
path: root/conf/distro/include
diff options
context:
space:
mode:
authorMichael 'Mickey' Lauer <mickey@vanille-media.de>2009-03-02 19:09:19 +0100
committerMichael 'Mickey' Lauer <mickey@vanille-media.de>2009-03-02 19:09:19 +0100
commitdd53c790d6c3b19bff547755f804e5f2fccc56ed (patch)
tree592f015c44735d719e52f57c86533cbf6981ca14 /conf/distro/include
parent6be41f1374dc9bf7f53673273d8b02bfbfe6a02e (diff)
parentb765ebc700bd5b639f70ccf2268284be624f46df (diff)
downloadopenembedded-dd53c790d6c3b19bff547755f804e5f2fccc56ed.tar.gz
Merge branch 'mickey/org.openembedded.dev' into org.openembedded.dev
Conflicts: classes/qt4e.bbclass packages/bluez/bluez4_4.31.bb packages/mc/mc_4.6.2.bb packages/vte/vte.inc packages/vte/vte_0.16.13.bb packages/vte/vte_0.16.14.bb
Diffstat (limited to 'conf/distro/include')
-rw-r--r--conf/distro/include/sane-feed-deb.inc6
-rw-r--r--conf/distro/include/sane-feed-ipk.inc5
-rw-r--r--conf/distro/include/sane-feed.inc170
-rw-r--r--conf/distro/include/sane-srcdates.inc45
-rw-r--r--conf/distro/include/sane-srcrevs.inc15
-rw-r--r--conf/distro/include/sane-toolchain-eglibc.inc37
-rw-r--r--conf/distro/include/sane-toolchain-glibc.inc39
-rw-r--r--conf/distro/include/sane-toolchain-oabi.inc2
-rw-r--r--conf/distro/include/sane-toolchain-uclibc.inc42
-rw-r--r--conf/distro/include/sane-toolchain-uclinux-uclibc.inc26
-rw-r--r--conf/distro/include/sane-toolchain.inc145
11 files changed, 480 insertions, 52 deletions
diff --git a/conf/distro/include/sane-feed-deb.inc b/conf/distro/include/sane-feed-deb.inc
new file mode 100644
index 0000000000..4f38b8f936
--- /dev/null
+++ b/conf/distro/include/sane-feed-deb.inc
@@ -0,0 +1,6 @@
+
+
+INHERIT += "package_deb"
+
+PREFERRED_PROVIDER_virtual/update-alternatives-native = "update-alternatives-cworth-native"
+PREFERRED_PROVIDER_virtual/update-alternatives = "update-alternatives-cworth"
diff --git a/conf/distro/include/sane-feed-ipk.inc b/conf/distro/include/sane-feed-ipk.inc
new file mode 100644
index 0000000000..a33a4ad2b4
--- /dev/null
+++ b/conf/distro/include/sane-feed-ipk.inc
@@ -0,0 +1,5 @@
+INHERIT += "package_ipk"
+
+PREFERRED_PROVIDER_virtual/update-alternatives-native = "update-alternatives-cworth-native"
+PREFERRED_PROVIDER_virtual/update-alternatives = "update-alternatives-cworth"
+
diff --git a/conf/distro/include/sane-feed.inc b/conf/distro/include/sane-feed.inc
new file mode 100644
index 0000000000..5bc19a1806
--- /dev/null
+++ b/conf/distro/include/sane-feed.inc
@@ -0,0 +1,170 @@
+# Originally brought to you by the Angstrom Distribution
+
+#############################################################################
+# FEED BUILDING SETTINGS
+#############################################################################
+
+# 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"
+
+# Add FEED_ARCH to overrides
+OVERRIDES .= ":${FEED_ARCH}"
+
+FEED_ARCH ?= "${TARGET_ARCH}"
+
+# Blackfin machines
+FEED_ARCH_bfin = "blackfin"
+
+# armv4t machines
+
+FEED_ARCH_acern30 = "armv4t"
+FEED_ARCH_amsdelta = "armv4t"
+FEED_ARCH_ep93xx = "armv4t"
+FEED_ARCH_eteng500 = "armv4t"
+FEED_ARCH_om-gta01 = "armv4t"
+FEED_ARCH_om-gta02 = "armv4t"
+FEED_ARCH_h1940 = "armv4t"
+FEED_ARCH_h6300 = "armv4t"
+FEED_ARCH_kb9202 = "armv4t"
+FEED_ARCH_ks8695 = "armv4t"
+FEED_ARCH_rx1950 = "armv4t"
+FEED_ARCH_rx3000 = "armv4t"
+FEED_ARCH_sarge-at91 = "armv4t"
+FEED_ARCH_smdk2440 = "armv4t"
+FEED_ARCH_smdk2443 = "armv4t"
+
+# armv5t machines
+
+FEED_ARCH_a1200 = "armv5te"
+FEED_ARCH_a780 = "armv5te"
+FEED_ARCH_akita = "armv5te"
+FEED_ARCH_asus620 = "armv5te"
+FEED_ARCH_asus730 = "armv5te"
+FEED_ARCH_at91sam9263ek = "armv5te"
+FEED_ARCH_aximx50 = "armv5te"
+FEED_ARCH_aximx50v = "armv5te"
+FEED_ARCH_c7x0 = "armv5te"
+FEED_ARCH_compulab-pxa270 = "armv5te"
+FEED_ARCH_davinci-dvevm = "armv5te"
+FEED_ARCH_devkitidp-pxa255 = "armv5te"
+FEED_ARCH_e680 = "armv5te"
+FEED_ARCH_er0100 = "armv5te"
+FEED_ARCH_gumstix = "armv5te"
+FEED_ARCH_gumstix-verdex = "armv5te"
+FEED_ARCH_gumstix-connex = "armv5te"
+FEED_ARCH_h1910 = "armv5te"
+FEED_ARCH_h2200 = "armv5te"
+FEED_ARCH_h3900 = "armv5te"
+FEED_ARCH_h4000 = "armv5te"
+FEED_ARCH_h5000 = "armv5te"
+FEED_ARCH_htcalpine = "armv5te"
+FEED_ARCH_htcapache = "armv5te"
+FEED_ARCH_htcblueangel = "armv5te"
+FEED_ARCH_htchimalaya = "armv5te"
+FEED_ARCH_htcsable = "armv5te"
+FEED_ARCH_htctornado = "armv5te"
+FEED_ARCH_htcuniversal = "armv5te"
+FEED_ARCH_hx2000 = "armv5te"
+FEED_ARCH_hx4700 = "armv5te"
+FEED_ARCH_ixp4xxle = "armv5te"
+FEED_ARCH_logicpd-pxa270 = "armv5te"
+FEED_ARCH_looxc550 = "armv5te"
+FEED_ARCH_lsarm = "armv5te"
+FEED_ARCH_magician = "armv5te"
+FEED_ARCH_mainstone = "armv5te"
+FEED_ARCH_mnci = "armv5te"
+FEED_ARCH_mtx-3 = "armv5te"
+FEED_ARCH_mx21ads = "armv5te"
+FEED_ARCH_n2100 = "armv5te"
+FEED_ARCH_navman-icn330 = "armv5te"
+FEED_ARCH_netbook-pro = "armv5te"
+FEED_ARCH_nokia770 = "armv5te"
+FEED_ARCH_rokre2 = "armv5te"
+FEED_ARCH_nslu2le = "armv5te"
+FEED_ARCH_omap1510inn = "armv5te"
+FEED_ARCH_omap1610h2 = "armv5te"
+FEED_ARCH_omap1710h3 = "armv5te"
+FEED_ARCH_omap5912osk = "armv5te"
+FEED_ARCH_palmld = "armv5te"
+FEED_ARCH_palmt650 = "armv5te"
+FEED_ARCH_palmt680 = "armv5te"
+FEED_ARCH_palmtc = "armv5te"
+FEED_ARCH_palmtt = "armv5te"
+FEED_ARCH_palmtt3 = "armv5te"
+FEED_ARCH_palmtt5 = "armv5te"
+FEED_ARCH_palmtx = "armv5te"
+FEED_ARCH_palmz31 = "armv5te"
+FEED_ARCH_palmz71 = "armv5te"
+FEED_ARCH_palmz72 = "armv5te"
+FEED_ARCH_poodle = "armv5te"
+FEED_ARCH_qemuarm = "armv5te"
+FEED_ARCH_spitz = "armv5te"
+FEED_ARCH_tosa = "armv5te"
+FEED_ARCH_triton = "armv5te"
+
+FEED_ARCH_ixp4xxbe = "armv5teb"
+FEED_ARCH_nslu2be = "armv5teb"
+
+# armv6 machines
+
+FEED_ARCH_mx31ads = "armv6"
+FEED_ARCH_mx31moboard = "armv6"
+FEED_ARCH_nokia800 = "armv6"
+FEED_ARCH_omap2420h4 = "armv6"
+FEED_ARCH_omap2430sdp = "armv6"
+
+# i486 machines
+FEED_ARCH_geodegx = "i486"
+FEED_ARCH_geodelx = "i486"
+FEED_ARCH_netvista = "i486"
+FEED_ARCH_wrap = "i486"
+FEED_ARCH_x86 = "i486"
+
+# i586 machines
+FEED_ARCH_epia = "i586"
+FEED_ARCH_i586-generic = "i586"
+FEED_ARCH_qemux86 = "i586"
+
+# i686 machines
+
+FEED_ARCH_alix = "i686"
+FEED_ARCH_colinux = "i686"
+FEED_ARCH_guinness = "i686"
+FEED_ARCH_i686-generic = "i686"
+FEED_ARCH_progear = "i686"
+
+# powerpc machines
+
+FEED_ARCH_dht-walnut = "ppc405"
+FEED_ARCH_magicbox = "ppc405"
+FEED_ARCH_xilinx-ml403 = "ppc405"
+FEED_ARCH_xilinx-ml410 = "ppc405"
+FEED_ARCH_sequoia = "ppc440e"
+FEED_ARCH_efika = "ppc603e"
+FEED_ARCH_lite5200 = "ppc603e"
+FEED_ARCH_lsppchd = "ppc603e"
+FEED_ARCH_lsppchg = "ppc603e"
+FEED_ARCH_storcenter = "ppc603e"
+FEED_ARCH_turbostation = "ppc603e"
+FEED_ARCH_mpc8313e-rdb = "ppce300c3"
+FEED_ARCH_mpc8323e-rdb = "ppce300c2"
+
+# strongarm machines, no EABI
+
+FEED_ARCH_collie = "arm-oabi"
+FEED_ARCH_h3600 = "arm-oabi"
+FEED_ARCH_h3800 = "arm-oabi"
+FEED_ARCH_htcwallaby = "arm-oabi"
+FEED_ARCH_jornada56x = "arm-oabi"
+FEED_ARCH_jornada7xx = "arm-oabi"
+FEED_ARCH_shark = "arm-oabi"
+FEED_ARCH_simpad = "arm-oabi"
+
+# Tweak packaging for strongarm machines since they can't use EABI
+
+PACKAGE_EXTRA_ARCHS_collie = "arm-oabi"
+PACKAGE_EXTRA_ARCHS_h3600 = "arm-oabi"
+PACKAGE_EXTRA_ARCHS_h3800 = "arm-oabi"
+PACKAGE_EXTRA_ARCHS_simpad = "arm-oabi"
+PACKAGE_EXTRA_ARCHS_htcwallaby = "arm-oabi"
diff --git a/conf/distro/include/sane-srcdates.inc b/conf/distro/include/sane-srcdates.inc
index a2fffdf88d..d0e20ce123 100644
--- a/conf/distro/include/sane-srcdates.inc
+++ b/conf/distro/include/sane-srcdates.inc
@@ -5,51 +5,6 @@
SRCDATE_at76c503a-modules ?= "20060814"
SRCDATE_prism54-module ?= "20060814"
-# X11 libs, extentions and protos
-SRCDATE_compositeext ?= "20060814"
-SRCDATE_drm ?= "20060814"
-SRCDATE_drm-kernel ?= "20060814"
-SRCDATE_fixesext ?= "20060814"
-SRCDATE_libxext-native ?= "20060814"
-SRCDATE_libxss ?= "20060814"
-SRCDATE_recordext ?= "20060814"
-SRCDATE_renderext ?= "20060814"
-SRCDATE_calibrateproto ?= "20070802"
-SRCDATE_libxcalibrate ?= "20070802"
-SRCDATE_xxf86dgaext ?= "20060814"
-SRCDATE_xxf86vmext ?= "20060814"
-
-# Matchbox / O-hand
-SRCDATE_contacts ?= "20060707"
-SRCDATE_dates ?= "20060707"
-SRCDATE_fstests ?= "20061122"
-SRCDATE_eds-dbus ?= "20070704"
-SRCDATE_libmatchbox ?= "20060612"
-SRCDATE_libfakekey ?= "20051101"
-SRCDATE_matchbox-common ?= "20060612"
-SRCDATE_matchbox-config-gtk ?= "20060612"
-SRCDATE_matchbox-desktop ?= "20060612"
-SRCDATE_matchbox-keyboard ?= "20070816"
-SRCDATE_matchbox-panel ?= "20060612"
-SRCDATE_matchbox-panel-manager ?= "20060612"
-SRCDATE_matchbox-stroke ?= "20060612"
-SRCDATE_matchbox-themes-extra ?= "20060612"
-SRCDATE_matchbox-wm ?= "20060612"
-SRCDATE_libmatchbox ?= "20060612"
-SRCDATE_libfakekey ?= "20051101"
-SRCDATE_psplash ?= "20070330"
-SRCDATE_web ?= "20060613"
-SRCDATE_zaurusd ?= "20060628"
-
-# GPE
-SRCDATE_dasher-gpe ?= "20060814"
-SRCDATE_rosetta ?= "20060804"
-SRCDATE_gpesyncd ?= "20070701"
-
-# GNOME
-SRCDATE_gnome-vfs ?= "20060119"
-SRCDATE_gtkhtml2 ?= "20060323"
-
# Misc packages, sorted by alphabet
SRCDATE_aufs ?= "20081203"
SRCDATE_avetanabt ?= "20060814"
diff --git a/conf/distro/include/sane-srcrevs.inc b/conf/distro/include/sane-srcrevs.inc
index b4407bdae1..4d45871af3 100644
--- a/conf/distro/include/sane-srcrevs.inc
+++ b/conf/distro/include/sane-srcrevs.inc
@@ -54,8 +54,8 @@ SRCREV_pn-epydial ?= "215"
SRCREV_pn-etk-theme-ninja ?= "5"
SRCREV_pn-fbgrab-viewer-native ?= "1943"
SRCREV_pn-flashrom ?= "3682"
-SRCREV_pn-frameworkd ?= "700ab8250582767628165b7cf6f671ef756ba56d"
-SRCREV_pn-frameworkd-devel ?= "${SRCREV_pn-frameworkd}"
+SRCREV_pn-frameworkd ?= "b652f9cc4efbccc1df941c0d93e156631879f174"
+SRCREV_pn-frameworkd-devel ?= "858c8d58d1f7e807f2c09532787c4e7b1a5daa52"
SRCREV_pn-fsod ?= "3fa5eb6f2edcf7c9f0fc2027fda47b91d9f0f136"
SRCREV_pn-fso-abyss ?= "fc4324a328834eb55c35d1670efc53f6e8c892a1"
SRCREV_pn-fso-apm ?= "eb39ce7fb81bfa64e1a9eb5f142ca3d1065be3fa"
@@ -66,9 +66,10 @@ SRCREV_pn-fso-sounds ?= "3d2cf5231cb0e81770a246530574142bd2b8bbff"
SRCREV_pn-fstests ?= "204"
SRCREV_pn-gconf-dbus ?= "641"
SRCREV_pn-gnuradio ?= "10302"
+SRCREV_pn-gpe-conf ?= "9798"
SRCREV_pn-gpe-contacts ?= "9312"
+SRCREV_pn-gpe-gallery ?= "9376"
SRCREV_pn-gpe-sketchbook ?= "9547"
-SRCREV_pn-gpe-conf ?= "9798"
SRCREV_pn-gsmd2 ?= "963f34df8fa3ff4b301079dcf86e9acea6b6fe0f"
SRCREV_pn-gtkhtml2 ?= "1158"
SRCREV_pn-gypsy ?= "134"
@@ -102,8 +103,8 @@ SRCREV_pn-linux-bfin ?= "3758"
SRCREV_pn-linux-hackndev-2.6 ?= "1308"
SRCREV_pn-linux-ixp4xx ?= "1085"
SRCREV_pn-linux-openmoko-2.6.24 ?= "fb42ce6724576fc173faf8abfb04aa2c36d213b7"
-SRCREV_pn-linux-openmoko-2.6.28 ?= "34240a1c06ae36180dee695aa25bbae869b2aa26"
-SRCREV_pn-linux-openmoko-devel ?= "498d0953423a504cd24d11a0307e0ec01b81b68d"
+SRCREV_pn-linux-openmoko-2.6.28 ?= "8aa6cdde17381dd8865d10ba15ee62c092ec2ba5"
+SRCREV_pn-linux-openmoko-devel ?= "b9aa5bf345a0b802af0d10b6cf1079738fe4fd12"
SRCREV_pn-linux-eten ?= "ab2d414f4f13816af0ec0401b608133ca946624a"
SRCREV_pn-llvm-gcc4 ?= "374"
SRCREV_pn-llvm-gcc4-cross ?= "374"
@@ -211,7 +212,7 @@ SRCREV_pn-tslib ?= "53"
SRCREV_pn-qemu-native ?= "${QEMUSRCREV}"
SRCREV_pn-qemu-sdk ?= "${QEMUSRCREV}"
SRCREV_pn-qemu ?= "${QEMUSRCREV}"
-SRCREV_pn-qi ?= "1fc83905fe99da92ff18e6ba671ee339477b1b9e"
+SRCREV_pn-qi ?= "4a0243f758a38cff23f379f5a195a608e6663b8f"
SRCREV_pn-remoko ?= "121"
SRCREV_pn-remoko-server ?= "121"
SRCREV_pn-s3c24xx-gpio ?= "4130"
@@ -247,7 +248,7 @@ SRCREV_pn-zhone ?= "f38cc52fbf11f7fe945797a6b8ade29ed479d924"
# Enlightenment Foundation Libraries
# Caution: This is not alphabetically, but (roughly) dependency-sorted.
# Please leave it like that.
-EFL_SRCREV ?= "39089"
+EFL_SRCREV ?= "39263"
SRCREV_pn-edb-native ?= "${EFL_SRCREV}"
SRCREV_pn-edb ?= "${EFL_SRCREV}"
SRCREV_pn-eina-native ?= "${EFL_SRCREV}"
diff --git a/conf/distro/include/sane-toolchain-eglibc.inc b/conf/distro/include/sane-toolchain-eglibc.inc
new file mode 100644
index 0000000000..e780349137
--- /dev/null
+++ b/conf/distro/include/sane-toolchain-eglibc.inc
@@ -0,0 +1,37 @@
+# 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"
+FULL_OPTIMIZATION_pn-perl = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O1"
+FULL_OPTIMIZATION_sparc = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
+
+BUILD_OPTIMIZATION = "-Os"
+BUILD_OPTIMIZATION_pn-perl = "-O1"
+BUILD_OPTIMIZATION_sparc = "-O2"
+
+TARGET_LINK_HASH_STYLE = "${@['-Wl,--hash-style=gnu',''][bb.data.getVar('TARGET_ARCH',d,1) in ['mips', 'mipsel']]}"
+
+CXXFLAGS += "-fvisibility-inlines-hidden"
+
diff --git a/conf/distro/include/sane-toolchain-glibc.inc b/conf/distro/include/sane-toolchain-glibc.inc
new file mode 100644
index 0000000000..b14f880328
--- /dev/null
+++ b/conf/distro/include/sane-toolchain-glibc.inc
@@ -0,0 +1,39 @@
+# 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"
+
+
+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']]}"
+
+#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 -frename-registers -fomit-frame-pointer -O2"
+
+FULL_OPTIMIZATION_pn-perl = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O1"
+FULL_OPTIMIZATION_pn-glibc = "-fexpensive-optimizations -fomit-frame-pointer -O2"
+FULL_OPTIMIZATION_sparc = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
+
+BUILD_OPTIMIZATION = "-O2"
+BUILD_OPTIMIZATION_pn-perl = "-O1"
+BUILD_OPTIMIZATION_pn-glibc = "-O2"
+BUILD_OPTIMIZATION_sparc = "-O2"
+
+TARGET_LINK_HASH_STYLE = "${@['-Wl,--hash-style=gnu',''][bb.data.getVar('TARGET_ARCH',d,1) in ['mips', 'mipsel']]}"
+
+CXXFLAGS += "-fvisibility-inlines-hidden"
+
diff --git a/conf/distro/include/sane-toolchain-oabi.inc b/conf/distro/include/sane-toolchain-oabi.inc
new file mode 100644
index 0000000000..816d44230e
--- /dev/null
+++ b/conf/distro/include/sane-toolchain-oabi.inc
@@ -0,0 +1,2 @@
+PACKAGE_ARCH = "arm-oabi"
+BASE_PACKAGE_ARCH = "arm-oabi"
diff --git a/conf/distro/include/sane-toolchain-uclibc.inc b/conf/distro/include/sane-toolchain-uclibc.inc
new file mode 100644
index 0000000000..66ac81a508
--- /dev/null
+++ b/conf/distro/include/sane-toolchain-uclibc.inc
@@ -0,0 +1,42 @@
+# 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"
+
+USE_NLS ?= "no"
+USE_NLS_glib-2.0 = "yes"
+USE_NLS_glib-2.0-native = "yes"
+USE_NLS_gcc-cross = "no"
+
+TARGET_OS_UC = "linux${@['-uclibc','-uclibcgnueabi'][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 = "${@['${TARGET_OS_UC}', 'uclinux-uclibc'][bb.data.getVar('TARGET_ARCH',d) in ['bfin']]}"
+
+#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
+FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os"
+BUILD_OPTIMIZATION = "-Os"
+
+#Gcc will die with 'internal consistency error when using the above optimizations
+#with gcc-4.2.1-atmel.1.0.3 (and probably most other avr32 gcc ports).
+#However, some packages require optimizations to compile (e.g. libmad).
+#It appears the guilty optimization is "-frename-registers", leaving that one
+#out allows the build to proceed normally. -fexpensive-optimizations may be OK,
+#it was removed while debugging an issue that ultimately turned out to be due
+#to the ICE fixed by gcc-pr32889.patch. It needs to be tested again.
+#Note that this testing was done without the gcc-pr32889.patch.
+FULL_OPTIMIZATION_avr32 = "-Os -fomit-frame-pointer"
+
+TARGET_LINK_HASH_STYLE = "${@['-Wl,--hash-style=gnu',''][bb.data.getVar('TARGET_ARCH',d,1) in ['mips', 'mipsel', 'avr32']]}"
+
+CXXFLAGS += "-fvisibility-inlines-hidden"
+
diff --git a/conf/distro/include/sane-toolchain-uclinux-uclibc.inc b/conf/distro/include/sane-toolchain-uclinux-uclibc.inc
new file mode 100644
index 0000000000..85ccddf704
--- /dev/null
+++ b/conf/distro/include/sane-toolchain-uclinux-uclibc.inc
@@ -0,0 +1,26 @@
+# 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"
+USE_NLS_glib-2.0-native = "yes"
+USE_NLS_gcc-cross = "no"
+
+TARGET_OS_UC = "uclinux${@['-uclibc','-uclibcgnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb'] and bb.data.getVar('MACHINE',d) not in ['collie','h3600', 'h3800', 'simpad', 'htcwallaby']]}"
+
+#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
+FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os"
+BUILD_OPTIMIZATION = "-Os"
+
+#Gcc will die with 'internal consistency error when using the above optimizations
+FULL_OPTIMIZATION_avr32 = ""
+BUILD_OPTIMIZATION_avr32 = ""
+
+CXXFLAGS += "-fvisibility-inlines-hidden"
+
diff --git a/conf/distro/include/sane-toolchain.inc b/conf/distro/include/sane-toolchain.inc
new file mode 100644
index 0000000000..01efe261b8
--- /dev/null
+++ b/conf/distro/include/sane-toolchain.inc
@@ -0,0 +1,145 @@
+# Originally brought to you by the Angstrom Distribution
+
+#############################################################################
+# TOOLCHAIN VERSION SETTINGS
+#############################################################################
+
+# Base line versions, good for most things
+PREFERRED_GCC_VERSION ?= "4.2.4"
+PREFERRED_BINUTILS ?= "2.18.50.0.7"
+
+# Prefer glibc 2.6 and uclibc 0.9.30, these have had the most testing.
+PREFERRED_VERSION_glibc ?= "2.6.1"
+PREFERRED_VERSION_glibc-initial ?= "2.6.1"
+PREFERRED_VERSION_uclibc ?= "0.9.30"
+PREFERRED_VERSION_uclibc-initial ?= "0.9.30"
+
+# Some systems need a special gcc version
+PREFERRED_GCC_VERSION_486sx ?= "4.3.2"
+PREFERRED_GCC_VERSION_avr32 ?= "4.2.2"
+PREFERRED_GCC_VERSION_armv7a ?= "4.3.1"
+PREFERRED_GCC_VERSION_bfin ?= "4.1.2"
+PREFERRED_GCC_VERSION_ppc405 ?= "4.1.1"
+PREFERRED_GCC_VERSION_xilinx-ml403 ?= "4.1.1"
+PREFERRED_GCC_VERSION_xilinx-ml403 ?= "4.1.1"
+
+# This is unrelated to the kernel version, but userspace apps (e.g. HAL) require a recent version to build against
+PREFERRED_VERSION_linux-libc-headers = "2.6.23"
+
+# Uncomment this if want need to build an armv7a kernel with CSL toolchain (<2.6.27 don't boot with mainline gcc)
+#KERNEL_CCSUFFIX_armv7a= "-4.2.1+csl-arm-2007q3-53"
+
+# Binutils
+PREFERRED_VERSION_binutils ?= "${PREFERRED_BINUTILS}"
+PREFERRED_VERSION_binutils-cross ?= "${PREFERRED_BINUTILS}"
+PREFERRED_VERSION_binutils-cross-sdk ?= "${PREFERRED_BINUTILS}"
+
+# Avr32 only has patches for binutils 2.17 in OE
+PREFERRED_VERSION_binutils_avr32 = "2.17"
+PREFERRED_VERSION_binutils-cross_avr32 = "2.17"
+PREFERRED_VERSION_binutils-cross-sdk_avr32 = "2.17"
+
+# Compiler versions
+PREFERRED_VERSION_gcc ?= "${PREFERRED_GCC_VERSION}"
+PREFERRED_VERSION_gcc-cross ?= "${PREFERRED_GCC_VERSION}"
+PREFERRED_VERSION_gcc-cross-sdk ?= "${PREFERRED_GCC_VERSION}"
+PREFERRED_VERSION_gcc-cross-initial ?= "${PREFERRED_GCC_VERSION}"
+PREFERRED_VERSION_gcc-cross-intermediate ?= "${PREFERRED_GCC_VERSION}"
+
+# Compiler selection
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-intermediate"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
+PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
+
+# Others
+PREFERRED_PROVIDER_linux-libc-headers = "linux-libc-headers"
+
+#############################################################################
+# TOOLCHAIN CUSTOMIZATION
+#############################################################################
+
+# Branding
+TARGET_VENDOR = "-oe"
+
+# 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)
+# Angstrom turns on thumb for armv4t machine according to this RFC:
+# http://lists.linuxtogo.org/pipermail/angstrom-distro-devel/2008-October/002714.html
+
+# We can't do ARM_INSTRUCTION_SET_armv4t since that will un-overridable in recipes like gcc
+ANGSTROM_ARM_INSTRUCTION_SET ?= "arm"
+ANGSTROM_ARM_INSTRUCTION_SET_armv4t = "thumb"
+ANGSTROM_ARM_INSTRUCTION_SET_armv5te = "thumb"
+ANGSTROM_ARM_INSTRUCTION_SET_armv5teb = "thumb"
+
+ARM_INSTRUCTION_SET = "${ANGSTROM_ARM_INSTRUCTION_SET}"
+# "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 = "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 don't want to keep OABI compat
+ARM_KEEP_OABI = "0"
+# Do keep OABI compat for om-gta01 to keep the gllin binary working
+ARM_KEEP_OABI_pn-linux-openmoko-2.6.24_om-gta01 = "1"
+ARM_KEEP_OABI_pn-linux-openmoko-2.6.28_om-gta01 = "1"
+
+# ARM EABI is softfloat by default, but let's make sure :)
+# make it overridable for platforms with FPU, like ep93xx or i.mx31
+TARGET_FPU_arm ?= "soft"
+TARGET_FPU_armeb ?= "soft"
+TARGET_FPU_ixp4xx ?= "soft"
+TARGET_FPU_ppc405 ?= "soft"
+
+TARGET_FPU_armv6 ?= "hard"
+TARGET_FPU_armv6-novfp ?= "soft"
+TARGET_FPU_armv7a ?= "hard"
+TARGET_FPU_ppc603e ?= "hard"
+
+# 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"
+
+#############################################################################
+# C LIBRARY SETTINGS
+#############################################################################
+
+# Can be "glibc", "eglibc" or "uclibc"
+PREFERRED_LIBC ?= "glibc"
+PSTAGE_EXTRAPATH = "${PREFERRED_LIBC}"
+
+CACHE = "${TMPDIR}/cache/${PREFERRED_LIBC}/${MACHINE}"
+DEPLOY_DIR = "${TMPDIR}/deploy/${PREFERRED_LIBC}"
+require conf/distro/include/sane-toolchain-${PREFERRED_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"
+ENABLE_BINARY_LOCALE_GENERATION ?= "1"
+
+# We only want to build UTF8 locales
+LOCALE_UTF8_ONLY = "1"
+
+# Qemu doesn't like armv6/eabi/vfp
+ENABLE_BINARY_LOCALE_GENERATION_armv6 = "0"
+ENABLE_BINARY_LOCALE_GENERATION_armv6-novfp = "0"
+ENABLE_BINARY_LOCALE_GENERATION_armv7a = "0"
+
+#qemu has taken a dislike to armeb as well
+ENABLE_BINARY_LOCALE_GENERATION_armeb = "0"
+
+# This is needed to get a correct PACKAGE_ARCH for packages that have PACKAGE_ARCH = ${MACHINE_ARCH}
+ARM_ABI ?= "${@['','oabi'][bb.data.getVar('MACHINE',d) in ['collie','h3600', 'h3800', 'simpad', 'htcwallaby']]}"
+include conf/distro/include/sane-toolchain-${ARM_ABI}.inc