summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2008-10-03 08:48:06 +0000
committerKoen Kooi <koen@openembedded.org>2008-10-03 08:48:06 +0000
commitf876463527bd9ae92a09159fdb4899b4a4d19121 (patch)
treeefe1d11c98395eca2c0b1cec4970d9162473d64e
parent405af4acf4c38300e5d9a6492d349f26e6b239f0 (diff)
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
-rw-r--r--classes/base.bbclass2
-rw-r--r--conf/bitbake.conf30
-rw-r--r--conf/sanity.conf2
3 files changed, 21 insertions, 13 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 540b891669..ac73e909f8 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 75eab15d9b..8fd24c637c 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 35d9d32de1..e5fe74894d 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"