Fixing remnant CROSS usage.
authorChris Larson <clarson@kergoth.com>
Wed, 26 Nov 2003 23:09:02 +0000 (23:09 +0000)
committerChris Larson <clarson@kergoth.com>
Wed, 26 Nov 2003 23:09:02 +0000 (23:09 +0000)
BKrev: 3fc5328e0dIUM-kS9AHuFvdnc6xS3g

acpid/acpid_1.0.2.oe
busybox/busybox_1.00-pre2.oe
busybox/busybox_1.00-pre3.oe
gcc/gcc_3.3.1.oe
gcc/gcc_3.3.2.oe
libtool/libtool-cross_1.5.oe
tinylogin/tinylogin_1.4.oe
uclibc/uclibc_0.9.21.oe

index e69de29..9e1274b 100644 (file)
@@ -0,0 +1,13 @@
+DEPENDS = virtual/libc
+
+SRC_URI := ${SOURCEFORGE_MIRROR}/${PN}/${P}.tar.gz
+S := ${WORKDIR}/${P}
+
+EXTRA_OEMAKE=
+do_compile () {
+       oe_runmake 'CC=${CC}' 'CROSS=${HOST_PREFIX}'
+}
+
+do_install () {
+       oe_runmake 'INSTPREFIX=${D}' install
+}
index e69de29..4668df0 100644 (file)
@@ -0,0 +1,41 @@
+LICENSE="GPL"
+SRC_URI="http://www.busybox.net/downloads/${PN}-${PV}.tar.gz"
+DEPENDS=virtual/libc
+DESCRIPTION=BusyBox version ${PV}.\
+ BusyBox combines tiny versions of many common UNIX utilities into a single\
+ small executable. It provides minimalist replacements for most of the\
+ utilities you usually find in GNU fileutils, shellutils, etc. The utilities\
+ in BusyBox generally have fewer options than their full-featured GNU\
+ cousins; however, the options that are included provide the expected\
+ functionality and behave very much like their GNU counterparts. BusyBox\
+ provides a fairly complete POSIX environment for any small or embedded\
+ system.
+       
+S="${WORKDIR}/${P}"
+export EXTRA_CFLAGS="${CFLAGS}"
+EXTRA_OEMAKE_append=' CROSS=${HOST_PREFIX}'
+
+inherit cml1
+
+do_configure () {
+       install -m 0644 ${FILESDIR}/defconfig ${S}/.config
+       cml1_do_configure
+}
+
+do_compile () {
+       unset CFLAGS
+       base_do_compile
+}
+
+do_install () {
+       install -d ${D}/etc/init.d
+       oe_runmake 'PREFIX=${D}' install
+       install -m 0755 ${FILESDIR}/syslog ${D}/etc/init.d/syslog
+       install -m 0755 ${FILESDIR}/hwclock.sh ${D}/etc/init.d/hwclock.sh
+}
+
+do_package_ipk_prepend () {
+       set -e
+       install -m 0755 ${FILESDIR}/postinst ${D}/CONTROL/postinst;
+       install -m 0755 ${FILESDIR}/prerm ${D}/CONTROL/prerm;
+}
index e69de29..f2a17f5 100644 (file)
@@ -0,0 +1,40 @@
+LICENSE="GPL"
+SRC_URI="http://www.busybox.net/downloads/${PN}-${PV}.tar.gz"
+DEPENDS=virtual/libc
+DESCRIPTION=BusyBox version ${PV}.\
+ BusyBox combines tiny versions of many common UNIX utilities into a single\
+ small executable. It provides minimalist replacements for most of the\
+ utilities you usually find in GNU fileutils, shellutils, etc. The utilities\
+ in BusyBox generally have fewer options than their full-featured GNU\
+ cousins; however, the options that are included provide the expected\
+ functionality and behave very much like their GNU counterparts. BusyBox\
+ provides a fairly complete POSIX environment for any small or embedded\
+ system.
+       
+S="${WORKDIR}/${P}"
+export EXTRA_CFLAGS="${CFLAGS}"
+EXTRA_OEMAKE_append=' CROSS=${HOST_PREFIX}'
+
+inherit cml1
+
+do_configure () {
+       install -m 0644 ${FILESDIR}/defconfig ${S}/.config
+       cml1_do_configure
+}
+
+do_compile () {
+       unset CFLAGS
+       base_do_compile
+}
+
+do_install () {
+       install -d ${D}/etc/init.d
+       oe_runmake 'PREFIX=${D}' install
+       install -m 0755 ${FILESDIR}/syslog ${D}/etc/init.d/syslog
+       install -m 0755 ${FILESDIR}/hwclock.sh ${D}/etc/init.d/hwclock.sh
+}
+
+do_package_ipk_prepend () {
+       install -m 0755 ${FILESDIR}/postinst ${D}/CONTROL/postinst;
+       install -m 0755 ${FILESDIR}/prerm ${D}/CONTROL/prerm;
+}
index 17ebe00..c2ec2c1 100644 (file)
@@ -4,7 +4,7 @@ DESCRIPTION := The GNU cc and gcc C compilers.
 LICENSE := GPL
 MAINTAINER := Gerald Britton <gbritton@doomcom.org>
 
-DEPENDS := virtual/${CROSS}binutils virtual/${CROSS}gcc \
+DEPENDS := virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc \
            virtual/uclibc virtual/uclibc-headers patcher
 
 PACKAGES = ${PN} ${PN}-cplusplus \
@@ -65,14 +65,14 @@ EXTRA_OECONF := --with-local-prefix=/usr/local \
 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"
+               export CC_FOR_TARGET="${CCACHE} ${TARGET_PREFIX}gcc"
+               export GCC_FOR_TARGET="${CCACHE} ${TARGET_PREFIX}gcc"
+               export CXX_FOR_TARGET="${CCACHE} ${TARGET_PREFIX}g++"
+               export AS_FOR_TARGET="${TARGET_PREFIX}as"
+               export LD_FOR_TARGET="${TARGET_PREFIX}ld"
+               export NM_FOR_TARGET="${TARGET_PREFIX}nm"
+               export AR_FOR_TARGET="${TARGET_PREFIX}ar"
+               export RANLIB_FOR_TARGET="${TARGET_PREFIX}ranlib"
        fi
 }
 
index e69de29..9cd81aa 100644 (file)
@@ -0,0 +1,118 @@
+inherit autotools
+
+DESCRIPTION := The GNU cc and gcc C compilers.
+LICENSE := GPL
+MAINTAINER := Gerald Britton <gbritton@doomcom.org>
+
+DEPENDS := virtual/${TARGET_PREFIX}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} ${TARGET_PREFIX}gcc"
+               export GCC_FOR_TARGET="${CCACHE} ${TARGET_PREFIX}gcc"
+               export CXX_FOR_TARGET="${CCACHE} ${TARGET_PREFIX}g++"
+               export AS_FOR_TARGET="${TARGET_PREFIX}as"
+               export LD_FOR_TARGET="${TARGET_PREFIX}ld"
+               export NM_FOR_TARGET="${TARGET_PREFIX}nm"
+               export AR_FOR_TARGET="${TARGET_PREFIX}ar"
+               export RANLIB_FOR_TARGET="${TARGET_PREFIX}ranlib"
+       fi
+}
+
+do_install () {
+       autotools_do_install
+       # 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
+}
index 73cedc9..6dbffcf 100644 (file)
@@ -17,8 +17,8 @@ EXTRA_OECONF_append = " --program-prefix=${TARGET_SYS}-"
 do_stage () {
        oe_runmake install
        install -d ${STAGING_DIR}/share/{libtool,aclocal}
-       install -m 0755 ${CROSS}libtool ${STAGING_BINDIR}/${CROSS}libtool
-       install -m 0755 libtoolize ${STAGING_BINDIR}/${CROSS}libtoolize
+       install -m 0755 ${HOST_SYS}-libtool ${STAGING_BINDIR}/${HOST_SYS}-libtool
+       install -m 0755 libtoolize ${STAGING_BINDIR}/${HOST_SYS}-libtoolize
        install -c config.guess ${STAGING_DIR}/share/libtool/config.guess
        install -c config.sub ${STAGING_DIR}/share/libtool/config.sub
        install -c -m 0644 ltmain.sh ${STAGING_DIR}/share/libtool/
index e69de29..e91e4de 100644 (file)
@@ -0,0 +1,17 @@
+SRC_URI = http://tinylogin.busybox.net/downloads/${P}.tar.bz2
+S = ${WORKDIR}/${P}
+
+EXTRA_OEMAKE =
+
+do_compile () {
+       oe_runmake 'CC=${CC}' 'CROSS=${HOST_PREFIX}'
+}
+
+do_install () {
+       install -d ${D}/bin
+       install -m 4755 tinylogin ${D}/bin/tinylogin
+       for i in `cat tinylogin.links`; do
+               mkdir -p ${D}/`dirname $i`
+               ln -sf /bin/tinylogin ${D}/$i
+       done
+}
index e69de29..9778845 100644 (file)
@@ -0,0 +1,84 @@
+DESCRIPTION := C library for embedded systems
+LICENSE := LGPL
+SECTION := libs
+PRIORITY := required
+MAINTAINER := Gerald Britton <gbritton@doomcom.org>
+
+DEPENDS := virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}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=${TARGET_PREFIX},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
+}
+