diff options
Diffstat (limited to 'conf/bitbake.conf')
| -rw-r--r-- | conf/bitbake.conf | 232 |
1 files changed, 153 insertions, 79 deletions
diff --git a/conf/bitbake.conf b/conf/bitbake.conf index 7c159afcee..3a68959c6c 100644 --- a/conf/bitbake.conf +++ b/conf/bitbake.conf @@ -1,33 +1,38 @@ ################################################################## +# Recipe Parsing +################################################################## +BBMASK = "/(nonworking|obsolete)/" + +################################################################## # Standard target filesystem layout. ################################################################## # Path prefixes -layout_prefix = "/usr" -layout_exec_prefix = "/usr" -layout_base_prefix = "" +layout_prefix = "${prefix}" +layout_exec_prefix = "${exec_prefix}" +layout_base_prefix = "${base_prefix}" # Base paths -layout_base_bindir = "${layout_base_prefix}/bin" -layout_base_sbindir = "${layout_base_prefix}/sbin" -layout_base_libdir = "${layout_base_prefix}/lib" +layout_base_bindir = "${base_bindir}" +layout_base_sbindir = "${base_sbindir}" +layout_base_libdir = "${base_libdir}" # Architecture independent paths -layout_sysconfdir = "${layout_base_prefix}/etc" -layout_localstatedir = "${layout_base_prefix}/var" -layout_servicedir = "${layout_base_prefix}/srv" -layout_sharedstatedir = "${layout_prefix}/com" -layout_datadir = "${layout_prefix}/share" -layout_infodir = "${layout_datadir}/info" -layout_mandir = "${layout_datadir}/man" -layout_docdir = "${layout_datadir}/doc" +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 = "${layout_exec_prefix}/bin" -layout_sbindir = "${layout_exec_prefix}/sbin" -layout_libdir = "${layout_exec_prefix}/lib" -layout_includedir = "${layout_exec_prefix}/include" -layout_libexecdir = "${layout_exec_prefix}/libexec" +layout_bindir = "${bindir}" +layout_sbindir = "${sbindir}" +layout_libdir = "${libdir}" +layout_includedir = "${includedir}" +layout_libexecdir = "${libexecdir}" ################################################################## # Standard target filesystem paths. @@ -35,31 +40,51 @@ layout_libexecdir = "${layout_exec_prefix}/libexec" # Path prefixes export base_prefix = "" -export prefix = "${layout_prefix}" -export exec_prefix = "${layout_exec_prefix}" +export prefix = "/usr" +export exec_prefix = "/usr" # Base paths -export base_bindir = "${layout_base_bindir}" -export base_sbindir = "${layout_base_sbindir}" -export base_libdir = "${layout_base_libdir}" +export base_bindir = "${base_prefix}/bin" +export base_sbindir = "${base_prefix}/sbin" +export base_libdir = "${base_prefix}/lib" # Architecture independent paths -export datadir = "${layout_datadir}" -export sysconfdir = "${layout_sysconfdir}" -export sharedstatedir = "${layout_sharedstatedir}" -export localstatedir = "${layout_localstatedir}" -export infodir = "${layout_infodir}" -export mandir = "${layout_mandir}" -export docdir = "${layout_docdir}" -export servicedir = "${layout_servicedir}" +export datadir = "${prefix}/share" +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" # Architecture dependent paths -export bindir = "${layout_bindir}" -export sbindir = "${layout_sbindir}" -export libexecdir = "${layout_libexecdir}" -export libdir = "${layout_libdir}" -export includedir = "${layout_includedir}" -export oldincludedir = "${layout_includedir}" +export bindir = "${exec_prefix}/bin" +export sbindir = "${exec_prefix}/sbin" +export libexecdir = "${exec_prefix}/libexec" +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. @@ -102,7 +127,8 @@ EXEEXT = "${HOST_EXEEXT}" BASE_PACKAGE_ARCH = "${HOST_ARCH}" PACKAGE_ARCH = "${BASE_PACKAGE_ARCH}" -MACHINE_ARCH = "${@[bb.data.getVar('HOST_ARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))]}" +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}" @@ -115,7 +141,7 @@ BASEPKG_TARGET_SYS = "${BASE_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}" QEMU_OPTIONS = "" QEMU_OPTIONS_iwmmxt = "-cpu pxa270-c5" QEMU_OPTIONS_armv6 = "-cpu arm1136" -QEMU_OPTIONS_armv6-novfp = ""-cpu arm1136" +QEMU_OPTIONS_armv6-novfp = "-cpu arm1136" QEMU_OPTIONS_armv7a = "-cpu cortex-a8" ################################################################## @@ -157,10 +183,15 @@ 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 -BPN = "${@base_package_name(d)}" +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. @@ -190,19 +221,23 @@ 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}-locale" +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} \ - ${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" @@ -211,9 +246,11 @@ 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 \ - ${base_libdir}/*.a ${base_libdir}/*.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} (= ${EXTENDPV})" @@ -260,23 +297,24 @@ B = "${S}" STAGING_DIR = "${TMPDIR}/staging" +STAGING_DIR_JAVA = "${STAGING_DIR}/java" STAGING_DIR_NATIVE = "${STAGING_DIR}/${BUILD_SYS}" -STAGING_BINDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_bindir}" -STAGING_BINDIR_CROSS = "${STAGING_DIR_NATIVE}${layout_bindir}/${MULTIMACH_HOST_SYS}" -STAGING_BINDIR_CROSS_BASEPKG = "${STAGING_DIR_NATIVE}${layout_bindir}/${BASEPKG_TARGET_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_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}${layout_bindir}" -STAGING_LIBDIR = "${STAGING_DIR_HOST}${layout_libdir}" -STAGING_INCDIR = "${STAGING_DIR_HOST}${layout_includedir}" -STAGING_DATADIR = "${STAGING_DIR_HOST}${layout_datadir}" -STAGING_EXECPREFIXDIR = "${STAGING_DIR_HOST}${layout_exec_prefix}" +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" @@ -301,19 +339,19 @@ 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}/${MULTIMACH_TARGET_SYS}/kernel" ################################################################## # Specific image creation and rootfs population info. ################################################################## -IMAGE_ROOTFS = "${TMPDIR}/rootfs" +IMAGE_ROOTFS = "${TMPDIR}/rootfs/${PN}" IMAGE_BASENAME = "${PN}" IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DATETIME}" IMAGE_LINK_NAME = "${IMAGE_BASENAME}-${MACHINE}" @@ -326,16 +364,17 @@ IMAGE_CMD_jffs2 = "mkfs.jffs2 -x lzo --root=${IMAGE_ROOTFS} --faketime --output= 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 ${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_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 = "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_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) ${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}" @@ -346,6 +385,7 @@ EXTRA_IMAGECMD_squashfs = "" EXTRA_IMAGECMD_squashfs-lzma = "" EXTRA_IMAGECMD_cpio = "" EXTRA_IMAGECMD_cpio.gz = "" +EXTRA_IMAGECMD_cpio.lzma = "" EXTRA_IMAGECMD_ubi = "" EXTRA_IMAGECMD_ubifs = "" @@ -357,8 +397,9 @@ 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" @@ -370,7 +411,7 @@ EXTRA_IMAGEDEPENDS = "" CROSS_DIR = "${TMPDIR}/cross/${BASE_PACKAGE_ARCH}" CROSS_DATADIR = "${CROSS_DIR}/share" -PATH_prepend = "${STAGING_BINDIR_CROSS}:${STAGING_BINDIR_CROSS_BASEPKG}:${STAGING_DIR_NATIVE}${layout_sbindir}:${STAGING_BINDIR_NATIVE}:${CROSS_DIR}/bin:${STAGING_DIR_NATIVE}${layout_base_sbindir}:${STAGING_DIR_NATIVE}${layout_base_bindir}:" +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 ################################################################## @@ -379,6 +420,8 @@ export PATH 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}${TOOLCHAIN_OPTIONS}" export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" @@ -392,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}" @@ -419,8 +463,8 @@ PATCHRESOLVE = 'noop' 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 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}" @@ -437,12 +481,12 @@ export BUILD_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE} \ -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-O1" export LDFLAGS = "${TARGET_LDFLAGS}" -export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${layout_libdir} \ - -Wl,-rpath-link,${STAGING_DIR_TARGET}${layout_libdir} \ +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}${layout_libdir} \ - -Wl,-rpath-link,${STAGING_DIR_SDK}${layout_libdir} \ +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 ? @@ -459,7 +503,7 @@ EXTRA_OEMAKE_prepend_task-compile = "${PARALLEL_MAKE} " FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2" 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. @@ -492,7 +536,7 @@ 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" +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" @@ -528,7 +572,8 @@ UPDATECOMMAND_cvs = "/usr/bin/env 'PATH=${PATH}' cvs -d${CVSROOT} update -d -P $ UPDATECOMMAND_svn = "/usr/bin/env svn update ${SVNCOOPTS}" SRCDATE = "${DATE}" SRCREV = "1" -AUTOREV = "${@bb.fetch.get_srcrev(d)}" +SRCPV = "${@bb.fetch.get_srcrev(d)}" +AUTOREV = "${SRCPV}" SRC_URI = "file://${FILE}" @@ -578,7 +623,7 @@ SLOT = "0" # Other -export PKG_CONFIG_DIR = "${STAGING_DIR}/${BASE_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}${layout_libdir}/pkgconfig" +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" @@ -596,6 +641,8 @@ AUTO_LIBNAME_PKGS = "${PACKAGES}" 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" @@ -605,10 +652,16 @@ 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. # Default OVERRIDES to make compilation fail fast in case of build system misconfiguration. @@ -620,6 +673,7 @@ OVERRIDES = "local:${MACHINE}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUIL # Include the rest of the config files. ################################################################## +require conf/collections.inc include conf/site.conf include conf/auto.conf include conf/local.conf @@ -635,6 +689,7 @@ 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) @@ -700,3 +755,22 @@ COMBINED_FEATURES = "\ ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "usbgadget", d)} \ ${@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', '')}" |
