From 31116d6c7e368c42bcfdf2dba2000b2203f08e85 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 10 Feb 2006 11:38:23 +0000 Subject: [PATCH] Update bbclasses from OE git-svn-id: https://svn.o-hand.com/repos/poky/trunk@266 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- openembedded/classes/autotools.bbclass | 31 ++++++++++++++++++------ openembedded/classes/base.bbclass | 12 ++++----- openembedded/classes/gpe.bbclass | 1 + openembedded/classes/image_ipk.bbclass | 4 +++ openembedded/classes/kernel.bbclass | 23 +++++++++++++++--- openembedded/classes/module-base.bbclass | 12 +++++++-- openembedded/classes/native.bbclass | 13 +++++++++- openembedded/classes/opie.bbclass | 5 ++++ openembedded/classes/package_ipk.bbclass | 1 - 9 files changed, 81 insertions(+), 21 deletions(-) diff --git a/openembedded/classes/autotools.bbclass b/openembedded/classes/autotools.bbclass index 8d448ce0d3..927e3432b7 100644 --- a/openembedded/classes/autotools.bbclass +++ b/openembedded/classes/autotools.bbclass @@ -151,15 +151,32 @@ autotools_stage_includes() { } autotools_stage_all() { - if [ "${INHIBIT_AUTO_STAGE}" != "1" ] + if [ "${INHIBIT_AUTO_STAGE}" = "1" ] then - rm -rf ${STAGE_TEMP} - mkdir -p ${STAGE_TEMP} - oe_runmake DESTDIR="${STAGE_TEMP}" install - cp -pPR ${STAGE_TEMP}/${includedir}/* ${STAGING_INCDIR} - cp -pPR ${STAGE_TEMP}/${libdir}/* ${STAGING_LIBDIR} - rm -rf ${STAGE_TEMP} + return fi + rm -rf ${STAGE_TEMP} + mkdir -p ${STAGE_TEMP} + oe_runmake DESTDIR="${STAGE_TEMP}" install + if [ -d ${STAGE_TEMP}/${includedir} ]; then + cp -fpPR ${STAGE_TEMP}/${includedir}/* ${STAGING_INCDIR} + fi + if [ -d ${STAGE_TEMP}/${libdir} ] + then + for i in ${STAGE_TEMP}/${libdir}/*.la + do + if [ ! -f "$i" ]; then + cp -fpPR ${STAGE_TEMP}/${libdir}/* ${STAGING_LIBDIR} + break + fi + oe_libinstall -so $(basename $i .la) ${STAGING_LIBDIR} + done + fi + if [ -d ${STAGE_TEMP}/${datadir}/aclocal ]; then + install -d ${STAGING_DATADIR}/aclocal + cp -fpPR ${STAGE_TEMP}/${datadir}/aclocal/* ${STAGING_DATADIR}/aclocal + fi + rm -rf ${STAGE_TEMP} } EXPORT_FUNCTIONS do_configure do_install diff --git a/openembedded/classes/base.bbclass b/openembedded/classes/base.bbclass index c5359b20f8..9b87828594 100644 --- a/openembedded/classes/base.bbclass +++ b/openembedded/classes/base.bbclass @@ -171,9 +171,8 @@ oe_libinstall() { if [ -z "$dir" ]; then dir=`pwd` fi - if [ -d "$dir/.libs" ]; then - dir=$dir/.libs - fi + dotlai=$libname.lai + dir=$dir`(cd $dir; find -name "$dotlai") | sed "s/^\.//;s/\/$dotlai\$//;q"` olddir=`pwd` __runcmd cd $dir @@ -191,7 +190,6 @@ oe_libinstall() { if [ -f "$dota" -o -n "$require_static" ]; then __runcmd install -m 0644 $dota $destpath/ fi - dotlai=$libname.lai if [ -f "$dotlai" -a -n "$libtool" ]; then if test -n "$staging_install" then @@ -724,9 +722,9 @@ python __anonymous () { pn = bb.data.getVar('PN', d, 1) - cvsdate = bb.data.getVar('CVSDATE_%s' % pn, d, 1) - if cvsdate != None: - bb.data.setVar('CVSDATE', cvsdate, d) + srcdate = bb.data.getVar('SRCDATE_%s' % pn, d, 1) + if srcdate != None: + bb.data.setVar('SRCDATE', srcdate, d) use_nls = bb.data.getVar('USE_NLS_%s' % pn, d, 1) if use_nls != None: diff --git a/openembedded/classes/gpe.bbclass b/openembedded/classes/gpe.bbclass index 8cd9e4fc5d..861ec416a0 100644 --- a/openembedded/classes/gpe.bbclass +++ b/openembedded/classes/gpe.bbclass @@ -2,6 +2,7 @@ DEPENDS_prepend = "coreutils-native virtual/libintl intltool-native " GPE_TARBALL_SUFFIX ?= "gz" SRC_URI = "${GPE_MIRROR}/${PN}-${PV}.tar.${GPE_TARBALL_SUFFIX}" FILES_${PN} += "${datadir}/gpe ${datadir}/application-registry" +MAINTAINER ?= "GPE Team " inherit gettext diff --git a/openembedded/classes/image_ipk.bbclass b/openembedded/classes/image_ipk.bbclass index 5fdd340673..c2f1c8d682 100644 --- a/openembedded/classes/image_ipk.bbclass +++ b/openembedded/classes/image_ipk.bbclass @@ -1,11 +1,15 @@ inherit rootfs_ipk +# We need to follow RDEPENDS and RRECOMMENDS for images +BUILD_ALL_DEPS = "1" + # Images are generally built explicitly, do not need to be part of world. EXCLUDE_FROM_WORLD = "1" USE_DEVFS ?= "0" DEPENDS += "makedevs-native" +PACKAGE_ARCH = "${MACHINE_ARCH}" def get_image_deps(d): import bb diff --git a/openembedded/classes/kernel.bbclass b/openembedded/classes/kernel.bbclass index 8416b8acb3..bbe047a2f1 100644 --- a/openembedded/classes/kernel.bbclass +++ b/openembedded/classes/kernel.bbclass @@ -5,6 +5,9 @@ DEPENDS += "virtual/${TARGET_PREFIX}depmod-${@get_kernelmajorversion('${PV}')} v inherit kernel-arch +PACKAGES_DYNAMIC += "kernel-module-*" +PACKAGES_DYNAMIC += "kernel-image-*" + export OS = "${TARGET_OS}" export CROSS_COMPILE = "${TARGET_PREFIX}" KERNEL_IMAGETYPE = "zImage" @@ -21,8 +24,16 @@ KERNEL_RELEASE ?= "${PV}${KERNEL_LOCALVERSION}" KERNEL_CCSUFFIX ?= "" KERNEL_LDSUFFIX ?= "" -KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX}" -KERNEL_LD = "${LD}${KERNEL_LDSUFFIX}" +# Set TARGET_??_KERNEL_ARCH in the machine .conf to set architecture +# specific options necessary for building the kernel and modules. +#FIXME: should be this: TARGET_CC_KERNEL_ARCH ?= "${TARGET_CC_ARCH}" +TARGET_CC_KERNEL_ARCH ?= "" +HOST_CC_KERNEL_ARCH ?= "${TARGET_CC_KERNEL_ARCH}" +TARGET_LD_KERNEL_ARCH ?= "" +HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}" + +KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}" +KERNEL_LD = "${LD}${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}" KERNEL_OUTPUT = "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}" KERNEL_IMAGEDEST = "boot" @@ -83,6 +94,7 @@ kernel_do_stage() { mkdir -p ${STAGING_KERNEL_DIR}/include/$ASMDIR cp -fR include/$ASMDIR/* ${STAGING_KERNEL_DIR}/include/$ASMDIR/ + rm -f $ASMDIR ${STAGING_KERNEL_DIR}/include/asm ln -sf $ASMDIR ${STAGING_KERNEL_DIR}/include/asm mkdir -p ${STAGING_KERNEL_DIR}/include/asm-generic @@ -97,6 +109,11 @@ kernel_do_stage() { mkdir -p ${STAGING_KERNEL_DIR}/include/pcmcia cp -fR include/pcmcia/* ${STAGING_KERNEL_DIR}/include/pcmcia/ + if [ -d include/sound ]; then + mkdir -p ${STAGING_KERNEL_DIR}/include/sound + cp -fR include/sound/* ${STAGING_KERNEL_DIR}/include/sound/ + fi + if [ -d drivers/sound ]; then # 2.4 alsa needs some headers from this directory mkdir -p ${STAGING_KERNEL_DIR}/include/drivers/sound @@ -133,7 +150,7 @@ kernel_do_install() { else oenote "no modules to install" fi - + install -d ${D}/${KERNEL_IMAGEDEST} install -d ${D}/boot install -m 0644 ${KERNEL_OUTPUT} ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_RELEASE} diff --git a/openembedded/classes/module-base.bbclass b/openembedded/classes/module-base.bbclass index df0941d561..da5bd01dae 100644 --- a/openembedded/classes/module-base.bbclass +++ b/openembedded/classes/module-base.bbclass @@ -10,8 +10,16 @@ export KERNEL_SOURCE = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-source') KERNEL_OBJECT_SUFFIX = "${@[".o", ".ko"][base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion') > "2.6.0"]}" KERNEL_CCSUFFIX = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-ccsuffix')}" KERNEL_LDSUFFIX = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-ldsuffix')}" -KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX}" -KERNEL_LD = "${LD}${KERNEL_LDSUFFIX}" + +# Set TARGET_??_KERNEL_ARCH in the machine .conf to set architecture +# specific options necessary for building the kernel and modules. +TARGET_CC_KERNEL_ARCH ?= "" +HOST_CC_KERNEL_ARCH ?= "${TARGET_CC_KERNEL_ARCH}" +TARGET_LD_KERNEL_ARCH ?= "" +HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}" + +KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}" +KERNEL_LD = "${LD}${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}" # kernel modules are generally machine specific PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/openembedded/classes/native.bbclass b/openembedded/classes/native.bbclass index f0a77d6e11..fea8048fe5 100644 --- a/openembedded/classes/native.bbclass +++ b/openembedded/classes/native.bbclass @@ -5,7 +5,18 @@ inherit base EXCLUDE_FROM_WORLD = "1" PACKAGES = "" -PACKAGE_ARCH = "native" +PACKAGE_ARCH = "${BUILD_ARCH}" + +# When this class has packaging enabled, setting +# RPROVIDES becomes unnecessary. +RPROVIDES = "${PN}" + +# Need to resolve package RDEPENDS as well as DEPENDS +BUILD_ALL_DEPS = "1" + +# Break the circular dependency as a result of DEPENDS +# in package.bbclass +PACKAGE_DEPENDS = "" TARGET_ARCH = "${BUILD_ARCH}" TARGET_OS = "${BUILD_OS}" diff --git a/openembedded/classes/opie.bbclass b/openembedded/classes/opie.bbclass index 7326128d98..c00f7e19a9 100644 --- a/openembedded/classes/opie.bbclass +++ b/openembedded/classes/opie.bbclass @@ -15,6 +15,11 @@ inherit palmtop +# Note that when CVS changes to 1.2.2, the dash +# should be removed from OPIE_CVS_PV to convert +# to the standardised version format +OPIE_CVS_PV = "1.2.1+cvs-${SRCDATE}" + DEPENDS_prepend = "${@["libopie2 ", ""][(bb.data.getVar('PN', d, 1) == 'libopie2')]}" # to be consistent, put all targets into workdir diff --git a/openembedded/classes/package_ipk.bbclass b/openembedded/classes/package_ipk.bbclass index 6d3e1eb686..a70b1e8cdd 100644 --- a/openembedded/classes/package_ipk.bbclass +++ b/openembedded/classes/package_ipk.bbclass @@ -1,7 +1,6 @@ inherit package DEPENDS_prepend="${@["ipkg-utils-native ", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}" BOOTSTRAP_EXTRA_RDEPENDS += "ipkg-collateral ipkg ipkg-link" -BOOTSTRAP_EXTRA_DEPENDS += "ipkg-collateral ipkg ipkg-link" PACKAGEFUNCS += "do_package_ipk" python package_ipk_fn () {