blob: f3fc1ebe62fdb251636e12d020ef0a7556045c99 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001SUMMARY = "libc and patchelf tarball for use with uninative.bbclass"
2LICENSE = "MIT"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05003
4TOOLCHAIN_TARGET_TASK = ""
5
Patrick Williamsd8c66bc2016-06-20 12:57:21 -05006# ibm850 - mcopy from mtools
7# iso8859-1 - guile
Brad Bishop6e60e8b2018-02-01 10:27:11 -05008# utf-16, cp1252 - binutils-windres
Patrick Williamsc124f4f2015-09-15 14:41:29 -05009TOOLCHAIN_HOST_TASK = "\
10 nativesdk-glibc \
Patrick Williamsf1e5d692016-03-30 15:21:19 -050011 nativesdk-glibc-gconv-ibm850 \
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050012 nativesdk-glibc-gconv-iso8859-1 \
Brad Bishop6e60e8b2018-02-01 10:27:11 -050013 nativesdk-glibc-gconv-utf-16 \
14 nativesdk-glibc-gconv-cp1252 \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050015 nativesdk-patchelf \
16 "
17
18INHIBIT_DEFAULT_DEPS = "1"
19
Patrick Williamsc0f7c042017-02-23 20:41:17 -060020MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}"
21PACKAGE_ARCH = "${SDK_ARCH}_${SDK_OS}"
22PACKAGE_ARCHS = ""
23TARGET_ARCH = "none"
24TARGET_OS = "none"
25
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050026TOOLCHAIN_OUTPUTNAME ?= "${SDK_ARCH}-nativesdk-libc"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050027
28RDEPENDS = "${TOOLCHAIN_HOST_TASK}"
29
30EXCLUDE_FROM_WORLD = "1"
31
32inherit meta
33inherit populate_sdk
Patrick Williamsc0f7c042017-02-23 20:41:17 -060034inherit nopackages
Patrick Williamsc124f4f2015-09-15 14:41:29 -050035
36deltask install
37deltask package
38deltask packagedata
Patrick Williamsc0f7c042017-02-23 20:41:17 -060039deltask populate_sysroot
40
41do_populate_sdk[stamp-extra-info] = "${PACKAGE_ARCH}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050042
43SDK_DEPENDS += "patchelf-native"
44
45SDK_PACKAGING_FUNC = ""
Patrick Williamsc0f7c042017-02-23 20:41:17 -060046REAL_MULTIMACH_TARGET_SYS = "none"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050047
48fakeroot create_sdk_files() {
49 cp ${COREBASE}/scripts/relocate_sdk.py ${SDK_OUTPUT}/${SDKPATH}/
50
51 # Replace the ##DEFAULT_INSTALL_DIR## with the correct pattern.
52 # Escape special characters like '+' and '.' in the SDKPATH
53 escaped_sdkpath=$(echo ${SDKPATH}/sysroots/${SDK_SYS} |sed -e "s:[\+\.]:\\\\\\\\\0:g")
54 sed -i -e "s:##DEFAULT_INSTALL_DIR##:$escaped_sdkpath:" ${SDK_OUTPUT}/${SDKPATH}/relocate_sdk.py
55}
56
57
58fakeroot tar_sdk() {
Patrick Williamsc124f4f2015-09-15 14:41:29 -050059 cd ${SDK_OUTPUT}/${SDKPATH}
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050060
61 DEST="./${SDK_ARCH}-${SDK_OS}"
62 mv sysroots/${SDK_SYS} $DEST
Patrick Williamsc124f4f2015-09-15 14:41:29 -050063 rm sysroots -rf
Patrick Williamsc0f7c042017-02-23 20:41:17 -060064 patchelf --set-interpreter ${@''.join('a' for n in range(1024))} $DEST/usr/bin/patchelf
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050065 mv $DEST/usr/bin/patchelf $DEST/usr/bin/patchelf-uninative
Patrick Williamsc0f7c042017-02-23 20:41:17 -060066 tar ${SDKTAROPTS} -c -j --file=${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 .
Patrick Williamsc124f4f2015-09-15 14:41:29 -050067}