mirror of
https://git.yoctoproject.org/poky
synced 2026-02-08 18:02:12 +01:00
As discussed on the mailing lists, using a suffix to package names is hard and has lead to many recipes having to do PKGSUFFIX games. Its looking extremely hard to scale nativesdk much further without hacking many recipes. By comparison, using a prefix like multilib does works much better and doesn't involve "hacking" as many recipes. This change converts nativesdk to use a prefix using the existing multilib infrastructure. (From OE-Core rev: 81813c0e322dc04ce4b069117188d8a54dfddb8c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
88 lines
2.6 KiB
Plaintext
88 lines
2.6 KiB
Plaintext
inherit relocatable
|
|
|
|
# SDK packages are built either explicitly by the user,
|
|
# or indirectly via dependency. No need to be in 'world'.
|
|
EXCLUDE_FROM_WORLD = "1"
|
|
|
|
STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${SDK_ARCH}${SDK_VENDOR}-${SDK_OS}"
|
|
|
|
# we dont want libc-uclibc or libc-glibc to kick in for nativesdk recipes
|
|
LIBCOVERRIDE = ""
|
|
CLASSOVERRIDE = "class-nativesdk"
|
|
|
|
#
|
|
# Update PACKAGE_ARCH and PACKAGE_ARCHS
|
|
#
|
|
PACKAGE_ARCH = "${SDK_ARCH}-nativesdk"
|
|
PACKAGE_ARCHS = "${SDK_PACKAGE_ARCHS}"
|
|
|
|
STAGING_DIR_HOST = "${STAGING_DIR}/${MULTIMACH_HOST_SYS}"
|
|
STAGING_DIR_TARGET = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}"
|
|
|
|
HOST_ARCH = "${SDK_ARCH}"
|
|
HOST_VENDOR = "${SDK_VENDOR}"
|
|
HOST_OS = "${SDK_OS}"
|
|
HOST_PREFIX = "${SDK_PREFIX}"
|
|
HOST_CC_ARCH = "${SDK_CC_ARCH}"
|
|
HOST_LD_ARCH = "${SDK_LD_ARCH}"
|
|
HOST_AS_ARCH = "${SDK_AS_ARCH}"
|
|
#HOST_SYS = "${HOST_ARCH}${TARGET_VENDOR}-${HOST_OS}"
|
|
|
|
TARGET_ARCH = "${SDK_ARCH}"
|
|
TARGET_VENDOR = "${SDK_VENDOR}"
|
|
TARGET_OS = "${SDK_OS}"
|
|
TARGET_PREFIX = "${SDK_PREFIX}"
|
|
TARGET_CC_ARCH = "${SDK_CC_ARCH}"
|
|
TARGET_LD_ARCH = "${SDK_LD_ARCH}"
|
|
TARGET_AS_ARCH = "${SDK_AS_ARCH}"
|
|
TARGET_FPU = ""
|
|
EXTRA_OECONF_FPU = ""
|
|
|
|
CPPFLAGS = "${BUILDSDK_CPPFLAGS}"
|
|
CFLAGS = "${BUILDSDK_CFLAGS}"
|
|
CXXFLAGS = "${BUILDSDK_CFLAGS}"
|
|
LDFLAGS = "${BUILDSDK_LDFLAGS}"
|
|
|
|
# Change to place files in SDKPATH
|
|
base_prefix = "${SDKPATHNATIVE}"
|
|
prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
|
|
exec_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
|
|
baselib = "lib"
|
|
|
|
export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}${libdir}/pkgconfig"
|
|
export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}"
|
|
|
|
python nativesdk_virtclass_handler () {
|
|
if not isinstance(e, bb.event.RecipePreFinalise):
|
|
return
|
|
|
|
pn = e.data.getVar("PN", True)
|
|
if not pn.endswith("-nativesdk") or pn.startswith("nativesdk-"):
|
|
return
|
|
|
|
e.data.setVar("MLPREFIX", "nativesdk-")
|
|
e.data.setVar("PN", "nativesdk-" + e.data.getVar("PN", True).replace("-nativesdk", "").replace("nativesdk-", ""))
|
|
e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + ":virtclass-nativesdk")
|
|
}
|
|
|
|
python () {
|
|
pn = d.getVar("PN", True)
|
|
if not pn.startswith("nativesdk-"):
|
|
return
|
|
|
|
import oe.classextend
|
|
|
|
clsextend = oe.classextend.NativesdkClassExtender("nativesdk", d)
|
|
clsextend.rename_packages()
|
|
clsextend.rename_package_variables((d.getVar("PACKAGEVARS", True) or "").split())
|
|
|
|
clsextend.map_depends_variable("DEPENDS")
|
|
clsextend.map_packagevars()
|
|
clsextend.map_variable("PROVIDES")
|
|
}
|
|
|
|
addhandler nativesdk_virtclass_handler
|
|
|
|
do_populate_sysroot[stamp-extra-info] = ""
|
|
do_package[stamp-extra-info] = ""
|