blob: 4aecf39b890ca541378821eb3d05dd7b5a41e649 [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 \
Andrew Geissler95ac1b82021-03-31 14:34:31 -050011 nativesdk-glibc-dbg \
Patrick Williamsf1e5d692016-03-30 15:21:19 -050012 nativesdk-glibc-gconv-ibm850 \
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050013 nativesdk-glibc-gconv-iso8859-1 \
Brad Bishop6e60e8b2018-02-01 10:27:11 -050014 nativesdk-glibc-gconv-utf-16 \
15 nativesdk-glibc-gconv-cp1252 \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080016 nativesdk-glibc-gconv-euc-jp \
17 nativesdk-glibc-gconv-libjis \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050018 nativesdk-patchelf \
Brad Bishop316dfdd2018-06-25 12:45:53 -040019 nativesdk-libxcrypt \
Brad Bishopf3fd2882019-06-21 08:06:37 -040020 nativesdk-libxcrypt-compat \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080021 nativesdk-libnss-nis \
Andrew Geisslerc9f78652020-09-18 14:11:35 -050022 nativesdk-sdk-provides-dummy \
Andrew Geissler517393d2023-01-13 08:55:19 -060023 nativesdk-libgcc \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050024 "
25
26INHIBIT_DEFAULT_DEPS = "1"
27
Patrick Williamsc0f7c042017-02-23 20:41:17 -060028MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}"
29PACKAGE_ARCH = "${SDK_ARCH}_${SDK_OS}"
30PACKAGE_ARCHS = ""
31TARGET_ARCH = "none"
32TARGET_OS = "none"
33
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050034TOOLCHAIN_OUTPUTNAME ?= "${SDK_ARCH}-nativesdk-libc"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050035
36RDEPENDS = "${TOOLCHAIN_HOST_TASK}"
37
38EXCLUDE_FROM_WORLD = "1"
39
Patrick Williamsc124f4f2015-09-15 14:41:29 -050040inherit populate_sdk
Patrick Williamsc0f7c042017-02-23 20:41:17 -060041inherit nopackages
Patrick Williamsc124f4f2015-09-15 14:41:29 -050042
43deltask install
Patrick Williamsc0f7c042017-02-23 20:41:17 -060044deltask populate_sysroot
45
46do_populate_sdk[stamp-extra-info] = "${PACKAGE_ARCH}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050047
48SDK_DEPENDS += "patchelf-native"
49
50SDK_PACKAGING_FUNC = ""
Patrick Williamsc0f7c042017-02-23 20:41:17 -060051REAL_MULTIMACH_TARGET_SYS = "none"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050052
53fakeroot create_sdk_files() {
54 cp ${COREBASE}/scripts/relocate_sdk.py ${SDK_OUTPUT}/${SDKPATH}/
55
56 # Replace the ##DEFAULT_INSTALL_DIR## with the correct pattern.
57 # Escape special characters like '+' and '.' in the SDKPATH
58 escaped_sdkpath=$(echo ${SDKPATH}/sysroots/${SDK_SYS} |sed -e "s:[\+\.]:\\\\\\\\\0:g")
59 sed -i -e "s:##DEFAULT_INSTALL_DIR##:$escaped_sdkpath:" ${SDK_OUTPUT}/${SDKPATH}/relocate_sdk.py
60}
61
62
Brad Bishop15ae2502019-06-18 21:44:24 -040063fakeroot archive_sdk() {
Patrick Williamsc124f4f2015-09-15 14:41:29 -050064 cd ${SDK_OUTPUT}/${SDKPATH}
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050065
66 DEST="./${SDK_ARCH}-${SDK_OS}"
67 mv sysroots/${SDK_SYS} $DEST
Patrick Williamsc124f4f2015-09-15 14:41:29 -050068 rm sysroots -rf
Patrick Williamsc0f7c042017-02-23 20:41:17 -060069 patchelf --set-interpreter ${@''.join('a' for n in range(1024))} $DEST/usr/bin/patchelf
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050070 mv $DEST/usr/bin/patchelf $DEST/usr/bin/patchelf-uninative
Brad Bishop15ae2502019-06-18 21:44:24 -040071 ${SDK_ARCHIVE_CMD}
Patrick Williamsc124f4f2015-09-15 14:41:29 -050072}