Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | SUMMARY = "libc and patchelf tarball for use with uninative.bbclass" |
| 2 | LICENSE = "MIT" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 3 | |
| 4 | TOOLCHAIN_TARGET_TASK = "" |
| 5 | |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 6 | # ibm850 - mcopy from mtools |
| 7 | # iso8859-1 - guile |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame^] | 8 | # utf-16, cp1252 - binutils-windres |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 9 | TOOLCHAIN_HOST_TASK = "\ |
| 10 | nativesdk-glibc \ |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 11 | nativesdk-glibc-gconv-ibm850 \ |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 12 | nativesdk-glibc-gconv-iso8859-1 \ |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame^] | 13 | nativesdk-glibc-gconv-utf-16 \ |
| 14 | nativesdk-glibc-gconv-cp1252 \ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 15 | nativesdk-patchelf \ |
| 16 | " |
| 17 | |
| 18 | INHIBIT_DEFAULT_DEPS = "1" |
| 19 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 20 | MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}" |
| 21 | PACKAGE_ARCH = "${SDK_ARCH}_${SDK_OS}" |
| 22 | PACKAGE_ARCHS = "" |
| 23 | TARGET_ARCH = "none" |
| 24 | TARGET_OS = "none" |
| 25 | |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 26 | TOOLCHAIN_OUTPUTNAME ?= "${SDK_ARCH}-nativesdk-libc" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 27 | |
| 28 | RDEPENDS = "${TOOLCHAIN_HOST_TASK}" |
| 29 | |
| 30 | EXCLUDE_FROM_WORLD = "1" |
| 31 | |
| 32 | inherit meta |
| 33 | inherit populate_sdk |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 34 | inherit nopackages |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 35 | |
| 36 | deltask install |
| 37 | deltask package |
| 38 | deltask packagedata |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 39 | deltask populate_sysroot |
| 40 | |
| 41 | do_populate_sdk[stamp-extra-info] = "${PACKAGE_ARCH}" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 42 | |
| 43 | SDK_DEPENDS += "patchelf-native" |
| 44 | |
| 45 | SDK_PACKAGING_FUNC = "" |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 46 | REAL_MULTIMACH_TARGET_SYS = "none" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 47 | |
| 48 | fakeroot 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 | |
| 58 | fakeroot tar_sdk() { |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 59 | cd ${SDK_OUTPUT}/${SDKPATH} |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 60 | |
| 61 | DEST="./${SDK_ARCH}-${SDK_OS}" |
| 62 | mv sysroots/${SDK_SYS} $DEST |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 63 | rm sysroots -rf |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 64 | patchelf --set-interpreter ${@''.join('a' for n in range(1024))} $DEST/usr/bin/patchelf |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 65 | mv $DEST/usr/bin/patchelf $DEST/usr/bin/patchelf-uninative |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 66 | tar ${SDKTAROPTS} -c -j --file=${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 . |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 67 | } |