1# BBMASK contains regular expressions that can be used to tell BitBake to ignore 2# certain recipes. 3#BBMASK = "" 4 5# 6# Parallelism Options 7# 8# These two options control how much parallelism BitBake should use. The first 9# option determines how many tasks bitbake should run in parallel: 10# 11#BB_NUMBER_THREADS ?= "4" 12# 13# Default to setting automatically based on cpu count 14#BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}" 15# 16# The second option controls how many processes make should run in parallel when 17# running compile tasks: 18# 19#PARALLEL_MAKE ?= "-j 4" 20# 21# Default to setting automatically based on cpu count 22#PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}" 23# 24# For a quad-core machine, BB_NUMBER_THREADS = "4", PARALLEL_MAKE = "-j 4" would 25# be appropriate for example. 26# 27# Some users are behind firewalls or use servers where the number of parallel connections 28# is limited. In such cases you can limit the number of fetch tasks which run in parallel by 29# setting the option below, in this case limiting to a maximum of 4 fetch tasks in parallel: 30# 31#do_fetch[number_threads] = "4" 32# 33 34# If you want to get an image based on directfb without x11 alter 35# DISTRO_FEATURES: 36DISTRO_FEATURES:append = " directfb" 37DISTRO_FEATURES:remove = "x11" 38 39# ENABLE_BINARY_LOCALE_GENERATION controls the generation of binary locale 40# packages at build time using qemu-native. Disabling it (by setting it to 0) 41# will save some build time at the expense of breaking i18n on devices with 42# less than 128MB RAM. 43#ENABLE_BINARY_LOCALE_GENERATION = "1" 44 45# If GLIBC_SPLIT_LC_PACKAGES is set to a non-zero value, convert 46# glibc-binary-localedata-XX-YY to be a meta package depending on 47# glibc-binary-localedata-XX-YY-lc-address and so on. This enables 48# saving quite some space if someone doesn't need LC_COLLATE for 49# example. 50#GLIBC_SPLIT_LC_PACKAGES = "1" 51 52# Set GLIBC_GENERATE_LOCALES to the locales you wish to generate should you not 53# wish to perform the time-consuming step of generating all LIBC locales. 54# NOTE: If removing en_US.UTF-8 you will also need to uncomment, and set 55# appropriate value for IMAGE_LINGUAS. 56# WARNING: this may break localisation! 57# WARNING: some recipes expect certain localizations to be enabled, e.g. 58# bash-ptest: fr-fr, de-de 59# glib-2.0-ptest: tr-tr, lt-lt, ja-jp.euc-jp, fa-ir, ru-ru, de-de, hr-hr, el-gr, fr-fr, es-es, en-gb 60# if you remove some of these and enable ptest, you'll get QA warning like: 61# ERROR: glib-2.0-1_2.58.0-r0 do_package_qa: QA Issue: glib-2.0-ptest rdepends on locale-base-de-de, but it isn't a build dependency? [build-deps] 62#GLIBC_GENERATE_LOCALES = "en_GB.UTF-8 en_US.UTF-8" 63#IMAGE_LINGUAS ?= "en-gb" 64 65# The following are used to control options related to debugging. 66# 67# Uncomment this to change the optimization to make debugging easer, at the 68# possible cost of performance. 69# DEBUG_BUILD = "1" 70# 71# Uncomment this to disable the stripping of the installed binaries 72# INHIBIT_PACKAGE_STRIP = "1" 73# 74# Uncomment this to disable the split of the debug information into -dbg files 75# INHIBIT_PACKAGE_DEBUG_SPLIT = "1" 76# 77# When splitting debug information, the following controls the results of the 78# file splitting. 79# 80# .debug (default): 81# When splitting the debug information will be placed into 82# a .debug directory in the same dirname of the binary produced: 83# /bin/foo -> /bin/.debug/foo 84# 85# debug-file-directory: 86# When splitting the debug information will be placed into 87# a central debug-file-directory, /usr/lib/debug: 88# /bin/foo -> /usr/lib/debug/bin/foo.debug 89# 90# Any source code referenced in the debug symbols will be copied 91# and made available within the /usr/src/debug directory 92# 93#PACKAGE_DEBUG_SPLIT_STYLE = '.debug' 94# PACKAGE_DEBUG_SPLIT_STYLE = 'debug-file-directory' 95 96# Uncomment these to build a package such that you can use gprof to profile it. 97# NOTE: Don't build glibc itself with these flags, or it'll fail to build. 98# 99# PROFILE_OPTIMIZATION = "-pg" 100# SELECTED_OPTIMIZATION = "${PROFILE_OPTIMIZATION}" 101# LDFLAGS =+ "-pg" 102 103# TCMODE controls the characteristics of the generated packages/images by 104# telling poky which toolchain 'profile' to use. 105# 106# The default is "default" which uses the internal toolchain. With 107# additional layers, it is possible to set this to use a precompiled 108# external toolchain. One example is the Sourcery G++ Toolchain, support 109# for which is now in the separate meta-sourcery layer: 110# 111# http://github.com/MentorEmbedded/meta-sourcery/ 112# 113# meta-sourcery can be used as a template for adding support for other 114# external toolchains. See the link above for further details. 115# 116# TCMODE points the system to a file in conf/distro/include/tcmode-${TCMODE}.inc, 117# so for meta-sourcery which has conf/distro/include/tcmode-external-sourcery.inc 118# you would set it as follows: 119# 120# TCMODE ?= "external-sourcery" 121 122# This value is currently used by pseudo to determine if the recipe should 123# build both the 32-bit and 64-bit wrapper libraries on a 64-bit build system. 124# 125# Pseudo will attempt to determine if a 32-bit wrapper is necessary, but 126# it doesn't always guess properly. If you have 32-bit executables on 127# your 64-bit build system, you likely want to set this to "0", 128# otherwise you could end up with incorrect file attributes on the 129# target filesystem. 130# 131# Default is to not build 32 bit libs on 64 bit systems, uncomment this 132# if you need the 32 bits libs 133#NO32LIBS = "0" 134 135# Uncomment the following lines to enable multilib builds 136#require conf/multilib.conf 137#MULTILIBS = "multilib:lib32" 138#DEFAULTTUNE:virtclass-multilib-lib32 = "x86" 139 140# Set RPM_PREFER_ELF_ARCH to configure preferred ABI when using rpm packaging 141# backend to generate a rootfs, choices are: 142# 1: ELF32 wins 143# 2: ELF64 wins 144# 4: ELF64 N32 wins (for mips64 or mips64el only) 145#RPM_PREFER_ELF_ARCH ?= "2" 146 147# The network based PR service host and port 148# Uncomment the following lines to enable PRservice. 149# Set PRSERV_HOST to 'localhost:0' to automatically 150# start local PRService. 151# Set to other values to use remote PRService. 152#PRSERV_HOST = "localhost:0" 153 154# Additional image generation features 155# 156# The following is a list of classes to import to use in the generation of images 157# currently an example class is image_types_uboot 158# IMAGE_CLASSES = " image_types_uboot" 159 160# The following options will build a companion 'debug filesystem' in addition 161# to the normal deployable filesystem. This companion system allows a 162# debugger to know the symbols and related sources. It can be used to 163# debug a remote 'production' system without having to add the debug symbols 164# and sources to remote system. If IMAGE_FSTYPES_DEBUGFS is not defined, it 165# defaults to IMAGE_FSTYPES. 166#IMAGE_GEN_DEBUGFS = "1" 167#IMAGE_FSTYPES_DEBUGFS = "tar.gz" 168 169# Incremental rpm image generation, the rootfs would be totally removed 170# and re-created in the second generation by default, but with 171# INC_RPM_IMAGE_GEN = "1", the rpm based rootfs would be kept, and will 172# do update(remove/add some pkgs) on it. NOTE: This is not suggested 173# when you want to create a productive rootfs 174#INC_RPM_IMAGE_GEN = "1" 175 176# This is a list of packages that require a commercial license to ship 177# product. If shipped as part of an image these packages may have 178# implications so they are disabled by default. To enable them, 179# un-comment the below as appropriate. 180#LICENSE_FLAGS_ACCEPTED = "commercial_gst-fluendo-mp3 \ 181# commercial_gst-openmax \ 182# commercial_gst-plugins-ugly \ 183# commercial_lame \ 184# commercial_libmad \ 185# commercial_libomxil \ 186# commercial_mpeg2dec \ 187# commercial_qmmp" 188 189 190# 191# Disk space monitor, take action when the disk space or the amount of 192# inode is running low, it is enabled when BB_DISKMON_DIRS is set. 193# 194# Set the directory for the monitor, the format is: 195# "action,directory,minimum_space,minimum_free_inode" 196# 197# The "action" must be set and should be one of: 198# HALT: Immediately halt 199# STOPTASKS: The new tasks can't be executed any more, will stop the build 200# when the running tasks have been done. 201# WARN: show warnings (see BB_DISKMON_WARNINTERVAL for more information) 202# 203# The "directory" must be set, any directory is OK. 204# 205# Either "minimum_space" or "minimum_free_inode" (or both of them) 206# should be set, otherwise the monitor would not be enabled, 207# the unit can be G, M, K or none, but do NOT use GB, MB or KB 208# (B is not needed). 209#BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},1G,100K WARN,${SSTATE_DIR},1G,100K" 210# 211# Set disk space and inode interval (only works when the action is "WARN", 212# the unit can be G, M, or K, but do NOT use the GB, MB or KB 213# (B is not needed), the format is: 214# "disk_space_interval,disk_inode_interval", the default value is 215# "50M,5K" which means that it would warn when the free space is 216# lower than the minimum space(or inode), and would repeat the warning 217# when the disk space reduces 50M (or the amount of inode reduces 5k). 218#BB_DISKMON_WARNINTERVAL = "50M,5K" 219 220# Archive the source and put them to ${DEPLOY_DIR}/sources/. 221# 222#INHERIT += "archiver" 223# 224# The tarball for the patched source will be created by default, and you 225# can configure the archiver as follow: 226# 227# Create archive for: 228# 1) original (or unpacked) source: 229#ARCHIVER_MODE[src] = "original" 230# 2) patched source: (default) 231#ARCHIVER_MODE[src] = "patched" 232# 3) configured source: 233#ARCHIVER_MODE[src] = "configured" 234# 235# 4) the patches between do_unpack and do_patch: 236#ARCHIVER_MODE[diff] = "1" 237# set the files that you'd like to exclude from the diff: 238#ARCHIVER_MODE[diff-exclude] ?= ".pc autom4te.cache patches" 239# 240# 5) the environment data, similar to 'bitbake -e recipe': 241#ARCHIVER_MODE[dumpdata] = "1" 242# 243# 6) the recipe (.bb and .inc): 244#ARCHIVER_MODE[recipe] = "1" 245# 246# 7) Whether output the .src.rpm package: 247#ARCHIVER_MODE[srpm] = "1" 248# 249# 8) Filter the license, the recipe whose license in 250# COPYLEFT_LICENSE_INCLUDE will be included, and in 251# COPYLEFT_LICENSE_EXCLUDE will be excluded. 252#COPYLEFT_LICENSE_INCLUDE = 'GPL* LGPL*' 253#COPYLEFT_LICENSE_EXCLUDE = 'CLOSED Proprietary' 254# 255# 9) Config the recipe type that will be archived, the type can be 256# target, native, nativesdk, cross, crosssdk and cross-canadian, 257# you can set one or more types. Archive all types by default. 258#COPYLEFT_RECIPE_TYPES = 'target' 259# 260 261# 262# GCC/LD FLAGS to enable more secure code generation 263# 264# By including the security_flags include file you enable flags 265# to the compiler and linker that cause them to generate more secure 266# code. 267# This does affect compile speed slightly. 268# 269# Use the following line to enable the security compiler and linker flags to your build 270#require conf/distro/include/security_flags.inc 271 272# Image level user/group configuration. 273# Inherit extrausers to make the setting of EXTRA_USERS_PARAMS effective. 274#IMAGE_CLASSES += "extrausers" 275# User / group settings 276# The settings are separated by the ; character. 277# Each setting is actually a command. The supported commands are useradd, 278# groupadd, userdel, groupdel, usermod and groupmod. 279#EXTRA_USERS_PARAMS = "\ 280# useradd -p '' tester; \ 281# groupadd developers; \ 282# userdel nobody; \ 283# groupdel video; \ 284# groupmod -g 1020 developers; \ 285# usermod -s /bin/sh tester; \ 286#" 287 288# Various packages dynamically add users and groups to the system at package 289# install time. For programs that do not care what the uid/gid is of the 290# resulting users/groups, the order of the install will determine the final 291# uid/gid. This can lead to non-deterministic uid/gid values from one build 292# to another. Use the following settings to specify that all user/group adds 293# should be created based on a static passwd/group file. 294# 295# Note, if you enable or disable the useradd-staticids in a configured system, 296# the TMPDIR may contain incorrect uid/gid values. Clearing the TMPDIR 297# will correct this condition. 298# 299# By default the system looks in the BBPATH for files/passwd and files/group 300# the default can be overridden by specifying USERADD_UID/GID_TABLES. 301# 302#USERADDEXTENSION = "useradd-staticids" 303#USERADD_UID_TABLES = "files/passwd" 304#USERADD_GID_TABLES = "files/group" 305# 306# In order to prevent generating a system where a dynamicly assigned uid/gid 307# can exist, you should enable the following setting. This will force the 308# system to error out if the user/group name is not defined in the 309# files/passwd or files/group (or specified replacements.) 310#USERADD_ERROR_DYNAMIC = "1" 311 312# Enabling FORTRAN 313# Note this is not officially supported and is just illustrated here to 314# show an example of how it can be done 315# You'll also need your fortran recipe to depend on libgfortran 316#FORTRAN:forcevariable = ",fortran" 317 318# 319# Kernel image features 320# 321# The INITRAMFS_IMAGE image variable will cause an additional recipe to 322# be built as a dependency to the what ever rootfs recipe you might be 323# using such as core-image-sato. The initramfs might be needed for 324# the initial boot of the target system such as to load kernel 325# modules prior to mounting the root file system. 326# 327# INITRAMFS_IMAGE_BUNDLE variable controls if the image recipe 328# specified by the INITRAMFS_IMAGE will be run through an extra pass 329# through the kernel compilation in order to build a single binary 330# which contains both the kernel image and the initramfs. The 331# combined binary will be deposited into the tmp/deploy directory. 332# NOTE: You can set INITRAMFS_IMAGE in an image recipe, but 333# INITRAMFS_IMAGE_BUNDLE can only be set in a conf file. 334# 335#INITRAMFS_IMAGE = "core-image-minimal-initramfs" 336#INITRAMFS_IMAGE_BUNDLE = "1" 337 338# 339# IPK Hierarchical feed 340# 341# In some cases it may be desirable not to have all package files in the same 342# directory. An example would be when package feeds are to be uploaded to a 343# shared webhosting service or transferred to a Windows machine which may have 344# problems with directories containing multiple thousands of files. 345# 346# If the IPK_HIERARCHICAL_FEED variable is set to "1", packages will be split 347# between subdirectories in a similar way to how Debian package feeds are 348# organised. In the hierarchical feed, package files are written to 349# <outdir>/<arch>/<pkg_prefix>/<pkg_subdir>, where pkg_prefix is the first 350# letter of the package file name for non-lib packages or "lib" plus the 4th 351# letter of the package file name for lib packages (eg, 'l' for less, 'libc' for 352# libc6). pkg_subdir is the root of the package file name, discarding the 353# version and architecture parts and the common suffixes '-dbg', '-dev', '-doc', 354# '-staticdev', '-locale' and '-locale-*' which are listed in 355# meta/conf/bitbake.conf. 356# 357# If IPK_HIERARCHICAL_FEED is unset or set to any other value, the traditional 358# feed layout is used where package files are placed in <outdir>/<arch>/. 359# 360#IPK_HIERARCHICAL_FEED = "1" 361# 362 363# 364# System initialization 365# 366#INIT_MANAGER = "none" 367#INIT_MANAGER = "sysvinit" 368#INIT_MANAGER = "systemd" 369#INIT_MANAGER = "mdev-busybox" 370 371# 372# Use a full set of packages instead of busybox for base utils 373# 374#PREFERRED_PROVIDER_base-utils = "packagegroup-core-base-utils" 375#VIRTUAL-RUNTIME_base-utils = "packagegroup-core-base-utils" 376#VIRTUAL-RUNTIME_base-utils-hwclock = "util-linux-hwclock" 377#VIRTUAL-RUNTIME_base-utils-syslog = "syslog" 378 379# 380# Enable LTO system-wide 381# 382#require conf/distro/include/lto.inc 383#DISTRO_FEATURES:append = " lto" 384 385# 386# Set PS1 for SDK 387# 388#SDK_PS1 ?= "${SDK_NAME}${SDK_VENDOR}:\$ " 389