From: Kevin Laatz <kevin.laatz@intel.com> To: dev@dpdk.org Cc: bruce.richardson@intel.com, thomas@monjalon.net, ray.kinsella@intel.com Subject: [dpdk-dev] [RFC 1/6] build: enable debug info by default in meson builds Date: Wed, 23 Oct 2019 01:07:49 +0000 Message-ID: <20191023010754.65172-2-kevin.laatz@intel.com> (raw) In-Reply-To: <20191023010754.65172-1-kevin.laatz@intel.com> From: Bruce Richardson <bruce.richardson@intel.com> We can turn on debug info by default in meson builds, since it has no performance penalty. This is done by changing the default build type from "release" to "debugoptimized". Since the latter using O2, we can using extra cflags to override that back to O3, which will make little real difference for actual debugging. For real debug builds, the user can still do "meson --buildtype=debug ..." and to remove the debug info "meson --buildtype=release ..." can be used. These are all standard meson options. The advantage of having debug builds by default using meson settings is that we can then add checks for ABI compatibility into each build, and disable them if we detect that the user has turned off the debug info. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- meson.build | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index c5a3dda26..b77ccd6ef 100644 --- a/meson.build +++ b/meson.build @@ -7,10 +7,16 @@ project('DPDK', 'C', version: run_command(find_program('cat', 'more'), files('VERSION')).stdout().strip(), license: 'BSD', - default_options: ['buildtype=release', 'default_library=static'], + default_options: ['buildtype=debugoptimized', + 'default_library=static'], meson_version: '>= 0.47.1' ) +# for default "debugoptimized" builds override optimization level 2 with 3 +if get_option('buildtype') == 'debugoptimized' + add_project_arguments('-O3', language: 'c') +endif + # set up some global vars for compiler, platform, configuration, etc. cc = meson.get_compiler('c') dpdk_conf = configuration_data() -- 2.17.1
next prev parent reply index Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-10-23 1:07 [dpdk-dev] [RFC 0/6] Add ABI compatibility checks to the meson build Kevin Laatz 2019-10-23 1:07 ` Kevin Laatz [this message] 2019-10-23 1:07 ` [dpdk-dev] [RFC 2/6] build: use meson warning levels Kevin Laatz 2019-10-23 1:07 ` [dpdk-dev] [RFC 3/6] devtools: add abi dump generation script Kevin Laatz 2019-10-23 1:07 ` [dpdk-dev] [RFC 4/6] build: add meson option for abi related checks Kevin Laatz 2019-10-23 1:07 ` [dpdk-dev] [RFC 5/6] build: add lib abi checks to meson Kevin Laatz 2019-10-23 1:07 ` [dpdk-dev] [RFC 6/6] build: add drivers " Kevin Laatz 2019-11-29 12:13 ` [dpdk-dev] [RFC 0/6] Add ABI compatibility checks to the meson build David Marchand 2019-11-29 17:10 ` [dpdk-dev] [PATCH v2 0/7] " Kevin Laatz 2019-11-29 17:10 ` [dpdk-dev] [PATCH v2 1/7] build: enable debug info by default in meson builds Kevin Laatz 2019-11-29 17:10 ` [dpdk-dev] [PATCH v2 2/7] build: use meson warning levels Kevin Laatz 2019-11-29 17:10 ` [dpdk-dev] [PATCH v2 3/7] devtools: add abi dump generation script Kevin Laatz 2019-11-29 17:10 ` [dpdk-dev] [PATCH v2 4/7] build: add meson option for abi related checks Kevin Laatz 2019-11-29 17:10 ` [dpdk-dev] [PATCH v2 5/7] build: add lib abi checks to meson Kevin Laatz 2019-11-29 17:10 ` [dpdk-dev] [PATCH v2 6/7] build: add drivers " Kevin Laatz 2019-11-29 17:10 ` [dpdk-dev] [PATCH v2 7/7] build: clean up experimental syms check Kevin Laatz 2019-11-29 21:08 ` [dpdk-dev] [PATCH v3 0/7] Add ABI compatibility checks to the meson build Kevin Laatz 2019-11-29 21:08 ` [dpdk-dev] [PATCH v3 1/7] build: enable debug info by default in meson builds Kevin Laatz 2019-11-29 21:09 ` [dpdk-dev] [PATCH v3 2/7] build: use meson warning levels Kevin Laatz 2019-11-29 21:09 ` [dpdk-dev] [PATCH v3 3/7] devtools: add abi dump generation script Kevin Laatz 2019-11-29 21:09 ` [dpdk-dev] [PATCH v3 4/7] build: add meson option for abi related checks Kevin Laatz 2019-11-29 21:09 ` [dpdk-dev] [PATCH v3 5/7] build: add lib abi checks to meson Kevin Laatz 2019-11-29 21:09 ` [dpdk-dev] [PATCH v3 6/7] build: add drivers " Kevin Laatz 2019-11-29 21:09 ` [dpdk-dev] [PATCH v3 7/7] build: clean up experimental syms check Kevin Laatz 2019-12-03 11:03 ` [dpdk-dev] [PATCH v3 0/7] Add ABI compatibility checks to the meson build David Marchand 2019-12-03 15:27 ` Laatz, Kevin 2019-12-04 8:47 ` David Marchand 2019-12-04 10:46 ` Bruce Richardson 2019-12-04 11:56 ` Neil Horman 2019-12-04 12:00 ` David Marchand 2019-12-10 11:07 ` David Marchand 2019-12-10 11:36 ` Laatz, Kevin 2019-12-11 18:21 ` [dpdk-dev] [PATCH v4 0/3] " Kevin Laatz 2019-12-11 18:21 ` [dpdk-dev] [PATCH v4 2/3] build: add abi checks to meson Kevin Laatz 2019-12-11 18:21 ` [dpdk-dev] [PATCH v4 3/3] build: clean up experimental syms check Kevin Laatz [not found] ` <20191211182147.19355-2-kevin.laatz@intel.com> 2019-12-12 8:43 ` [dpdk-dev] [PATCH v4 1/3] build: add dump files for v20.0 ABI David Marchand 2019-12-12 9:36 ` David Marchand 2019-12-12 9:45 ` Laatz, Kevin 2019-12-12 9:45 ` Laatz, Kevin 2019-12-13 14:02 ` [dpdk-dev] [PATCH v5 0/3] Add ABI compatibility checks to the meson build Kevin Laatz 2019-12-13 14:03 ` [dpdk-dev] [PATCH v5 2/3] build: add abi checks to meson Kevin Laatz 2019-12-13 14:03 ` [dpdk-dev] [PATCH v5 3/3] build: clean up experimental syms check Kevin Laatz 2019-12-13 16:40 ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build Kevin Laatz 2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 01/11] lib: add dump files for v20.0 ABI Kevin Laatz 2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 02/11] drivers/bus: " Kevin Laatz 2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 03/11] drivers/mempool: " Kevin Laatz 2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 04/11] drivers/common: " Kevin Laatz 2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 05/11] drivers/raw: " Kevin Laatz 2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 06/11] drivers/crypto: " Kevin Laatz 2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 07/11] drivers/compress: " Kevin Laatz 2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 08/11] drivers/net: " Kevin Laatz 2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 09/11] drivers/net/intel: " Kevin Laatz 2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 10/11] build: add abi checks to meson Kevin Laatz 2019-12-13 16:41 ` [dpdk-dev] [PATCH v6 11/11] build: clean up experimental syms check Kevin Laatz 2019-12-19 21:58 ` [dpdk-dev] [PATCH v6 00/11] Add ABI compatibility checks to the meson build David Marchand 2019-12-20 10:20 ` Thomas Monjalon 2019-12-20 11:04 ` Bruce Richardson 2019-12-20 13:19 ` David Marchand 2019-12-20 14:17 ` Bruce Richardson 2020-01-06 13:20 ` Aaron Conole
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20191023010754.65172-2-kevin.laatz@intel.com \ --to=kevin.laatz@intel.com \ --cc=bruce.richardson@intel.com \ --cc=dev@dpdk.org \ --cc=ray.kinsella@intel.com \ --cc=thomas@monjalon.net \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
DPDK-dev Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/dpdk-dev/0 dpdk-dev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dpdk-dev dpdk-dev/ https://lore.kernel.org/dpdk-dev \ dev@dpdk.org public-inbox-index dpdk-dev Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.dpdk.dev AGPL code for this site: git clone https://public-inbox.org/public-inbox.git