09/11/2020 18:44, Thomas Monjalon: > 09/11/2020 18:20, Thomas Monjalon: > > 09/11/2020 18:15, Ferruh Yigit: > > > On 11/9/2020 5:01 PM, Thomas Monjalon wrote: > > > > 09/11/2020 17:48, Ferruh Yigit: > > > >> I can send a new version to reset 'CUSTOM_PKG_CONFIG_PATH', > > > >> what is the intention/plan with the config file? > > > > > > > > You should use a config file to set PKG_CONFIG_PATH, PATH, > > > > DPDK_MESON_OPTIONS, etc accordingly to build with all > > > > your non-installed dependencies. > > > > CUSTOM_PKG_CONFIG_PATH is a way to avoid using the config file > > > > in a single case. > > > > > > > > > > Either use 'PKG_CONFIG_PATH' environment variable or a config file, both > > > has the > > > same problem that we need two different pkg config path, one for 64bit > > > and one > > > for 32bit. > > > > No. In the config file, you can set the right value by testing $DPDK_TARGET. > > Note: the config file is a shell script. > > > > > v2 of this patch provides a way to use correct one when needed. > > > > This is not a global fix. > > > > > Moving the default values from system environment or script hardcoded > > > values to > > > a config file is something else and can be done later, what do you think? > > > > The root cause of your issue is using variables from the environment. > > The global fix is then to reset them all, > > while keeping a default value for PATH which is not only for compilation > > config. > > This is what we have currently: > > export PATH=$default_path > export PKG_CONFIG_PATH=$default_pkgpath > export CPPFLAGS=$default_cppflags > export CFLAGS=$default_cflags > export LDFLAGS=$default_ldflags > unset DPDK_MESON_OPTIONS > > The PATH needs to be restored at each run to avoid using a wrong toolchain. > The default value is best taken from the start environment, > at the condition no conflicting toolchain is already set. > > PKG_CONFIG_PATH is specific to each target. > I believe it can be reset at each run and configured > only from the config file. > A default PKG_CONFIG_PATH for all targets does not make any sense. > > CPPFLAGS, CFLAGS and LDFLAGS could be used to customize some options > applying to all targets in some build tests without touching the config file. > > DPDK_MESON_OPTIONS could be the same as CFLAGS: take a global default from env > and restore the value at each run, so each target can have additional options > from the config file.
The implementation of the above is done in this patch: https://patches.dpdk.org/patch/83861/