diff options
Diffstat (limited to 'conf/bitbake.conf')
| -rw-r--r-- | conf/bitbake.conf | 471 |
1 files changed, 362 insertions, 109 deletions
diff --git a/conf/bitbake.conf b/conf/bitbake.conf index d642998e8d..3a68959c6c 100644 --- a/conf/bitbake.conf +++ b/conf/bitbake.conf @@ -1,11 +1,47 @@ ################################################################## +# Recipe Parsing +################################################################## +BBMASK = "/(nonworking|obsolete)/" + +################################################################## +# Standard target filesystem layout. +################################################################## + +# Path prefixes +layout_prefix = "${prefix}" +layout_exec_prefix = "${exec_prefix}" +layout_base_prefix = "${base_prefix}" + +# Base paths +layout_base_bindir = "${base_bindir}" +layout_base_sbindir = "${base_sbindir}" +layout_base_libdir = "${base_libdir}" + +# Architecture independent paths +layout_sysconfdir = "${sysconfdir}" +layout_localstatedir = "${localstatedir}" +layout_servicedir = "${servicedir}" +layout_sharedstatedir = "${sharedstatedir}" +layout_datadir = "${datadir}" +layout_infodir = "${infodir}" +layout_mandir = "${mandir}" +layout_docdir = "${docdir}" + +# Architecture dependent paths +layout_bindir = "${bindir}" +layout_sbindir = "${sbindir}" +layout_libdir = "${libdir}" +layout_includedir = "${includedir}" +layout_libexecdir = "${libexecdir}" + +################################################################## # Standard target filesystem paths. ################################################################## # Path prefixes export base_prefix = "" export prefix = "/usr" -export exec_prefix = "${prefix}" +export exec_prefix = "/usr" # Base paths export base_bindir = "${base_prefix}/bin" @@ -14,13 +50,13 @@ export base_libdir = "${base_prefix}/lib" # Architecture independent paths export datadir = "${prefix}/share" -export sysconfdir = "/etc" -export sharedstatedir = "${prefix}/com" -export localstatedir = "/var" +export sysconfdir = "${base_prefix}/etc" +export servicedir = "${base_prefix}/srv" +export sharedstatedir = "${base_prefix}/com" +export localstatedir = "${base_prefix}/var" export infodir = "${datadir}/info" export mandir = "${datadir}/man" export docdir = "${datadir}/doc" -export servicedir = "/srv" # Architecture dependent paths export bindir = "${exec_prefix}/bin" @@ -30,6 +66,26 @@ export libdir = "${exec_prefix}/lib" export includedir = "${exec_prefix}/include" export oldincludedir = "${exec_prefix}/include" +# +# These must match the various bbclass layout definitions +# +base_bindir_native = "/bin" +base_sbindir_native = "/sbin" +sysconfdir_native = "/etc" +prefix_native = "/usr" +bindir_native = "${prefix_native}/bin" +sbindir_native = "${prefix_native}/sbin" +includedir_native = "${prefix_native}/include" +libdir_native = "${prefix_native}/lib" +datadir_native = "${prefix_native}/share" +bindir_cross = "/bin" + +# +# Cross recipes need to know about the target layout +# := is used carefully here +# +target_datadir := "${datadir}" + ################################################################## # Architecture-dependent build variables. ################################################################## @@ -40,6 +96,7 @@ BUILD_VENDOR = "" BUILD_SYS = "${BUILD_ARCH}${BUILD_VENDOR}-${BUILD_OS}" BUILD_PREFIX = "" BUILD_CC_ARCH = "" +BUILD_EXEEXT = "" HOST_ARCH = "${TARGET_ARCH}" HOST_OS = "${TARGET_OS}" @@ -47,18 +104,46 @@ HOST_VENDOR = "${TARGET_VENDOR}" HOST_SYS = "${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}" HOST_PREFIX = "${TARGET_PREFIX}" HOST_CC_ARCH = "${TARGET_CC_ARCH}" +HOST_EXEEXT = "" -TARGET_ARCH = "INVALID" +TARGET_ARCH ?= "INVALID" TARGET_OS = "INVALID" TARGET_VENDOR = "${BUILD_VENDOR}" TARGET_SYS = "${TARGET_ARCH}${TARGET_VENDOR}${@['-' + bb.data.getVar('TARGET_OS', d, 1), ''][bb.data.getVar('TARGET_OS', d, 1) == ('' or 'custom')]}" TARGET_PREFIX = "${TARGET_SYS}-" TARGET_CC_ARCH = "" - -PACKAGE_ARCH = "${HOST_ARCH}" -MACHINE_ARCH = "${@[bb.data.getVar('HOST_ARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))]}" +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}" + +BASE_PACKAGE_ARCH = "${HOST_ARCH}" +PACKAGE_ARCH = "${BASE_PACKAGE_ARCH}" +PACKAGE_EXTRA_ARCHS ?= "" +MACHINE_ARCH = "${@[bb.data.getVar('BASE_PACKAGE_ARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))]}" 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_armv6-novfp = "-cpu arm1136" +QEMU_OPTIONS_armv7a = "-cpu cortex-a8" + ################################################################## # Date/time variables. ################################################################## @@ -73,19 +158,42 @@ DATETIME = "${DATE}${TIME}" # python-native should be here but python relies on building # its own in staging -ASSUME_PROVIDED = "cvs-native svn-native bzip2-native diffstat-native patch-native python-native-runtime perl-native-runtime texinfo-native util-linux-native" +ASSUME_PROVIDED = "\ + bc-native \ + bzip2-native \ + cvs-native \ + diffstat-native \ + patch-native \ + perl-native-runtime \ + python-native-runtime \ + svn-native \ + texinfo-native \ + util-linux-native \ + " ################################################################## # Package default variables. ################################################################## - PN = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[0] or 'defaultpkgname'}" PV = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[1] or '1.0'}" PR = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[2] or 'r0'}" PF = "${PN}-${EXTENDPE}${PV}-${PR}" EXTENDPE = "${@['','${PE\x7d_'][bb.data.getVar('PE',d,1) > 0]}" +EXTENDPEVER = "${@['','${PE\x7d:'][bb.data.getVar('PE',d,1) > 0]}" +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 = "" + +# Base package name +# Automatically derives "foo" from "foo-native", "foo-cross" or "foo-initial" +# otherwise it is the same as PN and P +SPECIAL_PKGSUFFIX = "-native -cross -initial -intermediate -nativesdk -crosssdk -cross-canadian -sdk" +BPN = "${@base_prune_suffix(bb.data.getVar('PN', d, True), bb.data.getVar('SPECIAL_PKGSUFFIX', d, True).split(), d)}" +BP = "${BPN}-${PV}" + # Package info. SECTION = "base" @@ -108,12 +216,28 @@ PROVIDES = "" PROVIDES_prepend = "${P} ${PF} ${PN} " RPROVIDES = "" -PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-dev ${PN}-locale" +MULTI_PROVIDER_WHITELIST = "virtual/libintl" + +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}-static ${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} \ - /bin/* /sbin/* /lib/*.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" @@ -122,19 +246,21 @@ FILES_${PN}-doc = "${docdir} ${mandir} ${infodir} ${datadir}/gtk-doc \ ${datadir}/gnome/help" SECTION_${PN}-doc = "doc" -FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la \ - ${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig \ - /lib/*.a /lib/*.o ${datadir}/aclocal" +FILES_${PN}-static = "${libdir}/*.a ${base_libdir}/*.a" + +FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \ + ${libdir}/*.o ${libdir}/pkgconfig \ + ${base_libdir}/*.o ${datadir}/aclocal ${datadir}/pkgconfig" SECTION_${PN}-dev = "devel" ALLOW_EMPTY_${PN}-dev = "1" -RDEPENDS_${PN}-dev = "${@['', '${PN} (>= ${PV})'][packaged(bb.data.getVar('PN', d, 1), d) == True]}" +RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPV})" FILES_${PN}-dbg = "${bindir}/.debug ${sbindir}/.debug ${libexecdir}/.debug ${libdir}/.debug \ - /bin/.debug /sbin/.debug /lib/.debug ${libdir}/${PN}/.debug \ - ${libdir}/matchbox-panel/.debug" + ${base_bindir}/.debug ${base_sbindir}/.debug ${base_libdir}/.debug ${libdir}/${PN}/.debug \ + ${libdir}/matchbox-panel/.debug" SECTION_${PN}-dbg = "devel" ALLOW_EMPTY_${PN}-dbg = "1" -RRECOMMENDS_${PN}-dbg = "${@['', '${PN} (>= ${PV})'][packaged(bb.data.getVar('PN', d, 1), d) == True]}" +RRECOMMENDS_${PN}-dbg = "${PN} (= ${EXTENDPV})" FILES_${PN}-locale = "${datadir}/locale" @@ -142,9 +268,12 @@ FILES_${PN}-locale = "${datadir}/locale" 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}/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. @@ -152,30 +281,53 @@ FILESDIR = "${@bb.which(bb.data.getVar('FILESPATH', d, 1), '.')}" TMPDIR = "${TOPDIR}/tmp" CACHE = "${TMPDIR}/cache${@['', '/' + str(bb.data.getVar('MACHINE', d, 1))][bool(bb.data.getVar('MACHINE', d, 1))]}" -CVSDIR = "${DL_DIR}/cvs" -SVNDIR = "${DL_DIR}/svn" -GITDIR = "${DL_DIR}/git" - -STAMP = "${TMPDIR}/stamps/${PF}" -WORKDIR = "${TMPDIR}/work/${PF}" +CO_DIR = "${DL_DIR}" +CVSDIR = "${CO_DIR}/cvs" +SVNDIR = "${CO_DIR}/svn" +GITDIR = "${CO_DIR}/git" +BZRDIR = "${CO_DIR}/bzr" +HGDIR = "${CO_DIR}/hg" + +STAMP = "${TMPDIR}/stamps/${MULTIMACH_TARGET_SYS}/${PF}" +WORKDIR = "${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PF}" T = "${WORKDIR}/temp" D = "${WORKDIR}/image" -S = "${WORKDIR}/${P}" +S = "${WORKDIR}/${BP}" B = "${S}" STAGING_DIR = "${TMPDIR}/staging" -STAGING_BINDIR = "${STAGING_DIR}/${HOST_SYS}/bin" -STAGING_BINDIR_CROSS = "${STAGING_DIR}/${BUILD_SYS}/bin/${HOST_SYS}" -STAGING_BINDIR_NATIVE = "${STAGING_DIR}/${BUILD_SYS}/bin" -STAGING_LIBDIR = "${STAGING_DIR}/${HOST_SYS}/lib" -STAGING_LIBDIR_NATIVE = "${STAGING_DIR}/${BUILD_SYS}/lib" -STAGING_INCDIR = "${STAGING_DIR}/${HOST_SYS}/include" -STAGING_DATADIR = "${STAGING_DIR}/${HOST_SYS}/share" -STAGING_LOADER_DIR = "${STAGING_DIR}/${HOST_SYS}/loader" -STAGING_FIRMWARE_DIR = "${STAGING_DIR}/${HOST_SYS}/firmware" + +STAGING_DIR_JAVA = "${STAGING_DIR}/java" +STAGING_DIR_NATIVE = "${STAGING_DIR}/${BUILD_SYS}" +STAGING_BINDIR_NATIVE = "${STAGING_DIR_NATIVE}${bindir_native}" +STAGING_BINDIR_CROSS = "${STAGING_DIR_NATIVE}${bindir_native}/${MULTIMACH_HOST_SYS}" +STAGING_BINDIR_CROSS_BASEPKG = "${STAGING_DIR_NATIVE}${bindir_native}/${BASEPKG_TARGET_SYS}" +STAGING_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}${libdir_native}" +STAGING_INCDIR_NATIVE = "${STAGING_DIR_NATIVE}${includedir_native}" +STAGING_ETCDIR_NATIVE = "${STAGING_DIR_NATIVE}${sysconfdir_native}" +STAGING_DATADIR_NATIVE = "${STAGING_DIR_NATIVE}${datadir_native}" + +# 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}${bindir}" +STAGING_LIBDIR = "${STAGING_DIR_HOST}${libdir}" +STAGING_INCDIR = "${STAGING_DIR_HOST}${includedir}" +STAGING_DATADIR = "${STAGING_DIR_HOST}${datadir}" +STAGING_EXECPREFIXDIR = "${STAGING_DIR_HOST}${exec_prefix}" +STAGING_LOADER_DIR = "${STAGING_DIR_HOST}/loader" +STAGING_FIRMWARE_DIR = "${STAGING_DIR_HOST}/firmware" STAGING_PYDIR = "${STAGING_DIR}/lib/python2.4" -DEPLOY_DIR = "${TMPDIR}/deploy" +# 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}" + +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" @@ -183,72 +335,99 @@ DEPLOY_DIR_DEB = "${DEPLOY_DIR}/deb" DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images" DEPLOY_DIR_TOOLS = "${DEPLOY_DIR}/tools" +PKGDATA_DIR = "${TMPDIR}/pkgdata/${MULTIMACH_TARGET_SYS}" + +SDK_NAME = "${DISTRO}/${TARGET_ARCH}" +SDK_PATH = "/usr/local/${SDK_NAME}" +SDKPATH = "${SDK_PATH}" + ################################################################## # Kernel info. ################################################################## -OLDEST_KERNEL = "2.4.0" -STAGING_KERNEL_DIR = "${STAGING_DIR}/${HOST_SYS}/kernel" +STAGING_KERNEL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/kernel" ################################################################## # Specific image creation and rootfs population info. ################################################################## -IMAGE_ROOTFS = "${TMPDIR}/rootfs" -IMAGE_BASENAME = "rootfs" +IMAGE_ROOTFS = "${TMPDIR}/rootfs/${PN}" +IMAGE_BASENAME = "${PN}" IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DATETIME}" 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_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_cramfs = "mkcramfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cramfs ${EXTRA_IMAGECMD}" -IMAGE_CMD_ext2 = "genext2fs -b ${IMAGE_ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2 ${EXTRA_IMAGECMD}" -IMAGE_CMD_ext2.gz = "rm -rf ${DEPLOY_DIR_IMAGE}/tmp.gz && mkdir ${DEPLOY_DIR_IMAGE}/tmp.gz; genext2fs -b ${IMAGE_ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2 ${EXTRA_IMAGECMD}; gzip -f -9 ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2; mv ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2.gz ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2.gz; rmdir ${DEPLOY_DIR_IMAGE}/tmp.gz" -IMAGE_CMD_ext3 = "genext2fs -b ${IMAGE_ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3 ${EXTRA_IMAGECMD}; tune2fs -j ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3" -IMAGE_CMD_ext3.gz = "rm -rf ${DEPLOY_DIR_IMAGE}/tmp.gz && mkdir ${DEPLOY_DIR_IMAGE}/tmp.gz; genext2fs -b ${IMAGE_ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3 ${EXTRA_IMAGECMD}; tune2fs -j ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3; gzip -f -9 ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3; mv ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3.gz ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3.gz; rmdir ${DEPLOY_DIR_IMAGE}/tmp.gz" +IMAGE_CMD_ext2 = "genext2fs -b ${ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2 ${EXTRA_IMAGECMD}" +IMAGE_CMD_ext2.gz = "install -d ${DEPLOY_DIR_IMAGE}/tmp.gz ; genext2fs -b ${ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2 ${EXTRA_IMAGECMD}; gzip -f -9 ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2; mv ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2.gz ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2.gz" +IMAGE_CMD_ext3 = "genext2fs -b ${ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3 ${EXTRA_IMAGECMD}; tune2fs -j ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3" +IMAGE_CMD_ext3.gz = "install -d ${DEPLOY_DIR_IMAGE}/tmp.gz ; genext2fs -b ${ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3 ${EXTRA_IMAGECMD}; tune2fs -j ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3; gzip -f -9 ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3; mv ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3.gz ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3.gz" IMAGE_CMD_squashfs = "mksquashfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.squashfs ${EXTRA_IMAGECMD} -noappend" -IMAGE_CMD_squashfs-lzma = "mksquashfs-lzma ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.squashfs-lzma ${EXTRA_IMAGECMD} -noappend" +IMAGE_CMD_squashfs-lzma = "mksquashfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.squashfs-lzma ${EXTRA_IMAGECMD} -noappend -comp lzma" IMAGE_CMD_tar = "cd ${IMAGE_ROOTFS} && tar -cvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar ." IMAGE_CMD_tar.gz = "cd ${IMAGE_ROOTFS} && tar -zcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.gz ." 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)" -IMAGE_CMD_cpio.gz = "cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc | gzip -c -9 >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio.gz)" +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_cpio.lzma = "cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc | lzma -c -9 >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio.lzma) ${EXTRA_IMAGECMD}" +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_yaffs2 = "1" EXTRA_IMAGECMD_squashfs = "" EXTRA_IMAGECMD_squashfs-lzma = "" +EXTRA_IMAGECMD_cpio = "" +EXTRA_IMAGECMD_cpio.gz = "" +EXTRA_IMAGECMD_cpio.lzma = "" +EXTRA_IMAGECMD_ubi = "" +EXTRA_IMAGECMD_ubifs = "" IMAGE_DEPENDS = "" IMAGE_DEPENDS_jffs2 = "mtd-utils-native" +IMAGE_DEPENDS_yaffs2 = "yaffs2-utils-native" IMAGE_DEPENDS_cramfs = "cramfs-native" IMAGE_DEPENDS_ext2 = "genext2fs-native" IMAGE_DEPENDS_ext2.gz = "genext2fs-native" IMAGE_DEPENDS_ext3 = "genext2fs-native e2fsprogs-native" IMAGE_DEPENDS_ext3.gz = "genext2fs-native e2fsprogs-native" +IMAGE_DEPENDS_cpio.lzma = "lzma-native" IMAGE_DEPENDS_squashfs = "squashfs-tools-native" -IMAGE_DEPENDS_squashfs-lzma = "squashfs-lzma-tools-native" +IMAGE_DEPENDS_squashfs-lzma = "squashfs-tools-native" +IMAGE_DEPENDS_ubi = "mtd-utils-native" +IMAGE_DEPENDS_ubifs = "mtd-utils-native" + EXTRA_IMAGEDEPENDS = "" ################################################################## # Toolchain info. ################################################################## -CROSS_DIR = "${TMPDIR}/cross" +CROSS_DIR = "${TMPDIR}/cross/${BASE_PACKAGE_ARCH}" CROSS_DATADIR = "${CROSS_DIR}/share" -export PATH_prepend = "${STAGING_BINDIR_CROSS}:${STAGING_BINDIR_NATIVE}:${CROSS_DIR}/bin:" +PATH_prepend = "${STAGING_BINDIR_CROSS}:${STAGING_BINDIR_CROSS_BASEPKG}:${STAGING_DIR_NATIVE}${sbindir_native}:${STAGING_BINDIR_NATIVE}:${CROSS_DIR}/${bindir_cross}:${STAGING_DIR_NATIVE}${base_sbindir_native}:${STAGING_DIR_NATIVE}${base_bindir_native}:" +export PATH ################################################################## # Build utility info. ################################################################## -CCACHE = "${@bb.which(bb.data.getVar('PATH', d), 'ccache') and 'ccache '}" +CCACHE = "${@bb.which(bb.data.getVar('PATH', d, 1), 'ccache') and 'ccache '}" +TOOLCHAIN_OPTIONS = "" +TOOLCHAIN_PATH ?= "" +TOOLCHAIN_SYSPATH ?= "" -export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}" -export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}" -export F77 = "${CCACHE}${HOST_PREFIX}g77 ${HOST_CC_ARCH}" -export CPP = "${HOST_PREFIX}gcc -E" -export LD = "${HOST_PREFIX}ld" +export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" +export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" +export F77 = "${CCACHE}${HOST_PREFIX}g77 ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" +export CPP = "${HOST_PREFIX}gcc -E${TOOLCHAIN_OPTIONS}" +export LD = "${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS}" export CCLD = "${CC}" export AR = "${HOST_PREFIX}ar" export AS = "${HOST_PREFIX}as" @@ -256,6 +435,7 @@ export RANLIB = "${HOST_PREFIX}ranlib" export STRIP = "${HOST_PREFIX}strip" export OBJCOPY = "${HOST_PREFIX}objcopy" export OBJDUMP = "${HOST_PREFIX}objdump" +export NM = "${HOST_PREFIX}nm" PYTHON = "${@sys.executable}" export BUILD_CC = "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}" @@ -281,24 +461,32 @@ PATCHRESOLVE = 'noop' # Build flags and options. ################################################################## -export BUILD_CPPFLAGS = "-isystem${STAGING_DIR}/${BUILD_SYS}/include" +export BUILD_CPPFLAGS = "-isystem${STAGING_INCDIR_NATIVE}" export CPPFLAGS = "${TARGET_CPPFLAGS}" -export TARGET_CPPFLAGS = "-isystem${STAGING_DIR}/${TARGET_SYS}/include" +export TARGET_CPPFLAGS = "-isystem${STAGING_DIR_TARGET}${includedir}" +export SDK_CPPFLAGS = "-isystem${STAGING_DIR_SDK}${includedir} -isystem${STAGING_DIR_HOST}${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,${STAGING_LIBDIR_NATIVE} -Wl,-O1" -export BUILD_LDFLAGS = "-L${STAGING_DIR}/${BUILD_SYS}/lib \ - -Wl,-rpath-link,${STAGING_DIR}/${BUILD_SYS}/lib \ - -Wl,-rpath,${STAGING_DIR}/${BUILD_SYS}/lib -Wl,-O1" export LDFLAGS = "${TARGET_LDFLAGS}" -export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \ - -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib \ +export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${libdir} \ + -Wl,-rpath-link,${STAGING_DIR_TARGET}${libdir} \ + -Wl,-O1 \ + ${TARGET_LINK_HASH_STYLE}" +export SDK_LDFLAGS = "-L${STAGING_DIR_SDK}${libdir} \ + -Wl,-rpath-link,${STAGING_DIR_SDK}${libdir} \ -Wl,-O1" # Which flags to leave by strip-flags() in bin/build/oebuild.sh ? @@ -306,15 +494,16 @@ ALLOWED_FLAGS = "-O -mcpu -march -pipe" # Pass parallel make options to the compile task only EXTRA_OEMAKE_prepend_task_do_compile = "${PARALLEL_MAKE} " +EXTRA_OEMAKE_prepend_task-compile = "${PARALLEL_MAKE} " ################################################################## # Optimization flags. ################################################################## 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" +BUILD_OPTIMIZATION = "-O2 -g" ################################################################## # Bootstrap stuff. @@ -327,9 +516,9 @@ BOOTSTRAP_EXTRA_RRECOMMENDS = "" # Palmtop stuff. ################################################################## -export QTDIR = "${STAGING_DIR}/${HOST_SYS}/qt2" -export QPEDIR = "${STAGING_DIR}/${HOST_SYS}" -export OPIEDIR = "${STAGING_DIR}/${HOST_SYS}" +export QTDIR = "${STAGING_DIR_HOST}/qt2" +export QPEDIR = "${STAGING_DIR_HOST}" +export OPIEDIR = "${STAGING_DIR_HOST}" export palmtopdir = "${libdir}/opie" export palmqtdir = "${palmtopdir}" @@ -337,25 +526,30 @@ export palmqtdir = "${palmtopdir}" # 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" +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://distfiles.gentoo.org/distfiles" +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" -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}" +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" -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" -FREEDESKTOP_CVS = "cvs://anoncvs:anoncvs@anoncvs.freedesktop.org/cvs" -GENTOO_MIRROR = "http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles" -APACHE_MIRROR = "http://www.apache.org/dist" -KERNELORG_MIRROR = "http://kernel.org/" # You can use the mirror of your country to get faster downloads by putting # export DEBIAN_MIRROR = "ftp://ftp.de.debian.org/debian/pool" @@ -363,19 +557,23 @@ KERNELORG_MIRROR = "http://kernel.org/" 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 = "${@base_get_srcrev(d)}" +SRCREV = "1" +SRCPV = "${@bb.fetch.get_srcrev(d)}" +AUTOREV = "${SRCPV}" SRC_URI = "file://${FILE}" @@ -384,15 +582,16 @@ SRC_URI = "file://${FILE}" ################################################################## SHELLRCCMD = "bash --rcfile $TERMRCFILE" +export SHELLCMDS = "${SHELLRCCMD}" # Some common terminal programs to choose from GNOME_TERMCMD = 'gnome-terminal --disable-factory -t "$TERMWINDOWTITLE"' -GNOME_TERMCMDRUN = '${GNOME_TERMCMD} -x ${SHELLRCCMD}' +GNOME_TERMCMDRUN = '${GNOME_TERMCMD} -x $SHELLCMDS' SCREEN_TERMCMD = 'screen -D -m -t "$TERMWINDOWTITLE"' -SCREEN_TERMCMDRUN = '${SCREEN_TERMCMD} ${SHELLRCCMD}' +SCREEN_TERMCMDRUN = '${SCREEN_TERMCMD} $SHELLCMDS' XTERM_TERMCMD = 'xterm -T "$TERMWINDOWTITLE"' -XTERM_TERMCMDRUN = '${XTERM_TERMCMD} -e ${SHELLRCCMD}' +XTERM_TERMCMDRUN = '${XTERM_TERMCMD} -e $SHELLCMDS' KONSOLE_TERMCMD = 'konsole -T "$TERMWINDOWTITLE"' -KONSOLE_TERMCMDRUN = '${KCONSOLE_TERMCMD} -e ${SHELLRCCMD}' +KONSOLE_TERMCMDRUN = '${KONSOLE_TERMCMD} -e $SHELLCMDS' # Set a default TERMCMD ?= "${GNOME_TERMCMD}" @@ -424,62 +623,97 @@ SLOT = "0" # Other -export PKG_CONFIG_DIR = "${STAGING_LIBDIR}/pkgconfig" -export PKG_CONFIG_PATH = "${PKG_CONFIG_DIR}" +export PKG_CONFIG_DIR = "${STAGING_DIR}/${BASE_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}${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_DIR}/${BUILD_SYS}/share/qmake" -export STAGING_SIPDIR = "${STAGING_DIR}/${BUILD_SYS}/share/sip" +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" # library package naming AUTO_LIBNAME_PKGS = "${PACKAGES}" +# Globally toggle certain dependencies +ENTERPRISE_DISTRO ?= "0" + +# Pre-build configuration output + +BUILDCFG_HEADER = "Build Configuration:" +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 ### +# Overrides are processed left to right, so the ones that are named later take precedence. +# You generally want them to go from least to most specific. +# # This means that an envionment variable named '<foo>_arm' overrides an -# environment variable '<foo>' (when ${TARGET_ARCH} is arm). And the same: an -# environment variable '<foo>_ramses' overrides both '<foo>' and '<foo>_arm -# when ${MACHINE} is 'ramses'. And finally '<foo>_local' overrides anything. +# environment variable '<foo>' (when ${TARGET_ARCH} is arm). +# an environment variable '<foo>_ramses' overrides '<foo>' but doesn't override +# '<foo>_arm' when ${MACHINE} is 'ramses'. +# If you use combination ie '<foo>_arm_ramses', then '<foo>_arm_ramses' will override +# '<foo>_arm' and then '<foo>' will be overriden with that value from '<foo>_arm'. +# And finally '<foo>_local' overrides anything, but with lowest priority. # # This works for functions as well, they are really just environment variables. -#OVERRIDES = "local:${MACHINE}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}" -# Alternative OVERRIDES to make compilation fail fast, we will enable it by default soon +# Default OVERRIDES to make compilation fail fast in case of build system misconfiguration. OVERRIDES = "local:${MACHINE}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}" +# Alternative OVERRIDES definition without "fail fast", usually only for native building and Scratchbox toolchains. +#OVERRIDES = "local:${MACHINE}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}" ################################################################## # Include the rest of the config files. ################################################################## +require conf/collections.inc include conf/site.conf include conf/auto.conf include conf/local.conf +# USERDISTRO should always contain original DISTRO value as set by user +# If a distro config overrides DISTRO for whatever reason (e.g. to get +# overrides like it wants), USERDISTRO must be reassigned with := first +USERDISTRO = "${DISTRO}" include conf/build/${BUILD_SYS}.conf include conf/target/${TARGET_SYS}.conf include conf/machine/${MACHINE}.conf include conf/distro/${DISTRO}.conf include conf/documentation.conf require conf/sanity.conf +require conf/abi_version.conf +require conf/enterprise.conf +require conf/compatibility-providers.conf ################################################################## # Weak variables (usually to retain backwards compatibility) ################################################################## DL_DIR ?= "${TMPDIR}/downloads" -IMAGE_FSTYPES ?= "jffs2" +IMAGE_FSTYPES ?= "tar.gz" PCMCIA_MANAGER ?= "pcmcia-cs" -MACHINE_TASK_PROVIDER ?= "task-base" +DEFAULT_TASK_PROVIDER ?= "task-base" +MACHINE_TASK_PROVIDER ?= "${DEFAULT_TASK_PROVIDER}" +IMAGE_ROOTFS_SIZE ?= "65536" IMAGE_ROOTFS_SIZE_ext2 ?= "65536" IMAGE_ROOTFS_SIZE_ext2.gz ?= "65536" IMAGE_ROOTFS_SIZE_ext3 ?= "65536" IMAGE_ROOTFS_SIZE_ext3.gz ?= "65536" +DISTRO_PR ?= "" # Forcefully set CACHE now so future changes to things like # MACHINE don't change the path to the cache CACHE := "${CACHE}" +# Default to disabling packaged staging code +export PSTAGING_ACTIVE = "0" + ################################################################## # Magic Cookie for SANITY CHECK ################################################################## @@ -514,6 +748,7 @@ COMBINED_FEATURES = "\ ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "alsa", d)} \ ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "bluetooth", d)} \ ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "ext2", d)} \ + ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "vfat", d)} \ ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "irda", d)} \ ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "pcmcia", d)} \ ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "pci", d)} \ @@ -521,3 +756,21 @@ COMBINED_FEATURES = "\ ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "usbhost", d)} \ ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "wifi", d)}" +# We want madwifi if all of the following are true: +# - distro has pci, wifi, and madwifi in its features +# - machine has pci in its features +COMBINED_FEATURES += "${@base_ifelse( \ + base_contains('DISTRO_FEATURES', ('pci', 'wifi', 'madwifi'), True, False, d) and \ + base_contains('MACHINE_FEATURES', 'pci', True, False, d), \ + 'madwifi', '')}" + +# We want hostap if all of the following are true: +# - 'wifi' and 'hostap' are in distro features +# - either 'pci' or 'pcmcia' are in both distro and machine features +COMBINED_FEATURES += "${@base_ifelse( \ + base_contains('DISTRO_FEATURES', ('wifi', 'hostap'), True, False, d) and \ + ((base_contains('MACHINE_FEATURES', 'pci', True, False, d) and \ + base_contains('DISTRO_FEATURES', 'pci', True, False, d)) or \ + (base_contains('MACHINE_FEATURES', 'pcmcia', True, False, d) and \ + base_contains('DISTRO_FEATURES', 'pcmcia', True, False, d))), \ + 'hostap', '')}" |
