]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/gcc/gcc-package-cross.inc
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / gcc / gcc-package-cross.inc
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_NO_LOCALE = "1"
12
13 PACKAGE_ARCH_libg2c = "${TARGET_ARCH}"
14 PACKAGE_ARCH_libg2c-dev = "${TARGET_ARCH}"
15 PACKAGE_ARCH_libgfortran = "${TARGET_ARCH}"
16 PACKAGE_ARCH_libgfortran-dev = "${TARGET_ARCH}"
17
18 # Called from within gcc-cross, so libdir is set wrong
19 FILES_libg2c = "${target_libdir}/libg2c.so.*"
20 FILES_libg2c-dev = "${target_libdir}/libg2c.so \
21                     ${target_libdir}/libg2c.a \
22                     ${target_libdir}/libfrtbegin.a"
23
24 FILES_libgfortran = "${target_libdir}/libgfortran.so.*"
25 FILES_libgfortran-dev = "${target_libdir}/libgfortran.a \
26                          ${target_libdir}/libgfortran.so \
27                          ${target_libdir}/libgfortranbegin.a"
28
29 PACKAGE_ARCH_libgcc = "${TARGET_ARCH}"
30 FILES_libgcc = "${target_base_libdir}/libgcc_s.so.1"
31
32 PACKAGE_ARCH_libstdc++ = "${TARGET_ARCH}"
33 PACKAGE_ARCH_libstdc++-dev = "${TARGET_ARCH}"
34 FILES_libstdc++ = "${target_libdir}/libstdc++.so.*"
35 FILES_libstdc++-dev = "${target_includedir}/c++/${PV} \
36                        ${target_libdir}/libstdc++.so \
37                        ${target_libdir}/libstdc++.la \
38                        ${target_libdir}/libstdc++.a \
39                        ${target_libdir}/libsupc++.la \
40                        ${target_libdir}/libsupc++.a"
41
42 python do_package() {
43         if bb.data.getVar('DEBIAN_NAMES', d, 1):
44                 bb.data.setVar('PKG_libgcc', 'libgcc1', d)
45         bb.build.exec_func('package_do_package', d)
46 }
47
48 do_install () {
49         oe_runmake 'DESTDIR=${D}' install
50
51         # Move libgcc_s into /lib
52         mkdir -p ${D}${target_base_libdir}
53         if [ -f ${D}${target_base_libdir}/libgcc_s.so.? ]; then
54                 # Already in the right location
55                 :
56         elif [ -f ${D}${prefix}/lib/libgcc_s.so.? ]; then
57                 mv -f ${D}${prefix}/lib/libgcc_s.so.* ${D}${target_base_libdir}
58         else
59                 mv -f ${D}${prefix}/*/lib/libgcc_s.so.* ${D}${target_base_libdir}
60         fi
61
62         # Move libstdc++ and libg2c into libdir (resetting our prefix to /usr
63         mkdir -p ${D}${target_libdir}
64         mv -f ${D}${prefix}/*/lib/libstdc++.so.* ${D}${target_libdir}
65         if [ "${HAS_G2C}" = "yes" ]; then
66           mv -f ${D}${prefix}/*/lib/libg2c.so.* ${D}${target_libdir}
67         fi
68         if [ "${HAS_GFORTRAN}" = "yes" ]; then
69           mv -f ${D}${prefix}/*/lib/libgfortran*.so.* ${D}${target_libdir}
70         fi
71
72        # Manually run the target stripper since we won't get it run by
73        # the packaging.
74        if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then
75                ${TARGET_PREFIX}strip ${D}${target_libdir}/libstdc++.so.*
76                ${TARGET_PREFIX}strip ${D}${target_libdir}/libg2c.so.*
77                ${TARGET_PREFIX}strip ${D}${base_libdir}/libgcc_s.so.*
78        fi
79 }