diff options
author | Michael 'Mickey' Lauer <mickey@vanille-media.de> | 2009-02-26 23:44:51 +0100 |
---|---|---|
committer | Michael 'Mickey' Lauer <mickey@vanille-media.de> | 2009-02-26 23:44:51 +0100 |
commit | 95d534d361b77894de0fe0ee6e5c1f96b60de211 (patch) | |
tree | 28aecafc31f5e4248da74cd064397b1ad2852b20 /conf/distro/include/sane-toolchain-uclibc.inc | |
parent | 9b4c27d16529467cf4a5329289e9fb1b7426ecc9 (diff) |
minimal.conf: blatantly steal the collective wisdom (and I admit it must have
been ton of work, thanks koen et. al.) people put in the angstrom distribution
configuration and reorganize the sections a bit for more clarity. Most of this
is really distribution-independent, so I'd welcome if angstrom would include one
or the other of these sane-*.inc and maintain it there.
Diffstat (limited to 'conf/distro/include/sane-toolchain-uclibc.inc')
-rw-r--r-- | conf/distro/include/sane-toolchain-uclibc.inc | 42 |
1 files changed, 42 insertions, 0 deletions
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" + |