From f876463527bd9ae92a09159fdb4899b4a4d19121 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Fri, 3 Oct 2008 08:48:06 +0000 Subject: 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 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" -- cgit v1.2.3