diff options
Diffstat (limited to 'meta/conf/bitbake.conf')
| -rw-r--r-- | meta/conf/bitbake.conf | 620 |
1 files changed, 359 insertions, 261 deletions
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 4c1b6f1fc..707301802 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -1,65 +1,71 @@ ################################################################## -# Standard target filesystem layout. -################################################################## - -# Path prefixes -layout_prefix = "/usr" -layout_exec_prefix = "/usr" -layout_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" - -# 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" - -# 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" - -################################################################## # Standard target filesystem paths. ################################################################## +# +# If changing these values, beware that native/cross/nativesdk bbclass +# files may also need changes to keep in sync. +# + +# Used by multilib code to change the library paths +baselib = "${BASELIB}" +baselib[vardepvalue] = "${baselib}" +BASELIB = "lib" +BASELIB_powerpc64 = "lib64" # 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}/${baselib}" # 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}/${baselib}" +export includedir = "${exec_prefix}/include" +export oldincludedir = "${exec_prefix}/include" +export systemd_unitdir = "${base_libdir}/systemd" + +# Linkage between native/cross/nativesdk layouts +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" +base_libdir_native = "/lib" +datadir_native = "${prefix_native}/share" +bindir_cross = "/bin" +bindir_crossscripts = "${bindir}/crossscripts" +prefix_nativesdk = "/usr" +bindir_nativesdk = "${prefix_nativesdk}/bin" +includedir_nativesdk = "${prefix_nativesdk}/include" +libdir_nativesdk = "${prefix_nativesdk}/lib" +base_libdir_nativesdk = "/lib" +localstatedir_nativesdk = "/var" + +# +# Cross recipes need to know about the target layout +# := is used carefully here +# +target_datadir := "${datadir}" ################################################################## # Architecture-dependent build variables. @@ -71,6 +77,9 @@ BUILD_VENDOR = "" BUILD_SYS = "${BUILD_ARCH}${BUILD_VENDOR}-${BUILD_OS}" BUILD_PREFIX = "" BUILD_CC_ARCH = "" +BUILD_LD_ARCH = "" +BUILD_AS_ARCH = "" +BUILD_EXEEXT = "" HOST_ARCH = "${TARGET_ARCH}" HOST_OS = "${TARGET_OS}" @@ -78,24 +87,47 @@ HOST_VENDOR = "${TARGET_VENDOR}" HOST_SYS = "${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}" HOST_PREFIX = "${TARGET_PREFIX}" HOST_CC_ARCH = "${TARGET_CC_ARCH}" +HOST_LD_ARCH = "${TARGET_LD_ARCH}" +HOST_AS_ARCH = "${TARGET_AS_ARCH}" +HOST_EXEEXT = "" + +TUNE_ARCH ??= "INVALID" +TUNE_CCARGS ??= "" +TUNE_LDARGS ??= "" +TUNE_ASARGS ??= "" +TUNE_FEATURES ??= "${TUNE_FEATURES_tune-${DEFAULTTUNE}}" +LIBCEXTENSION ??= "" +ABIEXTENSION ??= "" -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_ARCH = "${TUNE_ARCH}" +TARGET_OS = "linux${LIBCEXTENSION}${ABIEXTENSION}" +TARGET_VENDOR = "-oe" +TARGET_SYS = "${TARGET_ARCH}${TARGET_VENDOR}${@['-' + d.getVar('TARGET_OS', True), ''][d.getVar('TARGET_OS', True) == ('' or 'custom')]}" TARGET_PREFIX = "${TARGET_SYS}-" -TARGET_CC_ARCH = "" +TARGET_CC_ARCH = "${TUNE_CCARGS}" +TARGET_LD_ARCH = "${TUNE_LDARGS}" +TARGET_AS_ARCH = "${TUNE_ASARGS}" + +SDK_ARCH = "${BUILD_ARCH}" +SDK_OS = "${BUILD_OS}" +SDK_VENDOR = "-oesdk" +SDK_SYS = "${SDK_ARCH}${SDK_VENDOR}${@['-' + d.getVar('SDK_OS', True), ''][d.getVar('SDK_OS', True) == ('' or 'custom')]}" +SDK_PREFIX = "${SDK_SYS}-" +SDK_CC_ARCH = "${BUILD_CC_ARCH}" +SDK_PACKAGE_ARCHS = "all any noarch ${SDK_ARCH}-nativesdk" +SDK_LD_ARCH = "${BUILD_LD_ARCH}" +SDK_AS_ARCH = "${BUILD_AS_ARCH}" -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_ARCHS = "all any noarch ${TARGET_ARCH} ${PACKAGE_EXTRA_ARCHS} ${MACHINE}" +PACKAGE_ARCH = "${TUNE_PKGARCH}" +MACHINE_ARCH = "${@[d.getVar('TUNE_PKGARCH', True), d.getVar('MACHINE', True)][bool(d.getVar('MACHINE', True))].replace('-', '_')}" +PACKAGE_EXTRA_ARCHS ??= "${PACKAGE_EXTRA_ARCHS_tune-${DEFAULTTUNE}}" +PACKAGE_ARCHS = "all any noarch ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}" +# MACHINE_ARCH shouldn't be included here as a variable dependency +# since machine specific packages are handled using multimachine +PACKAGE_ARCHS[vardepsexclude] = "MACHINE_ARCH" -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}" +MULTIMACH_TARGET_SYS = "${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}" +MULTIMACH_HOST_SYS = "${PACKAGE_ARCH}${HOST_VENDOR}-${HOST_OS}" # select proper CPU to get binary locales generated QEMU_OPTIONS = "" @@ -119,45 +151,81 @@ DATETIME = "${DATE}${TIME}" # its own in staging ASSUME_PROVIDED = "\ bzip2-native \ - cvs-native \ grep-native \ diffstat-native \ patch-native \ perl-native-runtime \ python-native-runtime \ - svn-native \ + subversion-native \ tar-native \ - texinfo-native \ - util-linux-native \ + virtual/libintl-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'}" +PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[0] or 'defaultpkgname'}" +PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[1] or '1.0'}" +PR = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[2] or 'r0'}" +PRINC ?= "0" 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}" +EXTENDPE = "${@['','${PE\x7d_'][d.getVar('PE',1) > 0]}" P = "${PN}-${PV}" +EXTENDPRAUTO = "${@['.${PRAUTO\x7d',''][d.getVar('PRAUTO',1) is None]}" +PRAUTOINX = "${PF}" + +PKGV ?= "${PV}" +PKGR ?= "${PR}${EXTENDPRAUTO}" +PKGE ?= "${@['','${PE\x7d'][d.getVar('PE',1) > 0]}" +EXTENDPKGEVER = "${@['','${PKGE\x7d:'][d.getVar('PKGE',1).strip() != '']}" +EXTENDPKGV ?= "${EXTENDPKGEVER}${PKGV}-${PKGR}" + # 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-sdk -cross -sdk -initial -intermediate" -BPN = "${@base_prune_suffix(bb.data.getVar('PN', d, True), bb.data.getVar('SPECIAL_PKGSUFFIX', d, True).split(), d)}" +SPECIAL_PKGSUFFIX = "-native -cross -initial -intermediate -nativesdk -crosssdk -cross-canadian" +BPN = "${@base_prune_suffix(d.getVar('PN', True), d.getVar('SPECIAL_PKGSUFFIX', True).split(), d)}" BP = "${BPN}-${PV}" +# +# network based PR service +# +USE_PR_SERV = "${@[1,0][((not d.getVar('PRSERV_HOST', True)) or (not d.getVar('PRSERV_PORT', True))) and (not d.getVar('PRSERV_LOCKDOWN', True))]}" + # Package info. SECTION = "base" PRIORITY = "optional" -DESCRIPTION = "Version ${PV}-${PR} of package ${PN}" -LICENSE = "unknown" -MAINTAINER = "Poky Team <poky@openedhand.com>" +SUMMARY ?= "${PN} version ${PV}-${PR}" +DESCRIPTION ?= "${SUMMARY}" + +# The following two are commented out because they result in a recursive +# definition of the variable in some corner cases. These are left in +# to illustrate the intended behavior. +#SUMMARY_${PN} ?= "${SUMMARY}" +#DESCRIPTION_${PN} ?= "${DESCRIPTION}" + +SUMMARY_${PN}-dbg ?= "${SUMMARY} - Debugging files" +DESCRIPTION_${PN}-dbg ?= "${DESCRIPTION} \ +This package contains ELF symbols and related sources for debugging purposes." + +SUMMARY_${PN}-dev ?= "${SUMMARY} - Development files" +DESCRIPTION_${PN}-dev ?= "${DESCRIPTION} \ +This package contains symbolic links, header files, and \ +related items necessary for software development." + +SUMMARY_${PN}-staticdev ?= "${SUMMARY} - Development files (Static Libraries)" +DESCRIPTION_${PN}-staticdev?= "${DESCRIPTION} \ +This package contains static libraries for software development." + +SUMMARY_${PN}-doc ?= "${SUMMARY} - Documentation files" +DESCRIPTION_${PN}-doc ?= "${DESCRIPTION} \ +This package contains documentation." + +LICENSE = "INVALID" +MAINTAINER = "OE-Core Developers <openembedded-core@lists.openembedded.org>" HOMEPAGE = "unknown" # Package dependencies and provides. @@ -173,23 +241,27 @@ PROVIDES = "" PROVIDES_prepend = "${P} ${PF} ${PN} " RPROVIDES = "" -MULTI_PROVIDER_WHITELIST = "virtual/libintl" +MULTI_PROVIDER_WHITELIST = "virtual/libintl virtual/libintl-native virtual/libintl-nativesdk virtual/xserver virtual/update-alternatives-native virtual/update-alternatives" 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}-staticdev ${PN} ${PN}-doc ${PN}-dev ${PN}-locale" PACKAGES_DYNAMIC = "${PN}-locale-*" FILES = "" FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \ ${sysconfdir} ${sharedstatedir} ${localstatedir} \ - ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*${SOLIBS} ${datadir}/${PN} ${libdir}/${PN}/* \ + ${base_bindir}/* ${base_sbindir}/* \ + ${base_libdir}/*${SOLIBS} \ + ${datadir}/${BPN} ${libdir}/${BPN}/* \ ${datadir}/pixmaps ${datadir}/applications \ ${datadir}/idl ${datadir}/omf ${datadir}/sounds \ ${libdir}/bonobo/servers" @@ -199,42 +271,52 @@ FILES_${PN}-doc = "${docdir} ${mandir} ${infodir} ${datadir}/gtk-doc \ SECTION_${PN}-doc = "doc" FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \ - ${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig \ - ${base_libdir}/*.a ${base_libdir}/*.o ${datadir}/aclocal" + ${libdir}/*.o ${libdir}/pkgconfig ${datadir}/pkgconfig \ + ${datadir}/aclocal ${base_libdir}/*.o" SECTION_${PN}-dev = "devel" ALLOW_EMPTY_${PN}-dev = "1" -RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPV})" +RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})" + +FILES_${PN}-staticdev = "${libdir}/*.a ${base_libdir}/*.a ${libdir}/${BPN}/*.a" +SECTION_${PN}-staticdev = "devel" +RDEPENDS_${PN}-staticdev = "${PN}-dev (= ${EXTENDPKGV})" + +DOTDEBUG-dbg = "${bindir}/.debug ${sbindir}/.debug ${libexecdir}/.debug ${libdir}/.debug \ + ${base_bindir}/.debug ${base_sbindir}/.debug ${base_libdir}/.debug ${libdir}/${BPN}/.debug \ + ${libdir}/matchbox-panel/.debug /usr/src/debug" + +DEBUGFILEDIRECTORY-dbg = "/usr/lib/debug /usr/src/debug" + +FILES_${PN}-dbg = "${@d.getVar(['DOTDEBUG-dbg', 'DEBUGFILEDIRECTORY-dbg'][d.getVar('PACKAGE_DEBUG_SPLIT_STYLE', True) == 'debug-file-directory'], True)}" -FILES_${PN}-dbg = "${bindir}/.debug ${sbindir}/.debug ${libexecdir}/.debug ${libdir}/.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} (= ${EXTENDPV})" +RRECOMMENDS_${PN}-dbg = "${PN} (= ${EXTENDPKGV})" FILES_${PN}-locale = "${datadir}/locale" # File manifest -FILE_DIRNAME = "${@os.path.dirname(bb.data.getVar('FILE', d))}" +FILE_DIRNAME = "${@os.path.dirname(d.getVar('FILE'))}" # FILESPATH is set in base.bbclass #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), '.')}" +FILESDIR = "${@bb.which(d.getVar('FILESPATH', True), '.')}" ################################################################## # General work and output directories for the build system. ################################################################## TMPDIR ?= "${TOPDIR}/tmp" -CACHE = "${TMPDIR}/cache${@['', '/' + str(bb.data.getVar('MACHINE', d, 1))][bool(bb.data.getVar('MACHINE', d, 1))]}" +CACHE = "${TMPDIR}/cache${@['', '/' + str(d.getVar('MACHINE', True))][bool(d.getVar('MACHINE', True))]}${@['', '/' + str(d.getVar('SDKMACHINE', True))][bool(d.getVar('SDKMACHINE', True))]}" # The persistent cache should be shared by all builds PERSISTENT_DIR = "${TMPDIR}/cache" +LOG_DIR = "${TMPDIR}/log" CO_DIR = "${DL_DIR}" CVSDIR = "${CO_DIR}/cvs" SVNDIR = "${CO_DIR}/svn" -GITDIR = "${CO_DIR}/git" +GITDIR = "${CO_DIR}/git2" BZRDIR = "${CO_DIR}/bzr" -HGDIR = "${CO_DIR}/hg" +HGDIR = "${CO_DIR}/hg" STAMP = "${TMPDIR}/stamps/${MULTIMACH_TARGET_SYS}/${PF}" WORKDIR = "${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PF}" @@ -243,33 +325,34 @@ D = "${WORKDIR}/image" S = "${WORKDIR}/${BP}" B = "${S}" -STAGING_DIR = "${TMPDIR}/staging" +STAGING_DIR = "${TMPDIR}/sysroots" 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_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_BINDIR}/crossscripts" +STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}" +STAGING_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}${libdir_native}" +STAGING_BASE_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}${base_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_DIR_HOST = "${STAGING_DIR}/${MACHINE}" +STAGING_BINDIR = "${STAGING_DIR_HOST}${bindir}" +STAGING_LIBDIR = "${STAGING_DIR_HOST}${libdir}" +STAGING_BASELIBDIR = "${STAGING_DIR_HOST}${base_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" -# 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_TARGET = "${STAGING_DIR}/${MACHINE}" +STAGING_DIR_TCBOOTSTRAP = "${STAGING_DIR_TARGET}-tcbootstrap" -DEPLOY_DIR = "${TMPDIR}/deploy" +# 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" @@ -279,58 +362,39 @@ DEPLOY_DIR_TOOLS = "${DEPLOY_DIR}/tools" PKGDATA_DIR = "${TMPDIR}/pkgdata/${MULTIMACH_TARGET_SYS}" -SDK_NAME = "${DISTRO}/${TARGET_ARCH}" -SDK_PREFIX = "/usr/local/${SDK_NAME}" +################################################################## +# SDK variables, +################################################################## + +SDK_NAME_PREFIX ?= "oecore" +SDK_NAME = "${SDK_NAME_PREFIX}-${SDK_ARCH}-${TUNE_PKGARCH}" +SDKPATH = "/usr/local/${SDK_NAME_PREFIX}-${SDK_ARCH}" +SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}" ################################################################## # Kernel info. ################################################################## -OLDEST_KERNEL = "2.4.0" -STAGING_KERNEL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/kernel" +OLDEST_KERNEL = "2.6.16" +STAGING_KERNEL_DIR = "${STAGING_DIR_HOST}/kernel" ################################################################## # Specific image creation and rootfs population info. ################################################################## -IMAGE_ROOTFS = "${TMPDIR}/rootfs" +IMAGE_ROOTFS = "${WORKDIR}/rootfs" IMAGE_BASENAME = "${PN}" IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DATETIME}" IMAGE_LINK_NAME = "${IMAGE_BASENAME}-${MACHINE}" -IMAGE_EXTRA_SPACE = 40240 -IMAGE_CMD = "" -IMAGE_CMD_jffs2 = "mkfs.jffs2 --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 $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 $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_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_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)" - -EXTRA_IMAGECMD = "" -EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x40000" -EXTRA_IMAGECMD_yaffs2 = "1" -EXTRA_IMAGECMD_squashfs = "" -EXTRA_IMAGECMD_squashfs-lzma = "" - -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_squashfs = "squashfs-tools-native" -IMAGE_DEPENDS_squashfs-lzma = "squashfs-lzma-tools-native" +# This option allows for a percentage overage of the actual image size rather than a +# fixed extra space, this is space needed for initial startup and basic operations. +IMAGE_OVERHEAD_FACTOR ?= "1.3" +# This option allow for adding addition space in K above and beyond what the +# IMAGE_OVERHEAD_FACTOR might add. This space is for additional packages, user data, ... +# To set a fixed size then overrideing IMAGE_ROOTFS_SIZE with the max size one wants +# should do the trick +IMAGE_ROOTFS_EXTRA_SPACE ?= "0" EXTRA_IMAGEDEPENDS = "" @@ -338,44 +402,48 @@ EXTRA_IMAGEDEPENDS = "" # Toolchain info. ################################################################## -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}:${STAGING_DIR_NATIVE}${layout_base_bindir}:" +PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}:${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${sbindir_native}:${STAGING_BINDIR_NATIVE}:${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, 1), 'ccache') and 'ccache '}" -TOOLCHAIN_OPTIONS = "" +CCACHE = "${@bb.which(d.getVar('PATH', True), 'ccache') and 'ccache '}" +TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TARGET}" +export CCACHE_DIR = "${TMPDIR}/ccache/${MULTIMACH_HOST_SYS}/${PN}" 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 CPP = "${HOST_PREFIX}gcc -E${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}" +export LD = "${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}" export CCLD = "${CC}" export AR = "${HOST_PREFIX}ar" -export AS = "${HOST_PREFIX}as" +export AS = "${HOST_PREFIX}as ${HOST_AS_ARCH}" 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}" export BUILD_CXX = "${CCACHE}${BUILD_PREFIX}g++ ${BUILD_CC_ARCH}" export BUILD_F77 = "${CCACHE}${BUILD_PREFIX}g77 ${BUILD_CC_ARCH}" -export BUILD_CPP = "${BUILD_PREFIX}cpp" -export BUILD_LD = "${BUILD_PREFIX}ld" -export BUILD_CCLD = "${BUILD_PREFIX}gcc" +export BUILD_CPP = "${BUILD_PREFIX}cpp ${BUILD_CC_ARCH}" +export BUILD_LD = "${BUILD_PREFIX}ld ${BUILD_LD_ARCH}" +export BUILD_CCLD = "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}" export BUILD_AR = "${BUILD_PREFIX}ar" +export BUILD_AS = "${BUILD_PREFIX}as ${BUILD_AS_ARCH}" export BUILD_RANLIB = "${BUILD_PREFIX}ranlib" export BUILD_STRIP = "${BUILD_PREFIX}strip" +export BUILD_NM = "${BUILD_PREFIX}nm" export MAKE = "make" EXTRA_OEMAKE = "-e MAKEFLAGS=" +EXTRA_OECONF = "" +export LC_ALL = "C" ################################################################## # Patch handling. @@ -391,7 +459,7 @@ export BUILD_CPPFLAGS = "-isystem${STAGING_INCDIR_NATIVE}" BUILDSDK_CPPFLAGS = "-isystem${STAGING_INCDIR}" export CPPFLAGS = "${TARGET_CPPFLAGS}" export TARGET_CPPFLAGS = "" -#export TARGET_CPPFLAGS = "-isystem${STAGING_DIR_TARGET}${layout_includedir}" +#export TARGET_CPPFLAGS = "-isystem${STAGING_DIR_TARGET}${includedir}" export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}" BUILDSDK_CFLAGS = "${BUILDSDK_CPPFLAGS} ${BUILD_OPTIMIZATION}" @@ -403,33 +471,53 @@ export CXXFLAGS = "${TARGET_CXXFLAGS}" export TARGET_CXXFLAGS = "${TARGET_CFLAGS} -fpermissive" export BUILD_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE} \ + -L${STAGING_BASE_LIBDIR_NATIVE} \ -Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} \ - -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-O1" + -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} \ + -Wl,-rpath,${STAGING_LIBDIR_NATIVE} \ + -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE} \ + -Wl,-O1" BUILDSDK_LDFLAGS = "-L${STAGING_LIBDIR} \ -Wl,-rpath-link,${STAGING_LIBDIR} \ - -Wl,-rpath,${libdir} -Wl,-O1" + -Wl,-rpath,${libdir} -Wl,-O1 \ + -L${STAGING_DIR_HOST}${base_libdir} \ + -Wl,-rpath-link,${STAGING_DIR_HOST}${base_libdir} \ + -Wl,-rpath,${base_libdir} -Wl,-O1" + +LINKER_HASH_STYLE ??= "gnu" +# mips does not support GNU hash style therefore we override +LINKER_HASH_STYLE_mips = "sysv" +LINKER_HASH_STYLE_mipsel = "sysv" +LINKER_HASH_STYLE_mips64 = "sysv" +LINKER_HASH_STYLE_mips64el = "sysv" +TARGET_LINK_HASH_STYLE ?= "${@['-Wl,--hash-style=gnu',''][d.getVar('LINKER_HASH_STYLE', True) != 'gnu']}" export LDFLAGS = "${TARGET_LDFLAGS}" -export TARGET_LDFLAGS = "-Wl,-O1" -#export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${layout_libdir} \ -# -Wl,-rpath-link,${STAGING_DIR_TARGET}${layout_libdir} \ +export TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE}" +#export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${libdir} \ +# -Wl,-rpath-link,${STAGING_DIR_TARGET}${libdir} \ # -Wl,-O1" # Which flags to leave by strip-flags() in bin/build/oebuild.sh ? ALLOWED_FLAGS = "-O -mcpu -march -pipe" -# Pass parallel make options to the compile task only +# Pass parallel make options to the compile task EXTRA_OEMAKE_prepend_task-compile = "${PARALLEL_MAKE} " +PARALLEL_MAKEINST ??= "${PARALLEL_MAKE}" +# Pass parallel make options to the install task +EXTRA_OEMAKE_prepend_task-install = "${PARALLEL_MAKEINST} " ################################################################## # Optimization flags. ################################################################## - -FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types" -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" +DEBUG_FLAGS ?= "-g -feliminate-unused-debug-types" +# Disabled until the option works properly -feliminate-dwarf2-dups +FULL_OPTIMIZATION = "-O2 -pipe ${DEBUG_FLAGS}" +DEBUG_OPTIMIZATION = "-O -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe" +SELECTED_OPTIMIZATION = "${@d.getVar(['FULL_OPTIMIZATION', 'DEBUG_OPTIMIZATION'][d.getVar('DEBUG_BUILD', True) == '1'], True)}" +SELECTED_OPTIMIZATION[vardeps] += "FULL_OPTIMIZATION DEBUG_OPTIMIZATION" +BUILD_OPTIMIZATION = "-O2 -pipe" ################################################################## # Bootstrap stuff. @@ -439,39 +527,31 @@ BOOTSTRAP_EXTRA_RDEPENDS = "" BOOTSTRAP_EXTRA_RRECOMMENDS = "" ################################################################## -# Palmtop stuff. -################################################################## - -export QTDIR = "${STAGING_DIR_HOST}/qt2" -export QPEDIR = "${STAGING_DIR_HOST}" -export OPIEDIR = "${STAGING_DIR_HOST}" -export palmtopdir = "${libdir}/opie" -export palmqtdir = "${palmtopdir}" - -################################################################## # Download locations and utilities. ################################################################## -GNU_MIRROR = "ftp://ftp.gnu.org/gnu" +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_MIRROR = "http://download.enlightenment.org/releases" +E_SVN = "svn://svn.enlightenment.org/svn/e" +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/pub" +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" -FREESMARTPHONE_GIT = "git://git.freesmartphone.org" -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" @@ -479,45 +559,38 @@ 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 -nv --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_wget = "/usr/bin/env wget -t 5 -nv --passive-ftp --no-check-certificate -P ${DL_DIR} '${URI}'" FETCHCOMMAND_cvs = "/usr/bin/env cvs '-d${CVSROOT}' co ${CVSCOOPTS} ${CVSMODULE}" FETCHCOMMAND_svn = "/usr/bin/env svn co ${SVNCOOPTS} ${SVNROOT} ${SVNMODULE}" -CHECKCOMMAND_wget = "/usr/bin/env wget --spider -t 5 --passive-ftp -P ${DL_DIR} '${URI}'" +CHECKCOMMAND_wget = "/usr/bin/env wget --spider -t 5 --passive-ftp --no-check-certificate -P ${DL_DIR} '${URI}'" 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 wget -c -t 5 -nv --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_svn = "/usr/bin/env svn update ${SVNCOOPTS}" SRCDATE = "${DATE}" -SRCREV = "INVALID" -AUTOREV = "${@bb.fetch.get_srcrev(d)}" - -SRC_URI = "file://${FILE}" - -################################################################## -# UI/Interaction Configuration -################################################################## +SRCREV ??= "INVALID" +AUTOREV = "${@bb.fetch2.get_autorev(d)}" +SRCPV = "${@bb.fetch2.get_srcrev(d)}" -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 $SHELLCMDS' -SCREEN_TERMCMD = 'screen -D -m -t "$TERMWINDOWTITLE"' -SCREEN_TERMCMDRUN = '${SCREEN_TERMCMD} $SHELLCMDS' -XTERM_TERMCMD = 'xterm -T "$TERMWINDOWTITLE"' -XTERM_TERMCMDRUN = '${XTERM_TERMCMD} -e $SHELLCMDS' -KONSOLE_TERMCMD = 'konsole -T "$TERMWINDOWTITLE"' -KONSOLE_TERMCMDRUN = '${KONSOLE_TERMCMD} -e $SHELLCMDS' +SRC_URI = "" -# Set a default -TERMCMD ?= "${GNOME_TERMCMD}" -TERMCMDRUN ?= "${GNOME_TERMCMDRUN}" +# Use pseudo as the fakeroot implementation +PSEUDO_LOCALSTATEDIR ?= "${WORKDIR}/pseudo/" +PSEUDO_PASSWD ?= "${STAGING_DIR_TARGET}" +export PSEUDO_DISABLED = "1" +#export PSEUDO_PREFIX = "${STAGING_DIR_NATIVE}${prefix_native}" +#export PSEUDO_BINDIR = "${STAGING_DIR_NATIVE}${bindir_native}" +#export PSEUDO_LIBDIR = "${STAGING_DIR_NATIVE}$PSEUDOBINDIR/../lib/pseudo/lib +FAKEROOTENV = "PSEUDO_PREFIX=${STAGING_DIR_NATIVE}${prefix_native} PSEUDO_LOCALSTATEDIR=${PSEUDO_LOCALSTATEDIR} PSEUDO_PASSWD=${PSEUDO_PASSWD} PSEUDO_NOSYMLINKEXP=1 PSEUDO_DISABLED=0" +FAKEROOTNOENV = "PSEUDO_UNLOAD=1" +FAKEROOTDIRS = "${PSEUDO_LOCALSTATEDIR}" +PREFERRED_PROVIDER_virtual/fakeroot-native ?= "pseudo-native" ################################################################## # Miscellaneous utilities. @@ -532,28 +605,25 @@ MKTEMPCMD = "mktemp -q ${TMPBASE}" export PATCH_GET="0" -# Program to be used to build opkg packages - -OPKGBUILDCMD = "opkg-build -o 0 -g 0" - ################################################################## # Not sure about the rest of this yet. ################################################################## -# slot - currently unused by OE. portage remnants -SLOT = "0" +# Pre-build configuration output +BUILDCFG_HEADER = "Build Configuration:" +BUILDCFG_VARS = "BB_VERSION TARGET_ARCH TARGET_OS MACHINE DISTRO DISTRO_VERSION TUNE_FEATURES TARGET_FPU" +BUILDCFG_VARS[type] = "list" +BUILDCFG_NEEDEDVARS = "TARGET_ARCH TARGET_OS" +BUILDCFG_NEEDEDVARS[type] = "list" # Other -export PKG_CONFIG_DIR = "${STAGING_DIR}/${BASE_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}${layout_libdir}/pkgconfig" +export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}/${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_LIBDIR = "${PKG_CONFIG_DIR}" +export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}" export PKG_CONFIG_DISABLE_UNINSTALLED = "yes" -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}" @@ -561,16 +631,24 @@ AUTO_LIBNAME_PKGS = "${PACKAGES}" ### 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>_qemuarm' overrides '<foo>' and overrides +# '<foo>_arm' when ${MACHINE} is 'qemuarm'. +# If you use combination ie '<foo>_qemuarm_arm', then '<foo>_qemuarm_arm' will override +# '<foo>_qemuarm' and then '<foo>' will be overriden with that value from '<foo>_qemuarm'. +# And finally '<foo>_forcevariable' overrides any standard variable, with the highest 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. -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}" +OVERRIDES = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}:forcevariable" +CLASSOVERRIDE ?= "class-target" +DISTROOVERRIDES ?= "${@d.getVar('DISTRO', True) or ''}" +MACHINEOVERRIDES ?= "${MACHINE}" +MACHINEOVERRIDES[vardepsexclude] = "MACHINE" CPU_FEATURES ?= "" CPU_FEATURES_arm ?= "vfp" @@ -579,39 +657,36 @@ CPU_FEATURES_arm ?= "vfp" # Include the rest of the config files. ################################################################## +require conf/abi_version.conf include conf/site.conf include conf/auto.conf include conf/local.conf include conf/build/${BUILD_SYS}.conf include conf/target/${TARGET_SYS}.conf include conf/machine/${MACHINE}.conf +include conf/machine-sdk/${SDKMACHINE}.conf include conf/distro/${DISTRO}.conf +include conf/distro/defaultsetup.conf include conf/documentation.conf require conf/sanity.conf -require conf/abi_version.conf ################################################################## # Weak variables (usually to retain backwards compatibility) ################################################################## -DL_DIR ?= "${TMPDIR}/downloads" +DL_DIR ?= "${TOPDIR}/downloads" +SSTATE_DIR ?= "${TOPDIR}/sstate-cache" IMAGE_FSTYPES ?= "tar.gz" +INITRAMFS_FSTYPES ?= "cpio.gz" PCMCIA_MANAGER ?= "pcmcia-cs" 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" # 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 ################################################################## @@ -621,20 +696,11 @@ OES_BITBAKE_CONF = "1" # Machine properties and task-base stuff ################################################################## -MACHINE_FEATURES ?= "kernel26" DISTRO_FEATURES ?= "" # This is used to limit what packages goes into images built, so set big by default ROOT_FLASH_SIZE ?= "256" -MACHINE_GUI_CLASS ?= "smallscreen" -# GUI_MACHINE_CLASS is deprecated, please use MACHINE_GUI_CLASS instead -GUI_MACHINE_CLASS ?= "${MACHINE_GUI_CLASS}" -MACHINE_DISPLAY_WIDTH_PIXELS ?= "240" -MACHINE_DISPLAY_HEIGHT_PIXELS ?= "320" -MACHINE_DISPLAY_ORIENTATION ?= "0" -MACHINE_DISPLAY_BPP ?= "16" - DISTRO_EXTRA_RDEPENDS ?= "" DISTRO_EXTRA_RRECOMMENDS ?= "" MACHINE_EXTRA_RDEPENDS ?= "" @@ -643,13 +709,45 @@ MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= "" MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= "" IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}" +DISTRO_FEATURES_BACKFILL = "pulseaudio" +DISTRO_FEATURES_append = "${@oe.utils.distro_features_backfill(d)}" + 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)} \ ${@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)}" +COMBINED_FEATURES[vardeps] += "DISTRO_FEATURES MACHINE_FEATURES" + +# Make sure MACHINE isn't exported +# (breaks binutils at least) +MACHINE[unexport] = "1" + +# Make sure TARGET_ARCH isn't exported +# (breaks Makefiles using implicit rules, e.g. quilt, as GNU make has this +# in them, undocumented) +TARGET_ARCH[unexport] = "1" + +# Make sure DISTRO isn't exported +# (breaks sysvinit at least) +DISTRO[unexport] = "1" + +# Used by canadian-cross to handle string conversions on TARGET_ARCH where needed +TRANSLATED_TARGET_ARCH ??= "${@d.getVar('TARGET_ARCH', True).replace("_", "-")}" + +# Complete output from bitbake, if you're changing it, make sure to use existing directory +BB_CONSOLELOG ?= "${TMPDIR}/cooker.log.${DATETIME}" + +# Setup our default hash policy +BB_SIGNATURE_HANDLER ?= "OEBasic" +BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST PRSERV_PORT PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE CCACHE_DIR" +BB_HASHCONFIG_WHITELIST ?= "${BB_HASHBASE_WHITELIST} DATE TIME SESSION_MANAGER DBUS_SESSION_BUS_ADDRESS SSH_AGENT_PID XDG_SESSION_COOKIE SSH_AUTH_SOCK XAUTHORITY" + +MLPREFIX ??= "" +MULTILIB_VARIANTS ??= "" |
