diff options
Diffstat (limited to 'meta/classes/cross.bbclass')
| -rw-r--r-- | meta/classes/cross.bbclass | 105 |
1 files changed, 69 insertions, 36 deletions
diff --git a/meta/classes/cross.bbclass b/meta/classes/cross.bbclass index 89cb3e9569..8757303678 100644 --- a/meta/classes/cross.bbclass +++ b/meta/classes/cross.bbclass @@ -1,18 +1,37 @@ +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} - +CLASSOVERRIDE = "class-cross" PACKAGES = "" +PACKAGES_DYNAMIC = "" +PACKAGES_DYNAMIC_class-native = "" HOST_ARCH = "${BUILD_ARCH}" HOST_VENDOR = "${BUILD_VENDOR}" HOST_OS = "${BUILD_OS}" HOST_PREFIX = "${BUILD_PREFIX}" HOST_CC_ARCH = "${BUILD_CC_ARCH}" +HOST_LD_ARCH = "${BUILD_LD_ARCH}" +HOST_AS_ARCH = "${BUILD_AS_ARCH}" + +export lt_cv_sys_lib_dlsearch_path_spec = "${libdir} ${base_libdir} /lib /lib64 /usr/lib /usr/lib64" + +STAGING_DIR_HOST = "${RECIPE_SYSROOT_NATIVE}" + +PACKAGE_ARCH = "${BUILD_ARCH}" + +MULTIMACH_TARGET_SYS = "${BUILD_ARCH}${BUILD_VENDOR}-${BUILD_OS}" + +export PKG_CONFIG_DIR = "${exec_prefix}/lib/pkgconfig" +export PKG_CONFIG_SYSROOT_DIR = "" + +TARGET_CPPFLAGS = "${BUILD_CPPFLAGS}" +TARGET_CFLAGS = "${BUILD_CFLAGS}" +TARGET_CXXFLAGS = "${BUILD_CXXFLAGS}" +TARGET_LDFLAGS = "${BUILD_LDFLAGS}" CPPFLAGS = "${BUILD_CPPFLAGS}" CFLAGS = "${BUILD_CFLAGS}" @@ -22,40 +41,54 @@ LDFLAGS_build-darwin = "-L${STAGING_LIBDIR_NATIVE}" TOOLCHAIN_OPTIONS = "" +DEPENDS_GETTEXT = "gettext-native" + +# This class encodes staging paths into its scripts data so can only be +# reused if we manipulate the paths. +SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_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 = "${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}" -# Path prefixes -base_prefix = "${exec_prefix}" -prefix = "${CROSS_DIR}" -exec_prefix = "${prefix}" - -# Base paths -base_bindir = "${base_prefix}/bin" -base_sbindir = "${base_prefix}/bin" -base_libdir = "${base_prefix}/lib" - -# Architecture independent paths -datadir = "${prefix}/share" -sysconfdir = "${prefix}/etc" -sharedstatedir = "${prefix}/com" -localstatedir = "${prefix}/var" -infodir = "${datadir}/info" -mandir = "${datadir}/man" -docdir = "${datadir}/doc" -servicedir = "${prefix}/srv" - -# Architecture dependent paths -bindir = "${exec_prefix}/bin" -sbindir = "${exec_prefix}/bin" -libexecdir = "${exec_prefix}/libexec" -libdir = "${exec_prefix}/lib" -includedir = "${exec_prefix}/include" -oldincludedir = "${exec_prefix}/include" - -do_stage () { - oe_runmake install -} +do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_NATIVE}/" +do_populate_sysroot[stamp-extra-info] = "" +do_packagedata[stamp-extra-info] = "" do_install () { - : + oe_runmake 'DESTDIR=${D}' install } + +USE_NLS = "no" + +export CC = "${BUILD_CC}" +export CXX = "${BUILD_CXX}" +export FC = "${BUILD_FC}" +export CPP = "${BUILD_CPP}" +export LD = "${BUILD_LD}" +export CCLD = "${BUILD_CCLD}" +export AR = "${BUILD_AR}" +export AS = "${BUILD_AS}" +export RANLIB = "${BUILD_RANLIB}" +export STRIP = "${BUILD_STRIP}" +export NM = "${BUILD_NM}" + +inherit nopackages |
