[dpdk-dev] [PATCH v2 0/3] Allow overriding of build-time constants
David Marchand
david.marchand at redhat.com
Fri Oct 16 17:47:45 CEST 2020
Hello Bruce,
On Thu, Sep 3, 2020 at 4:50 PM Bruce Richardson
<bruce.richardson at intel.com> wrote:
>
> A number of the more advanced DPDK build settings which are not expected to
> be user modified are stored in config/rte_config.h. In some cases, for a
> custom build a user may want to override those settings via CFLAGS, so we
> need to ensure that the definitions do not override the user-provided
> values.
>
> Bruce Richardson (3):
> config: remove explicit undefinition of unset values
> config: allow overriding some build defaults
> doc: add notes on overriding extra config values
$ CFLAGS="-DRTE_MAX_MEMSEG_LISTS=64" meson setup
--default-library=shared --buildtype=debugoptimized
-Dprefix=/home/dmarchan/git/pub/dpdk.org/build/install build
$ ninja-build -C build -j4 install
librte_eal.so is indeed built with the 64 value:
$ pahole -C rte_mem_config build/install/lib64/librte_eal.so |grep memsegs
die__process_function: tag not supported (INVALID)!
struct rte_memseg_list memsegs[64]; /* 136 8704 */
But no trace of the custom value for external applications:
$ grep -r RTE_MAX_MEMSEG_LISTS build/install
build/install/include/rte_config.h:#ifndef RTE_MAX_MEMSEG_LISTS
build/install/include/rte_config.h:#define RTE_MAX_MEMSEG_LISTS 128
Binary file build/install/lib64/librte_eal.a matches
Binary file build/install/lib64/librte_eal.so.21.0 matches
I can see the same using the meson option -Dc_args.
--
David Marchand
More information about the dev
mailing list