diff options
Diffstat (limited to 'meta/packages/gcc/gcc-package-cross.inc')
| -rw-r--r-- | meta/packages/gcc/gcc-package-cross.inc | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/meta/packages/gcc/gcc-package-cross.inc b/meta/packages/gcc/gcc-package-cross.inc new file mode 100644 index 0000000000..4b1f8f68e8 --- /dev/null +++ b/meta/packages/gcc/gcc-package-cross.inc | |||
| @@ -0,0 +1,77 @@ | |||
| 1 | # Packages emitted by our gcc-cross builds. | ||
| 2 | # | ||
| 3 | INHIBIT_PACKAGE_STRIP ?= "" | ||
| 4 | HAS_G2C ?= "yes" | ||
| 5 | HAS_GFORTRAN ?= "no" | ||
| 6 | OLD_INHIBIT_PACKAGE_STRIP := "${INHIBIT_PACKAGE_STRIP}" | ||
| 7 | INHIBIT_PACKAGE_STRIP = "1" | ||
| 8 | |||
| 9 | PACKAGES = "libgcc libstdc++ libg2c libg2c-dev libgfortran libgfortran-dev" | ||
| 10 | |||
| 11 | PACKAGE_ARCH_libg2c = "${TARGET_ARCH}" | ||
| 12 | PACKAGE_ARCH_libg2c-dev = "${TARGET_ARCH}" | ||
| 13 | PACKAGE_ARCH_libgfortran = "${TARGET_ARCH}" | ||
| 14 | PACKAGE_ARCH_libgfortran-dev = "${TARGET_ARCH}" | ||
| 15 | |||
| 16 | # Called from within gcc-cross, so libdir is set wrong | ||
| 17 | FILES_libg2c = "${target_libdir}/libg2c.so.*" | ||
| 18 | FILES_libg2c-dev = "${target_libdir}/libg2c.so \ | ||
| 19 | ${target_libdir}/libg2c.a \ | ||
| 20 | ${target_libdir}/libfrtbegin.a" | ||
| 21 | |||
| 22 | FILES_libgfortran = "${target_libdir}/libgfortran.so.*" | ||
| 23 | FILES_libgfortran-dev = "${target_libdir}/libgfortran.a \ | ||
| 24 | ${target_libdir}/libgfortran.so \ | ||
| 25 | ${target_libdir}/libgfortranbegin.a" | ||
| 26 | |||
| 27 | PACKAGE_ARCH_libgcc = "${TARGET_ARCH}" | ||
| 28 | FILES_libgcc = "${target_base_libdir}/libgcc_s.so.1" | ||
| 29 | |||
| 30 | PACKAGE_ARCH_libstdc++ = "${TARGET_ARCH}" | ||
| 31 | PACKAGE_ARCH_libstdc++-dev = "${TARGET_ARCH}" | ||
| 32 | FILES_libstdc++ = "${target_libdir}/libstdc++.so.*" | ||
| 33 | FILES_libstdc++-dev = "${target_includedir}/c++/${PV} \ | ||
| 34 | ${target_libdir}/libstdc++.so \ | ||
| 35 | ${target_libdir}/libstdc++.la \ | ||
| 36 | ${target_libdir}/libstdc++.a \ | ||
| 37 | ${target_libdir}/libsupc++.la \ | ||
| 38 | ${target_libdir}/libsupc++.a" | ||
| 39 | |||
| 40 | python do_package() { | ||
| 41 | if bb.data.getVar('DEBIAN_NAMES', d, 1): | ||
| 42 | bb.data.setVar('PKG_libgcc', 'libgcc1', d) | ||
| 43 | bb.build.exec_func('package_do_package', d) | ||
| 44 | } | ||
| 45 | |||
| 46 | do_install () { | ||
| 47 | oe_runmake 'DESTDIR=${D}' install | ||
| 48 | |||
| 49 | # Move libgcc_s into /lib | ||
| 50 | mkdir -p ${D}${target_base_libdir} | ||
| 51 | if [ -f ${D}${target_base_libdir}/libgcc_s.so.? ]; then | ||
| 52 | # Already in the right location | ||
| 53 | : | ||
| 54 | elif [ -f ${D}${prefix}/lib/libgcc_s.so.? ]; then | ||
| 55 | mv -f ${D}${prefix}/lib/libgcc_s.so.* ${D}${target_base_libdir} | ||
| 56 | else | ||
| 57 | mv -f ${D}${prefix}/*/lib/libgcc_s.so.* ${D}${target_base_libdir} | ||
| 58 | fi | ||
| 59 | |||
| 60 | # Move libstdc++ and libg2c into libdir (resetting our prefix to /usr | ||
| 61 | mkdir -p ${D}${target_libdir} | ||
| 62 | mv -f ${D}${prefix}/*/lib/libstdc++.so.* ${D}${target_libdir} | ||
| 63 | if [ "${HAS_G2C}" = "yes" ]; then | ||
| 64 | mv -f ${D}${prefix}/*/lib/libg2c.so.* ${D}${target_libdir} | ||
| 65 | fi | ||
| 66 | if [ "${HAS_GFORTRAN}" = "yes" ]; then | ||
| 67 | mv -f ${D}${prefix}/*/lib/libgfortran*.so.* ${D}${target_libdir} | ||
| 68 | fi | ||
| 69 | |||
| 70 | # Manually run the target stripper since we won't get it run by | ||
| 71 | # the packaging. | ||
| 72 | if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then | ||
| 73 | ${TARGET_PREFIX}strip ${D}${target_libdir}/libstdc++.so.* | ||
| 74 | ${TARGET_PREFIX}strip ${D}${target_libdir}/libg2c.so.* | ||
| 75 | ${TARGET_PREFIX}strip ${D}${target_base_libdir}/libgcc_s.so.* | ||
| 76 | fi | ||
| 77 | } | ||
