[oe] what is the expected STAGING_INCDIR for cross packages?

Richard Purdie rpurdie at rpsys.net
Mon Nov 23 18:32:13 UTC 2009


On Mon, 2009-11-23 at 18:25 +0100, Leon Woestenberg wrote:
> what is the expected STAGING_INCDIR for -cross packages?
> 
> 
> Our STAGING_INCDIR for -cross packages contains two concatenated absolute paths,
> one based of CROSS_DIR, one based of STAGING_DIR.
> 
> Both are absolute, based against TMPDIR.
> 
> Is that correct?

Cross recipes are tricky. Half the time variables refer to the "host"
and half the time they refer to the "target". This sounds like a case
where the two have combined in a rather unfortunate way.

Where is this used and what kind of problem is occurring?

> CROSS_DIR = ${TMPDIR}/cross/$BASE_PACKAGE_ARCH
> prefix = ${CROSS_DIR}
> exec_prefix = ${prefix}
> includedir = ${exec_prefix}/include

These all look correct. Cross packages are installed into "/" under
${prefix} which puts them in the correctly place

> STAGING_DIR = ${TMPDIR}/staging
> BASEPKG_HOST_SYS=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}
> STAGING_DIR_HOST=${STAGIG_DIR}/$BASEPKG_HOST_SYS}
> 
> which are then concatenated for -cross packages as:
> 
> STAGING_INCDIR = "${STAGING_DIR_HOST}${includedir}"

So I'd guess that cross.bbclass should be setting STAGING_DIR_HOST = "/"
like native.bbclass does and then ${includedir} will map to the correct
place.

I have to wonder what other side effects that would have of course
(although there aren't that may -cross recipes to break comparatively
speaking).

Cheers,

Richard







More information about the Openembedded-devel mailing list