diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2010-03-29 22:27:13 +0100 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-03-29 22:27:13 +0100 |
commit | cdaf6c804b703d58839e449041b12f698cb5ebbe (patch) | |
tree | b2330e4295ffa036249dd058b42f5b9cf1ced6bb /meta/packages/gcc/gcc-package-cross.inc | |
parent | 7a7c2341c7be47e054bb1b7788ea1b5dcebbc732 (diff) | |
download | poky-cdaf6c804b703d58839e449041b12f698cb5ebbe.tar.gz |
gcc-runtime: Add initial recipe
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/packages/gcc/gcc-package-cross.inc')
-rw-r--r-- | meta/packages/gcc/gcc-package-cross.inc | 46 |
1 files changed, 6 insertions, 40 deletions
diff --git a/meta/packages/gcc/gcc-package-cross.inc b/meta/packages/gcc/gcc-package-cross.inc index cb23b23f22..6c56504828 100644 --- a/meta/packages/gcc/gcc-package-cross.inc +++ b/meta/packages/gcc/gcc-package-cross.inc | |||
@@ -1,42 +1,11 @@ | |||
1 | INHIBIT_PACKAGE_STRIP ?= "" | ||
2 | OLD_INHIBIT_PACKAGE_STRIP := "${INHIBIT_PACKAGE_STRIP}" | ||
3 | INHIBIT_PACKAGE_STRIP = "1" | 1 | INHIBIT_PACKAGE_STRIP = "1" |
4 | 2 | ||
5 | PACKAGES = "libgcc libssp libstdc++ libg2c libgfortran" | ||
6 | |||
7 | # Called from within gcc-cross, so libdir is set wrong | ||
8 | FILES_libg2c = "${target_libdir}/libg2c.so.*" | ||
9 | |||
10 | FILES_libssp = "${target_libdir}/libssp.so.*" | ||
11 | |||
12 | FILES_libgfortran = "${target_libdir}/libgfortran.so.*" | ||
13 | |||
14 | FILES_libgcc = "${target_base_libdir}/libgcc_s.so.1" | ||
15 | |||
16 | FILES_libstdc++ = "${target_libdir}/libstdc++.so.*" | ||
17 | |||
18 | do_install () { | 3 | do_install () { |
19 | oe_runmake 'DESTDIR=${D}' install | 4 | oe_runmake 'DESTDIR=${D}' install-host |
20 | 5 | ||
21 | install -d ${D}${target_base_libdir} | 6 | install -d ${D}${target_base_libdir} |
22 | install -d ${D}${target_libdir} | 7 | install -d ${D}${target_libdir} |
23 | 8 | ||
24 | for d in ${TARGET_SYS}/lib/nof ${TARGET_SYS}/lib64 ${TARGET_SYS}/lib; do | ||
25 | if [ -d ${D}${prefix}/$d/ ]; then | ||
26 | mv -f ${D}${prefix}/$d/libgcc* ${D}${target_base_libdir} || true | ||
27 | mv -f ${D}${prefix}/$d/* ${D}${target_libdir} || true | ||
28 | fi | ||
29 | done | ||
30 | |||
31 | # Manually run the target stripper since we won't get it run by | ||
32 | # the packaging. | ||
33 | if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then | ||
34 | ${TARGET_PREFIX}strip ${D}${target_libdir}/libstdc++.so.* || true | ||
35 | ${TARGET_PREFIX}strip ${D}${target_libdir}/libg2c.so.* || true | ||
36 | ${TARGET_PREFIX}strip ${D}${target_base_libdir}/libgcc_s.so.* || true | ||
37 | ${TARGET_PREFIX}strip ${D}${target_libdir}/libgfortran*.so* || true | ||
38 | fi | ||
39 | |||
40 | # Link gfortran to g77 to satisfy not-so-smart configure or hard coded g77 | 9 | # Link gfortran to g77 to satisfy not-so-smart configure or hard coded g77 |
41 | # gfortran is fully backwards compatible. This is a safe and practical solution. | 10 | # gfortran is fully backwards compatible. This is a safe and practical solution. |
42 | ln -sf ${CROSS_DIR}/bin/${TARGET_PREFIX}gfortran ${CROSS_DIR}/bin/${TARGET_PREFIX}g77 || true | 11 | ln -sf ${CROSS_DIR}/bin/${TARGET_PREFIX}gfortran ${CROSS_DIR}/bin/${TARGET_PREFIX}g77 || true |
@@ -47,12 +16,9 @@ do_install () { | |||
47 | rm -rf ${D}${CROSS_DIR}/$d | 16 | rm -rf ${D}${CROSS_DIR}/$d |
48 | done | 17 | done |
49 | 18 | ||
50 | #fix up libsupc++ and libstdc++ la files | 19 | # gcc-runtime requires some headers, we stash them here |
51 | for f in libssp.la libssp_nonshared.la libsupc++.la libstdc++.la ; do | 20 | install -d ${D}${includedir}/gcc-build-internal |
52 | # Remove any -L options from dependency_libs - we should never need them as the | 21 | for f in auto-host.h gcov-iov.h gthr-default.h libgcc.mvars options.h tconfig.h tm.h; do |
53 | # files are in the sysroot | 22 | cp ${B}/gcc/$f ${D}${includedir}/gcc-build-internal/ |
54 | sed -i "s|\(dependency_libs\s*=.*\)-L\s*[^ ]*\(.*\)|\1\2|g" ${D}${target_libdir}/$f || true | ||
55 | # Set libdir correctly | ||
56 | sed -i "s|libdir\s*=.*|libdir='${target_libdir}'|g" ${D}${target_libdir}/$f || true | ||
57 | done | 23 | done |
58 | } | 24 | } |