mirror of
https://git.yoctoproject.org/poky
synced 2026-03-06 23:39:40 +01:00
Add the ability to dynamically change the library directory from "lib" to
other values. This allows the tune files to specifiy altnerative ABIs
which can be dynamically enabled by the multilib BBCLASSEXTEND code.
A variety of approaches have been attempted with this, the immediate
expansions in cross.bbclass being problematic as they are they are expanded
before the bbclass extend event hander runs. This approach ensures the
${baselib} variable is retained in the expressions resolving that complication.
Derived from some ideas from Mark Hatle.
(From OE-Core rev: aeea22da699b276a97ca1a17e3c53176c9afd9de)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
66 lines
2.1 KiB
Plaintext
66 lines
2.1 KiB
Plaintext
inherit relocatable
|
|
|
|
# Cross packages are built indirectly via dependency,
|
|
# no need for them to be a direct target of 'world'
|
|
EXCLUDE_FROM_WORLD = "1"
|
|
|
|
# Save PACKAGE_ARCH before changing HOST_ARCH
|
|
OLD_PACKAGE_ARCH := "${PACKAGE_ARCH}"
|
|
PACKAGE_ARCH = "${OLD_PACKAGE_ARCH}"
|
|
# Also save BASE_PACKAGE_ARCH since HOST_ARCH can influence it
|
|
OLD_BASE_PACKAGE_ARCH := "${BASE_PACKAGE_ARCH}"
|
|
BASE_PACKAGE_ARCH = "${OLD_BASE_PACKAGE_ARCH}"
|
|
BASEPKG_HOST_SYS = "${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}"
|
|
|
|
PACKAGES = ""
|
|
|
|
HOST_ARCH = "${BUILD_ARCH}"
|
|
HOST_VENDOR = "${BUILD_VENDOR}"
|
|
HOST_OS = "${BUILD_OS}"
|
|
HOST_PREFIX = "${BUILD_PREFIX}"
|
|
HOST_CC_ARCH = "${BUILD_CC_ARCH}"
|
|
|
|
STAGING_DIR_HOST = "${STAGING_DIR}/${BASEPKG_HOST_SYS}"
|
|
|
|
export PKG_CONFIG_DIR = "${STAGING_DIR}/${BASE_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}${libdir}/pkgconfig"
|
|
export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR}/${BASE_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
|
|
|
|
CPPFLAGS = "${BUILD_CPPFLAGS}"
|
|
CFLAGS = "${BUILD_CFLAGS}"
|
|
CXXFLAGS = "${BUILD_CFLAGS}"
|
|
LDFLAGS = "${BUILD_LDFLAGS}"
|
|
LDFLAGS_build-darwin = "-L${STAGING_LIBDIR_NATIVE}"
|
|
|
|
TOOLCHAIN_OPTIONS = ""
|
|
|
|
DEPENDS_GETTEXT = "gettext-native"
|
|
|
|
# Path mangling needed by the cross packaging
|
|
# Note that we use := here to ensure that libdir and includedir are
|
|
# target paths.
|
|
target_base_prefix := "${base_prefix}"
|
|
target_prefix := "${prefix}"
|
|
target_exec_prefix := "${exec_prefix}"
|
|
target_base_libdir = "${target_base_prefix}/${baselib}"
|
|
target_libdir = "${target_exec_prefix}/${baselib}"
|
|
target_includedir := "${includedir}"
|
|
|
|
# Overrides for paths
|
|
CROSS_TARGET_SYS_DIR = "${MULTIMACH_TARGET_SYS}"
|
|
prefix = "${STAGING_DIR_NATIVE}${prefix_native}"
|
|
base_prefix = "${STAGING_DIR_NATIVE}"
|
|
exec_prefix = "${STAGING_DIR_NATIVE}${prefix_native}"
|
|
bindir = "${exec_prefix}/bin/${CROSS_TARGET_SYS_DIR}"
|
|
sbindir = "${bindir}"
|
|
base_bindir = "${bindir}"
|
|
base_sbindir = "${bindir}"
|
|
libdir = "${exec_prefix}/lib/${CROSS_TARGET_SYS_DIR}"
|
|
libexecdir = "${exec_prefix}/libexec/${CROSS_TARGET_SYS_DIR}"
|
|
|
|
do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_NATIVE}"
|
|
|
|
do_install () {
|
|
oe_runmake 'DESTDIR=${D}' install
|
|
}
|
|
|