summaryrefslogtreecommitdiff
path: root/uclibc
diff options
context:
space:
mode:
authorGerald Britton <gbritton@doomcom.org>2004-04-27 02:53:54 +0000
committerGerald Britton <gbritton@doomcom.org>2004-04-27 02:53:54 +0000
commit5c76c320af6f82794823215c081469d3de8e64e4 (patch)
tree324384db2b3a349459fb4fa28fc910448ec52ae7 /uclibc
parentf63c99c34855fff1cbb932457b08bdd29b3777ff (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.arm30
-rw-r--r--uclibc/uclibc-0.9.26/uClibc.config.i386154
-rw-r--r--uclibc/uclibc-initial_0.9.26.oe5
-rw-r--r--uclibc/uclibc_0.9.26.oe73
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
}