diff options
author | Richard Purdie <richard@openedhand.com> | 2008-03-18 10:41:39 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2008-03-18 10:41:39 +0000 |
commit | 1255ee64ee58fb5f0acd0bdbf4f0a54afd5ceeaf (patch) | |
tree | 293d34ede70b906b04967ac077e32a8fee4e855b /meta/packages/gcc/gcc-package-cross.inc | |
parent | 402c7dcb2790bd51de9436befe8c273e538be441 (diff) | |
download | poky-1255ee64ee58fb5f0acd0bdbf4f0a54afd5ceeaf.tar.gz |
gcc: Merge in the major cleanup I made in OE.dev
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4038 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/gcc/gcc-package-cross.inc')
-rw-r--r-- | meta/packages/gcc/gcc-package-cross.inc | 80 |
1 files changed, 37 insertions, 43 deletions
diff --git a/meta/packages/gcc/gcc-package-cross.inc b/meta/packages/gcc/gcc-package-cross.inc index e1ffbd4e41..54294f4fa6 100644 --- a/meta/packages/gcc/gcc-package-cross.inc +++ b/meta/packages/gcc/gcc-package-cross.inc | |||
@@ -1,71 +1,65 @@ | |||
1 | # Packages emitted by our gcc-cross builds. | ||
2 | # | ||
3 | INHIBIT_PACKAGE_STRIP ?= "" | 1 | INHIBIT_PACKAGE_STRIP ?= "" |
4 | HAS_G2C ?= "yes" | ||
5 | HAS_GFORTRAN ?= "no" | ||
6 | OLD_INHIBIT_PACKAGE_STRIP := "${INHIBIT_PACKAGE_STRIP}" | 2 | OLD_INHIBIT_PACKAGE_STRIP := "${INHIBIT_PACKAGE_STRIP}" |
7 | INHIBIT_PACKAGE_STRIP = "1" | 3 | INHIBIT_PACKAGE_STRIP = "1" |
8 | 4 | ||
9 | # Do not generate *-dev packages as they are generated by 'gcc' recipe | ||
10 | PACKAGES = "libgcc libstdc++ libg2c libgfortran" | 5 | PACKAGES = "libgcc libstdc++ libg2c libgfortran" |
11 | 6 | ||
12 | # Called from within gcc-cross, so libdir is set wrong | 7 | # Called from within gcc-cross, so libdir is set wrong |
13 | FILES_libg2c = "${target_libdir}/libg2c.so.*" | 8 | FILES_libg2c = "${target_libdir}/libg2c.so.*" |
14 | FILES_libg2c-dev = "${target_libdir}/libg2c.so \ | ||
15 | ${target_libdir}/libg2c.a \ | ||
16 | ${target_libdir}/libfrtbegin.a" | ||
17 | 9 | ||
18 | FILES_libgfortran = "${target_libdir}/libgfortran.so.*" | 10 | FILES_libgfortran = "${target_libdir}/libgfortran.so.*" |
19 | FILES_libgfortran-dev = "${target_libdir}/libgfortran.a \ | ||
20 | ${target_libdir}/libgfortran.so \ | ||
21 | ${target_libdir}/libgfortranbegin.a" | ||
22 | 11 | ||
23 | FILES_libgcc = "${target_base_libdir}/libgcc_s.so.1" | 12 | FILES_libgcc = "${target_base_libdir}/libgcc_s.so.1" |
24 | FILES_libgcc-dev = "${target_base_libdir}/libgcc_s.so" | ||
25 | 13 | ||
26 | FILES_libstdc++ = "${target_libdir}/libstdc++.so.*" | 14 | FILES_libstdc++ = "${target_libdir}/libstdc++.so.*" |
27 | FILES_libstdc++-dev = "${target_includedir}/c++/${PV} \ | ||
28 | ${target_libdir}/libstdc++.so \ | ||
29 | ${target_libdir}/libstdc++.la \ | ||
30 | ${target_libdir}/libstdc++.a \ | ||
31 | ${target_libdir}/libsupc++.la \ | ||
32 | ${target_libdir}/libsupc++.a" | ||
33 | |||
34 | python do_package() { | ||
35 | if bb.data.getVar('DEBIAN_NAMES', d, 1): | ||
36 | bb.data.setVar('PKG_libgcc', 'libgcc1', d) | ||
37 | bb.build.exec_func('package_do_package', d) | ||
38 | } | ||
39 | 15 | ||
40 | do_install () { | 16 | do_install () { |
41 | oe_runmake 'DESTDIR=${D}' install | 17 | oe_runmake 'DESTDIR=${D}' install |
42 | 18 | ||
43 | # Move libgcc_s into /lib | 19 | # Move libgcc_s into /lib |
44 | mkdir -p ${D}${target_base_libdir} | 20 | mkdir -p ${D}${target_base_libdir} |
45 | if [ -f ${D}${target_base_libdir}/libgcc_s.so.? ]; then | 21 | if [ -f ${D}${target_base_libdir}/libgcc_s.so.? ]; then |
46 | # Already in the right location | 22 | # Already in the right location |
47 | : | 23 | : |
48 | elif [ -f ${D}${prefix}/lib/libgcc_s.so.? ]; then | 24 | elif [ -f ${D}${prefix}/lib/libgcc_s.so.? ]; then |
49 | mv -f ${D}${prefix}/lib/libgcc_s.so* ${D}${target_base_libdir} | 25 | mv -f ${D}${prefix}/lib/libgcc_s.so* ${D}${target_base_libdir} || true |
50 | else | 26 | |
51 | mv -f ${D}${prefix}/*/lib/libgcc_s.so* ${D}${target_base_libdir} | 27 | elif [ -f ${D}${prefix}/*/lib/nof/libgcc_s.so.? ]; then |
52 | fi | 28 | mv -f ${D}${prefix}/*/lib/nof/libgcc_s.so* ${D}${target_base_libdir} |
29 | else | ||
30 | mv -f ${D}${prefix}/*/lib/libgcc_s.so* ${D}${target_base_libdir} || true | ||
31 | fi | ||
32 | |||
33 | |||
53 | 34 | ||
54 | # Move libstdc++ and libg2c into libdir (resetting our prefix to /usr | 35 | # Move libstdc++ and libg2c into libdir (resetting our prefix to /usr |
55 | mkdir -p ${D}${target_libdir} | 36 | mkdir -p ${D}${target_libdir} |
56 | mv -f ${D}${prefix}/*/lib/libstdc++.so* ${D}${target_libdir} | 37 | |
57 | if [ "${HAS_G2C}" = "yes" ]; then | 38 | if [ -f ${D}${prefix}/*/lib/nof/libstdc++.so ]; then |
58 | mv -f ${D}${prefix}/*/lib/libg2c.so* ${D}${target_libdir} || true | 39 | |
59 | fi | 40 | mv -f ${D}${prefix}/*/lib/nof/libstdc++.so* ${D}${target_libdir} || true |
60 | if [ "${HAS_GFORTRAN}" = "yes" ]; then | 41 | mv -f ${D}${prefix}/*/lib/nof/libg2c.so* ${D}${target_libdir} || true |
61 | mv -f ${D}${prefix}/*/lib/libgfortran*.so* ${D}${target_libdir} | 42 | mv -f ${D}${prefix}/*/lib/nof/libgfortran*.so* ${D}${target_libdir} || true |
62 | fi | 43 | |
44 | else | ||
45 | mv -f ${D}${prefix}/*/lib/libstdc++.so* ${D}${target_libdir} || true | ||
46 | mv -f ${D}${prefix}/*/lib/libg2c.so* ${D}${target_libdir} || true | ||
47 | mv -f ${D}${prefix}/*/lib/libgfortran*.so* ${D}${target_libdir} || true | ||
48 | fi | ||
49 | |||
50 | |||
63 | 51 | ||
64 | # Manually run the target stripper since we won't get it run by | 52 | # Manually run the target stripper since we won't get it run by |
65 | # the packaging. | 53 | # the packaging. |
66 | if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then | 54 | if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then |
67 | ${TARGET_PREFIX}strip ${D}${target_libdir}/libstdc++.so.* | 55 | ${TARGET_PREFIX}strip ${D}${target_libdir}/libstdc++.so.* |
68 | ${TARGET_PREFIX}strip ${D}${target_libdir}/libg2c.so.* || true | 56 | ${TARGET_PREFIX}strip ${D}${target_libdir}/libg2c.so.* || true |
69 | ${TARGET_PREFIX}strip ${D}${target_base_libdir}/libgcc_s.so.* | 57 | ${TARGET_PREFIX}strip ${D}${target_base_libdir}/libgcc_s.so.* || true |
70 | fi | 58 | ${TARGET_PREFIX}strip ${D}${target_libdir}/libgfortran*.so* || true |
59 | fi | ||
60 | |||
61 | # Link gfortran to g77 to satisfy not-so-smart configure or hard coded g77 | ||
62 | # gfortran is fully backwards compatible. This is a safe and practical solution. | ||
63 | ln -sf ${CROSS_DIR}/bin/${TARGET_PREFIX}gfortran ${CROSS_DIR}/bin/${TARGET_PREFIX}g77 || true | ||
64 | ln -sf ${CROSS_DIR}/${TARGET_SYS}/bin/gfortran ${CROSS_DIR}/${TARGET_SYS}/bin/g77 || true | ||
71 | } | 65 | } |