diff options
author | Gerald Britton <gbritton@doomcom.org> | 2004-04-27 02:53:54 +0000 |
---|---|---|
committer | Gerald Britton <gbritton@doomcom.org> | 2004-04-27 02:53:54 +0000 |
commit | 5c76c320af6f82794823215c081469d3de8e64e4 (patch) | |
tree | 324384db2b3a349459fb4fa28fc910448ec52ae7 /uclibc | |
parent | f63c99c34855fff1cbb932457b08bdd29b3777ff (diff) |
- binutils 2.15.90.0.3 / gcc 3.4.0 toolchain
- support in glibc and uclibc for gcc 3.4.0
- new target setup for uclibc, TARGET_OS=linux-uclibc to match the uclibc
project's setup and modern config.sub already has support for it.
BKrev: 408dcb42JOaGKxGg3PSn6IwU4Kimfw
Diffstat (limited to 'uclibc')
-rw-r--r-- | uclibc/uclibc-0.9.26/uClibc.config.arm | 30 | ||||
-rw-r--r-- | uclibc/uclibc-0.9.26/uClibc.config.i386 | 154 | ||||
-rw-r--r-- | uclibc/uclibc-initial_0.9.26.oe | 5 | ||||
-rw-r--r-- | uclibc/uclibc_0.9.26.oe | 73 |
4 files changed, 207 insertions, 55 deletions
diff --git a/uclibc/uclibc-0.9.26/uClibc.config.arm b/uclibc/uclibc-0.9.26/uClibc.config.arm index cfc53bf96e..ca67c55e9f 100644 --- a/uclibc/uclibc-0.9.26/uClibc.config.arm +++ b/uclibc/uclibc-0.9.26/uClibc.config.arm @@ -31,20 +31,6 @@ TARGET_ARCH="arm" # CONFIG_ARM_SA110 is not set # CONFIG_ARM_SA1100 is not set CONFIG_ARM_XSCALE=y -# CONFIG_GENERIC_386 is not set -# CONFIG_386 is not set -# CONFIG_486 is not set -# CONFIG_586 is not set -# CONFIG_586MMX is not set -# CONFIG_686 is not set -# CONFIG_PENTIUMIII is not set -# CONFIG_PENTIUM4 is not set -# CONFIG_K6 is not set -# CONFIG_K7 is not set -# CONFIG_CRUSOE is not set -# CONFIG_WINCHIPC6 is not set -# CONFIG_WINCHIP2 is not set -# CONFIG_CYRIXIII is not set ARCH_LITTLE_ENDIAN=y # ARCH_BIG_ENDIAN is not set # ARCH_HAS_NO_MMU is not set @@ -105,8 +91,13 @@ UCLIBC_HAS_CTYPE_SIGNED=y UCLIBC_HAS_CTYPE_CHECKED=y # UCLIBC_HAS_CTYPE_ENFORCED is not set UCLIBC_HAS_WCHAR=y -# UCLIBC_HAS_LOCALE is not set +UCLIBC_HAS_LOCALE=y +UCLIBC_PREGENERATED_LOCALE_DATA=y +# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set +UCLIBC_HAS_XLOCALE=y UCLIBC_HAS_HEXADECIMAL_FLOATS=y +UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y +UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y @@ -131,22 +122,23 @@ UCLIBC_HAS_ERRNO_MESSAGES=y # UCLIBC_HAS_SYS_ERRLIST is not set UCLIBC_HAS_SIGNUM_MESSAGES=y # UCLIBC_HAS_SYS_SIGLIST is not set +UCLIBC_HAS_GETTEXT_AWARENESS=y UCLIBC_HAS_GNU_GETOPT=y # # Big and Tall # UCLIBC_HAS_REGEX=y -# UCLIBC_HAS_WORDEXP is not set -# UCLIBC_HAS_FTW is not set +UCLIBC_HAS_WORDEXP=y +UCLIBC_HAS_FTW=y UCLIBC_HAS_GLOB=y # # Library Installation Options # SHARED_LIB_LOADER_PREFIX="$(DEVEL_PREFIX)/lib" -RUNTIME_PREFIX="/usr/$(TARGET_ARCH)-linux-uclibc/" -DEVEL_PREFIX="/home/gbritton/devel/OE/build/tmp/staging/cross/i386-uclibc-linux" +RUNTIME_PREFIX="/" +DEVEL_PREFIX="//usr" # # uClibc development/debugging options diff --git a/uclibc/uclibc-0.9.26/uClibc.config.i386 b/uclibc/uclibc-0.9.26/uClibc.config.i386 index e69de29bb2..3b356930e2 100644 --- a/uclibc/uclibc-0.9.26/uClibc.config.i386 +++ b/uclibc/uclibc-0.9.26/uClibc.config.i386 @@ -0,0 +1,154 @@ +# +# Automatically generated make config: don't edit +# +# TARGET_alpha is not set +# TARGET_arm is not set +# TARGET_cris is not set +# TARGET_e1 is not set +# TARGET_h8300 is not set +TARGET_i386=y +# TARGET_i960 is not set +# TARGET_m68k is not set +# TARGET_microblaze is not set +# TARGET_mips is not set +# TARGET_powerpc is not set +# TARGET_sh is not set +# TARGET_sparc is not set +# TARGET_v850 is not set + +# +# Target Architecture Features and Options +# +HAVE_ELF=y +TARGET_ARCH="i386" +CONFIG_GENERIC_386=y +# CONFIG_386 is not set +# CONFIG_486 is not set +# CONFIG_586 is not set +# CONFIG_586MMX is not set +# CONFIG_686 is not set +# CONFIG_PENTIUMIII is not set +# CONFIG_PENTIUM4 is not set +# CONFIG_K6 is not set +# CONFIG_K7 is not set +# CONFIG_CRUSOE is not set +# CONFIG_WINCHIPC6 is not set +# CONFIG_WINCHIP2 is not set +# CONFIG_CYRIXIII is not set +ARCH_LITTLE_ENDIAN=y +# ARCH_BIG_ENDIAN is not set +# ARCH_HAS_NO_MMU is not set +UCLIBC_HAS_MMU=y +UCLIBC_HAS_FLOATS=y +HAS_FPU=y +DO_C99_MATH=y +WARNINGS="-Wall" +KERNEL_SOURCE="/usr/src/linux" +C_SYMBOL_PREFIX="" +HAVE_DOT_CONFIG=y + +# +# General Library Settings +# +# HAVE_NO_PIC is not set +DOPIC=y +# HAVE_NO_SHARED is not set +HAVE_SHARED=y +# ARCH_HAS_NO_LDSO is not set +BUILD_UCLIBC_LDSO=y +# UCLIBC_PIE_SUPPORT is not set +LDSO_LDD_SUPPORT=y +UCLIBC_CTOR_DTOR=y +# UCLIBC_PROPOLICE is not set +# UCLIBC_PROFILING is not set +# HAS_NO_THREADS is not set +UCLIBC_HAS_THREADS=y +PTHREADS_DEBUG_SUPPORT=y +UCLIBC_HAS_LFS=y +# MALLOC is not set +# MALLOC_SIMPLE is not set +MALLOC_STANDARD=y +MALLOC_GLIBC_COMPAT=y +UCLIBC_DYNAMIC_ATEXIT=y +HAS_SHADOW=y +UNIX98PTY_ONLY=y +ASSUME_DEVPTS=y +UCLIBC_HAS_TM_EXTENSIONS=y +UCLIBC_HAS_TZ_CACHING=y +UCLIBC_HAS_TZ_FILE=y +UCLIBC_HAS_TZ_FILE_READ_MANY=y +UCLIBC_TZ_FILE_PATH="/etc/TZ" + +# +# Networking Support +# +# UCLIBC_HAS_IPV6 is not set +UCLIBC_HAS_RPC=y +# UCLIBC_HAS_FULL_RPC is not set + +# +# String and Stdio Support +# +UCLIBC_HAS_CTYPE_TABLES=y +UCLIBC_HAS_CTYPE_SIGNED=y +# UCLIBC_HAS_CTYPE_UNSAFE is not set +UCLIBC_HAS_CTYPE_CHECKED=y +# UCLIBC_HAS_CTYPE_ENFORCED is not set +UCLIBC_HAS_WCHAR=y +UCLIBC_HAS_LOCALE=y +UCLIBC_PREGENERATED_LOCALE_DATA=y +# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set +UCLIBC_HAS_XLOCALE=y +UCLIBC_HAS_HEXADECIMAL_FLOATS=y +UCLIBC_HAS_GLIBC_DIGIT_GROUPING=y +UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING=y +UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y +UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 +UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y +# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set +UCLIBC_HAS_STDIO_BUFSIZ_256=y +# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set +UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set +UCLIBC_HAS_STDIO_GETC_MACRO=y +UCLIBC_HAS_STDIO_PUTC_MACRO=y +UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y +# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set +UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y +UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y +UCLIBC_HAS_PRINTF_M_SPEC=y +UCLIBC_HAS_ERRNO_MESSAGES=y +# UCLIBC_HAS_SYS_ERRLIST is not set +UCLIBC_HAS_SIGNUM_MESSAGES=y +# UCLIBC_HAS_SYS_SIGLIST is not set +UCLIBC_HAS_GETTEXT_AWARENESS=y +UCLIBC_HAS_GNU_GETOPT=y + +# +# Big and Tall +# +UCLIBC_HAS_REGEX=y +UCLIBC_HAS_WORDEXP=y +UCLIBC_HAS_FTW=y +UCLIBC_HAS_GLOB=y + +# +# Library Installation Options +# +SHARED_LIB_LOADER_PREFIX="$(DEVEL_PREFIX)/lib" +RUNTIME_PREFIX="/" +DEVEL_PREFIX="//usr" + +# +# uClibc development/debugging options +# +# DODEBUG is not set +# DOASSERTS is not set +# SUPPORT_LD_DEBUG is not set +# SUPPORT_LD_DEBUG_EARLY is not set +# UCLIBC_MJN3_ONLY is not set diff --git a/uclibc/uclibc-initial_0.9.26.oe b/uclibc/uclibc-initial_0.9.26.oe index 57fa385f7f..daa4cb013a 100644 --- a/uclibc/uclibc-initial_0.9.26.oe +++ b/uclibc/uclibc-initial_0.9.26.oe @@ -2,11 +2,6 @@ include uclibc_${PV}.oe FILESDIR = "${@os.path.dirname(oe.data.getVar('FILE',d,1))}/uclibc-${PV}" -# This will ONLY build to this target -TARGET_VENDOR = "-uclibc" -TARGET_SYS = "${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}" -TARGET_PREFIX = "${TARGET_SYS}-" - DEPENDS = "" PACKAGES = "" diff --git a/uclibc/uclibc_0.9.26.oe b/uclibc/uclibc_0.9.26.oe index d7232174e8..8008b5c0e7 100644 --- a/uclibc/uclibc_0.9.26.oe +++ b/uclibc/uclibc_0.9.26.oe @@ -4,41 +4,49 @@ SECTION = "libs" PRIORITY = "required" MAINTAINER = "Gerald Britton <gbritton@doomcom.org>" -# We want to select whether we're building a uclibc or glibc system and -# perform provides accordingly. We want to trigger on the original -# TARGET_VENDOR setting, so we must do this before changing it. -def target_is_uclibc(d): - import oe - if (oe.data.getVar('TARGET_VENDOR', d, 1) == '-uclibc'): - return 1 - return 0 -def cond_provides(d): - import oe - if target_is_uclibc(d): - return 'virtual/libc' - return '' -def cond_packages(d): - import oe - if target_is_uclibc(d): - return '${PN} ${PN}-doc ${PN}-dev ${PN}-locale' - return '${PN}-compat' -PROVIDES := "${@cond_provides(d)}" -PACKAGES := "${@cond_packages(d)}" - -# When target is not a uclibc system, do a compat-only package -FILES_${PN}-compat = "${libdir}/lib*.so.* /lib/*.so*" - -# This will ONLY build to this target (we override it incase we're buliding -# the world for a glibc system) -TARGET_VENDOR = "-uclibc" -TARGET_SYS = "${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}" -TARGET_PREFIX = "${TARGET_SYS}-" +# +# For now, we will skip building of a gcc package if it is a uclibc one +# and our build is not a uclibc one, and we skip a glibc one if our build +# is a uclibc build. +# +# See the note in gcc/gcc_3.4.0.oe +# + +python __anonymous () { + import oe, re + uc_os = (re.match('.*uclibc$', oe.data.getVar('TARGET_OS', d, 1)) != None) + if not uc_os: + raise oe.parse.SkipPackage("incompatible with target %s" % + oe.data.getVar('TARGET_OS', d, 1)) +} -FILESDIR = "${@os.path.dirname(oe.data.getVar('FILE',d,1))}/uclibc-${PV}" +# +# We can only work currently with a predefined .config, this ensures we have +# one. In the future, this may want to respect ${MACHINE} as well. +# + +python __anonymous () { + import oe, os; + conf = (oe.data.getVar('FILESDIR', d, 1) + "/uClibc.config." + + oe.data.getVar('TARGET_ARCH', d, 1)) + if not os.access(conf, os.R_OK): + raise oe.parse.SkipPackage("no available .config for target %s" % + oe.data.getVar('TARGET_OS', d, 1)) +} -DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc-initial" +PROVIDES = "virtual/libc" +DEPENDS = "virtual/${TARGET_PREFIX}binutils \ + virtual/${TARGET_PREFIX}gcc-initial" +# +# This locale file gets copied into uClibc-${PV}/extra/locale/ prior to +# build, it does not need to be unpacked, but we can't inhibit the unpacking +# in the current build system. +# +UCLIBC_LOCALE_FILE = "uClibc-locale-030818.tgz" +FILESDIR = "${@os.path.dirname(oe.data.getVar('FILE',d,1))}/uclibc-${PV}" SRC_URI = "http://www.uclibc.org/downloads/uClibc-${PV}.tar.bz2 \ + http://www.uclibc.org/downloads/${UCLIBC_LOCALE_FILE} \ http://www.uclibc.org/downloads/toolchain/kernel-headers-2.4.21.tar.bz2" S = "${WORKDIR}/uClibc-${PV}" @@ -63,6 +71,7 @@ uclibcbuild_do_patch() { cp ${FILESDIR}/uClibc.config.${TARGET_ARCH} ${S}/.config else echo ERROR: No target specific config for ${TARGET_ARCH} + return 1 fi perl -i -p -e 's,^CROSS=.*,TARGET_ARCH=${TARGET_ARCH}\nCROSS=${TARGET_PREFIX},g' ${S}/Rules.mak @@ -72,6 +81,8 @@ uclibcbuild_do_patch() { perl -i -p -e 's,^SHARED_LIB_LOADER_PATH=.*,SHARED_LIB_LOADER_PATH=\"/lib\",g' ${S}/.config perl -i -p -e 's,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y\nUCLIBC_HAS_LOCALE=n,g' ${S}/.config + cp ${DL_DIR}/${UCLIBC_LOCALE_FILE} extra/locale + make oldconfig } |