# CONF_VERSION is increased each time build/conf/ changes incompatibly
CONF_VERSION = "1"

# Uncomment and change to cache the files Poky downloads in an alternative
# location, default is ${TOPDIR}/downloads
#DL_DIR ?= "${TOPDIR}/downloads"
# Uncomment and change to cache Poky's built staging output in an alternative
# location, default is ${TOPDIR}/sstate-cache
#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"

# Uncomment and set to allow bitbake to execute multiple tasks at once.
# For a quadcore, BB_NUMBER_THREADS = "4", PARALLEL_MAKE = "-j 4" would
# be appropriate.
# BB_NUMBER_THREADS = "4"
# Also, make can be passed flags so it run parallel threads e.g.:
# PARALLEL_MAKE = "-j 4"

# Set a default machine to target unless a machine is selected from the 
# lists below.
MACHINE ??= "qemux86"

# Supported emulation machines
#MACHINE ?= "qemuarm"
#MACHINE ?= "qemumips"
#MACHINE ?= "qemuppc"
#MACHINE ?= "qemux86"
#MACHINE ?= "qemux86-64"

# BBMASK is a regular expression that can be used to tell BitBake to ignore
# certain recipes.
BBMASK = ""

# EXTRA_IMAGE_FEATURES allows extra packages to be added to the generated images 
# (Some of these are automatically added to certain image types)
# "dbg-pkgs"     - add -dbg packages for all installed packages
#                  (adds symbol information for debugging/profiling)
# "dev-pkgs"     - add -dev packages for all installed packages
#                  (useful if you want to develop against libs in the image)
# "tools-sdk"      - add development tools (gcc, make, pkgconfig etc.)
# "tools-debug"    - add debugging tools (gdb, strace)
# "tools-profile"  - add profiling tools (oprofile, exmap, lttng valgrind (x86 only))
# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
# "debug-tweaks"   - make an image for suitable of development
#                    e.g. ssh root access has a blank password
# There are other application targets too, see meta/classes/core-image.bbclass 
# and meta/recipes-core/tasks/task-core.bb for more details.
# The -sdk image includes these features by default now.
EXTRA_IMAGE_FEATURES = "debug-tweaks"

# A list of packaging systems used in generated images
# The first package type listed will be used for rootfs generation
# include 'package_deb' for debs
# include 'package_ipk' for ipks
# include 'package_rpm' for rpms
#PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
PACKAGE_CLASSES ?= "package_ipk"

# mklibs library size optimization is more useful to smaller images,
# and less useful for bigger images. Also mklibs library optimization
# can break the ABI compatibility, so should not be applied to the
# images which are to be extended or upgraded later.
#This enabled mklibs library size optimization just for the specified image.
#MKLIBS_OPTIMIZED_IMAGES ?= "core-image-minimal"
#This enable mklibs library size optimization will be for all the images.
#MKLIBS_OPTIMIZED_IMAGES ?= "all"

# A list of additional classes to use when building the system
# include 'image-mklibs' to reduce shared library files size for an image
# include 'image-prelink' in order to prelink the filesystem image
# include 'image-swab' to perform host system intrusion detection
# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
USER_CLASSES ?= "image-mklibs image-prelink"

# Uncomment this to specify where BitBake should create its temporary files.
# Note that a full build of everything in OpenEmbedded will take GigaBytes of hard
# disk space, so make sure to free enough space. The default TMPDIR is
# <build directory>/tmp
#TMPDIR = "${COREBASE}/build/tmp"

# The following are used to control options related to debugging.
#
# Uncomment this to change the optimization to make debugging easer, at the 
# possible cost of performance.
# DEBUG_BUILD = "1"
#
# Uncomment this to disable the stripping of the installed binaries
# INHIBIT_PACKAGE_STRIP = "1"
#
# Uncomment this to disable the split of the debug information into -dbg files
# INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
#
# When splitting debug information, the following controls the results of the
# file splitting.
#
#  .debug (default):
#    When splitting the debug information will be placed into
#    a .debug directory in the same dirname of the binary produced:
#      /bin/foo -> /bin/.debug/foo
#
#  debug-file-directory:
#    When splitting the debug information will be placed into
#    a central debug-file-directory, /usr/lib/debug:
#      /bin/foo -> /usr/lib/debug/bin/foo.debug
#
#    Any source code referenced in the debug symbols will be copied
#    and made available within the /usr/src/debug directory
#
PACKAGE_DEBUG_SPLIT_STYLE = '.debug'
# PACKAGE_DEBUG_SPLIT_STYLE = 'debug-file-directory'

# Uncomment these to build a package such that you can use gprof to profile it.
# NOTE: This will only work with 'linux' targets, not
# 'linux-uclibc', as uClibc doesn't provide the necessary
# object files.  Also, don't build glibc itself with these
# flags, or it'll fail to build.
#
# PROFILE_OPTIMIZATION = "-pg"
# SELECTED_OPTIMIZATION = "${PROFILE_OPTIMIZATION}"
# LDFLAGS =+ "-pg"

# Uncomment this if you want BitBake to emit the log if a build fails.
BBINCLUDELOGS = "yes"

# The architecture to build SDK items for, by setting this you can build SDK
# packages for architectures other than the host i.e. building i686 packages
# on an x86_64 host.
# Supported values are i686 and x86_64
#SDKMACHINE ?= "i686"

# We can try and fetch shared state packages from a http, https or ftp
# mirror. Set this variable to the root of a pstage directory on a server.
#SSTATE_MIRRORS ?= "\
#file://.* http://someserver.tld/share/sstate/ \n \
#file://.* file:///some/local/dir/sstate/"

# Set IMAGETEST to qemu if you want to build testcases and start 
# testing in qemu after do_rootfs.
#IMAGETEST = "qemu"

# By default test cases in sanity suite will be ran. If you want to run other 
# test suite or specific test case(e.g. bat or boot test case under sanity suite), 
# list them like following.
#TEST_SCEN = "sanity bat sanity:boot toolchain"

#Because of the QEMU booting slowness issue(see bug #646 and #618), autobuilder
#may suffer a timeout issue when running sanity test. We introduce variable
#TEST_SERIALIZE here to reduce the time on sanity test. It is by default set 
#to 1. This will start image and run cases in the same image without reboot 
#or kill. If it is set to 0, the image will be copied and tested for each 
#case, which will take much time.
#TEST_SERIALIZE = "1"

# ENABLE_BINARY_LOCALE_GENERATION controls the generation of binary locale
# packages at build time using qemu-native. Disabling it (by setting it to 0)
# will save some build time at the expense of breaking i18n on devices with
# less than 128MB RAM.
ENABLE_BINARY_LOCALE_GENERATION = "1"

# Set GLIBC_GENERATE_LOCALES to the locales you wish to generate should you not
# wish to perform the time-consuming step of generating all LIBC locales.
# NOTE: If removing en_US.UTF-8 you will also need to uncomment, and set
# appropriate values for IMAGE_LINGUAS and LIMIT_BUILT_LOCALES
# WARNING: this may break localisation!
#GLIBC_GENERATE_LOCALES = "en_GB.UTF-8 en_US.UTF-8"
# See message above as to whether setting these is required
#IMAGE_LINGUAS ?= "en-gb"
#LIMIT_BUILT_LOCALES ?= "POSIX en_GB"

# This value is currently used by pseudo to determine if the recipe should
# build both the 32-bit and 64-bit wrapper libraries on a 64-bit build system.
#
# Pseudo will attempt to determine if a 32-bit wrapper is necessary, but
# it doesn't always guess properly.  If you have 32-bit executables on 
# your 64-bit build system, you likely want to set this to "0", 
# otherwise you could end up with incorrect file attributes on the 
# target filesystem.
#
# Default to not build 32 bit libs on 64 bit systems, comment this
# out if that is desired
NO32LIBS = "1"

# If you do not use (or have installed) xterm you will need to
# uncomment these variables and set them to the terminal you wish to use
# when resolving patches which cannot be applied
# Supported shell prefixes for *_TERMCMD and *_TERMCMDRUN ARE:
# GNOME, SCREEN, XTERM and KONSOLE
# Note: currently, Konsole support only works for KDE 3.x due to the way
# newer Konsole versions behave
#TERMCMD = "${XTERM_TERMCMD}"
#TERMCMDRUN = "${XTERM_TERMCMDRUN}"
# Alternatively, if you prefer you can disable patch resolution:
#PATCHRESOLVE = "noop"

# Uncomment this if your host distribution provides the help2man tool.
#ASSUME_PROVIDED += "help2man-native"

# Uncomment the following lines to enable multilib builds
#require conf/multilib.conf
#MULTILIBS = "multilib:lib32"
#DEFAULTTUNE_virtclass-multilib-lib32 = "x86"