summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
Diffstat (limited to 'classes')
-rw-r--r--classes/insane.bbclass11
-rw-r--r--classes/native.bbclass47
-rw-r--r--classes/pkgconfig.bbclass30
-rw-r--r--classes/sdk.bbclass12
4 files changed, 37 insertions, 63 deletions
diff --git a/classes/insane.bbclass b/classes/insane.bbclass
index 97cf036dd9..5ff49cd65e 100644
--- a/classes/insane.bbclass
+++ b/classes/insane.bbclass
@@ -333,12 +333,15 @@ def package_qa_check_staged(path,d):
import os, bb
sane = True
- workdir = os.path.join(bb.data.getVar('TMPDIR', d, True), "work")
+ tmpdir = bb.data.getVar('TMPDIR', d, True)
+ workdir = os.path.join(tmpdir, "work")
- if bb.data.inherits_class("native", d):
+ if bb.data.inherits_class("native", d) or bb.data.inherits_class("cross", d):
installed = "installed=no"
+ pkgconfigcheck = workdir
else:
installed = "installed=yes"
+ pkgconfigcheck = tmpdir
# find all .la and .pc files
# read the content
@@ -356,8 +359,8 @@ def package_qa_check_staged(path,d):
sane = package_qa_handle_error(8, error_msg, "staging", path, d)
elif file[-2:] == "pc":
file_content = open(path).read()
- if workdir in file_content:
- error_msg = "%s failed sanity test (workdir) in path %s" % (file,root)
+ if pkgconfigcheck in file_content:
+ error_msg = "%s failed sanity test (tmpdir) in path %s" % (file,root)
sane = package_qa_handle_error(6, error_msg, "staging", path, d)
return sane
diff --git a/classes/native.bbclass b/classes/native.bbclass
index 934303cc0c..8f2b6f3fec 100644
--- a/classes/native.bbclass
+++ b/classes/native.bbclass
@@ -47,39 +47,33 @@ export AS = "${HOST_PREFIX}as"
export RANLIB = "${HOST_PREFIX}ranlib"
export STRIP = "${HOST_PREFIX}strip"
-
# Path prefixes
-base_prefix = "${STAGING_DIR}/${BUILD_ARCH}-${BUILD_OS}"
-prefix = "${base_prefix}"
-exec_prefix = "${base_prefix}"
+export base_prefix = "${STAGING_DIR_NATIVE}"
+export prefix = "${STAGING_DIR_NATIVE}${layout_prefix}"
+export exec_prefix = "${STAGING_DIR_NATIVE}${layout_exec_prefix}"
# Base paths
-base_bindir = "${base_prefix}/bin"
-base_sbindir = "${base_prefix}/bin"
-base_libdir = "${base_prefix}/lib"
+export base_bindir = "${STAGING_DIR_NATIVE}${layout_base_bindir}"
+export base_sbindir = "${STAGING_DIR_NATIVE}${layout_base_sbindir}"
+export base_libdir = "${STAGING_DIR_NATIVE}${layout_base_libdir}"
# Architecture independent paths
-sysconfdir = "${prefix}/etc"
-sharedstatedir = "${prefix}/com"
-localstatedir = "${prefix}/var"
-infodir = "${datadir}/info"
-mandir = "${datadir}/man"
-docdir = "${datadir}/doc"
-servicedir = "${prefix}/srv"
+export datadir = "${STAGING_DIR_NATIVE}${layout_datadir}"
+export sysconfdir = "${STAGING_DIR_NATIVE}${layout_sysconfdir}"
+export sharedstatedir = "${STAGING_DIR_NATIVE}${layout_sharedstatedir}"
+export localstatedir = "${STAGING_DIR_NATIVE}${layout_localstatedir}"
+export infodir = "${STAGING_DIR_NATIVE}${layout_infodir}"
+export mandir = "${STAGING_DIR_NATIVE}${layout_mandir}"
+export docdir = "${STAGING_DIR_NATIVE}${layout_docdir}"
+export servicedir = "${STAGING_DIR_NATIVE}${layout_servicedir}"
# 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"
-
-# Datadir is made arch dependent here, primarily
-# for autoconf macros, and other things that
-# may be manipulated to handle crosscompilation
-# issues.
-datadir = "${exec_prefix}/share"
+export bindir = "${STAGING_DIR_NATIVE}${layout_bindir}"
+export sbindir = "${STAGING_DIR_NATIVE}${layout_sbindir}"
+export libexecdir = "${STAGING_DIR_NATIVE}${layout_libexecdir}"
+export libdir = "${STAGING_DIR_NATIVE}${layout_libdir}"
+export includedir = "${STAGING_DIR_NATIVE}${layout_includedir}"
+export oldincludedir = "${STAGING_DIR_NATIVE}${layout_includedir}"
do_stage () {
if [ "${INHIBIT_NATIVE_STAGE_INSTALL}" != "1" ]
@@ -93,3 +87,4 @@ do_install () {
}
PKG_CONFIG_PATH .= "${EXTRA_NATIVE_PKGCONFIG_PATH}"
+PKG_CONFIG_SYSROOT_DIR = ""
diff --git a/classes/pkgconfig.bbclass b/classes/pkgconfig.bbclass
index d2176d8b39..d65f8a6253 100644
--- a/classes/pkgconfig.bbclass
+++ b/classes/pkgconfig.bbclass
@@ -2,36 +2,10 @@ inherit base
DEPENDS_prepend = "pkgconfig-native "
-# The namespaces can clash here hence the two step replace
-def get_pkgconfig_mangle(d):
- import bb.data
- s = "-e ''"
- if not bb.data.inherits_class('native', d):
- s += " -e 's:=${libdir}:=OELIBDIR:;'"
- s += " -e 's:=${includedir}:=OEINCDIR:;'"
- s += " -e 's:=${datadir}:=OEDATADIR:'"
- s += " -e 's:=${prefix}:=OEPREFIX:'"
- s += " -e 's:=${exec_prefix}:=OEEXECPREFIX:'"
- s += " -e 's:OELIBDIR:${STAGING_LIBDIR}:;'"
- s += " -e 's:OEINCDIR:${STAGING_INCDIR}:;'"
- s += " -e 's:OEDATADIR:${STAGING_DATADIR}:'"
- s += " -e 's:OEPREFIX:${STAGING_DIR_HOST}${layout_prefix}:'"
- s += " -e 's:OEEXECPREFIX:${STAGING_DIR_HOST}${layout_exec_prefix}:'"
- s += " -e 's:-L${WORKDIR}\S*: :g'"
- s += " -e 's:-I${WORKDIR}\S*: :g'"
-
- return s
-
-do_install_append () {
- for pc in `find ${D} -name '*.pc' -type f | grep -v -- '-uninstalled.pc$'`; do
- sed -i ${@get_pkgconfig_mangle(d)} -e 's:${D}::g' -e 's:${STAGING_LIBDIR}:${libdir}:g' -e 's:${STAGING_INCDIR}:${includedir}:g' -e 's:${STAGING_DIR_TARGET}:${prefix}:g' ${pc}
- done
-}
-
do_stage_append () {
+ install -d ${PKG_CONFIG_DIR}
for pc in `find ${S} -name '*.pc' -type f | grep -v -- '-uninstalled.pc$'`; do
pcname=`basename $pc`
- install -d ${PKG_CONFIG_DIR}
- cat $pc | sed ${@get_pkgconfig_mangle(d)} -e 's:${D}${libdir}\S*:${STAGING_LIBDIR}:g' -e 's:${D}${prefix}/include\S*:${STAGING_INCDIR}:g' > ${PKG_CONFIG_DIR}/$pcname
+ cat $pc > ${PKG_CONFIG_DIR}/$pcname
done
}
diff --git a/classes/sdk.bbclass b/classes/sdk.bbclass
index 63f12117eb..71c65a1629 100644
--- a/classes/sdk.bbclass
+++ b/classes/sdk.bbclass
@@ -6,15 +6,16 @@ OLD_PACKAGE_ARCH := ${PACKAGE_ARCH}
PACKAGE_ARCH = "${BUILD_ARCH}-${OLD_PACKAGE_ARCH}-sdk"
HOST_ARCH = "${BUILD_ARCH}"
-HOST_VENDOR = "${BUILD_VENDOR}"
+# This isn't BUILD_VENDOR since we don't want to clash with native staging
+HOST_VENDOR = "${TARGET_VENDOR}"
HOST_OS = "${BUILD_OS}"
HOST_PREFIX = "${BUILD_PREFIX}"
HOST_CC_ARCH = "${BUILD_CC_ARCH}"
-CPPFLAGS = "${BUILD_CPPFLAGS}"
-CFLAGS = "${BUILD_CFLAGS}"
-CXXFLAGS = "${BUILD_CFLAGS}"
-LDFLAGS = "${BUILD_LDFLAGS}"
+CPPFLAGS = "${BUILDSDK_CPPFLAGS}"
+CFLAGS = "${BUILDSDK_CFLAGS}"
+CXXFLAGS = "${BUILDSDK_CFLAGS}"
+LDFLAGS = "${BUILDSDK_LDFLAGS}"
# Path prefixes
prefix = "${SDK_PREFIX}"
@@ -49,3 +50,4 @@ FILES_${PN}-dbg += "${prefix}/.debug \
${prefix}/bin/.debug \
"
+export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR}/${HOST_SYS}"