diff options
Diffstat (limited to 'meta/classes/cross-canadian.bbclass')
-rw-r--r-- | meta/classes/cross-canadian.bbclass | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass index a4ce5c7b98..dca0b38d2b 100644 --- a/meta/classes/cross-canadian.bbclass +++ b/meta/classes/cross-canadian.bbclass | |||
@@ -16,6 +16,7 @@ STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${SDK_ARCH}${S | |||
16 | # | 16 | # |
17 | PACKAGE_ARCH = "${SDK_ARCH}-${SDKPKGSUFFIX}" | 17 | PACKAGE_ARCH = "${SDK_ARCH}-${SDKPKGSUFFIX}" |
18 | CANADIANEXTRAOS = "linux-uclibc linux-musl" | 18 | CANADIANEXTRAOS = "linux-uclibc linux-musl" |
19 | CANADIANEXTRAVENDOR = "" | ||
19 | MODIFYTOS ??= "1" | 20 | MODIFYTOS ??= "1" |
20 | python () { | 21 | python () { |
21 | archs = d.getVar('PACKAGE_ARCHS', True).split() | 22 | archs = d.getVar('PACKAGE_ARCHS', True).split() |
@@ -65,6 +66,17 @@ python () { | |||
65 | d.setVar("TARGET_OS", "linux-gnueabi") | 66 | d.setVar("TARGET_OS", "linux-gnueabi") |
66 | else: | 67 | else: |
67 | d.setVar("TARGET_OS", "linux") | 68 | d.setVar("TARGET_OS", "linux") |
69 | |||
70 | # Also need to handle multilib target vendors | ||
71 | vendors = d.getVar("CANADIANEXTRAVENDOR", True) | ||
72 | if not vendors: | ||
73 | vendors = all_multilib_tune_values(d, 'TARGET_VENDOR') | ||
74 | origvendor = d.getVar("TARGET_VENDOR_MULTILIB_ORIGINAL", True) | ||
75 | if origvendor: | ||
76 | d.setVar("TARGET_VENDOR", origvendor) | ||
77 | if origvendor not in vendors.split(): | ||
78 | vendors = origvendor + " " + vendors | ||
79 | d.setVar("CANADIANEXTRAVENDOR", vendors) | ||
68 | } | 80 | } |
69 | MULTIMACH_TARGET_SYS = "${PACKAGE_ARCH}${HOST_VENDOR}-${HOST_OS}" | 81 | MULTIMACH_TARGET_SYS = "${PACKAGE_ARCH}${HOST_VENDOR}-${HOST_OS}" |
70 | 82 | ||
@@ -148,14 +160,21 @@ SHLIBSDIRS = "${PKGDATA_DIR}/nativesdk-shlibs2" | |||
148 | SHLIBSWORKDIR = "${PKGDATA_DIR}/nativesdk-shlibs2" | 160 | SHLIBSWORKDIR = "${PKGDATA_DIR}/nativesdk-shlibs2" |
149 | 161 | ||
150 | cross_canadian_bindirlinks () { | 162 | cross_canadian_bindirlinks () { |
151 | for i in ${CANADIANEXTRAOS} | 163 | for i in linux ${CANADIANEXTRAOS} |
152 | do | 164 | do |
153 | d=${D}${bindir}/../${TARGET_ARCH}${TARGET_VENDOR}-$i | 165 | for v in ${CANADIANEXTRAVENDOR} |
154 | install -d $d | ||
155 | for j in `ls ${D}${bindir}` | ||
156 | do | 166 | do |
157 | p=${TARGET_ARCH}${TARGET_VENDOR}-$i-`echo $j | sed -e s,${TARGET_PREFIX},,` | 167 | d=${D}${bindir}/../${TARGET_ARCH}$v-$i |
158 | ln -s ../${TARGET_SYS}/$j $d/$p | 168 | if [ -d $d ]; |
169 | then | ||
170 | continue | ||
171 | fi | ||
172 | install -d $d | ||
173 | for j in `ls ${D}${bindir}` | ||
174 | do | ||
175 | p=${TARGET_ARCH}$v-$i-`echo $j | sed -e s,${TARGET_PREFIX},,` | ||
176 | ln -s ../${TARGET_SYS}/$j $d/$p | ||
177 | done | ||
159 | done | 178 | done |
160 | done | 179 | done |
161 | } | 180 | } |