summaryrefslogtreecommitdiffstats
path: root/meta/packages/gcc/gcc-package-cross.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/gcc/gcc-package-cross.inc')
-rw-r--r--meta/packages/gcc/gcc-package-cross.inc77
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#
3INHIBIT_PACKAGE_STRIP ?= ""
4HAS_G2C ?= "yes"
5HAS_GFORTRAN ?= "no"
6OLD_INHIBIT_PACKAGE_STRIP := "${INHIBIT_PACKAGE_STRIP}"
7INHIBIT_PACKAGE_STRIP = "1"
8
9PACKAGES = "libgcc libstdc++ libg2c libg2c-dev libgfortran libgfortran-dev"
10
11PACKAGE_ARCH_libg2c = "${TARGET_ARCH}"
12PACKAGE_ARCH_libg2c-dev = "${TARGET_ARCH}"
13PACKAGE_ARCH_libgfortran = "${TARGET_ARCH}"
14PACKAGE_ARCH_libgfortran-dev = "${TARGET_ARCH}"
15
16# Called from within gcc-cross, so libdir is set wrong
17FILES_libg2c = "${target_libdir}/libg2c.so.*"
18FILES_libg2c-dev = "${target_libdir}/libg2c.so \
19 ${target_libdir}/libg2c.a \
20 ${target_libdir}/libfrtbegin.a"
21
22FILES_libgfortran = "${target_libdir}/libgfortran.so.*"
23FILES_libgfortran-dev = "${target_libdir}/libgfortran.a \
24 ${target_libdir}/libgfortran.so \
25 ${target_libdir}/libgfortranbegin.a"
26
27PACKAGE_ARCH_libgcc = "${TARGET_ARCH}"
28FILES_libgcc = "${target_base_libdir}/libgcc_s.so.1"
29
30PACKAGE_ARCH_libstdc++ = "${TARGET_ARCH}"
31PACKAGE_ARCH_libstdc++-dev = "${TARGET_ARCH}"
32FILES_libstdc++ = "${target_libdir}/libstdc++.so.*"
33FILES_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
40python 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
46do_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}