diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/gcc-cross_3.3.3.oe | 15 | ||||
-rw-r--r-- | gcc/gcc_3.3.3.oe | 11 |
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 } |