summaryrefslogtreecommitdiffstats
path: root/meta/packages/gcc/gcc-package-cross.inc
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2008-03-18 10:41:39 +0000
committerRichard Purdie <richard@openedhand.com>2008-03-18 10:41:39 +0000
commit1255ee64ee58fb5f0acd0bdbf4f0a54afd5ceeaf (patch)
tree293d34ede70b906b04967ac077e32a8fee4e855b /meta/packages/gcc/gcc-package-cross.inc
parent402c7dcb2790bd51de9436befe8c273e538be441 (diff)
downloadpoky-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.inc80
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#
3INHIBIT_PACKAGE_STRIP ?= "" 1INHIBIT_PACKAGE_STRIP ?= ""
4HAS_G2C ?= "yes"
5HAS_GFORTRAN ?= "no"
6OLD_INHIBIT_PACKAGE_STRIP := "${INHIBIT_PACKAGE_STRIP}" 2OLD_INHIBIT_PACKAGE_STRIP := "${INHIBIT_PACKAGE_STRIP}"
7INHIBIT_PACKAGE_STRIP = "1" 3INHIBIT_PACKAGE_STRIP = "1"
8 4
9# Do not generate *-dev packages as they are generated by 'gcc' recipe
10PACKAGES = "libgcc libstdc++ libg2c libgfortran" 5PACKAGES = "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
13FILES_libg2c = "${target_libdir}/libg2c.so.*" 8FILES_libg2c = "${target_libdir}/libg2c.so.*"
14FILES_libg2c-dev = "${target_libdir}/libg2c.so \
15 ${target_libdir}/libg2c.a \
16 ${target_libdir}/libfrtbegin.a"
17 9
18FILES_libgfortran = "${target_libdir}/libgfortran.so.*" 10FILES_libgfortran = "${target_libdir}/libgfortran.so.*"
19FILES_libgfortran-dev = "${target_libdir}/libgfortran.a \
20 ${target_libdir}/libgfortran.so \
21 ${target_libdir}/libgfortranbegin.a"
22 11
23FILES_libgcc = "${target_base_libdir}/libgcc_s.so.1" 12FILES_libgcc = "${target_base_libdir}/libgcc_s.so.1"
24FILES_libgcc-dev = "${target_base_libdir}/libgcc_s.so"
25 13
26FILES_libstdc++ = "${target_libdir}/libstdc++.so.*" 14FILES_libstdc++ = "${target_libdir}/libstdc++.so.*"
27FILES_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
34python 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
40do_install () { 16do_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}