1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
inherit cross-canadian
require external-linaro-bfd-version.inc
PR = "r5"
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_DEFAULT_DEPS = "1"
EXCLUDE_FROM_SHLIBS = "1"
# License applies to this recipe code, not the toolchain itself
LICENSE = "MIT"
LIC_FILES_CHKSUM = "\
file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420 \
"
INSANE_SKIP_gcc-cross-canadian-arm = "dev-so staticdev"
INSANE_SKIP_gdb-cross-canadian-arm = "dev-so"
INSANE_SKIP_binutils-cross-canadian-arm = "dev-so"
PROVIDES = "\
gcc-cross-canadian-arm \
${@base_conditional('PREFERRED_PROVIDER_gdb-cross-canadian-arm', 'external-linaro-sdk-toolchain', 'gdb-cross-canadian-arm', '', d)} \
binutils-cross-canadian-arm \
"
PACKAGES = "\
gcc-cross-canadian-arm \
${@base_conditional('PREFERRED_PROVIDER_gdb-cross-canadian-arm', 'external-linaro-sdk-toolchain', 'gdb-cross-canadian-arm', '', d)} \
binutils-cross-canadian-arm \
"
# Don't need the extra target triplet in the new SDK dir structure
bindir = "${exec_prefix}/bin"
libdir = "${exec_prefix}/lib"
libexecdir = "${exec_prefix}/libexec"
datadir = "${exec_prefix}/share"
gcclibdir = "${libdir}/gcc"
# New Linaro toolchain misses these binaries, comment out for now
# ${prefix}/${ELT_TARGET_SYS}/bin/cpp
# ${prefix}/${ELT_TARGET_SYS}/bin/cc
# ${prefix}/${ELT_TARGET_SYS}/bin/g++
# ${prefix}/${ELT_TARGET_SYS}/bin/c++
# ${prefix}/${ELT_TARGET_SYS}/bin/gcov
# ${prefix}/${ELT_TARGET_SYS}/bin/gcc*
FILES_gcc-cross-canadian-arm = "\
${prefix}/${ELT_TARGET_SYS}/lib/libstdc++.* \
${prefix}/${ELT_TARGET_SYS}/lib/libgcc_s.* \
${prefix}/${ELT_TARGET_SYS}/lib/libsupc++.* \
${gcclibdir}/${ELT_TARGET_SYS}/${ELT_VER_GCC}/* \
${bindir}/${TARGET_PREFIX}gcov \
${bindir}/${TARGET_PREFIX}gcc* \
${bindir}/${TARGET_PREFIX}g++ \
${bindir}/${TARGET_PREFIX}cpp \
${libexecdir}/* \
"
FILES_gdb-cross-canadian-arm = "\
${bindir}/${TARGET_PREFIX}gdb \
${bindir}/${TARGET_PREFIX}gdbtui \
${datadir}/gdb/* \
${datadir}/info/* \
${datadir}/man/man1/${TARGET_PREFIX}* \
"
FILES_binutils-cross-canadian-arm = "\
${prefix}/${ELT_TARGET_SYS}/bin/ld* \
${prefix}/${ELT_TARGET_SYS}/bin/objcopy \
${prefix}/${ELT_TARGET_SYS}/bin/strip \
${prefix}/${ELT_TARGET_SYS}/bin/nm \
${prefix}/${ELT_TARGET_SYS}/bin/ranlib \
${prefix}/${ELT_TARGET_SYS}/bin/as \
${prefix}/${ELT_TARGET_SYS}/bin/ar \
${prefix}/${ELT_TARGET_SYS}/bin/objdump \
${prefix}/${ELT_TARGET_SYS}/lib/ldscripts/* \
${bindir}/${TARGET_PREFIX}ld* \
${bindir}/${TARGET_PREFIX}addr2line \
${bindir}/${TARGET_PREFIX}objcopy \
${bindir}/${TARGET_PREFIX}readelf \
${bindir}/${TARGET_PREFIX}strip \
${bindir}/${TARGET_PREFIX}nm \
${bindir}/${TARGET_PREFIX}ranlib \
${bindir}/${TARGET_PREFIX}gprof \
${bindir}/${TARGET_PREFIX}as \
${bindir}/${TARGET_PREFIX}c++filt \
${bindir}/${TARGET_PREFIX}ar \
${bindir}/${TARGET_PREFIX}strings \
${bindir}/${TARGET_PREFIX}objdump \
${bindir}/${TARGET_PREFIX}size \
"
DESCRIPTION_gcc-cross-canadian-arm = "The GNU cc and gcc C compilers"
DESCRIPTION_gdb-cross-canadian-arm = "gdb - GNU debugger"
DESCRIPTION_binutils-cross-canadian-arm = "A GNU collection of binary utilities"
#LICENSE = "${ARG_LIC_LIBC}"
#LICENSE_gcc-cross-canadian-arm = "${ARG_LIC_GCC}"
#LICENSE_gdb-cross-canadian-arm = "${ARG_LIC_GDB}"
#LICENSE_binutils-cross-canadian-arm = "${ARG_LIC_BFD}"
PKGV = "${ELT_VER_MAIN}"
PKGV_gcc-cross-canadian-arm = "${ELT_VER_GCC}"
PKGV_gdb-cross-canadian-arm = "${ELT_VER_GDB}"
PKGV_binutils-cross-canadian-arm = "${ELT_VER_BFD}"
do_install() {
install -d ${D}${prefix}/${ELT_TARGET_SYS}/bin
install -d ${D}${prefix}/${ELT_TARGET_SYS}/lib
install -d ${D}${bindir}
install -d ${D}${libdir}
install -d ${D}${prefix}/${ELT_TARGET_SYS}/lib/ldscripts
install -d ${D}${libexecdir}
${@base_conditional('PREFERRED_PROVIDER_gdb-cross-canadian-arm', 'external-linaro-sdk-toolchain', 'install -d ${D}${datadir}/gdb', '', d)}
${@base_conditional('PREFERRED_PROVIDER_gdb-cross-canadian-arm', 'external-linaro-sdk-toolchain', 'install -d ${D}${datadir}/info', '', d)}
${@base_conditional('PREFERRED_PROVIDER_gdb-cross-canadian-arm', 'external-linaro-sdk-toolchain', 'install -d ${D}${datadir}/man/man1', '', d)}
install -d ${D}${gcclibdir}/${ELT_TARGET_SYS}/${ELT_VER_GCC}/include
# cp -a ${TOOLCHAIN_PATH}/${ELT_TARGET_SYS}/bin/{c++,g++,gcc*} ${D}${prefix}/${ELT_TARGET_SYS}/bin
cp -a ${TOOLCHAIN_PATH}/${ELT_TARGET_SYS}/lib/{libstdc++.*,libgcc_s.*,libsupc++.*} ${D}${prefix}/${ELT_TARGET_SYS}/lib
cp -a ${TOOLCHAIN_PATH}/lib/gcc/${ELT_TARGET_SYS}/${ELT_VER_GCC}/* ${D}${gcclibdir}/${ELT_TARGET_SYS}/${ELT_VER_GCC}
cp -a ${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}{gcov,gcc*,g++,cpp} ${D}${bindir}
cp -a ${TOOLCHAIN_PATH}/libexec/* ${D}${libexecdir}
${@base_conditional('PREFERRED_PROVIDER_gdb-cross-canadian-arm', 'external-linaro-sdk-toolchain', 'cp -a ${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}gdb* ${D}${bindir}', '', d)}
${@base_conditional('PREFERRED_PROVIDER_gdb-cross-canadian-arm', 'external-linaro-sdk-toolchain', 'cp -a ${TOOLCHAIN_PATH}/share/gdb/* ${D}${datadir}/gdb/', '', d)}
${@base_conditional('PREFERRED_PROVIDER_gdb-cross-canadian-arm', 'external-linaro-sdk-toolchain', 'cp -a ${TOOLCHAIN_PATH}/share/info/* ${D}${datadir}/info/', '', d)}
${@base_conditional('PREFERRED_PROVIDER_gdb-cross-canadian-arm', 'external-linaro-sdk-toolchain', 'cp -a ${TOOLCHAIN_PATH}/share/man/man1/${TARGET_PREFIX}* ${D}${datadir}/man/man1/', '', d)}
cp -a ${TOOLCHAIN_PATH}/${ELT_TARGET_SYS}/bin/{ld*,objcopy,strip,nm,ranlib,as,ar,objdump} ${D}${prefix}/${ELT_TARGET_SYS}/bin
cp -a ${TOOLCHAIN_PATH}/${ELT_TARGET_SYS}/lib/ldscripts/* ${D}${prefix}/${ELT_TARGET_SYS}/lib/ldscripts
cp -a ${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}{ld*,addr2line,objcopy,readelf,strip,nm,ranlib,gprof,as,c++filt,ar,strings,objdump,size} ${D}${bindir}
}
|