blob: aa7b42f828a5aac8fdde7fab5d68197639b0b27c [file] [log] [blame]
Patrick Williamsd8c66bc2016-06-20 12:57:21 -05001# 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
28# glibc configurability is used to reduce minimal image's size.
29# the all supported glibc options are listed in DISTRO_FEATURES_LIBC
30# and disabled by default. Uncomment and copy the DISTRO_FEATURES_LIBC
31# and DISTRO_FEATURES definitions to local.conf to enable the options.
32#DISTRO_FEATURES_LIBC = "ipv6 libc-backtrace libc-big-macros libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \
33# libc-crypt-ufc libc-db-aliases libc-envz libc-fcvt libc-fmtmsg libc-fstab libc-ftraverse \
34# libc-getlogin libc-idn libc-inet libc-inet-anl libc-libm libc-locales libc-locale-code \
35# libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams libc-sunrpc \
36# libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
37# libc-posix-wchar-io"
38
39#DISTRO_FEATURES = "alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci ${DISTRO_FEATURES_LIBC}"
40
41# If you want to get an image based on directfb without x11, Please copy this variable to build/conf/local.conf
42#DISTRO_FEATURES = "alsa argp bluetooth ext2 irda largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g directfb ${DISTRO_FEATURES_LIBC}"
43
44# ENABLE_BINARY_LOCALE_GENERATION controls the generation of binary locale
45# packages at build time using qemu-native. Disabling it (by setting it to 0)
46# will save some build time at the expense of breaking i18n on devices with
47# less than 128MB RAM.
48#ENABLE_BINARY_LOCALE_GENERATION = "1"
49
50# Set GLIBC_GENERATE_LOCALES to the locales you wish to generate should you not
51# wish to perform the time-consuming step of generating all LIBC locales.
52# NOTE: If removing en_US.UTF-8 you will also need to uncomment, and set
53# appropriate value for IMAGE_LINGUAS.
54# WARNING: this may break localisation!
55#GLIBC_GENERATE_LOCALES = "en_GB.UTF-8 en_US.UTF-8"
56#IMAGE_LINGUAS ?= "en-gb"
57
58# The following are used to control options related to debugging.
59#
60# Uncomment this to change the optimization to make debugging easer, at the
61# possible cost of performance.
62# DEBUG_BUILD = "1"
63#
64# Uncomment this to disable the stripping of the installed binaries
65# INHIBIT_PACKAGE_STRIP = "1"
66#
67# Uncomment this to disable the split of the debug information into -dbg files
68# INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
69#
70# When splitting debug information, the following controls the results of the
71# file splitting.
72#
73# .debug (default):
74# When splitting the debug information will be placed into
75# a .debug directory in the same dirname of the binary produced:
76# /bin/foo -> /bin/.debug/foo
77#
78# debug-file-directory:
79# When splitting the debug information will be placed into
80# a central debug-file-directory, /usr/lib/debug:
81# /bin/foo -> /usr/lib/debug/bin/foo.debug
82#
83# Any source code referenced in the debug symbols will be copied
84# and made available within the /usr/src/debug directory
85#
86#PACKAGE_DEBUG_SPLIT_STYLE = '.debug'
87# PACKAGE_DEBUG_SPLIT_STYLE = 'debug-file-directory'
88
89# Uncomment these to build a package such that you can use gprof to profile it.
90# NOTE: This will only work with 'linux' targets, not
91# 'linux-uclibc', as uClibc doesn't provide the necessary
92# object files. Also, don't build glibc itself with these
93# flags, or it'll fail to build.
94#
95# PROFILE_OPTIMIZATION = "-pg"
96# SELECTED_OPTIMIZATION = "${PROFILE_OPTIMIZATION}"
97# LDFLAGS =+ "-pg"
98
99# TCMODE controls the characteristics of the generated packages/images by
100# telling poky which toolchain 'profile' to use.
101#
102# The default is "default" which uses the internal toolchain. With
103# additional layers, it is possible to set this to use a precompiled
104# external toolchain. One example is the Sourcery G++ Toolchain, support
105# for which is now in the separate meta-sourcery layer:
106#
107# http://github.com/MentorEmbedded/meta-sourcery/
108#
109# meta-sourcery can be used as a template for adding support for other
110# external toolchains. See the link above for further details.
111#
112# TCMODE points the system to a file in conf/distro/include/tcmode-${TCMODE}.inc,
113# so for meta-sourcery which has conf/distro/include/tcmode-external-sourcery.inc
114# you would set it as follows:
115#
116# TCMODE ?= "external-sourcery"
117
118# mklibs library size optimization is more useful to smaller images,
119# and less useful for bigger images. Also mklibs library optimization
120# can break the ABI compatibility, so should not be applied to the
121# images which are to be extended or upgraded later.
122#This enabled mklibs library size optimization just for the specified image.
123#MKLIBS_OPTIMIZED_IMAGES ?= "core-image-minimal"
124#This enable mklibs library size optimization will be for all the images.
125#MKLIBS_OPTIMIZED_IMAGES ?= "all"
126
127# Uncomment this if your host distribution provides the help2man tool.
128#ASSUME_PROVIDED += "help2man-native"
129
130# This value is currently used by pseudo to determine if the recipe should
131# build both the 32-bit and 64-bit wrapper libraries on a 64-bit build system.
132#
133# Pseudo will attempt to determine if a 32-bit wrapper is necessary, but
134# it doesn't always guess properly. If you have 32-bit executables on
135# your 64-bit build system, you likely want to set this to "0",
136# otherwise you could end up with incorrect file attributes on the
137# target filesystem.
138#
139# Default is to not build 32 bit libs on 64 bit systems, uncomment this
140# if you need the 32 bits libs
141#NO32LIBS = "0"
142
143# Uncomment the following lines to enable multilib builds
144#require conf/multilib.conf
145#MULTILIBS = "multilib:lib32"
146#DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
147
148# Set RPM_PREFER_ELF_ARCH to configure preferred ABI when using rpm packaging
149# backend to generate a rootfs, choices are:
150# 1: ELF32 wins
151# 2: ELF64 wins
152# 4: ELF64 N32 wins (for mips64 or mips64el only)
153#RPM_PREFER_ELF_ARCH ?= "2"
154
155# The network based PR service host and port
156# Uncomment the following lines to enable PRservice.
157# Set PRSERV_HOST to 'localhost:0' to automatically
158# start local PRService.
159# Set to other values to use remote PRService.
160#PRSERV_HOST = "localhost:0"
161
162# Additional image generation features
163#
164# The following is a list of classes to import to use in the generation of images
165# currently an example class is image_types_uboot
166# IMAGE_CLASSES = " image_types_uboot"
167
168# The following options will build a companion 'debug filesystem' in addition
169# to the normal deployable filesystem. This companion system allows a
170# debugger to know the symbols and related sources. It can be used to
171# debug a remote 'production' system without having to add the debug symbols
172# and sources to remote system. If IMAGE_FSTYPES_DEBUGFS is not defined, it
173# defaults to IMAGE_FSTYPES.
174#IMAGE_GEN_DEBUGFS = "1"
175#IMAGE_FSTYPES_DEBUGFS = "tar.gz"
176
177# Incremental rpm image generation, the rootfs would be totally removed
178# and re-created in the second generation by default, but with
179# INC_RPM_IMAGE_GEN = "1", the rpm based rootfs would be kept, and will
180# do update(remove/add some pkgs) on it. NOTE: This is not suggested
181# when you want to create a productive rootfs
182#INC_RPM_IMAGE_GEN = "1"
183
184# This is a list of packages that require a commercial license to ship
185# product. If shipped as part of an image these packages may have
186# implications so they are disabled by default. To enable them,
187# un-comment the below as appropriate.
188#LICENSE_FLAGS_WHITELIST = "commercial_gst-fluendo-mp3 \
189# commercial_gst-openmax \
190# commercial_gst-plugins-ugly \
191# commercial_lame \
192# commercial_libmad \
193# commercial_libomxil \
194# commercial_mpeg2dec"
195
196
197#
198# Disk space monitor, take action when the disk space or the amount of
199# inode is running low, it is enabled when BB_DISKMON_DIRS is set.
200#
201# Set the directory for the monitor, the format is:
202# "action,directory,minimum_space,minimum_free_inode"
203#
204# The "action" must be set and should be one of:
205# ABORT: Immediately abort
206# STOPTASKS: The new tasks can't be executed any more, will stop the build
207# when the running tasks have been done.
208# WARN: show warnings (see BB_DISKMON_WARNINTERVAL for more information)
209#
210# The "directory" must be set, any directory is OK.
211#
212# Either "minimum_space" or "minimum_free_inode" (or both of them)
213# should be set, otherwise the monitor would not be enabled,
214# the unit can be G, M, K or none, but do NOT use GB, MB or KB
215# (B is not needed).
216#BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},1G,100K WARN,${SSTATE_DIR},1G,100K"
217#
218# Set disk space and inode interval (only works when the action is "WARN",
219# the unit can be G, M, or K, but do NOT use the GB, MB or KB
220# (B is not needed), the format is:
221# "disk_space_interval,disk_inode_interval", the default value is
222# "50M,5K" which means that it would warn when the free space is
223# lower than the minimum space(or inode), and would repeat the warning
224# when the disk space reduces 50M (or the amount of inode reduces 5k).
225#BB_DISKMON_WARNINTERVAL = "50M,5K"
226
227# Archive the source and put them to ${DEPLOY_DIR}/sources/.
228#
229#INHERIT += "archiver"
230#
231# The tarball for the patched source will be created by default, and you
232# can configure the archiver as follow:
233#
234# Create archive for:
235# 1) original (or unpacked) source:
236#ARCHIVER_MODE[src] = "original"
237# 2) patched source: (default)
238#ARCHIVER_MODE[src] = "patched"
239# 3) configured source:
240#ARCHIVER_MODE[src] = "configured"
241#
242# 4) the patches between do_unpack and do_patch:
243#ARCHIVER_MODE[diff] = "1"
244# set the files that you'd like to exclude from the diff:
245#ARCHIVER_MODE[diff-exclude] ?= ".pc autom4te.cache patches"
246#
247# 5) the environment data, similar to 'bitbake -e recipe':
248#ARCHIVER_MODE[dumpdata] = "1"
249#
250# 6) the recipe (.bb and .inc):
251#ARCHIVER_MODE[recipe] = "1"
252#
253# 7) Whether output the .src.rpm package:
254#ARCHIVER_MODE[srpm] = "1"
255#
256# 8) Filter the license, the recipe whose license in
257# COPYLEFT_LICENSE_INCLUDE will be included, and in
258# COPYLEFT_LICENSE_EXCLUDE will be excluded.
259#COPYLEFT_LICENSE_INCLUDE = 'GPL* LGPL*'
260#COPYLEFT_LICENSE_EXCLUDE = 'CLOSED Proprietary'
261#
262# 9) Config the recipe type that will be archived, the type can be
263# target, native, nativesdk, cross, crosssdk and cross-canadian,
264# you can set one or more types. Archive all types by default.
265#COPYLEFT_RECIPE_TYPES = 'target'
266#
267
268# Remove the old image before the new one generated to save disk space
269#RM_OLD_IMAGE = "1"
270
271#
272# GCC/LD FLAGS to enable more secure code generation
273#
274# By including the security_flags include file you enable flags
275# to the compiler and linker that cause them to generate more secure
276# code, this is enabled by default in the poky-lsb distro.
277# This does affect compile speed slightly.
278#
279# Use the following line to enable the security compiler and linker flags to your build
280#require conf/distro/include/security_flags.inc
281
282# Image level user/group configuration.
283# Inherit extrausers to make the setting of EXTRA_USERS_PARAMS effective.
284#INHERIT += "extrausers"
285# User / group settings
286# The settings are sperated by the ; character.
287# Each setting is actually a command. The supported commands are useradd,
288# groupadd, userdel, groupdel, usermod and groupmod.
289#EXTRA_USERS_PARAMS = "\
290#useradd -p '' tester; \
291#groupadd developers; \
292#userdel nobody; \
293#groupdel video; \
294#groupmod -g 1020 developers; \
295#usermod -s /bin/sh tester; \
296#"
297
298# Various packages dynamically add users and groups to the system at package
299# install time. For programs that do not care what the uid/gid is of the
300# resulting users/groups, the order of the install will determine the final
301# uid/gid. This can lead to non-deterministic uid/gid values from one build
302# to another. Use the following settings to specify that all user/group adds
303# should be created based on a static passwd/group file.
304#
305# Note, if you enable or disable the useradd-staticids in a configured system,
306# the TMPDIR may contain incorrect uid/gid values. Clearing the TMPDIR
307# will correct this condition.
308#
309# By default the system looks in the BBPATH for files/passwd and files/group
310# the default can be overriden by spefying USERADD_UID/GID_TABLES.
311#
312#USERADDEXTENSION = "useradd-staticids"
313#USERADD_UID_TABLES = "files/passwd"
314#USERADD_GID_TABLES = "files/group"
315#
316# In order to prevent generating a system where a dynamicly assigned uid/gid
317# can exist, you should enable the following setting. This will force the
318# system to error out if the user/group name is not defined in the
319# files/passwd or files/group (or specified replacements.)
320#USERADD_ERROR_DYNAMIC = "1"
321
322# Enabling FORTRAN
323# Note this is not officially supported and is just illustrated here to
324# show an example of how it can be done
325# You'll also need your fortran recipe to depend on libgfortran
326#FORTRAN_forcevariable = ",fortran"
327#RUNTIMETARGET_append_pn-gcc-runtime = " libquadmath"
328
329#
330# Kernel image features
331#
332# The INITRAMFS_IMAGE image variable will cause an additional recipe to
333# be built as a dependency to the what ever rootfs recipe you might be
334# using such as core-image-sato. The initramfs might be needed for
335# the initial boot of of the target system such as to load kernel
336# modules prior to mounting the root file system.
337#
338# INITRAMFS_IMAGE_BUNDLE variable controls if the image recipe
339# specified by the INITRAMFS_IMAGE will be run through an extra pass
340# through the kernel compilation in order to build a single binary
341# which contains both the kernel image and the initramfs. The
342# combined binary will be deposited into the tmp/deploy directory.
343# NOTE: You can set INITRAMFS_IMAGE in an image recipe, but
344# INITRAMFS_IMAGE_BUNDLE can only be set in a conf file.
345#
346#INITRAMFS_IMAGE = "core-image-minimal-initramfs"
347#INITRAMFS_IMAGE_BUNDLE = "1"
348
349#
350# IPK Hierarchical feed
351#
352# In some cases it may be desirable not to have all package files in the same
353# directory. An example would be when package feeds are to be uploaded to a
354# shared webhosting service or transferred to a Windows machine which may have
355# problems with directories containing multiple thousands of files.
356#
357# If the IPK_HIERARCHICAL_FEED variable is set to "1", packages will be split
358# between subdirectories in a similar way to how Debian package feeds are
359# organised. In the hierarchical feed, package files are written to
360# <outdir>/<arch>/<pkg_prefix>/<pkg_subdir>, where pkg_prefix is the first
361# letter of the package file name for non-lib packages or "lib" plus the 4th
362# letter of the package file name for lib packages (eg, 'l' for less, 'libc' for
363# libc6). pkg_subdir is the root of the package file name, discarding the
364# version and architecture parts and the common suffixes '-dbg', '-dev', '-doc',
365# '-staticdev', '-locale' and '-locale-*' which are listed in
366# meta/conf/bitbake.conf.
367#
368# If IPK_HIERARCHICAL_FEED is unset or set to any other value, the traditional
369# feed layout is used where package files are placed in <outdir>/<arch>/.
370#
371#IPK_HIERARCHICAL_FEED = "1"
372#
373
374# Using RPM4
375#
376# Currently the rootfs_rpm code has a hard depends on rpmresolve:do_populate_sysroot,
377# when using rpm4 the rpmresolve code will not compile due to a missing header file.
378# That dependency needs to be removed when using RPM4, also the PREFERRED_VERSION needs
379# to be set. This example shows how to enable rpm4
380# PREFERRED_VERSION_rpm = "4.11.2"
381# PREFERRED_VERSION_rpm-native = "4.11.2"
382# RPMROOTFSDEPENDS_remove = "rpmresolve-native:do_populate_sysroot"
383
384#
385# Use busybox/mdev for system initialization
386#
387#VIRTUAL-RUNTIME_dev_manager = "busybox-mdev"
388#VIRTUAL-RUNTIME_login_manager = "busybox"
389#VIRTUAL-RUNTIME_init_manager = "busybox"
390#VIRTUAL-RUNTIME_initscripts = "initscripts"
391#VIRTUAL-RUNTIME_keymaps = "keymaps"
392#DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
393
394#
395# Use systemd for system initialization
396#
397#DISTRO_FEATURES_append = " systemd"
398#DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
399#VIRTUAL-RUNTIME_init_manager = "systemd"
400#VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"