[oe-commits] : Split staging by base package arch (armv7a, ppc603e, etc)

OE GIT Trial gittrial at amethyst.openembedded.net
Fri Oct 3 09:05:28 UTC 2008


Module: org.openembedded.dev.git
Branch: org.openembedded.dev
Commit: 4221399748343795d6f6905007bf60825fb5c69d
URL:    http://gitweb.openembedded.net/?p=org.openembedded.dev.git&a=commit;h=4221399748343795d6f6905007bf60825fb5c69d

Author:  <koen at openembedded.org>
Date:   Fri Oct  3 08:48:06 2008 +0000

Split staging by base package arch (armv7a, ppc603e, etc)
* tested on beagleboard, dht-walnut, efika, c7x0 and om-gta01
* python, perl, gtk and qt4-x11 build and work
* console-image, x11-image and beagleboard-demo-image build and work as well
* see http://lists.linuxtogo.org/pipermail/openembedded-devel/2008-July/005819.html

---

 classes/base.bbclass |    2 +-
 conf/bitbake.conf    |   30 +++++++++++++++++++-----------
 conf/sanity.conf     |    2 +-
 3 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/classes/base.bbclass b/classes/base.bbclass
index 540b891..ac73e90 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -909,7 +909,7 @@ def get_subpkgedata_fn(pkg, d):
 	import bb, os
 	archs = bb.data.expand("${PACKAGE_ARCHS}", d).split(" ")
 	archs.reverse()
-	pkgdata = bb.data.expand('${STAGING_DIR}/pkgdata/', d)
+	pkgdata = bb.data.expand('${TMPDIR}/pkgdata/', d)
 	targetdir = bb.data.expand('${TARGET_VENDOR}-${TARGET_OS}/runtime/', d)
 	for arch in archs:
 		fn = pkgdata + arch + targetdir + pkg
diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index 75eab15..8fd24c6 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -94,11 +94,14 @@ PACKAGE_ARCHS = "all any noarch ${TARGET_ARCH} ${PACKAGE_EXTRA_ARCHS} ${MACHINE}
 MULTIMACH_ARCH = "${PACKAGE_ARCH}"
 MULTIMACH_TARGET_SYS = "${MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
 MULTIMACH_HOST_SYS = "${MULTIMACH_ARCH}${HOST_VENDOR}-${HOST_OS}"
+BASEPKG_HOST_SYS = "${BASE_PACKAGE_ARCH}${HOST_VENDOR}-${HOST_OS}"
+BASEPKG_TARGET_SYS = "${BASE_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
 
 # select proper CPU to get binary locales generated
 QEMU_OPTIONS = ""
 QEMU_OPTIONS_iwmmxt  = "-cpu pxa270-c5"
 QEMU_OPTIONS_armv6   = "-cpu arm1136"
+QEMU_OPTIONS_armv7a   = "-cpu cortex-a8"
 
 ##################################################################
 # Date/time variables.
@@ -236,13 +239,15 @@ STAGING_DIR = "${TMPDIR}/staging"
 
 STAGING_DIR_NATIVE = "${STAGING_DIR}/${BUILD_SYS}"
 STAGING_BINDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_bindir}"
-STAGING_BINDIR_CROSS  = "${STAGING_DIR_NATIVE}${layout_bindir}/${HOST_SYS}"
+STAGING_BINDIR_CROSS  = "${STAGING_DIR_NATIVE}${layout_bindir}/${MULTIMACH_HOST_SYS}"
 STAGING_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_libdir}"
 STAGING_INCDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_includedir}"
 STAGING_ETCDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_sysconfdir}"
 STAGING_DATADIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_datadir}"
 
-STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_SYS}"
+# This should really be MULTIMACH_HOST_SYS but that breaks "all" and machine 
+# specific packages - hack around it for now.
+STAGING_DIR_HOST = "${STAGING_DIR}/${BASEPKG_HOST_SYS}"
 STAGING_BINDIR = "${STAGING_DIR_HOST}${layout_bindir}"
 STAGING_LIBDIR = "${STAGING_DIR_HOST}${layout_libdir}"
 STAGING_INCDIR = "${STAGING_DIR_HOST}${layout_includedir}"
@@ -252,7 +257,9 @@ STAGING_LOADER_DIR = "${STAGING_DIR_HOST}/loader"
 STAGING_FIRMWARE_DIR = "${STAGING_DIR_HOST}/firmware"
 STAGING_PYDIR = "${STAGING_DIR}/lib/python2.4"
 
-STAGING_DIR_TARGET = "${STAGING_DIR}/${TARGET_SYS}"
+# This should really be MULTIMACH_TARGET_SYS but that breaks "all" and machine 
+# specific packages - hack around it for now.
+STAGING_DIR_TARGET = "${STAGING_DIR}/${BASEPKG_TARGET_SYS}"
 
 DEPLOY_DIR = "${TMPDIR}/deploy"
 DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar"
@@ -262,7 +269,7 @@ DEPLOY_DIR_DEB = "${DEPLOY_DIR}/deb"
 DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images"
 DEPLOY_DIR_TOOLS = "${DEPLOY_DIR}/tools"
 
-PKGDATA_DIR = "${STAGING_DIR}/pkgdata/${MULTIMACH_TARGET_SYS}"
+PKGDATA_DIR = "${TMPDIR}/pkgdata/${MULTIMACH_TARGET_SYS}"
 
 SDK_NAME = "${DISTRO}/${TARGET_ARCH}"
 SDK_PREFIX = "/usr/local/${SDK_NAME}"
@@ -282,6 +289,7 @@ IMAGE_ROOTFS = "${TMPDIR}/rootfs"
 IMAGE_BASENAME = "${PN}"
 IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DATETIME}"
 IMAGE_LINK_NAME = "${IMAGE_BASENAME}-${MACHINE}"
+IMAGE_EXTRA_SPACE = 10240
 
 IMAGE_CMD = ""
 IMAGE_CMD_jffs2 = "mkfs.jffs2 -x lzo --root=${IMAGE_ROOTFS} --faketime --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 ${EXTRA_IMAGECMD}"
@@ -322,9 +330,9 @@ EXTRA_IMAGEDEPENDS = ""
 # Toolchain info.
 ##################################################################
 
-CROSS_DIR = "${TMPDIR}/cross"
+CROSS_DIR = "${TMPDIR}/cross/${BASE_PACKAGE_ARCH}"
 CROSS_DATADIR = "${CROSS_DIR}/share"
-PATH_prepend = "${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${layout_sbindir}:${STAGING_BINDIR_NATIVE}:${CROSS_DIR}/bin:${STAGING_DIR_NATIVE}${layout_base_sbindir}:"
+PATH_prepend = "${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${layout_sbindir}:${STAGING_BINDIR_NATIVE}:${CROSS_DIR}/bin:${STAGING_DIR_NATIVE}${layout_base_sbindir}:${STAGING_DIR_NATIVE}${layout_base_bindir}:"
 export PATH
 
 ##################################################################
@@ -404,7 +412,7 @@ EXTRA_OEMAKE_prepend_task-compile = "${PARALLEL_MAKE} "
 ##################################################################
 
 FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
-DEBUG_OPTIMIZATION = "-O -g"
+DEBUG_OPTIMIZATION = "-O -fno-omit-frame-pointer -g"
 SELECTED_OPTIMIZATION = "${@bb.data.getVar(['FULL_OPTIMIZATION', 'DEBUG_OPTIMIZATION'][bb.data.getVar('DEBUG_BUILD', d, 1) == '1'], d, 1)}"
 BUILD_OPTIMIZATION = "-O2"
 
@@ -462,7 +470,7 @@ FETCHCMD_hg = "/usr/bin/env hg"
 
 FETCHCOMMAND = "ERROR, this must be a BitBake bug"
 FETCHCOMMAND_wget = "/usr/bin/env wget -t 5 --passive-ftp -P ${DL_DIR} ${URI}"
-FETCHCOMMAND_cvs = "/usr/bin/env cvs -d${CVSROOT} co ${CVSCOOPTS} ${CVSMODULE}"
+FETCHCOMMAND_cvs = "/usr/bin/env cvs '-d${CVSROOT}' co ${CVSCOOPTS} ${CVSMODULE}"
 FETCHCOMMAND_svn = "/usr/bin/env svn co ${SVNCOOPTS} ${SVNROOT} ${SVNMODULE}"
 RESUMECOMMAND = "ERROR, this must be a BitBake bug"
 RESUMECOMMAND_wget = "/usr/bin/env wget -c -t 5 --passive-ftp -P ${DL_DIR} ${URI}"
@@ -521,9 +529,9 @@ SLOT = "0"
 
 # Other
 
-export PKG_CONFIG_DIR = "${STAGING_LIBDIR}/pkgconfig"
-export PKG_CONFIG_PATH = "${PKG_CONFIG_DIR}"
-export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR}/${TARGET_SYS}"
+export PKG_CONFIG_DIR = "${STAGING_DIR}/${BASE_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}${layout_libdir}/pkgconfig"
+export PKG_CONFIG_PATH = "${PKG_CONFIG_DIR}:${STAGING_DATADIR}/pkgconfig"
+export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR}/${BASE_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
 export PKG_CONFIG_DISABLE_UNINSTALLED = "yes"
 
 export QMAKE_MKSPEC_PATH = "${STAGING_DATADIR_NATIVE}/qmake"
diff --git a/conf/sanity.conf b/conf/sanity.conf
index 35d9d32..e5fe748 100644
--- a/conf/sanity.conf
+++ b/conf/sanity.conf
@@ -11,7 +11,7 @@ BB_MIN_VERSION = "1.8.10"
 # that breaks the format and have been previously discussed on the mailing list 
 # with general agreement from the core team.
 #
-SANITY_ABI = "1"
+SANITY_ABI = "2"
 SANITY_ABIFILE = "${TMPDIR}/abi_version"
 
 INHERIT += "sanity"





More information about the Openembedded-commits mailing list