Skip to content
Peter Saunderson edited this page Jul 26, 2016 · 2 revisions

Home / parallella-yoctobuild / meta-exotic / Design Guide / Per Yocto Recipe Details / gcc-cross

Uses:

  • gcc-source shared source folder (WORKDIR = tmp/work-shared/gcc-5.2.0-r0)
  • binutils-cross (virtual/arm-poky-linux-gnueabi-binutils)
  • glibc (virtual/arm-poky-linux-gnueabi-libc-for-gcc)

Used by:

Produces target sysroot in:

  • STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}" = sysroots/x86_64-linux (from cross.bbclass)

Program prefix is:

  • TARGET_PREFIX = "${TARGET_SYS}-" = arm-poky-linux-gnueabi-

PN = "gcc-cross-${TARGET_ARCH}"
WORKDIR = "${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}"
SSTATE_SWSPEC = "sstate:${BPN}::${PV}:${PR}::${SSTATE_VERSION}:"
STAMP = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}"
STAMPCLEAN = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/-"

Configured with:

--host=x86_64-linux --target=arm-poky-linux-gnueabi
--with-sysroot=/not/exist
--with-build-sysroot=sysroots/parallella-hdmi

Provides / depends on:

PN = "gcc-cross-${TARGET_ARCH}"
DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc ${EXTRADEPENDS} ${NATIVEDEPS}"
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"

cross.bbclass: STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}" = sysroots/x86_64-linux

populate_sysroot has:

  • Staging files from .../sysroot-destdir/.../sysroots/x86_64-linux to .../sysroots/x86_64-linux

    • cross.bbclass overrides: libexecdir="${exec_prefix}/libexec/${CROSS_TARGET_SYS_DIR}"

    • cross.bbclass overrides: exec_prefix="${STAGING_DIR_NATIVE}${prefix_native}"