mirror of
https://git.yoctoproject.org/poky
synced 2026-02-14 20:53:03 +01:00
We now support two styles of debug information generation, the '.debug' style, which is the same as previously implemented. This style simply splits the debug information and makes it available in the same general directory. /bin/foo -> /bin/.debug/foo The new 'debug-file-directory' style splits the debug information and places it into the single debug-file-directory, /usr/lib/debug: /bin/foo -> /usr/lib/debug/bin/foo.debug Both also find and copy all referenced source code to a new /usr/src/debug directory. This allows the -dbg files to be used for stand-a-lone debugging on or off the target device. File stripping is now handled as a seperate operation from file splitting. This allows us to split the debug information, but also leave it in the original file -- or prevent the debug information from being split. Also enhance the comments within local.conf.sample to provide a better understanding of the control the user has over debug file generation. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
220 lines
9.2 KiB
Plaintext
220 lines
9.2 KiB
Plaintext
# 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 it ${TOPDIR}/downloads
|
|
#DL_DIR ?= "${TOPDIR}/downloads"
|
|
# Uncomment and change to cache Poky's built staging output in an alternative
|
|
# location, default ${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"
|
|
|
|
# Supported target hardware for demonstration purposes
|
|
#MACHINE ?= "atom-pc"
|
|
#MACHINE ?= "beagleboard"
|
|
#MACHINE ?= "emenlow"
|
|
#MACHINE ?= "mpc8315e-rdb"
|
|
#MACHINE ?= "routerstationpro"
|
|
|
|
DISTRO ?= "poky"
|
|
# For bleeding edge / experimental / unstable package versions
|
|
# DISTRO ?= "poky-bleeding"
|
|
|
|
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/poky-image.bbclass
|
|
# and meta/packages/tasks/task-poky.bb for more details.
|
|
|
|
EXTRA_IMAGE_FEATURES = "tools-debug tools-profile tools-testapps debug-tweaks"
|
|
|
|
# The default IMAGE_FEATURES above are too large for the mx31phy and
|
|
# c700/c750 machines which have limited space. The code below limits
|
|
# the default features for those machines.
|
|
EXTRA_IMAGE_FEATURES_c7x0 = "tools-testapps debug-tweaks"
|
|
EXTRA_IMAGE_FEATURES_mx31phy = "debug-tweaks"
|
|
EXTRA_IMAGE_FEATURES_mx31ads = "tools-testapps 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_rpm 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 tobe
|
|
# extended or upgraded later.
|
|
#This enabled mklibs library size optimization just for the specified image.
|
|
#MKLIBS_OPTIMIZED_IMAGES ?= "poky-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"
|
|
|
|
# POKYMODE controls the characteristics of the generated packages/images by
|
|
# telling poky which type of toolchain to use.
|
|
#
|
|
# Options include several different EABI combinations and a compatibility
|
|
# mode for the OABI mode poky previously used.
|
|
#
|
|
# The default is "eabi"
|
|
# Use "oabi" for machines with kernels < 2.6.18 on ARM for example.
|
|
# Use "external-MODE" to use the precompiled external toolchains where MODE
|
|
# is the type of external toolchain to use e.g. eabi.
|
|
# POKYMODE = "external-eabi"
|
|
|
|
# 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 = "${POKYBASE}/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 debugging output
|
|
# BBDEBUG = "yes"
|
|
# Uncomment this if you want BitBake to emit the log if a build fails.
|
|
BBINCLUDELOGS = "yes"
|
|
|
|
# Set this if you wish to make pkgconfig libraries from your system available
|
|
# for native builds. Combined with extra ASSUME_PROVIDEDs this can allow
|
|
# native builds of applications like oprofileui-native (unsupported feature).
|
|
#EXTRA_NATIVE_PKGCONFIG_PATH = ":/usr/lib/pkgconfig"
|
|
#ASSUME_PROVIDED += "gtk+-native libglade-native"
|
|
|
|
ENABLE_BINARY_LOCALE_GENERATION = "1"
|
|
|
|
# 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"
|
|
|
|
# Poky can try and fetch packaged-staging 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"
|
|
|
|
#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. Poky 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"
|
|
|
|
# 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) gnome-terminal 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
|
|
#TERMCMD = "${KONSOLE_TERMCMD}"
|
|
#TERMCMDRUN = "${KONSOLE_TERMCMDRUN}"
|