##################################################################
+# Recipe Parsing
+##################################################################
+BBMASK = "/(nonworking|obsolete)/"
+
+##################################################################
# Standard target filesystem layout.
##################################################################
TARGET_CC_ARCH = ""
TARGET_EXEEXT = ""
+SDK_ARCH ?= "${BUILD_ARCH}"
+SDK_OS ?= "${BUILD_OS}"
+SDK_VENDOR ?= "${BUILD_VENDOR}"
+SDK_SYS = "${SDK_ARCH}${SDK_VENDOR}${@['-' + bb.data.getVar('SDK_OS', d, 1), ''][bb.data.getVar('SDK_OS', d, 1) == ('' or 'custom')]}"
+SDK_PREFIX = "${SDK_SYS}-"
+SDK_CC_ARCH ?= "${BUILD_CC_ARCH}"
+SDK_EXEEXT = ""
+
# A shortcut for the commonly used value
EXEEXT = "${HOST_EXEEXT}"
EXTENDPV = "${EXTENDPEVER}${PV}-${PR}${DISTRO_PR}"
P = "${PN}-${PV}"
+# Define a PR for kernels that machines can override so things like
+# modules get rebuilt
+MACHINE_KERNEL_PR ?= "r0"
+
# Base package name
# Automatically derives "foo" from "foo-native", "foo-cross" or "foo-initial"
# otherwise it is the same as PN and P
SOLIBS = ".so.*"
SOLIBS_darwin = ".*.dylib"
SOLIBS_darwin8 = ".*.dylib"
+SOLIBS_darwin9 = ".*.dylib"
SOLIBSDEV = ".so"
SOLIBSDEV_darwin = ".dylib"
SOLIBSDEV_darwin8 = ".dylib"
+SOLIBSDEV_darwin9 = ".dylib"
PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-dev ${PN}-locale"
#enable this when bitbake is upgraded to cope with ++ values in the field
PACKAGES_DYNAMIC = "${PN}-locale-*"
FILES = ""
-FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \
+FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \
${sysconfdir} ${sharedstatedir} ${localstatedir} \
- ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*.so* ${datadir}/${PN} ${libdir}/${PN}/* \
+ ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*${SOLIBS} ${datadir}/${PN} ${libdir}/${PN}/* \
${datadir}/pixmaps ${datadir}/applications \
${datadir}/idl ${datadir}/omf ${datadir}/sounds \
${libdir}/bonobo/servers"
${datadir}/gnome/help"
SECTION_${PN}-doc = "doc"
-FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la \
+FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \
${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig \
${base_libdir}/*.a ${base_libdir}/*.o ${datadir}/aclocal"
SECTION_${PN}-dev = "devel"
export MANIFEST = "${FILESDIR}/manifest"
+# file:// search paths
FILE_DIRNAME = "${@os.path.dirname(bb.data.getVar('FILE', d))}"
-FILESPATH = "${FILE_DIRNAME}/${PF}:${FILE_DIRNAME}/${P}:${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/${BP}:${FILE_DIRNAME}/${BPN}:${FILE_DIRNAME}/files:${FILE_DIRNAME}"
-FILESDIR = "${@bb.which(bb.data.getVar('FILESPATH', d, 1), '.')}"
+FILESPATHBASE = "${FILE_DIRNAME}"
+FILESPATHPKG = "${PF}:${P}:${PN}:${BP}:${BPN}:files:."
+FILESPATH = "${@':'.join([os.path.normpath(os.path.join(fp, p, o)) for fp in d.getVar('FILESPATHBASE', 1).split(':') for p in d.getVar('FILESPATHPKG', 1).split(':') for o in (d.getVar('OVERRIDES', 1) + ':').split(':') if os.path.exists(os.path.join(fp, p, o))])}"
+FILESDIR = "${@bb.which(d.getVar('FILESPATH', 1), '.')}"
##################################################################
# General work and output directories for the build system.
# specific packages - hack around it for now.
STAGING_DIR_TARGET = "${STAGING_DIR}/${BASEPKG_TARGET_SYS}"
-DEPLOY_DIR = "${TMPDIR}/deploy"
+STAGING_DIR_SDK = "${STAGING_DIR}/${SDK_SYS}"
+
+# Setting DEPLOY_DIR outside of TMPDIR is helpful, when you are using
+# packaged staging and/or multimachine.
+DEPLOY_DIR ?= "${TMPDIR}/deploy"
DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar"
DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk"
DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm"
IMAGE_LINK_NAME = "${IMAGE_BASENAME}-${MACHINE}"
IMAGE_EXTRA_SPACE = 10240
+UBI_VOLNAME ?= "${MACHINE}-rootfs"
+
IMAGE_CMD = ""
IMAGE_CMD_jffs2 = "mkfs.jffs2 -x lzo --root=${IMAGE_ROOTFS} --faketime --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 ${EXTRA_IMAGECMD}"
IMAGE_CMD_yaffs2 = "mkyaffs2image ${EXTRA_IMAGECMD} ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.yaffs2"
IMAGE_CMD_tar.bz2 = "cd ${IMAGE_ROOTFS} && tar -jcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.bz2 ."
IMAGE_CMD_cpio = "cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio) ${EXTRA_IMAGECMD}"
IMAGE_CMD_cpio.gz = "cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc | gzip -c -9 >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio.gz) ${EXTRA_IMAGECMD}"
-IMAGE_CMD_ubifs = "mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.ubifs.img"
+IMAGE_CMD_ubi = "echo \[ubifs\] > ubinize.cfg ; echo mode=ubi >> ubinize.cfg ; echo image=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ubifs >> ubinize.cfg ; echo vol_id=0 >> ubinize.cfg ; echo vol_type=dynamic >> ubinize.cfg ; echo vol_name=${UBI_VOLNAME} >> ubinize.cfg ; echo vol_flags=autoresize >> ubinize.cfg;mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ubifs ${MKUBIFS_ARGS} && ubinize -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ubi ${UBINIZE_ARGS} ubinize.cfg"
+IMAGE_CMD_ubifs = "mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.ubifs.img ${MKUBIFS_ARGS}"
EXTRA_IMAGECMD = ""
EXTRA_IMAGECMD_jffs2 = ""
EXTRA_IMAGECMD_squashfs-lzma = ""
EXTRA_IMAGECMD_cpio = ""
EXTRA_IMAGECMD_cpio.gz = ""
+EXTRA_IMAGECMD_ubi = ""
EXTRA_IMAGECMD_ubifs = ""
IMAGE_DEPENDS = ""
IMAGE_DEPENDS_ext3.gz = "genext2fs-native e2fsprogs-native"
IMAGE_DEPENDS_squashfs = "squashfs-tools-native"
IMAGE_DEPENDS_squashfs-lzma = "squashfs-lzma-tools-native"
+IMAGE_DEPENDS_ubi = "mtd-utils-native"
IMAGE_DEPENDS_ubifs = "mtd-utils-native"
EXTRA_IMAGEDEPENDS = ""
export BUILD_CPPFLAGS = "-isystem${STAGING_INCDIR_NATIVE}"
export CPPFLAGS = "${TARGET_CPPFLAGS}"
export TARGET_CPPFLAGS = "-isystem${STAGING_DIR_TARGET}${layout_includedir}"
+export SDK_CPPFLAGS = "-isystem${STAGING_DIR_SDK}${layout_includedir} -isystem${STAGING_DIR_HOST}${layout_includedir}"
export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
export CFLAGS = "${TARGET_CFLAGS}"
export TARGET_CFLAGS = "${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
+export SDK_CFLAGS = "${SDK_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
export BUILD_CXXFLAGS = "${BUILD_CFLAGS} -fpermissive"
export CXXFLAGS = "${TARGET_CXXFLAGS}"
export TARGET_CXXFLAGS = "${TARGET_CFLAGS} -fpermissive"
+export SDK_CXXFLAGS = "${SDK_CFLAGS} -fpermissive"
export BUILD_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE} \
-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} \
-Wl,-rpath-link,${STAGING_DIR_TARGET}${layout_libdir} \
-Wl,-O1 \
${TARGET_LINK_HASH_STYLE}"
+export SDK_LDFLAGS = "-L${STAGING_DIR_SDK}${layout_libdir} \
+ -Wl,-rpath-link,${STAGING_DIR_SDK}${layout_libdir} \
+ -Wl,-O1"
# Which flags to leave by strip-flags() in bin/build/oebuild.sh ?
ALLOWED_FLAGS = "-O -mcpu -march -pipe"
# Download locations and utilities.
##################################################################
-GNU_MIRROR = "ftp://ftp.gnu.org/gnu"
+OE_STRICT_CHECKSUMS ?= "1"
+
+ADOBE_MIRROR = "http://fpdownload.macromedia.com/get/flashplayer/current/"
+APACHE_MIRROR = "http://www.apache.org/dist"
DEBIAN_MIRROR = "ftp://ftp.debian.org/debian/pool"
-SOURCEFORGE_MIRROR = "http://downloads.sourceforge.net"
-GPE_MIRROR = "http://gpe.linuxtogo.org/download/source"
-GPEPHONE_MIRROR = "http://gpephone.linuxtogo.org/download/gpephone"
-GPE_SVN = "svn://projects.linuxtogo.org/svn/gpe/trunk/base;module=${PN}"
-GPE_EXTRA_SVN = "svn://projects.linuxtogo.org/svn/gpe/trunk/extra;module=${PN}"
-GPEPHONE_SVN = "svn://projects.linuxtogo.org/svn/gpephone/trunk/source;module=${PN}"
-XLIBS_MIRROR = "http://xlibs.freedesktop.org/release"
-XORG_MIRROR = "http://xorg.freedesktop.org/releases"
-GNOME_MIRROR = "http://ftp.gnome.org/pub/GNOME/sources"
-FREEBSD_MIRROR = "ftp://ftp.freebsd.org/pub/FreeBSD/"
-HANDHELDS_CVS = "cvs://anoncvs:anoncvs@anoncvs.handhelds.org/cvs"
E_CVS = "cvs://anonymous@anoncvs.enlightenment.org/var/cvs/e"
E_URI = "http://enlightenment.freedesktop.org/files"
+FREEBSD_MIRROR = "ftp://ftp.freebsd.org/pub/FreeBSD/"
FREEDESKTOP_CVS = "cvs://anoncvs:anoncvs@anoncvs.freedesktop.org/cvs"
FREESMARTPHONE_GIT = "git://git.freesmartphone.org"
GENTOO_MIRROR = "http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles"
-APACHE_MIRROR = "http://www.apache.org/dist"
+GNOME_GIT = "git://git.gnome.org"
+GNOME_MIRROR = "http://ftp.gnome.org/pub/GNOME/sources"
+GNU_MIRROR = "ftp://ftp.gnu.org/gnu"
+GPE_MIRROR = "http://gpe.linuxtogo.org/download/source"
+GPE_EXTRA_SVN = "svn://projects.linuxtogo.org/svn/gpe/trunk/extra;module=${PN}"
+GPE_SVN = "svn://projects.linuxtogo.org/svn/gpe/trunk/base;module=${PN}"
+GPEPHONE_MIRROR = "http://gpephone.linuxtogo.org/download/gpephone"
+GPEPHONE_SVN = "svn://projects.linuxtogo.org/svn/gpephone/trunk/source;module=${PN}"
+HANDHELDS_CVS = "cvs://anoncvs:anoncvs@anoncvs.handhelds.org/cvs"
KERNELORG_MIRROR = "http://kernel.org"
+SOURCEFORGE_MIRROR = "http://downloads.sourceforge.net"
+XLIBS_MIRROR = "http://xlibs.freedesktop.org/release"
+XORG_MIRROR = "http://xorg.freedesktop.org/releases"
# You can use the mirror of your country to get faster downloads by putting
# export DEBIAN_MIRROR = "ftp://ftp.de.debian.org/debian/pool"
FETCHCMD_svn = "/usr/bin/env svn"
FETCHCMD_cvs = "/usr/bin/env cvs"
-FETCHCMD_wget = "/usr/bin/env wget -t 5"
+FETCHCMD_wget = "/usr/bin/env wget -t 5 --no-check-certificate"
FETCHCMD_bzr = "/usr/bin/env bzr"
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_wget = "/usr/bin/env 'PATH=${PATH}' wget -t 5 --passive-ftp --no-check-certificate -P ${DL_DIR} ${URI}"
+FETCHCOMMAND_cvs = "/usr/bin/env 'PATH=${PATH}' 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}"
+RESUMECOMMAND_wget = "/usr/bin/env 'PATH=${PATH}' wget -c -t 5 --passive-ftp --no-check-certificate -P ${DL_DIR} ${URI}"
UPDATECOMMAND = "ERROR, this must be a BitBake bug"
-UPDATECOMMAND_cvs = "/usr/bin/env cvs -d${CVSROOT} update -d -P ${CVSCOOPTS}"
+UPDATECOMMAND_cvs = "/usr/bin/env 'PATH=${PATH}' cvs -d${CVSROOT} update -d -P ${CVSCOOPTS}"
UPDATECOMMAND_svn = "/usr/bin/env svn update ${SVNCOOPTS}"
SRCDATE = "${DATE}"
SRCREV = "1"
export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR}/${BASE_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
export PKG_CONFIG_DISABLE_UNINSTALLED = "yes"
+export XDG_DATA_DIRS = "${STAGING_DATADIR}"
+
export QMAKE_MKSPEC_PATH = "${STAGING_DATADIR_NATIVE}/qmake"
export STAGING_SIPDIR = "${STAGING_DATADIR_NATIVE}/sip"
export STAGING_IDLDIR = "${STAGING_DATADIR}/idl"
# Globally toggle certain dependencies
ENTERPRISE_DISTRO ?= "0"
+# Pre-build configuration output
+BUILDCFG_VARS ?= "BB_VERSION METADATA_BRANCH METADATA_REVISION TARGET_ARCH TARGET_OS MACHINE DISTRO DISTRO_VERSION"
+BUILDCFG_VARS_append_arm = " TARGET_FPU"
+BUILDCFG_VARS_append_armeb = " TARGET_FPU"
+BUILDCFG_NEEDEDVARS ?= "TARGET_ARCH TARGET_OS"
+
###
### Config file processing
###
# Include the rest of the config files.
##################################################################
+require conf/collections.inc
include conf/site.conf
include conf/auto.conf
include conf/local.conf