fixes for cross/prefix build changes
authorGerald Britton <gbritton@doomcom.org>
Sun, 30 Nov 2003 01:28:36 +0000 (01:28 +0000)
committerGerald Britton <gbritton@doomcom.org>
Sun, 30 Nov 2003 01:28:36 +0000 (01:28 +0000)
BKrev: 3fc947c4cEIiIu4YtDwmjlqrssD-eA

binutils/binutils-cross_2.14.90.0.6.oe
binutils/binutils-uclibc-cross_2.14.90.0.6.oe
binutils/binutils-uclibc_2.14.90.0.6.oe
binutils/binutils_2.14.90.0.6.oe
gcc/gcc-initial-uclibc-cross_3.3.2.oe
gcc/gcc-uclibc-cross_3.3.2.oe
gcc/gcc_3.3.2.oe
uclibc/uclibc-initial_0.9.21.oe
uclibc/uclibc_0.9.21.oe

index 6d8a2d1..3ad13e5 100644 (file)
@@ -1,6 +1,7 @@
 include binutils_${PV}.oe
 inherit cross
-PROVIDES = virtual/${TARGET_SYS}-binutils
+PROVIDES = virtual/${TARGET_PREFIX}binutils
+DEPENDS = patcher
 FILESDIR = ${@os.path.dirname(oe.data.getVar('FILE',d,1))}/binutils-${PV}
 
 D=${CROSS_DIR}
index f91bbb7..feada83 100644 (file)
@@ -1,4 +1,5 @@
 include binutils-uclibc_${PV}.oe
 inherit cross
-PROVIDES = virtual/${TARGET_SYS}-binutils
-FILESDIR = ${TOPDIR}/binutils/binutils-${PV}
+PROVIDES = virtual/${TARGET_PREFIX}binutils
+DEPENDS = patcher
+FILESDIR = ${@os.path.dirname(oe.data.getVar('FILE',d,1))}/binutils-${PV}
index 711e4ce..200477d 100644 (file)
@@ -1,5 +1,5 @@
 include binutils_${PV}.oe
-FILESDIR = ${TOPDIR}/binutils/binutils-${PV}
+FILESDIR = ${@os.path.dirname(oe.data.getVar('FILE',d,1))}/binutils-${PV}
 
 binutilsbuild_do_patch () {
        oenote IN binutils patch
index d028e6c..99b1f85 100644 (file)
@@ -4,7 +4,7 @@ DESCRIPTION := A GNU collection of binary utilities
 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/libc virtual/libc-headers patcher
 
 PACKAGES = ${PN} ${PN}-doc
@@ -25,41 +25,31 @@ EXTRA_OECONF := --enable-targets=${TARGET_SYS} \
                 --with-sysroot=${prefix} \
                 --with-lib-path=${prefix}/lib:/lib \
                 --enable-multilib \
-                --program-prefix=${TARGET_SYS}-
+                --program-prefix=${TARGET_PREFIX}
 
 # 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 = ${HOST_PREFIX}ar
+export AS = ${HOST_PREFIX}as
+export LD = ${HOST_PREFIX}ld
+export NM = ${HOST_PREFIX}nm
+export RANLIB = ${HOST_PREFIX}ranlib
+export OBJCOPY = ${HOST_PREFIX}objcopy
+export OBJDUMP = ${HOST_PREFIX}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 AR_FOR_TARGET = ${TARGET_PREFIX}ar
+export AS_FOR_TARGET = ${TARGET_PREFIX}as
+export LD_FOR_TARGET = ${TARGET_PREFIX}ld
+export NM_FOR_TARGET = ${TARGET_PREFIX}nm
+export RANLIB_FOR_TARGET = ${TARGET_PREFIX}ranlib
 
-export CC_FOR_HOST = ${CCACHE} ${CROSS}gcc
-export CXX_FOR_HOST = ${CCACHE} ${CROSS}gcc
+export CC_FOR_HOST = ${CCACHE} ${HOST_PREFIX}gcc
+export CXX_FOR_HOST = ${CCACHE} ${HOST_PREFIX}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)
-}
+export CC = ${CCACHE} ${HOST_PREFIX}gcc
 
 do_configure () {
        oe_runconf
index e69de29..7fb689e 100644 (file)
@@ -0,0 +1,16 @@
+include gcc-uclibc-cross_${PV}.oe
+
+DEPENDS := virtual/${TARGET_PREFIX}binutils \
+           virtual/uclibc-headers-initial patcher
+PROVIDES := virtual/${TARGET_PREFIX}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_PREFIX}
index e69de29..8170dcc 100644 (file)
@@ -0,0 +1,55 @@
+inherit cross
+include gcc-uclibc_${PV}.oe
+
+DEPENDS := virtual/${TARGET_PREFIX}binutils \
+           virtual/uclibc virtual/uclibc-headers patcher
+PROVIDES := virtual/${TARGET_PREFIX}gcc \
+            virtual/${TARGET_PREFIX}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_PREFIX}
+
+export CPPFLAGS =
+export CXXFLAGS =
+export CFLAGS =
+export LDFLAGS =
+
+do_configure () {
+       export CC="${BUILD_CC}"
+       export AR="${TARGET_SYS}-ar"
+       export RANLIB="${TARGET_SYS}-ranlib"
+       export LD="${TARGET_SYS}-ld"
+       export NM="${TARGET_SYS}-nm"
+       oe_runconf
+}
+
+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_append () {
+#      # 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
+}
index 9cd81aa..5b31f39 100644 (file)
@@ -4,17 +4,17 @@ DESCRIPTION := The GNU cc and gcc C compilers.
 LICENSE := GPL
 MAINTAINER := Gerald Britton <gbritton@doomcom.org>
 
-DEPENDS := virtual/${TARGET_PREFIX}binutils virtual/${CROSS}gcc \
+DEPENDS := virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}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 \
+FILES_${PN} = ${bindir}/${TARGET_PREFIX}gcc \
+              ${bindir}/${TARGET_PREFIX}cpp \
+              ${bindir}/${TARGET_PREFIX}gcov \
+              ${bindir}/${TARGET_PREFIX}gccbug \
               ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/cc1 \
               ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/collect2 \
               ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/crt* \
@@ -26,7 +26,7 @@ FILES_${PN} = ${bindir}/${TARGET_SYS}-gcc \
               ${bindir}/cc ${bindir}/gcc ${bindir}/cpp \
               ${bindir}/gcov ${bindir}/gccbug
 
-FILES_${PN}-cplusplus = ${bindir}/${TARGET_SYS}-g++ \
+FILES_${PN}-cplusplus = ${bindir}/${TARGET_PREFIX}g++ \
                   ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/cc1plus \
                   ${prefix}/${TARGET_SYS}/lib/libstdc++.so \
                   ${prefix}/${TARGET_SYS}/lib/libstdc++.la \
@@ -60,9 +60,9 @@ EXTRA_OECONF := --with-local-prefix=/usr/local \
                 --enable-languages=c,c++ \
                 --enable-shared \
                 --enable-multilib \
-                --program-prefix=${TARGET_SYS}-
+                --program-prefix=${TARGET_PREFIX}
 
-do_configure_prepend () {
+do_configure () {
        # Setup these vars for cross building only
        if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
                export CC_FOR_TARGET="${CCACHE} ${TARGET_PREFIX}gcc"
@@ -74,6 +74,7 @@ do_configure_prepend () {
                export AR_FOR_TARGET="${TARGET_PREFIX}ar"
                export RANLIB_FOR_TARGET="${TARGET_PREFIX}ranlib"
        fi
+       oe_runconf
 }
 
 do_install () {
index 92fe6b8..cd262fb 100644 (file)
@@ -1,7 +1,9 @@
 include uclibc_${PV}.oe
 
+FILESDIR := ${@os.path.dirname(oe.data.getVar('FILE',d,1))}/uclibc-${PV}
+
 DEPENDS :=
-PROVIDES := virtual/uclibc-headers
+PROVIDES := virtual/uclibc-headers-initial
 
 PACKAGES =
 
index 9778845..1205c2d 100644 (file)
@@ -4,6 +4,8 @@ SECTION := libs
 PRIORITY := required
 MAINTAINER := Gerald Britton <gbritton@doomcom.org>
 
+FILESDIR := ${@os.path.dirname(oe.data.getVar('FILE',d,1))}/uclibc-${PV}
+
 DEPENDS := virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc-initial
 PROVIDES := virtual/libc virtual/uclibc \
             virtual/libc-headers virtual/uclibc-headers
@@ -41,8 +43,8 @@ uclibcbuild_do_patch() {
        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
+       perl -i -p -e 's,^GCC_BIN.*,GCC_BIN=${CROSS_DIR}/bin/${TARGET_PREFIX}gcc,g' ${S}/extra/gcc-uClibc/Makefile
+       perl -i -p -e 's,^LD_BIN.*,LD_BIN=${CROSS_DIR}/bin/${TARGET_PREFIX}ld,g' ${S}/extra/gcc-uClibc/Makefile
 
        make oldconfig
        make headers