summaryrefslogtreecommitdiffstats
path: root/meta/packages/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/gcc')
-rw-r--r--meta/packages/gcc/gcc-cross_csl-arm-2006q1.bb2
-rw-r--r--meta/packages/gcc/gcc-package-cross-no-fortran.inc60
-rw-r--r--meta/packages/gcc/gcc-package-no-fortran.inc101
-rw-r--r--meta/packages/gcc/gcc_csl-arm-2006q1.bb2
4 files changed, 2 insertions, 163 deletions
diff --git a/meta/packages/gcc/gcc-cross_csl-arm-2006q1.bb b/meta/packages/gcc/gcc-cross_csl-arm-2006q1.bb
index 662c1b0763..4d768cc75f 100644
--- a/meta/packages/gcc/gcc-cross_csl-arm-2006q1.bb
+++ b/meta/packages/gcc/gcc-cross_csl-arm-2006q1.bb
@@ -14,6 +14,6 @@ PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
14# cross build 14# cross build
15require gcc4-build-cross.inc 15require gcc4-build-cross.inc
16# cross packaging 16# cross packaging
17require gcc-package-cross-no-fortran.inc 17require gcc-package-cross.inc
18 18
19S = "${WORKDIR}/gcc-2006q1" 19S = "${WORKDIR}/gcc-2006q1"
diff --git a/meta/packages/gcc/gcc-package-cross-no-fortran.inc b/meta/packages/gcc/gcc-package-cross-no-fortran.inc
deleted file mode 100644
index 1ce7def547..0000000000
--- a/meta/packages/gcc/gcc-package-cross-no-fortran.inc
+++ /dev/null
@@ -1,60 +0,0 @@
1# Packages emitted by our gcc-cross builds.
2#
3INHIBIT_PACKAGE_STRIP ?= ""
4HAS_G2C ?= "yes"
5OLD_INHIBIT_PACKAGE_STRIP := "${INHIBIT_PACKAGE_STRIP}"
6INHIBIT_PACKAGE_STRIP = "1"
7
8PACKAGES = "libgcc libstdc++ libg2c libg2c-dev"
9
10# Called from within gcc-cross, so libdir is set wrong
11FILES_libg2c = "${target_libdir}/libg2c.so.*"
12FILES_libg2c-dev = "${target_libdir}/libg2c.so \
13 ${target_libdir}/libg2c.a \
14 ${target_libdir}/libfrtbegin.a"
15
16FILES_libgcc = "${target_base_libdir}/libgcc_s.so.1"
17
18FILES_libstdc++ = "${target_libdir}/libstdc++.so.*"
19FILES_libstdc++-dev = "${target_includedir}/c++/${PV} \
20 ${target_libdir}/libstdc++.so \
21 ${target_libdir}/libstdc++.la \
22 ${target_libdir}/libstdc++.a \
23 ${target_libdir}/libsupc++.la \
24 ${target_libdir}/libsupc++.a"
25
26python do_package() {
27 if bb.data.getVar('DEBIAN_NAMES', d, 1):
28 bb.data.setVar('PKG_libgcc', 'libgcc1', d)
29 bb.build.exec_func('package_do_package', d)
30}
31
32do_install () {
33 oe_runmake 'DESTDIR=${D}' install
34
35 # Move libgcc_s into /lib
36 mkdir -p ${D}${target_base_libdir}
37 if [ -f ${D}${target_base_libdir}/libgcc_s.so.? ]; then
38 # Already in the right location
39 :
40 elif [ -f ${D}${prefix}/lib/libgcc_s.so.? ]; then
41 mv -f ${D}${prefix}/lib/libgcc_s.so.* ${D}${target_base_libdir}
42 else
43 mv -f ${D}${prefix}/*/lib/libgcc_s.so.* ${D}${target_base_libdir}
44 fi
45
46 # Move libstdc++ and libg2c into libdir (resetting our prefix to /usr
47 mkdir -p ${D}${target_libdir}
48 mv -f ${D}${prefix}/*/lib/libstdc++.so.* ${D}${target_libdir}
49 if [ "${HAS_G2C}" = "yes" ]; then
50 mv -f ${D}${prefix}/*/lib/libg2c.so.* ${D}${target_libdir}
51 fi
52
53 # Manually run the target stripper since we won't get it run by
54 # the packaging.
55 if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then
56 ${TARGET_PREFIX}strip ${D}${target_libdir}/libstdc++.so.*
57 ${TARGET_PREFIX}strip ${D}${target_libdir}/libg2c.so.*
58 ${TARGET_PREFIX}strip ${D}${target_base_libdir}/libgcc_s.so.*
59 fi
60}
diff --git a/meta/packages/gcc/gcc-package-no-fortran.inc b/meta/packages/gcc/gcc-package-no-fortran.inc
deleted file mode 100644
index cf3e9ed0bf..0000000000
--- a/meta/packages/gcc/gcc-package-no-fortran.inc
+++ /dev/null
@@ -1,101 +0,0 @@
1gcclibdir ?= "${libdir}/gcc"
2BINV ?= "${PV}"
3
4# libgcc libstdc++ libg2c are listed in our FILES_*, but are actually
5# packaged in the respective cross packages.
6PACKAGES = "${PN} ${PN}-symlinks \
7 g++ g++-symlinks \
8 cpp cpp-symlinks \
9 gcov gcov-symlinks \
10 libstdc++-dev libg2c-dev \
11 ${PN}-doc"
12
13FILES_${PN} = "${bindir}/${TARGET_PREFIX}gcc \
14 ${bindir}/${TARGET_PREFIX}gccbug \
15 ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1 \
16 ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/collect2 \
17 ${gcclibdir}/${TARGET_SYS}/${BINV}/*.o \
18 ${gcclibdir}/${TARGET_SYS}/${BINV}/specs \
19 ${gcclibdir}/${TARGET_SYS}/${BINV}/lib* \
20 ${gcclibdir}/${TARGET_SYS}/${BINV}/include"
21FILES_${PN}-symlinks = "${bindir}/cc \
22 ${bindir}/gcc \
23 ${bindir}/gccbug"
24
25FILES_cpp = "${bindir}/${TARGET_PREFIX}cpp \
26 ${base_libdir}/cpp"
27FILES_cpp-symlinks = "${bindir}/cpp"
28
29FILES_gcov = "${bindir}/${TARGET_PREFIX}gcov"
30FILES_gcov-symlinks = "${bindir}/gcov"
31
32# Called from within gcc-cross, so libdir is set wrong
33FILES_libg2c-dev = "${libdir}/libg2c.so \
34 ${libdir}/libg2c.a \
35 ${libdir}/libfrtbegin.a"
36
37FILES_g++ = "${bindir}/${TARGET_PREFIX}g++ \
38 ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1plus"
39FILES_g++-symlinks = "${bindir}/c++ \
40 ${bindir}/g++"
41
42FILES_libstdc++-dev = "${includedir}/c++/${BINV} \
43 ${libdir}/libstdc++.so \
44 ${libdir}/libstdc++.la \
45 ${libdir}/libstdc++.a \
46 ${libdir}/libsupc++.la \
47 ${libdir}/libsupc++.a"
48
49FILES_${PN}-doc = "${infodir} \
50 ${mandir} \
51 ${gcclibdir}/${TARGET_SYS}/${BINV}/include/README"
52
53
54do_install () {
55 autotools_do_install
56
57 # Cleanup some of the ${libdir}{,exec}/gcc stuff ...
58 rm -r ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
59 rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
60
61 # Hack around specs file assumptions
62 sed -i -e '/^*cross_compile:$/ { n; s/1/0/; }' ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs &>/dev/null || true
63
64 # Move libgcc_s into /lib
65 mkdir -p ${D}${base_libdir}
66 mv ${D}${libdir}/libgcc_s.so.* ${D}${base_libdir}
67 rm ${D}${libdir}/libgcc_s.so
68 ln -sf `echo ${libdir}/gcc/${TARGET_SYS}/${BINV} \
69 | tr -s / \
70 | sed -e 's,^/,,' -e 's,[^/]*,..,g'`/lib/libgcc_s.so.1 \
71 ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/libgcc_s.so
72
73 # We don't need libtool libraries
74 rm ${D}${libdir}/libg2c.la &>/dev/null || true
75
76
77 # Cleanup manpages..
78 rm -r ${D}${mandir}/man7
79
80 # We use libiberty from binutils
81 rm ${D}${libdir}/libiberty.a
82
83 cd ${D}${bindir}
84
85 # We care about g++ not c++
86 rm *c++
87
88 # We don't care about the gcc-<version> ones for this
89 rm *gcc-?.?*
90
91 # These sometimes show up, they are strange, we remove them
92 rm -f ${TARGET_ARCH}-*${TARGET_ARCH}-*
93
94 # Symlinks so we can use these trivially on the target
95 ln -sf ${TARGET_SYS}-g++ g++
96 ln -sf ${TARGET_SYS}-gcc gcc
97 ln -sf g++ c++
98 ln -sf gcc cc
99 ln -sf ${bindir}/${TARGET_SYS}-cpp ${D}${base_libdir}/cpp
100 ln -sf ${bindir}/${TARGET_SYS}-cpp ${D}${bindir}/cpp
101}
diff --git a/meta/packages/gcc/gcc_csl-arm-2006q1.bb b/meta/packages/gcc/gcc_csl-arm-2006q1.bb
index 88f7c7ebd6..d7e1f6e8ee 100644
--- a/meta/packages/gcc/gcc_csl-arm-2006q1.bb
+++ b/meta/packages/gcc/gcc_csl-arm-2006q1.bb
@@ -10,7 +10,7 @@ FILESDIR = "${FILE_DIRNAME}/gcc-csl-arm"
10 10
11inherit autotools gettext 11inherit autotools gettext
12 12
13require gcc-package-no-fortran.inc 13require gcc-package.inc
14 14
15SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/arm-none-eabi/arm-2006q1-6-arm-none-eabi.src.tar.bz2 \ 15SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/arm-none-eabi/arm-2006q1-6-arm-none-eabi.src.tar.bz2 \
16 file://gcc-configure-no-fortran.patch;patch=1;pnum=1" 16 file://gcc-configure-no-fortran.patch;patch=1;pnum=1"