1DESCRIPTION = "SDK type target for building a standalone tarball containing python3, chrpath, make, git and tar. The \
2               tarball can be used to run bitbake builds on systems which don't meet the usual version requirements."
3SUMMARY = "Standalone tarball for running builds on systems with inadequate software"
4LICENSE = "MIT"
5
6TOOLCHAIN_TARGET_TASK ?= ""
7
8TOOLCHAIN_HOST_TASK ?= "\
9    nativesdk-sdk-provides-dummy \
10    nativesdk-python3-core \
11    nativesdk-python3-modules \
12    nativesdk-python3-misc \
13    nativesdk-python3-git \
14    nativesdk-python3-jinja2 \
15    nativesdk-python3-testtools \
16    nativesdk-python3-subunit \
17    nativesdk-ncurses-terminfo-base \
18    nativesdk-chrpath \
19    nativesdk-tar \
20    nativesdk-buildtools-perl-dummy \
21    nativesdk-git \
22    nativesdk-git-perltools \
23    nativesdk-pigz \
24    nativesdk-make \
25    nativesdk-wget \
26    nativesdk-ca-certificates \
27    nativesdk-texinfo \
28    nativesdk-libnss-nis \
29    nativesdk-rpcsvc-proto \
30    nativesdk-patch \
31    nativesdk-mtools \
32    "
33
34MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}"
35PACKAGE_ARCH = "${SDK_ARCH}_${SDK_OS}"
36PACKAGE_ARCHS = ""
37TARGET_ARCH = "none"
38TARGET_OS = "none"
39
40SDK_PACKAGE_ARCHS += "buildtools-dummy-${SDKPKGSUFFIX}"
41
42TOOLCHAIN_OUTPUTNAME ?= "${SDK_ARCH}-buildtools-nativesdk-standalone-${DISTRO_VERSION}"
43
44SDK_TITLE = "Build tools"
45
46RDEPENDS = "${TOOLCHAIN_HOST_TASK}"
47
48EXCLUDE_FROM_WORLD = "1"
49
50inherit meta
51inherit populate_sdk
52inherit toolchain-scripts-base
53inherit nopackages
54
55deltask install
56deltask populate_sysroot
57
58do_populate_sdk[stamp-extra-info] = "${PACKAGE_ARCH}"
59
60REAL_MULTIMACH_TARGET_SYS = "none"
61
62create_sdk_files_append () {
63	rm -f ${SDK_OUTPUT}/${SDKPATH}/site-config-*
64	rm -f ${SDK_OUTPUT}/${SDKPATH}/environment-setup-*
65	rm -f ${SDK_OUTPUT}/${SDKPATH}/version-*
66
67	# Generate new (mini) sdk-environment-setup file
68	script=${1:-${SDK_OUTPUT}/${SDKPATH}/environment-setup-${SDK_SYS}}
69	touch $script
70	echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:$PATH' >> $script
71	echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script
72	echo 'export GIT_SSL_CAINFO="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script
73	echo 'export SSL_CERT_FILE="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script
74
75	toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${SDK_SYS}
76
77	cat >> $script <<EOF
78if [ -d "\$OECORE_NATIVE_SYSROOT/environment-setup.d" ]; then
79	for envfile in \$OECORE_NATIVE_SYSROOT/environment-setup.d/*.sh; do
80		. \$envfile
81	done
82fi
83# We have to unset this else it can confuse oe-selftest and other tools
84# which may also use the overlapping namespace.
85unset OECORE_NATIVE_SYSROOT
86EOF
87
88	if [ "${SDKMACHINE}" = "i686" ]; then
89		echo 'export NO32LIBS="0"' >>$script
90		echo 'echo "$BB_ENV_EXTRAWHITE" | grep -q "NO32LIBS"' >>$script
91		echo '[ $? != 0 ] && export BB_ENV_EXTRAWHITE="NO32LIBS $BB_ENV_EXTRAWHITE"' >>$script
92	fi
93}
94
95# buildtools-tarball doesn't need config site
96TOOLCHAIN_NEED_CONFIGSITE_CACHE = ""
97
98# The recipe doesn't need any default deps
99INHIBIT_DEFAULT_DEPS = "1"
100