[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