blob: 38c3a314e169275d6ae31fc2fba3932b2e6b20a6 [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 \
Brad Bishop316dfdd2018-06-25 12:45:53 -040016 nativesdk-libxcrypt \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050017 "
18
19INHIBIT_DEFAULT_DEPS = "1"
20
Patrick Williamsc0f7c042017-02-23 20:41:17 -060021MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}"
22PACKAGE_ARCH = "${SDK_ARCH}_${SDK_OS}"
23PACKAGE_ARCHS = ""
24TARGET_ARCH = "none"
25TARGET_OS = "none"
26
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050027TOOLCHAIN_OUTPUTNAME ?= "${SDK_ARCH}-nativesdk-libc"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050028
29RDEPENDS = "${TOOLCHAIN_HOST_TASK}"
30
31EXCLUDE_FROM_WORLD = "1"
32
33inherit meta
34inherit populate_sdk
Patrick Williamsc0f7c042017-02-23 20:41:17 -060035inherit nopackages
Patrick Williamsc124f4f2015-09-15 14:41:29 -050036
37deltask install
Patrick Williamsc0f7c042017-02-23 20:41:17 -060038deltask populate_sysroot
39
40do_populate_sdk[stamp-extra-info] = "${PACKAGE_ARCH}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050041
42SDK_DEPENDS += "patchelf-native"
43
44SDK_PACKAGING_FUNC = ""
Patrick Williamsc0f7c042017-02-23 20:41:17 -060045REAL_MULTIMACH_TARGET_SYS = "none"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050046
47fakeroot create_sdk_files() {
48 cp ${COREBASE}/scripts/relocate_sdk.py ${SDK_OUTPUT}/${SDKPATH}/
49
50 # Replace the ##DEFAULT_INSTALL_DIR## with the correct pattern.
51 # Escape special characters like '+' and '.' in the SDKPATH
52 escaped_sdkpath=$(echo ${SDKPATH}/sysroots/${SDK_SYS} |sed -e "s:[\+\.]:\\\\\\\\\0:g")
53 sed -i -e "s:##DEFAULT_INSTALL_DIR##:$escaped_sdkpath:" ${SDK_OUTPUT}/${SDKPATH}/relocate_sdk.py
54}
55
56
57fakeroot tar_sdk() {
Patrick Williamsc124f4f2015-09-15 14:41:29 -050058 cd ${SDK_OUTPUT}/${SDKPATH}
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050059
60 DEST="./${SDK_ARCH}-${SDK_OS}"
61 mv sysroots/${SDK_SYS} $DEST
Patrick Williamsc124f4f2015-09-15 14:41:29 -050062 rm sysroots -rf
Patrick Williamsc0f7c042017-02-23 20:41:17 -060063 patchelf --set-interpreter ${@''.join('a' for n in range(1024))} $DEST/usr/bin/patchelf
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050064 mv $DEST/usr/bin/patchelf $DEST/usr/bin/patchelf-uninative
Patrick Williamsc0f7c042017-02-23 20:41:17 -060065 tar ${SDKTAROPTS} -c -j --file=${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 .
Patrick Williamsc124f4f2015-09-15 14:41:29 -050066}