summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/gcc-3.3.2/gcc-001-disable-mathf.patch0
-rw-r--r--gcc/gcc-3.3.2/gcc-006-include-search.patch0
-rw-r--r--gcc/gcc-3.3.2/gcc-810-libstd++-locale.patch0
-rw-r--r--gcc/gcc-3.3.2/libibery-crosstool.patch0
-rw-r--r--gcc/gcc-cross-initial_3.3.2.oe0
-rw-r--r--gcc/gcc-cross-initial_3.3.3.oe25
-rw-r--r--gcc/gcc-cross-initial_3.4.0.oe28
-rw-r--r--gcc/gcc-cross_3.3.2.oe78
-rw-r--r--gcc/gcc-cross_3.3.3.oe8
-rw-r--r--gcc/gcc-cross_3.4.0.oe5
-rw-r--r--gcc/gcc-uclibc-cross-initial_3.3.2.oe0
-rw-r--r--gcc/gcc-uclibc-cross-initial_3.3.3.oe0
-rw-r--r--gcc/gcc-uclibc-cross-initial_3.4.0.oe0
-rw-r--r--gcc/gcc-uclibc-cross_3.3.2.oe75
-rw-r--r--gcc/gcc-uclibc-cross_3.3.3.oe75
-rw-r--r--gcc/gcc-uclibc-cross_3.4.0.oe93
-rw-r--r--gcc/gcc-uclibc_3.3.2.oe79
-rw-r--r--gcc/gcc-uclibc_3.3.3.oe86
-rw-r--r--gcc/gcc-uclibc_3.4.0.oe0
-rw-r--r--gcc/gcc_3.3.2.oe148
-rw-r--r--gcc/gcc_3.3.3.oe89
-rw-r--r--gcc/gcc_3.4.0.oe76
22 files changed, 172 insertions, 693 deletions
diff --git a/gcc/gcc-3.3.2/gcc-001-disable-mathf.patch b/gcc/gcc-3.3.2/gcc-001-disable-mathf.patch
deleted file mode 100644
index e69de29bb2..0000000000
--- a/gcc/gcc-3.3.2/gcc-001-disable-mathf.patch
+++ /dev/null
diff --git a/gcc/gcc-3.3.2/gcc-006-include-search.patch b/gcc/gcc-3.3.2/gcc-006-include-search.patch
deleted file mode 100644
index e69de29bb2..0000000000
--- a/gcc/gcc-3.3.2/gcc-006-include-search.patch
+++ /dev/null
diff --git a/gcc/gcc-3.3.2/gcc-810-libstd++-locale.patch b/gcc/gcc-3.3.2/gcc-810-libstd++-locale.patch
deleted file mode 100644
index e69de29bb2..0000000000
--- a/gcc/gcc-3.3.2/gcc-810-libstd++-locale.patch
+++ /dev/null
diff --git a/gcc/gcc-3.3.2/libibery-crosstool.patch b/gcc/gcc-3.3.2/libibery-crosstool.patch
deleted file mode 100644
index e69de29bb2..0000000000
--- a/gcc/gcc-3.3.2/libibery-crosstool.patch
+++ /dev/null
diff --git a/gcc/gcc-cross-initial_3.3.2.oe b/gcc/gcc-cross-initial_3.3.2.oe
deleted file mode 100644
index e69de29bb2..0000000000
--- a/gcc/gcc-cross-initial_3.3.2.oe
+++ /dev/null
diff --git a/gcc/gcc-cross-initial_3.3.3.oe b/gcc/gcc-cross-initial_3.3.3.oe
index e69de29bb2..c1a01c1593 100644
--- a/gcc/gcc-cross-initial_3.3.3.oe
+++ b/gcc/gcc-cross-initial_3.3.3.oe
@@ -0,0 +1,25 @@
+include gcc-cross_${PV}.oe
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-initial"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
+
+EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-newlib \
+ --disable-nls \
+ --disable-shared \
+ --disable-threads \
+ --disable-multilib \
+ --enable-__cxa_atexit \
+ --enable-languages=c \
+ --enable-target-optspace \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage_prepend () {
+ mkdir -p ${CROSS_DIR}/lib/gcc-lib/${TARGET_SYS}/${PV}
+ ln -sf libgcc.a ${CROSS_DIR}/lib/gcc-lib/${TARGET_SYS}/${PV}/libgcc_eh.a
+}
+
+# Override the method from gcc-cross so we don't try to install libgcc
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
diff --git a/gcc/gcc-cross-initial_3.4.0.oe b/gcc/gcc-cross-initial_3.4.0.oe
index e69de29bb2..b800e1927e 100644
--- a/gcc/gcc-cross-initial_3.4.0.oe
+++ b/gcc/gcc-cross-initial_3.4.0.oe
@@ -0,0 +1,28 @@
+include gcc-cross_${PV}.oe
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-initial"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
+
+PACKAGES = ""
+
+EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-newlib \
+ --disable-nls \
+ --disable-shared \
+ --disable-threads \
+ --disable-multilib \
+ --enable-__cxa_atexit \
+ --enable-languages=c \
+ --enable-target-optspace \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage_prepend () {
+ mkdir -p ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${PV}
+ ln -sf libgcc.a ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${PV}/libgcc_eh.a
+}
+
+# Override the method from gcc-cross so we don't try to install libgcc
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
+
diff --git a/gcc/gcc-cross_3.3.2.oe b/gcc/gcc-cross_3.3.2.oe
deleted file mode 100644
index dce9ef4482..0000000000
--- a/gcc/gcc-cross_3.3.2.oe
+++ /dev/null
@@ -1,78 +0,0 @@
-include gcc_${PV}.oe
-inherit cross
-FILESDIR = "${@os.path.dirname(oe.data.getVar('FILE',d,1))}/gcc-${PV}"
-
-DEPENDS = "virtual/${TARGET_PREFIX}binutils glibc patcher-native"
-PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
-
-PACKAGES = ""
-INHIBIT_PACKAGE_STRIP = 1
-
-EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
- --with-gxx-include-dir=${CROSS_DIR}/${TARGET_SYS}/include/c++ \
- --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \
- --disable-nls \
- --enable-threads=posix \
- --enable-symvers=gnu \
- --enable-__cxa_atexit \
- --enable-languages=c,c++ \
- --enable-shared \
- --enable-c99 \
- --enable-long-long \
- --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"
- rm -f ${CROSS_DIR}/lib/gcc-lib/${TARGET_SYS}/${PV}/libgcc_eh.a
- 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 () {
- for d in info man share/doc share/locale ; do
- rm -rf ${CROSS_DIR}/$d
- done
-
- # These aren't useful on the cross toolchain
- rm -f ${CROSS_DIR}/bin/*gcov
- rm -f ${CROSS_DIR}/bin/*gccbug
-
- # Fix a few include links so cross builds are happier
- if [ ! -e ${STAGING_INCDIR}/c++ ]; then
- mkdir -p ${STAGING_INCDIR}
- ln -sf ${CROSS_DIR}/${TARGET_SYS}/include/c++ \
- ${STAGING_INCDIR}/
- fi
-
- # We use libiberty from binutils
- rm -f ${CROSS_DIR}/lib/libiberty.a
-
- # We probably don't need these
- rmdir ${CROSS_DIR}/include || :
-
- # We don't really need to keep this around
- rm -rf ${CROSS_DIR}/share
-}
-
-# Kill the install so we get no packages (we're the cross compiler)
-do_install () {
- :
-}
-
diff --git a/gcc/gcc-cross_3.3.3.oe b/gcc/gcc-cross_3.3.3.oe
index fdf9292ac4..d172d6ac0b 100644
--- a/gcc/gcc-cross_3.3.3.oe
+++ b/gcc/gcc-cross_3.3.3.oe
@@ -2,7 +2,7 @@ include gcc_${PV}.oe
inherit cross
FILESDIR = "${@os.path.dirname(oe.data.getVar('FILE',d,1))}/gcc-${PV}"
-DEPENDS = "virtual/${TARGET_PREFIX}binutils glibc patcher-native"
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
PACKAGES = "libgcc"
@@ -11,6 +11,8 @@ INHIBIT_PACKAGE_STRIP = 1
EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
--with-gxx-include-dir=${CROSS_DIR}/${TARGET_SYS}/include/c++ \
--disable-nls \
+ --with-gnu-ld \
+ --enable-multilib \
--enable-threads=posix \
--enable-symvers=gnu \
--enable-__cxa_atexit \
@@ -18,8 +20,8 @@ EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
--enable-shared \
--enable-c99 \
--enable-long-long \
- --program-prefix=${TARGET_PREFIX} \
- ${@['--with-headers=${CROSS_DIR}/${TARGET_SYS}/include', '']['${BUILD_SYS}' == '${HOST_SYS}']}"
+ --enable-target-optspace \
+ --program-prefix=${TARGET_PREFIX}"
FILES_libgcc = "/lib/libgcc_s.so.*"
diff --git a/gcc/gcc-cross_3.4.0.oe b/gcc/gcc-cross_3.4.0.oe
index 5df5ec6aca..8238e815da 100644
--- a/gcc/gcc-cross_3.4.0.oe
+++ b/gcc/gcc-cross_3.4.0.oe
@@ -2,7 +2,7 @@ include gcc_${PV}.oe
inherit cross
FILESDIR = "${@os.path.dirname(oe.data.getVar('FILE',d,1))}/gcc-${PV}"
-DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc patcher-native"
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
# Files for these are defined in the main gcc.oe
@@ -12,6 +12,8 @@ INHIBIT_PACKAGE_STRIP = 1
EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
--with-gxx-include-dir=${CROSS_DIR}/${TARGET_SYS}/include/c++ \
--disable-nls \
+ --with-gnu-ld \
+ --enable-multilib \
--enable-threads=posix \
--enable-symvers=gnu \
--enable-__cxa_atexit \
@@ -19,6 +21,7 @@ EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
--enable-shared \
--enable-c99 \
--enable-long-long \
+ --enable-target-optspace \
--program-prefix=${TARGET_PREFIX}"
export CPPFLAGS = ""
diff --git a/gcc/gcc-uclibc-cross-initial_3.3.2.oe b/gcc/gcc-uclibc-cross-initial_3.3.2.oe
deleted file mode 100644
index e69de29bb2..0000000000
--- a/gcc/gcc-uclibc-cross-initial_3.3.2.oe
+++ /dev/null
diff --git a/gcc/gcc-uclibc-cross-initial_3.3.3.oe b/gcc/gcc-uclibc-cross-initial_3.3.3.oe
deleted file mode 100644
index e69de29bb2..0000000000
--- a/gcc/gcc-uclibc-cross-initial_3.3.3.oe
+++ /dev/null
diff --git a/gcc/gcc-uclibc-cross-initial_3.4.0.oe b/gcc/gcc-uclibc-cross-initial_3.4.0.oe
deleted file mode 100644
index e69de29bb2..0000000000
--- a/gcc/gcc-uclibc-cross-initial_3.4.0.oe
+++ /dev/null
diff --git a/gcc/gcc-uclibc-cross_3.3.2.oe b/gcc/gcc-uclibc-cross_3.3.2.oe
deleted file mode 100644
index 3419f50416..0000000000
--- a/gcc/gcc-uclibc-cross_3.3.2.oe
+++ /dev/null
@@ -1,75 +0,0 @@
-inherit cross
-include gcc-uclibc_${PV}.oe
-
-DEPENDS = "virtual/${TARGET_PREFIX}binutils uclibc patcher-native"
-PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
-
-PACKAGES = ""
-INHIBIT_PACKAGE_STRIP = 1
-
-EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/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 \
- --enable-threads=posix \
- --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 () {
- for d in info man share/doc share/locale ; do
- rm -rf ${CROSS_DIR}/$d
- done
-
- # These aren't useful on the cross toolchain
- rm -f ${CROSS_DIR}/bin/*gcov
- rm -f ${CROSS_DIR}/bin/*gccbug
-
- # Fix a few include links so cross builds are happier
- if [ ! -e ${STAGING_INCDIR}/c++ ]; then
- mkdir -p ${STAGING_INCDIR}
- ln -sf ${CROSS_DIR}/${TARGET_SYS}/include/c++ \
- ${STAGING_INCDIR}/
- fi
-
- # We use libiberty from binutils
- rm -f ${CROSS_DIR}/lib/libiberty.a
-
- # We probably don't need this
- rmdir ${CROSS_DIR}/include || :
-
- # We don't really need to keep this around
- rm -rf ${CROSS_DIR}/share
-}
-
-# Kill the install so we get no packages (we're the cross compiler)
-do_install () {
- :
-}
-
diff --git a/gcc/gcc-uclibc-cross_3.3.3.oe b/gcc/gcc-uclibc-cross_3.3.3.oe
deleted file mode 100644
index 5e4ee702f1..0000000000
--- a/gcc/gcc-uclibc-cross_3.3.3.oe
+++ /dev/null
@@ -1,75 +0,0 @@
-inherit cross
-include gcc-uclibc_${PV}.oe
-
-DEPENDS = "virtual/${TARGET_PREFIX}binutils uclibc patcher-native"
-PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
-
-PACKAGES = ""
-INHIBIT_PACKAGE_STRIP = 1
-
-EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/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-threads \
- --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 () {
- for d in info man share/doc share/locale ; do
- rm -rf ${CROSS_DIR}/$d
- done
-
- # These aren't useful on the cross toolchain
- rm -f ${CROSS_DIR}/bin/*gcov
- rm -f ${CROSS_DIR}/bin/*gccbug
-
- # Fix a few include links so cross builds are happier
- if [ ! -e ${STAGING_INCDIR}/c++ ]; then
- mkdir -p ${STAGING_INCDIR}
- ln -sf ${CROSS_DIR}/${TARGET_SYS}/include/c++ \
- ${STAGING_INCDIR}/
- fi
-
- # We use libiberty from binutils
- rm -f ${CROSS_DIR}/lib/libiberty.a
-
- # We probably don't need this
- rmdir ${CROSS_DIR}/include || :
-
- # We don't really need to keep this around
- rm -rf ${CROSS_DIR}/share
-}
-
-# Kill the install so we get no packages (we're the cross compiler)
-do_install () {
- :
-}
-
diff --git a/gcc/gcc-uclibc-cross_3.4.0.oe b/gcc/gcc-uclibc-cross_3.4.0.oe
deleted file mode 100644
index 125fa8782d..0000000000
--- a/gcc/gcc-uclibc-cross_3.4.0.oe
+++ /dev/null
@@ -1,93 +0,0 @@
-inherit cross
-include gcc-uclibc_${PV}.oe
-
-DEPENDS = "virtual/${TARGET_PREFIX}binutils uclibc patcher-native"
-PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
-
-# Files for these are defined in the main gcc.oe
-PACKAGES = "libgcc libstdc++ libg2c"
-INHIBIT_PACKAGE_STRIP = 1
-
-EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/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++,f77 \
- --enable-shared \
- --enable-threads \
- --enable-multilib \
- --program-prefix=${TARGET_PREFIX}"
-
-export CPPFLAGS = ""
-export CXXFLAGS = ""
-export CFLAGS = ""
-export LDFLAGS = ""
-
-do_configure () {
- 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 () {
- for d in info man share/doc share/locale ; do
- rm -rf ${CROSS_DIR}/$d
- done
-
- # These aren't useful on the cross toolchain
- rm -f ${CROSS_DIR}/bin/*gcov
- rm -f ${CROSS_DIR}/bin/*gccbug
-
- # Fix a few include links so cross builds are happier
- if [ ! -e ${STAGING_INCDIR}/c++ ]; then
- mkdir -p ${STAGING_INCDIR}
- ln -sf ${CROSS_DIR}/${TARGET_SYS}/include/c++ \
- ${STAGING_INCDIR}/
- fi
-
- # We use libiberty from binutils
- rm -f ${CROSS_DIR}/lib/libiberty.a
-
- # We probably don't need this
- rmdir ${CROSS_DIR}/include || :
-
- # We don't really need to keep this around
- rm -rf ${CROSS_DIR}/share
-}
-
-do_install () {
- oe_runmake 'DESTDIR=${D}' install
-
- # Move libgcc_s into /lib
- mkdir -p ${D}/lib
- if [ -f ${D}/lib/libgcc_s.so.? ]; then
- # Already in the right location
- :
- elif [ -f ${D}/${prefix}/lib/libgcc_s.so.? ]; then
- mv -f ${D}/${prefix}/lib/libgcc_s.so.* ${D}/lib
- else
- mv -f ${D}/${prefix}/*/lib/libgcc_s.so.* ${D}/lib
- fi
-
- # Move libstdc++ and libg2c into libdir (resetting our prefix to /usr
- TGT_LIBDIR=`echo ${libdir} | sed -e 's,${CROSS_DIR},/usr,'`
- mkdir -p ${D}/${TGT_LIBDIR}
- mv -f ${D}/${prefix}/*/lib/libstdc++.so.* ${D}/${TGT_LIBDIR}
- mv -f ${D}/${prefix}/*/lib/libg2c.so.* ${D}/${TGT_LIBDIR}
-
- # Manually run the target stripper since we won't get it run by
- # the packaging.
- ${TARGET_PREFIX}strip ${D}/${TGT_LIBDIR}/libstdc++.so.*
- ${TARGET_PREFIX}strip ${D}/${TGT_LIBDIR}/libg2c.so.*
- ${TARGET_PREFIX}strip ${D}/libgcc_s.so.*
-}
-
diff --git a/gcc/gcc-uclibc_3.3.2.oe b/gcc/gcc-uclibc_3.3.2.oe
deleted file mode 100644
index 3cb6cb0dbf..0000000000
--- a/gcc/gcc-uclibc_3.3.2.oe
+++ /dev/null
@@ -1,79 +0,0 @@
-include gcc_${PV}.oe
-FILESDIR = "${@os.path.dirname(oe.data.getVar('FILE',d,1))}/gcc-${PV}"
-
-DESCRIPTION = "The GNU cc and gcc C compilers (uclibc)."
-LICENSE = "GPL"
-MAINTAINER = "Gerald Britton <gbritton@doomcom.org>"
-
-DEPENDS = "uclibc"
-
-PACKAGES = "${PN} ${PN}-symlinks \
- ${PN}-c++ ${PN}-c++-symlinks \
- uclibc-libgcc uclibc-libstdc++ uclibc-libstdc++-dev \
- ${PN}-doc"
-
-# The rest of these are properly defined in gcc_${PV}.oe
-FILES_uclibc-libgcc = "${FILES_libgcc}"
-FILES_uclibc-libstdc++ = "${FILES_libstdc++}"
-FILES_uclibc-libstdc++-dev = "${includedir}/c++/${PV}-uclibc \
- ${libdir}/libstdc++.so \
- ${libdir}/libstdc++.la \
- ${libdir}/libstdc++.a \
- ${libdir}/libsupc++.la \
- ${libdir}/libsupc++.a"
-
-EXTRA_OECONF = "--with-local-prefix=${prefix}/local \
- --with-gxx-include-dir=${includedir}/c++/${PV}-uclibc \
- --enable-target-optspace \
- --disable-nls \
- --with-gnu-ld \
- --disable-__cxa_atexit \
- --enable-languages=c,c++ \
- --enable-shared \
- --enable-multilib \
- --enable-threads=posix \
- --program-prefix=${TARGET_PREFIX}"
-
-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)
-}
-
diff --git a/gcc/gcc-uclibc_3.3.3.oe b/gcc/gcc-uclibc_3.3.3.oe
deleted file mode 100644
index 10e4bdb371..0000000000
--- a/gcc/gcc-uclibc_3.3.3.oe
+++ /dev/null
@@ -1,86 +0,0 @@
-include gcc_${PV}.oe
-FILESDIR = "${@os.path.dirname(oe.data.getVar('FILE',d,1))}/gcc-${PV}"
-
-DESCRIPTION = "The GNU cc and gcc C compilers (uclibc)."
-LICENSE = "GPL"
-MAINTAINER = "Gerald Britton <gbritton@doomcom.org>"
-
-DEPENDS = "uclibc"
-
-PACKAGES = "${PN} ${PN}-symlinks \
- ${PN}-c++ ${PN}-c++-symlinks \
- uclibc-libgcc uclibc-libstdc++ uclibc-libstdc++-dev \
- ${PN}-doc"
-
-# The rest of these are properly defined in gcc_${PV}.oe
-FILES_uclibc-libgcc = "${FILES_libgcc}"
-FILES_uclibc-libstdc++ = "${FILES_libstdc++}"
-FILES_uclibc-libstdc++-dev = "${includedir}/c++/${PV}-uclibc \
- ${libdir}/libstdc++.so \
- ${libdir}/libstdc++.la \
- ${libdir}/libstdc++.a \
- ${libdir}/libsupc++.la \
- ${libdir}/libsupc++.a"
-
-# Additional patches
-SRC_URI_append = " \
- file://${FILESDIR}/gcc-uclibc-3.3-100-conf.patch;patch=1 \
- file://${FILESDIR}/gcc-uclibc-3.3-110-conf.patch;patch=1 \
- file://${FILESDIR}/gcc-uclibc-3.3-120-softfloat.patch;patch=1 \
- file://${FILESDIR}/gcc-uclibc-3.3-200-code.patch;patch=1"
-
-EXTRA_OECONF = "--with-local-prefix=${prefix}/local \
- --with-gxx-include-dir=${includedir}/c++/${PV}-uclibc \
- --enable-target-optspace \
- --disable-nls \
- --with-gnu-ld \
- --disable-__cxa_atexit \
- --enable-languages=c,c++ \
- --enable-shared \
- --enable-multilib \
- --enable-threads=posix \
- --program-prefix=${TARGET_PREFIX}"
-
-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)
-}
-
diff --git a/gcc/gcc-uclibc_3.4.0.oe b/gcc/gcc-uclibc_3.4.0.oe
deleted file mode 100644
index e69de29bb2..0000000000
--- a/gcc/gcc-uclibc_3.4.0.oe
+++ /dev/null
diff --git a/gcc/gcc_3.3.2.oe b/gcc/gcc_3.3.2.oe
deleted file mode 100644
index 9335dc7488..0000000000
--- a/gcc/gcc_3.3.2.oe
+++ /dev/null
@@ -1,148 +0,0 @@
-inherit autotools
-
-DESCRIPTION = "The GNU cc and gcc C compilers."
-LICENSE = "GPL"
-MAINTAINER = "Gerald Britton <gbritton@doomcom.org>"
-
-#
-# 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_pkg = (re.search('uclibc', oe.data.getVar('PN', d, 1)) != None)
- uc_os = (re.match('.*uclibc$', oe.data.getVar('TARGET_OS', d, 1)) != None)
- if uc_pkg != uc_os:
- raise oe.parse.SkipPackage("incompatible with target %s" %
- oe.data.getVar('TARGET_OS', d, 1))
-}
-
-DEPENDS = "glibc"
-
-PACKAGES = "${PN} ${PN}-symlinks \
- ${PN}-c++ ${PN}-c++-symlinks \
- libgcc libstdc++ libstdc++-dev \
- ${PN}-doc"
-
-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* \
- ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/specs \
- ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/lib* \
- ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/include"
-
-FILES_${PN}-symlinks = "${bindir}/cc \
- ${bindir}/gcc \
- ${bindir}/cpp \
- ${bindir}/gcov \
- ${bindir}/gccbug"
-
-FILES_${PN}-c++ = "${bindir}/${TARGET_PREFIX}g++ \
- ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/cc1plus"
-
-FILES_${PN}-c++-symlinks = "${bindir}/c++ \
- ${bindir}/g++"
-
-FILES_libgcc = "/lib/libgcc_s.so.*"
-
-FILES_libstdc++ = "${libdir}/libstdc++.so.*"
-
-FILES_libstdc++-dev = "${includedir}/c++/${PV} \
- ${libdir}/libstdc++.so \
- ${libdir}/libstdc++.la \
- ${libdir}/libstdc++.a \
- ${libdir}/libsupc++.la \
- ${libdir}/libsupc++.a"
-
-FILES_${PN}-doc = "${infodir} \
- ${mandir} \
- ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/include/README"
-
-SRC_URI = "${GNU_MIRROR}/gcc/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 \
- file://${FILESDIR}/libibery-crosstool.patch;patch=1;pnum=1"
-
-MIRRORS_prepend () {
-${GNU_MIRROR}/gcc/releases/ http://gcc.get-software.com/releases/
-}
-
-S = "${WORKDIR}/gcc-${PV}"
-B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
-
-EXTRA_OECONF = "--with-local-prefix=${prefix}/local \
- --with-gxx-include-dir=${includedir}/c++/${PV} \
- --enable-target-optspace \
- --disable-nls \
- --with-gnu-ld \
- --disable-__cxa_atexit \
- --enable-languages=c,c++ \
- --enable-shared \
- --enable-multilib \
- --program-prefix=${TARGET_PREFIX}"
-
-do_configure () {
- # Setup these vars for cross building only
- if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
- export CC_FOR_TARGET="${CCACHE} ${HOST_PREFIX}gcc"
- export GCC_FOR_TARGET="${CCACHE} ${HOST_PREFIX}gcc"
- export CXX_FOR_TARGET="${CCACHE} ${HOST_PREFIX}g++"
- export AS_FOR_TARGET="${HOST_PREFIX}as"
- export LD_FOR_TARGET="${HOST_PREFIX}ld"
- export NM_FOR_TARGET="${HOST_PREFIX}nm"
- export AR_FOR_TARGET="${HOST_PREFIX}ar"
- export RANLIB_FOR_TARGET="${HOST_PREFIX}ranlib"
- fi
- oe_runconf
-}
-
-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}/${libdir}/libgcc_s.so.* ${D}/lib
- rm -f ${D}/${libdir}/libgcc_s.so
- ln -sf `echo ${libdir}/gcc-lib/${TARGET_SYS}/${PV} | tr -s / |
- sed -e 's,^/,,' -e 's,[^/]*,..,g'`/lib/libgcc_s.so.? \
- ${D}/${libdir}/gcc-lib/${TARGET_SYS}/${PV}/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
-
- # We use libiberty from binutils
- rm -f ${D}/${libdir}/libiberty.a
-
- 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-?.?*
-
- # These sometimes show up, they are strange, we remove them
- rm -f ${TARGET_ARCH}-*${TARGET_ARCH}-*
-
- # Symlinks so we can use these trivially on the target
- ln -sf ${TARGET_SYS}-g++ g++
- ln -sf ${TARGET_SYS}-gcc gcc
- ln -sf g++ c++
- ln -sf gcc cc
-}
diff --git a/gcc/gcc_3.3.3.oe b/gcc/gcc_3.3.3.oe
index 77688fca6b..6388351e43 100644
--- a/gcc/gcc_3.3.3.oe
+++ b/gcc/gcc_3.3.3.oe
@@ -4,25 +4,6 @@ DESCRIPTION = "The GNU cc and gcc C compilers."
LICENSE = "GPL"
MAINTAINER = "Gerald Britton <gbritton@doomcom.org>"
-#
-# 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_pkg = (re.search('uclibc', oe.data.getVar('PN', d, 1)) != None)
- uc_os = (re.match('.*uclibc$', oe.data.getVar('TARGET_OS', d, 1)) != None)
- if uc_pkg != uc_os:
- raise oe.parse.SkipPackage("incompatible with target %s" %
- oe.data.getVar('TARGET_OS', d, 1))
-}
-
-DEPENDS = "glibc"
-
PACKAGES = "${PN} ${PN}-symlinks \
${PN}-c++ ${PN}-c++-symlinks \
libgcc libstdc++ libstdc++-dev \
@@ -96,25 +77,75 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://${FILESDIR}/arm-ldm-peephole.patch;patch=1;pnum=0 \
file://${FILESDIR}/libibery-crosstool.patch;patch=1;pnum=1 \
file://${FILESDIR}/reverse-compare.patch;patch=1 \
- file://${FILESDIR}/gcc34-15089.patch;patch=1"
+ file://${FILESDIR}/gcc34-15089.patch;patch=1 \
+ file://${FILESDIR}/gcc-uclibc-3.3-100-conf.patch;patch=1 \
+ file://${FILESDIR}/gcc-uclibc-3.3-110-conf.patch;patch=1 \
+ file://${FILESDIR}/gcc-uclibc-3.3-120-softfloat.patch;patch=1 \
+ file://${FILESDIR}/gcc-uclibc-3.3-200-code.patch;patch=1"
MIRRORS_prepend () {
${GNU_MIRROR}/gcc/releases/ http://gcc.get-software.com/releases/
}
+gccbuild_uclibc_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 () {
+ import oe, re
+ oe.build.exec_func('base_do_patch', d)
+ if (re.match('.*uclibc$', oe.data.getVar('TARGET_OS', d, 1)) != None):
+ oe.build.exec_func('gccbuild_uclibc_do_patch', d)
+}
+
S = "${WORKDIR}/gcc-${PV}"
B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
EXTRA_OECONF = "--with-local-prefix=${prefix}/local \
- --with-gxx-include-dir=${includedir}/c++/${PV} \
- --enable-target-optspace \
- --disable-nls \
- --with-gnu-ld \
- --disable-__cxa_atexit \
- --enable-languages=c,c++ \
- --enable-shared \
- --enable-multilib \
- --program-prefix=${TARGET_PREFIX}"
+ --with-gxx-include-dir=${includedir}/c++/${PV} \
+ --enable-target-optspace \
+ --disable-nls \
+ --with-gnu-ld \
+ --disable-__cxa_atexit \
+ --enable-languages=c,c++,f77 \
+ --enable-shared \
+ --enable-multilib \
+ --enable-threads=posix \
+ --program-prefix=${TARGET_PREFIX}"
do_configure () {
# Setup these vars for cross building only
diff --git a/gcc/gcc_3.4.0.oe b/gcc/gcc_3.4.0.oe
index a05c86b7c6..b486ccfef2 100644
--- a/gcc/gcc_3.4.0.oe
+++ b/gcc/gcc_3.4.0.oe
@@ -4,31 +4,6 @@ DESCRIPTION = "The GNU cc and gcc C compilers."
LICENSE = "GPL"
MAINTAINER = "Gerald Britton <gbritton@doomcom.org>"
-#
-# TODO: For shared setups with both uclibc and glibc, libstdc++ and the
-# fortran (libg2c, libfrtbegin) will need to be moved into separate
-# per-compiler paths. Shared libraries will also need some
-# separation. This will also require changes to the dynamic linkers
-# for the two libc's to support selection of appropriate libraries.
-#
-# This affects: binutils, gcc, uclibc, glibc
-#
-# 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.
-#
-
-python __anonymous () {
- import oe, re
- uc_pkg = (re.search('uclibc', oe.data.getVar('PN', d, 1)) != None)
- uc_os = (re.match('.*uclibc$', oe.data.getVar('TARGET_OS', d, 1)) != None)
- if uc_pkg != uc_os:
- raise oe.parse.SkipPackage("incompatible with target %s" %
- oe.data.getVar('TARGET_OS', d, 1))
-}
-
-DEPENDS = "glibc"
-
# libgcc libstdc++ libg2c are listed in our FILES_*, but are actually
# packaged in the respective cross packages.
PACKAGES = "${PN} ${PN}-symlinks \
@@ -97,12 +72,60 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://${FILESDIR}/gcc34-arm-ldm.patch;patch=1 \
file://${FILESDIR}/gcc34-arm-ldm-peephole.patch;patch=1 \
file://${FILESDIR}/gcc34-arm-tune.patch;patch=1 \
- file://${FILESDIR}/gcc34-15089.patch;patch=1"
+ file://${FILESDIR}/gcc34-15089.patch;patch=1 \
+ file://${FILESDIR}/gcc-uclibc-3.4.0-100-conf.patch;patch=1 \
+ file://${FILESDIR}/gcc-uclibc-3.4.0-120-softfloat.patch;patch=1 \
+ file://${FILESDIR}/gcc-uclibc-3.4.0-200-code.patch;patch=1"
MIRRORS_prepend () {
${GNU_MIRROR}/gcc/releases/ http://gcc.get-software.com/releases/
}
+gccbuild_uclibc_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 () {
+ import oe, re
+ oe.build.exec_func('base_do_patch', d)
+ if (re.match('.*uclibc$', oe.data.getVar('TARGET_OS', d, 1)) != None):
+ oe.build.exec_func('gccbuild_uclibc_do_patch', d)
+}
+
S = "${WORKDIR}/gcc-${PV}"
B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
@@ -115,6 +138,7 @@ EXTRA_OECONF = "--with-local-prefix=${prefix}/local \
--enable-languages=c,c++,f77 \
--enable-shared \
--enable-multilib \
+ --enable-threads=posix \
--program-prefix=${TARGET_PREFIX}"
do_configure () {