summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <hrw@openembedded.org>2004-05-22 23:12:47 +0000
committerMarcin Juszkiewicz <hrw@openembedded.org>2004-05-22 23:12:47 +0000
commite09ddec8727f070a9eae7a4ce2815a098399ec97 (patch)
tree61cdc32e4af7b4e18876cbe4d1e67bd30408555b /gcc
parentf77f3af77b568d127a4d88f44d4566def27a3862 (diff)
fixed libstdc++5 building
BKrev: 40afde6fznbFcSo7rkeYNxT0JLSAdw
Diffstat (limited to 'gcc')
-rw-r--r--gcc/gcc-cross_3.3.3.oe15
-rw-r--r--gcc/gcc_3.3.3.oe11
2 files changed, 23 insertions, 3 deletions
diff --git a/gcc/gcc-cross_3.3.3.oe b/gcc/gcc-cross_3.3.3.oe
index 3fbc4d76f3..6131c30d37 100644
--- a/gcc/gcc-cross_3.3.3.oe
+++ b/gcc/gcc-cross_3.3.3.oe
@@ -5,7 +5,8 @@ FILESDIR = "${@os.path.dirname(oe.data.getVar('FILE',d,1))}/gcc-${PV}"
DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
-PACKAGES = "libgcc"
+# Files for these are defined in the main gcc.oe
+PACKAGES = "libgcc libstdc++ libg2c"
INHIBIT_PACKAGE_STRIP = 1
EXTRA_OECONF_PATHS = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
@@ -80,4 +81,16 @@ do_install () {
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_3.3.3.oe b/gcc/gcc_3.3.3.oe
index 1f9ae2b4e3..c7e55e1fad 100644
--- a/gcc/gcc_3.3.3.oe
+++ b/gcc/gcc_3.3.3.oe
@@ -4,9 +4,12 @@ DESCRIPTION = "The GNU cc and gcc C compilers."
LICENSE = "GPL"
MAINTAINER = "Gerald Britton <gbritton@doomcom.org>"
+# libgcc libstdc++ libg2c are listed in our FILES_*, but are actually
+# packaged in the respective cross packages.
PACKAGES = "${PN} ${PN}-symlinks \
${PN}-c++ ${PN}-c++-symlinks \
- libgcc libstdc++ libstdc++-dev \
+ ${PN}-f77 ${PN}-f77-symlinks \
+ libstdc++-dev libg2c-dev \
${PN}-doc"
FILES_${PN} = "${bindir}/${TARGET_PREFIX}gcc \
@@ -34,7 +37,9 @@ FILES_${PN}-c++-symlinks = "${bindir}/c++ \
FILES_libgcc = "/lib/libgcc_s.so.*"
-FILES_libstdc++ = "${libdir}/libstdc++.so.*"
+# Called from within gcc-cross, so libdir is set wrong
+#FILES_libstdc++ = "${libdir}/libstdc++.so.*"
+FILES_libstdc++ = "/usr/lib/libstdc++.so.*"
FILES_libstdc++-dev = "${includedir}/c++/${PV} \
${libdir}/libstdc++.so \
@@ -216,8 +221,10 @@ do_install () {
rm -f ${TARGET_ARCH}-*${TARGET_ARCH}-*
# Symlinks so we can use these trivially on the target
+ ln -sf ${TARGET_SYS}-g77 g77
ln -sf ${TARGET_SYS}-g++ g++
ln -sf ${TARGET_SYS}-gcc gcc
+ ln -sf g77 f77
ln -sf g++ c++
ln -sf gcc cc
}