summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Britton <gbritton@doomcom.org>2003-09-28 23:34:12 +0000
committerGerald Britton <gbritton@doomcom.org>2003-09-28 23:34:12 +0000
commit99d28f01bfe62d99542159378744bfe08f866dc4 (patch)
tree5e0f3f998f9411637a5acc132daae4b7d5cb6904
parentf1326d679eb0e0f2ed52b49c7e36950db9b6694c (diff)
uclibc toolchain build updates
BKrev: 3f776ff4Ke3EKFXIlHJTaSTFYTBOrQ
-rw-r--r--BitKeeper/etc/logging_ok1
-rw-r--r--uclibc-binutils/uclibc-binutils-2.14.90.0.6.oe70
-rw-r--r--uclibc-binutils/uclibc-binutils-cross-2.14.90.0.6.oe41
-rw-r--r--uclibc-gcc/uclibc-gcc-3.3.1.oe160
-rw-r--r--uclibc-gcc/uclibc-gcc-cross-3.3.1.oe68
-rw-r--r--uclibc-gcc/uclibc-gcc-cross-initial-3.3.1.oe37
-rw-r--r--uclibc/uclibc-0.9.21.oe84
-rw-r--r--uclibc/uclibc-initial-0.9.21.oe28
8 files changed, 489 insertions, 0 deletions
diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok
index c18fa7aacd..2c641965f3 100644
--- a/BitKeeper/etc/logging_ok
+++ b/BitKeeper/etc/logging_ok
@@ -1,3 +1,4 @@
+gbritton@doomcom.org
ggilbert@olddog.(none)
ggilbert@treke.ath.cx
kergoth@direwolf.(none)
diff --git a/uclibc-binutils/uclibc-binutils-2.14.90.0.6.oe b/uclibc-binutils/uclibc-binutils-2.14.90.0.6.oe
index e69de29bb2..995d2cafce 100644
--- a/uclibc-binutils/uclibc-binutils-2.14.90.0.6.oe
+++ b/uclibc-binutils/uclibc-binutils-2.14.90.0.6.oe
@@ -0,0 +1,70 @@
+inherit autotools
+
+DESCRIPTION := A GNU collection of binary utilities
+LICENSE := GPL
+MAINTAINER := Gerald Britton <gbritton@doomcom.org>
+
+DEPENDS := virtual/${CROSS}binutils virtual/${CROSS}gcc \
+ virtual/libc virtual/libc-headers patcher
+
+PACKAGES = ${PN} ${PN}-doc
+FILES_${PN} = ${includedir} ${libdir} ${bindir}/*
+
+SRC_URI := http://ftp.kernel.org/pub/linux/devel/binutils/binutils-${PV}.tar.bz2 \
+ file://${FILESDIR}/binutils-001_ld_makefile.patch;patch=1 \
+ file://${FILESDIR}/binutils-006_better_file_error.patch;patch=1 \
+ file://${FILESDIR}/binutils-009_signed_char_fix.patch;patch=1 \
+ file://${FILESDIR}/binutils-012_check_ldrunpath_length.patch;patch=1 \
+ file://${FILESDIR}/binutils-906-hjl_libtool_dso.patch;patch=1
+
+S := ${WORKDIR}/binutils-${PV}
+B := ${S}/build.${HOST_SYS}.${TARGET_SYS}
+
+EXTRA_OECONF := --enable-targets=${TARGET_SYS} \
+ --with-sysroot=${prefix} \
+ --with-lib-path=${prefix}/lib:/lib \
+ --enable-multilib \
+ --program-prefix=${TARGET_SYS}-
+
+# This is necessary due to a bug in the binutils Makefiles
+EXTRA_OEMAKE = configure-build-libiberty all
+
+export AR = ${CROSS}ar
+export AS = ${CROSS}as
+export LD = ${CROSS}ld
+export NM = ${CROSS}nm
+export RANLIB = ${CROSS}ranlib
+export OBJCOPY = ${CROSS}objcopy
+export OBJDUMP = ${CROSS}objdump
+
+export AR_FOR_TARGET = ${TARGET_SYS}-ar
+export AS_FOR_TARGET = ${TARGET_SYS}-as
+export LD_FOR_TARGET = ${TARGET_SYS}-ld
+export NM_FOR_TARGET = ${TARGET_SYS}-nm
+export RANLIB_FOR_TARGET = ${TARGET_SYS}-ranlib
+
+export CC_FOR_HOST = ${CCACHE} ${CROSS}gcc
+export CXX_FOR_HOST = ${CCACHE} ${CROSS}gcc
+
+export CC_FOR_BUILD = ${BUILD_CC}
+
+export CC = ${CCACHE} ${CROSS}gcc
+
+binutilsbuild_do_patch () {
+ oenote IN binutils patch
+ perl -i -p -e 's,#.*define.*ELF_DYNAMIC_INTERPRETER.*".*",#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0",;' `grep -lr ELF_DYNAMIC_INTERPRETER *`
+}
+
+python do_patch () {
+ oe.build.exec_func('base_do_patch', d)
+ oe.build.exec_func('binutilsbuild_do_patch', d)
+}
+
+do_install_append () {
+ cd ${D}/${bindir}
+ # Symlinks for if this is intended to be the only compiler
+ for p in ${TARGET_SYS}-* ; do
+ ln -s $p `echo $p | sed -e s,${TARGET_SYS}-,,`
+ done
+}
+
diff --git a/uclibc-binutils/uclibc-binutils-cross-2.14.90.0.6.oe b/uclibc-binutils/uclibc-binutils-cross-2.14.90.0.6.oe
index e69de29bb2..7a1642ecad 100644
--- a/uclibc-binutils/uclibc-binutils-cross-2.14.90.0.6.oe
+++ b/uclibc-binutils/uclibc-binutils-cross-2.14.90.0.6.oe
@@ -0,0 +1,41 @@
+inherit cross
+include uclibc-binutils-${PV}.oe
+PN := ${PN}-cross
+
+DEPENDS := patcher
+PROVIDES := virtual/${TARGET_SYS}-binutils
+
+PACKAGES =
+
+EXTRA_OECONF := --enable-targets=${TARGET_SYS} \
+ --with-sysroot=${prefix} \
+ --with-lib-path=${prefix}/usr/lib:${prefix}/lib \
+ --enable-multilib \
+ --program-prefix=${TARGET_SYS}-
+
+EXTRA_OEMAKE :=
+
+export CPPFLAGS =
+export CXXFLAGS =
+export CFLAGS =
+export LDFLAGS =
+
+prefix:=${CROSS_DIR}
+exec_prefix:=${CROSS_DIR}
+sysconfdir=${CROSS_DIR}/etc
+localstatedir=${CROSS_DIR}/var/lib
+
+do_stage () {
+ cd ${B}
+ make install
+ ${CROSS_DIR}/bin/${TARGET_SYS}-ar rv \
+ ${CROSS_DIR}/${TARGET_SYS}/lib/libg.a
+ for d in info man share/doc share/locale; do
+ rm -rf ${CROSS_DIR}/$d
+ done
+}
+
+do_install () {
+ true
+}
+
diff --git a/uclibc-gcc/uclibc-gcc-3.3.1.oe b/uclibc-gcc/uclibc-gcc-3.3.1.oe
index e69de29bb2..b62206ea0d 100644
--- a/uclibc-gcc/uclibc-gcc-3.3.1.oe
+++ b/uclibc-gcc/uclibc-gcc-3.3.1.oe
@@ -0,0 +1,160 @@
+inherit autotools
+
+DESCRIPTION := The GNU cc and gcc C compilers.
+LICENSE := GPL
+MAINTAINER := Gerald Britton <gbritton@doomcom.org>
+
+DEPENDS := virtual/${CROSS}binutils virtual/${CROSS}gcc \
+ virtual/uclibc virtual/uclibc-headers patcher
+
+PACKAGES = ${PN} ${PN}-cplusplus \
+ uclibc-libgcc uclibc-libstdcplusplus \
+ ${PN}-doc
+
+FILES_${PN} = ${bindir}/${TARGET_SYS}-gcc \
+ ${bindir}/${TARGET_SYS}-cpp \
+ ${bindir}/${TARGET_SYS}-gcov \
+ ${bindir}/${TARGET_SYS}-gccbug \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/cc1 \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/collect2 \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/crt* \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/specs \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/libgcc* \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/include \
+ ${prefix}/${TARGET_SYS}/lib/libgcc_s.so \
+ ${prefix}/${TARGET_SYS}/lib/libiberty.a \
+ ${bindir}/cc ${bindir}/gcc ${bindir}/cpp \
+ ${bindir}/gcov ${bindir}/gccbug
+
+FILES_${PN}-cplusplus = ${bindir}/${TARGET_SYS}-g++ \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/cc1plus \
+ ${prefix}/${TARGET_SYS}/lib/libstdc++.so \
+ ${prefix}/${TARGET_SYS}/lib/libstdc++.la \
+ ${prefix}/${TARGET_SYS}/lib/libstdc++.a \
+ ${prefix}/${TARGET_SYS}/lib/libsupc++.la \
+ ${prefix}/${TARGET_SYS}/lib/libsupc++.a \
+ ${includedir}/c++ \
+ ${bindir}/c++ ${bindir}/g++
+
+FILES_uclibc-libgcc = /lib/libgcc_s.so.*
+
+FILES_uclibc-libstdcplusplus = ${prefix}/${TARGET_SYS}/lib/libstdc++.so.*
+
+FILES_${PN}-doc = ${infodir} ${mandir} \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/include/README
+
+SRC_URI := http://gcc.get-software.com/releases/gcc-${PV}/gcc-${PV}.tar.bz2 \
+ file://${FILESDIR}/gcc-001-disable-mathf.patch;patch=1 \
+ file://${FILESDIR}/gcc-006-include-search.patch;patch=1 \
+ file://${FILESDIR}/gcc-810-libstd++-locale.patch;patch=1
+
+S := ${WORKDIR}/gcc-${PV}
+B := ${S}/build.${HOST_SYS}.${TARGET_SYS}
+
+EXTRA_OECONF := --with-local-prefix=/usr/local \
+ --with-gxx-include-dir=${includedir}/c++ \
+ --enable-target-optspace \
+ --disable-nls \
+ --with-gnu-ld \
+ --disable-__cxa_atexit \
+ --enable-languages=c,c++ \
+ --enable-shared \
+ --enable-multilib \
+ --program-prefix=${TARGET_SYS}-
+
+do_configure_prepend () {
+ # Setup these vars for cross building only
+ if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
+ export CC_FOR_TARGET="${CCACHE} ${CROSS}gcc"
+ export GCC_FOR_TARGET="${CCACHE} ${CROSS}gcc"
+ export CXX_FOR_TARGET="${CCACHE} ${CROSS}g++"
+ export AS_FOR_TARGET="${CROSS}as"
+ export LD_FOR_TARGET="${CROSS}ld"
+ export NM_FOR_TARGET="${CROSS}nm"
+ export AR_FOR_TARGET="${CROSS}ar"
+ export RANLIB_FOR_TARGET="${CROSS}ranlib"
+ fi
+}
+
+gccbuild_do_patch () {
+ #
+ # Hack things to use the correct shared lib loader
+ #
+ LIST=`grep -lr -- "-dynamic-linker.*\.so[\.0-9]*" .`
+ if [ -n "$LIST" ] ; then
+ perl -i -p -e "s,-dynamic-linker.*\.so[\.0-9]*},-dynamic-linker /lib/ld-uClibc.so.0},;" $LIST
+ fi
+
+ #
+ # Prevent system glibc start files from leaking in uninvited...
+ #
+ perl -i -p -e "s,standard_startfile_prefix_1 = \".*,standard_startfile_prefix_1 = \"${CROSS_DIR}/${TARGET_SYS}/lib/\";,;" gcc/gcc.c
+ perl -i -p -e "s,standard_startfile_prefix_2 = \".*,standard_startfile_prefix_2 = \"${CROSS_DIR}/${TARGET_SYS}/usr/lib/\";,;" gcc/gcc.c
+
+ #
+ # Prevent system glibc include files from leaking in uninvited...
+ #
+ perl -i -p -e "s,^NATIVE_SYSTEM_HEADER_DIR.*,NATIVE_SYSTEM_HEADER_DIR=${CROSS_DIR}/${TARGET_SYS}/include,;" gcc/Makefile.in
+ perl -i -p -e "s,^CROSS_SYSTEM_HEADER_DIR.*,CROSS_SYSTEM_HEADER_DIR=${CROSS_DIR}/${TARGET_SYS}/include,;" gcc/Makefile.in
+ perl -i -p -e "s,^#define.*STANDARD_INCLUDE_DIR.*,#define STANDARD_INCLUDE_DIR \"${CROSS_DIR}/${TARGET_SYS}/include\",;" gcc/cppdefault.h
+
+ #
+ # Prevent system glibc libraries from being found by collect2
+ # when it calls locatelib() and rummages about the system looking
+ # for libraries with the correct name...
+ #
+ perl -i -p -e "s,\"/lib,\"${CROSS_DIR}/${TARGET_SYS}/lib,g;" \
+ gcc/collect2.c
+ perl -i -p -e "s,\"/usr/,\"${CROSS_DIR}/${TARGET_SYS}/usr/,g;" \
+ gcc/collect2.c
+
+ #
+ # Prevent gcc from using the unwind-dw2-fde-glibc code
+ #
+ perl -i -p -e "s,^#ifndef inhibit_libc,#define inhibit_libc\n#ifndef inhibit_libc,g;" gcc/unwind-dw2-fde-glibc.c
+}
+
+python do_patch () {
+ oe.build.exec_func('base_do_patch', d)
+ oe.build.exec_func('gccbuild_do_patch', d)
+}
+
+do_install_append () {
+ # Cleanup some of the gcc-lib stuff
+ rm -rf ${D}/${libdir}/gcc-lib/${TARGET_SYS}/${PV}/install-tools
+
+ # Move libgcc_s into /lib
+ mkdir -p ${D}/lib
+ mv -f ${D}/${prefix}/${TARGET_SYS}/lib/libgcc_s.so.* ${D}/lib
+ rm -f ${D}/${prefix}/${TARGET_SYS}/lib/libgcc_s.so
+ ln -s ../../../lib/libgcc_s.so.? \
+ ${D}/${prefix}/${TARGET_SYS}/libgcc_s.so
+
+ # Cleanup manpages..
+ rm -rf ${D}/${mandir}/man7
+ mv ${D}/${mandir}/man1/cpp.1 \
+ ${D}/${mandir}/man1/${TARGET_SYS}-cpp.1
+ mv ${D}/${mandir}/man1/gcov.1 \
+ ${D}/${mandir}/man1/${TARGET_SYS}-gcov.1
+
+ cd ${D}/${bindir}
+
+ # We care about g++ not c++
+ rm -f *c++
+
+ # We don't care about the gcc-<version> ones for this
+ rm -f *gcc-?.?*
+
+# # Cleanup after gcc's --program-prefix failing..
+# rm -f ${TARGET_SYS}-${TARGET_ARCH}-uclibc-*
+
+# # Symlinks for if this is intended to be the only compiler
+# for p in ${TARGET_ARCH}-uclibc-* ; do
+# ln -s $p `echo $p | sed -e s,${TARGET_ARCH}-uclibc-,,`
+# ln -s $p `echo $p | sed -e s,uclibc,linux,`
+# done
+ ln -s ${TARGET_SYS}-g++ g++
+ ln -s ${TARGET_SYS}-gcc gcc
+ ln -s g++ c++
+ ln -s gcc cc
+}
diff --git a/uclibc-gcc/uclibc-gcc-cross-3.3.1.oe b/uclibc-gcc/uclibc-gcc-cross-3.3.1.oe
index e69de29bb2..5f4e3f3d8c 100644
--- a/uclibc-gcc/uclibc-gcc-cross-3.3.1.oe
+++ b/uclibc-gcc/uclibc-gcc-cross-3.3.1.oe
@@ -0,0 +1,68 @@
+inherit cross
+include uclibc-gcc-${PV}.oe
+PN := ${PN}-cross
+
+DEPENDS := virtual/${TARGET_SYS}-binutils \
+ virtual/uclibc virtual/uclibc-headers patcher
+PROVIDES := virtual/${TARGET_SYS}-gcc \
+ virtual/${TARGET_SYS}-g++
+
+PACKAGES =
+
+EXTRA_OECONF := --with-local-prefix=${CROSS_DIR}/usr/local \
+ --with-gxx-include-dir=${CROSS_DIR}/${TARGET_SYS}/include/c++ \
+ --enable-target-optspace \
+ --disable-nls \
+ --with-gnu-ld \
+ --disable-__cxa_atexit \
+ --enable-languages=c,c++ \
+ --enable-shared \
+ --enable-multilib \
+ --program-prefix=${TARGET_SYS}-
+
+prefix:=${CROSS_DIR}
+exec_prefix:=${CROSS_DIR}
+sysconfdir=${CROSS_DIR}/etc
+localstatedir=${CROSS_DIR}/var/lib
+
+export CPPFLAGS =
+export CXXFLAGS =
+export CFLAGS =
+export LDFLAGS =
+
+do_configure_prepend () {
+ export CC="${BUILD_CC}"
+ export AR="${TARGET_SYS}-ar"
+ export RANLIB="${TARGET_SYS}-ranlib"
+ export LD="${TARGET_SYS}-ld"
+ export NM="${TARGET_SYS}-nm"
+}
+
+do_compile_prepend () {
+ export CC="${BUILD_CC}"
+ export AR_FOR_TARGET="${TARGET_SYS}-ar"
+ export RANLIB_FOR_TARGET="${TARGET_SYS}-ranlib"
+ export LD_FOR_TARGET="${TARGET_SYS}-ld"
+ export NM_FOR_TARGET="${TARGET_SYS}-nm"
+ export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc"
+}
+
+do_stage() {
+ cd ${B}
+ make install
+
+# # Cleanup after gcc's --program-prefix failing..
+# ( cd ${CROSS_DIR}/bin ; for p in ${TARGET_SYS}-* ; do
+# mv $p `echo $p | sed -e s,${TARGET_SYS},${TARGET_ARCH}-uclibc,`
+# done )
+
+ rm -f ${CROSS_DIR}/bin/gccbug ${CROSS_DIR}/bin/gcov
+ for d in info man share/doc share/locale ; do
+ rm -rf ${CROSS_DIR}/$d
+ done
+}
+
+do_install() {
+ true
+}
+
diff --git a/uclibc-gcc/uclibc-gcc-cross-initial-3.3.1.oe b/uclibc-gcc/uclibc-gcc-cross-initial-3.3.1.oe
index e69de29bb2..24fc23fc01 100644
--- a/uclibc-gcc/uclibc-gcc-cross-initial-3.3.1.oe
+++ b/uclibc-gcc/uclibc-gcc-cross-initial-3.3.1.oe
@@ -0,0 +1,37 @@
+include uclibc-gcc-cross-${PV}.oe
+PN := ${PN}-initial
+
+DEPENDS := virtual/${TARGET_SYS}-binutils \
+ virtual/uclibc-headers patcher
+PROVIDES := virtual/${TARGET_SYS}-gcc-initial
+
+EXTRA_OECONF := --with-local-prefix=${CROSS_DIR}/usr/local \
+ --with-gxx-include-dir=${CROSS_DIR}/${TARGET_SYS}/include/c++ \
+ --enable-target-optspace \
+ --disable-nls \
+ --with-gnu-ld \
+ --disable-__cxa_atexit \
+ --enable-languages=c \
+ --disable-shared \
+ --enable-multilib \
+ --program-prefix=${TARGET_SYS}-
+
+do_stage() {
+ cd ${B}
+ make install
+
+# # Cleanup after gcc's --program-prefix failing..
+# ( cd ${CROSS_DIR}/bin ; for p in ${TARGET_SYS}-* ; do
+# mv $p `echo $p | sed -e s,${TARGET_SYS},${TARGET_ARCH}-uclibc,`
+# done )
+
+ rm -f ${CROSS_DIR}/bin/gccbug ${CROSS_DIR}/bin/gcov
+ for d in info man share/doc share/locale ; do
+ rm -rf ${CROSS_DIR}/$d
+ done
+}
+
+do_install() {
+ true
+}
+
diff --git a/uclibc/uclibc-0.9.21.oe b/uclibc/uclibc-0.9.21.oe
index e69de29bb2..f52808f814 100644
--- a/uclibc/uclibc-0.9.21.oe
+++ b/uclibc/uclibc-0.9.21.oe
@@ -0,0 +1,84 @@
+DESCRIPTION := C library for embedded systems
+LICENSE := LGPL
+SECTION := libs
+PRIORITY := required
+MAINTAINER := Gerald Britton <gbritton@doomcom.org>
+
+DEPENDS := virtual/${CROSS}binutils virtual/${CROSS}gcc-initial
+PROVIDES := virtual/libc virtual/uclibc \
+ virtual/libc-headers virtual/uclibc-headers
+
+SRC_URI := http://www.uclibc.org/downloads/uClibc-${PV}.tar.bz2 \
+ http://www.uclibc.org/downloads/toolchain/kernel-headers-2.4.21.tar.bz2
+
+S := ${WORKDIR}/uClibc-${PV}
+
+UCLIBC_PREFIX := ${CROSS_DIR}/${TARGET_SYS}
+
+EXTRA_OEMAKE =
+
+uclibcbuild_do_patch() {
+ rm -f ${WORKDIR}/linux/include/asm
+ ln -sf asm-${TARGET_ARCH} ${WORKDIR}/linux/include/asm
+
+ touch ${WORKDIR}/linux/include/linux/autoconf.h
+
+ echo "#define UTS_RELEASE \"2.4.21\"" > ${WORKDIR}/linux/include/linux/version.h
+ echo "#define LINUX_VERSION_CODE 132117" >> ${WORKDIR}/linux/include/linux/version.h
+ echo "#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))" \
+ >> ${WORKDIR}/linux/include/linux/version.h
+
+ if [ -f ${FILESDIR}/uClibc.config.${TARGET_ARCH} ]; then
+ cp ${FILESDIR}/uClibc.config.${TARGET_ARCH} ${S}/.config
+ else
+ cp ${FILESDIR}/uClibc.config ${S}/.config
+ fi
+
+ perl -i -p -e 's,^CROSS=.*,TARGET_ARCH=${TARGET_ARCH}\nCROSS=${CROSS},g' ${S}/Rules.mak
+ perl -i -p -e 's,^KERNEL_SOURCE=.*,KERNEL_SOURCE=\"${WORKDIR}/linux\",g' ${S}/.config
+ perl -i -p -e 's,^DEVEL_PREFIX=.*,DEVEL_PREFIX=\"${UCLIBC_PREFIX}\",g' ${S}/.config
+ perl -i -p -e 's,^SYSTEM_DEVEL_PREFIX=.*,SYSTEM_DEVEL_PREFIX=\"${UCLIBC_PREFIX}\",g' ${S}/.config
+ perl -i -p -e 's,^DEVEL_TOOL_PREFIX=.*,DEVEL_TOOL_PREFIX=\"${UCLIBC_PREFIX}\",g' ${S}/.config
+ 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
+ perl -i -p -e 's,^GCC_BIN.*,GCC_BIN=${CROSS_DIR}/bin/${TARGET_SYS}-gcc,g' ${S}/extra/gcc-uClibc/Makefile
+ perl -i -p -e 's,^LD_BIN.*,LD_BIN=${CROSS_DIR}/bin/${TARGET_SYS}-ld,g' ${S}/extra/gcc-uClibc/Makefile
+
+ make oldconfig
+ make headers
+}
+
+python do_patch () {
+ oe.build.exec_func('base_do_patch', d)
+ oe.build.exec_func('uclibcbuild_do_patch', d)
+}
+
+do_stage() {
+ make install_dev install_runtime install_utils
+}
+
+do_install() {
+ make DEVEL_PREFIX= SYSTEM_DEVEL_PREFIX= TARGET_PREFIX= \
+ DEVEL_TOOL_PREFIX=/usr PREFIX=${D} \
+ install_dev install_target install_target_utils
+
+ # binutils has a readelf, so forget about this one...
+ rm -f ${D}/usr/bin/readelf
+
+ # move devel headers/libs/objects from / into /usr
+ mv -f ${D}/lib/*.a ${D}/lib/*.o ${D}/usr/lib/
+ rm -f ${D}/include/.cvsignore
+ mv -f ${D}/include ${D}/usr/
+ for lib in libc.so libcrypt.so libdl.so libm.so libnsl.so \
+ libpthread.so libresolv.so libthread_db.so libutil.so; do
+ ln -s ../../lib/`readlink ${D}/lib/$lib` ${D}/usr/lib/$lib
+ rm -f ${D}/lib/$lib
+ done
+
+ # ensure we have a /sbin/ldconfig as some scripts expect one
+ if ! [ -e ${D}/sbin/ldconfig ]; then
+ mkdir -p ${D}/sbin
+ ln -sf ../bin/true ${D}/sbin/ldconfig
+ fi
+}
+
diff --git a/uclibc/uclibc-initial-0.9.21.oe b/uclibc/uclibc-initial-0.9.21.oe
index e69de29bb2..f188caa9f3 100644
--- a/uclibc/uclibc-initial-0.9.21.oe
+++ b/uclibc/uclibc-initial-0.9.21.oe
@@ -0,0 +1,28 @@
+include uclibc-${PV}.oe
+PN := ${PN}-initial
+
+DEPENDS :=
+PROVIDES := virtual/uclibc-headers
+
+PACKAGES =
+
+do_stage() {
+ make install_dev
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/include
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
+ ln -sf include ${CROSS_DIR}/${TARGET_SYS}/sys-include
+ mkdir -p ${CROSS_DIR}/lib/gcc-lib
+ mkdir -p ${CROSS_DIR}/usr/lib
+ cd ${CROSS_DIR}/usr/lib
+ ln -sf ../../lib/gcc-lib
+}
+
+do_install() {
+ true
+}
+
+do_compile () {
+ true
+}
+