|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2 |
|
| #
e964f96e |
| 26-Feb-2022 |
Thomas Monjalon <[email protected]> |
ci: remove redundant drivers enabling
No need to explicitly enable drivers bus/vdev and mempool/ring.
bus/vdev is always enabled since commit 2e33309ebe03 ("config: enable/disable drivers in Arm bu
ci: remove redundant drivers enabling
No need to explicitly enable drivers bus/vdev and mempool/ring.
bus/vdev is always enabled since commit 2e33309ebe03 ("config: enable/disable drivers in Arm builds")
mempool/ring is always enabled since commit 81c2337e044d ("build: make ring mempool driver mandatory")
The driver net/null is kept to allow running test-null.sh.
Signed-off-by: Thomas Monjalon <[email protected]> Acked-by: Bruce Richardson <[email protected]> Acked-by: David Marchand <[email protected]>
show more ...
|
|
Revision tags: v22.03-rc1 |
|
| #
5e437164 |
| 11-Feb-2022 |
Bruce Richardson <[email protected]> |
buildtools/chkincs: test headers for C++ compatibility
Add support for checking each of our headers for issues when included in a C++ file.
Signed-off-by: Bruce Richardson <[email protected]
buildtools/chkincs: test headers for C++ compatibility
Add support for checking each of our headers for issues when included in a C++ file.
Signed-off-by: Bruce Richardson <[email protected]>
show more ...
|
|
Revision tags: v21.11, v21.11-rc4, v21.11-rc3 |
|
| #
bd93fc68 |
| 17-Nov-2021 |
David Marchand <[email protected]> |
ci: test minimum configuration
Disabling drivers and optional libraries was not tested. Add a new target in test-meson-builds.sh and GHA with just the minimum to run test-null.sh and any other optio
ci: test minimum configuration
Disabling drivers and optional libraries was not tested. Add a new target in test-meson-builds.sh and GHA with just the minimum to run test-null.sh and any other optional component disabled.
Signed-off-by: David Marchand <[email protected]> Acked-by: Thomas Monjalon <[email protected]>
show more ...
|
|
Revision tags: v21.11-rc2, v21.11-rc1, v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1 |
|
| #
bf66003b |
| 06-Jul-2021 |
Juraj Linkeš <[email protected]> |
build: use platform for generic and native builds
The current meson option 'machine' should only specify the ISA, which is not sufficient for Arm, where setting ISA implies other settings as well (a
build: use platform for generic and native builds
The current meson option 'machine' should only specify the ISA, which is not sufficient for Arm, where setting ISA implies other settings as well (and is used in Arm configuration as such). Use the existing 'platform' meson option to differentiate the type of the build (native/generic) and set ISA accordingly, unless the user chooses to override it with a new option, 'cpu_instruction_set'. The 'machine' option set the ISA in x86 builds and set native/default 'build type' in aarch64 builds. These two new variables, 'platform' and 'cpu_instruction_set', now properly set both ISA and build type for all architectures in a uniform manner. The 'machine' option also doesn't describe very well what it sets. The new option, 'cpu_instruction_set', is much more descriptive. Keep 'machine' for backwards compatibility.
Signed-off-by: Juraj Linkeš <[email protected]> Acked-by: Bruce Richardson <[email protected]>
show more ...
|
|
Revision tags: v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2, v21.05-rc1 |
|
| #
5b3a6ca6 |
| 30-Mar-2021 |
Juraj Linkeš <[email protected]> |
build: alias default build as generic
The current machine='default' build name is not descriptive. The actual default build is machine='native'. Add an alternative string which does the same build a
build: alias default build as generic
The current machine='default' build name is not descriptive. The actual default build is machine='native'. Add an alternative string which does the same build and better describes what we're building: machine='generic'. Leave machine='default' for backwards compatibility.
Signed-off-by: Juraj Linkeš <[email protected]> Reviewed-by: Honnappa Nagarahalli <[email protected]> Acked-by: Bruce Richardson <[email protected]>
show more ...
|
|
Revision tags: v21.02, v21.02-rc4, v21.02-rc3 |
|
| #
f6f2d224 |
| 02-Feb-2021 |
David Marchand <[email protected]> |
devtools: fix examples build test
Since we don't check ABI on the x86-default target anymore, installation of the target must always happen for examples external compilation check to work.
Fixes: 6
devtools: fix examples build test
Since we don't check ABI on the x86-default target anymore, installation of the target must always happen for examples external compilation check to work.
Fixes: 6a426d733ec0 ("devtools: reduce ABI checks and static binaries")
Signed-off-by: David Marchand <[email protected]> Acked-by: Thomas Monjalon <[email protected]>
show more ...
|
|
Revision tags: v21.02-rc2 |
|
| #
05050ac4 |
| 29-Jan-2021 |
Bruce Richardson <[email protected]> |
build: add header includes check
To verify that all DPDK headers are ok for inclusion directly in a C file, and are not missing any other pre-requisite headers, we can auto-generate for each header
build: add header includes check
To verify that all DPDK headers are ok for inclusion directly in a C file, and are not missing any other pre-requisite headers, we can auto-generate for each header an empty C file that includes that header. Compiling these files will throw errors if any header has unmet dependencies.
For some libraries, there may be some header files which are not for direct inclusion, but rather are to be included via other header files. To allow later checking of these files for missing includes, we separate out the indirect include files from the direct ones.
To ensure ongoing compliance, we enable this build test as part of the default x86 build in "test-meson-builds.sh".
Signed-off-by: Bruce Richardson <[email protected]>
show more ...
|
|
Revision tags: v21.02-rc1 |
|
| #
6a426d73 |
| 02-Dec-2020 |
Thomas Monjalon <[email protected]> |
devtools: reduce ABI checks and static binaries
When testing compilation and checking ABI compatibility, there is no real need of static binaries eating disks.
The static linkage of applications wa
devtools: reduce ABI checks and static binaries
When testing compilation and checking ABI compatibility, there is no real need of static binaries eating disks.
The static linkage of applications was already well tested, though the static examples tested with meson were limited to "l3fwd" only. The static build test with make is limited to "helloworld" example.
The ABI compatibility is checked on shared libraries, and there is no need to test again on similar builds. A new parameter is added to the function "build", so the ABI check is enabled only for native gcc and clang shared builds, 32-bit, generic armv8 and ppc cross compilations. In other words, it is disabled for some static builds and some Arm ones.
Signed-off-by: Thomas Monjalon <[email protected]> Acked-by: David Marchand <[email protected]>
show more ...
|
| #
0144eeaf |
| 02-Dec-2020 |
Thomas Monjalon <[email protected]> |
devtools: adjust verbosity of ABI check
The scripts gen-abi.sh and check-abi.sh are updated to print error messages to stderr so they are likely never ignored.
When called from test-meson-builds.sh
devtools: adjust verbosity of ABI check
The scripts gen-abi.sh and check-abi.sh are updated to print error messages to stderr so they are likely never ignored.
When called from test-meson-builds.sh, the standard messages on stdout can be more quiet depending on the verbosity settings. The beginning of the ABI check is announced in verbose mode. The commands are printed in very verbose mode. The check result details are available in verbose mode.
Signed-off-by: Thomas Monjalon <[email protected]>
show more ...
|
|
Revision tags: v20.11, v20.11-rc5 |
|
| #
996a8658 |
| 17-Nov-2020 |
Thomas Monjalon <[email protected]> |
devtools: rename build test verbosity variables
The verbosity was meant to be set with options -v and -vv, or possibly with the environment variables TEST_MESON_BUILD_VERBOSE and TEST_MESON_BUILD_VE
devtools: rename build test verbosity variables
The verbosity was meant to be set with options -v and -vv, or possibly with the environment variables TEST_MESON_BUILD_VERBOSE and TEST_MESON_BUILD_VERY_VERBOSE.
It is decided to keep only the options -v and -vv, so the variables are renamed with lower case, marking them as privates.
The handling of the verbosity level is also moved upper in the script, closer to other initializations.
Signed-off-by: Thomas Monjalon <[email protected]> Reviewed-by: David Marchand <[email protected]>
show more ...
|
|
Revision tags: v20.11-rc4, v20.11-rc3, v20.11-rc2 |
|
| #
e222b17f |
| 27-Oct-2020 |
Bruce Richardson <[email protected]> |
devtools: allow custom set of examples in build test
To test the installation process of DPDK using "ninja install" test-meson-builds.sh builds a subset of the examples using "make". To allow more f
devtools: allow custom set of examples in build test
To test the installation process of DPDK using "ninja install" test-meson-builds.sh builds a subset of the examples using "make". To allow more flexibility for people testing, allow the set of examples chosen for this make test to be overridden using variable "DPDK_BUILD_TEST_EXAMPLES" in the environment.
Since a number of example apps link against drivers directly even for shared builds, we need to ensure that LD_LIBRARY_PATH points to the main DPDK lib folder so any dependencies of those drivers can be found e.g. that the PCI/vdev bus driver .so is found. [All drivers are symlinked from drivers dir back to lib dir on install, so only one dir rather than two is needed in the path.]
Signed-off-by: Bruce Richardson <[email protected]> Acked-by: David Marchand <[email protected]> Acked-by: Thomas Monjalon <[email protected]>
show more ...
|
| #
252e92ee |
| 12-Nov-2020 |
David Marchand <[email protected]> |
devtools: fix x86-default build test install env
The x86-default environment was loaded after installing this target. I did not see any problem with it, yet we should load corresponding environment
devtools: fix x86-default build test install env
The x86-default environment was loaded after installing this target. I did not see any problem with it, yet we should load corresponding environment before installing a target.
Fixes: bd253daa7717 ("devtools: fix test of ninja install") Cc: [email protected]
Signed-off-by: David Marchand <[email protected]>
show more ...
|
| #
a7a9199a |
| 06-Nov-2020 |
Thomas Monjalon <[email protected]> |
devtools: reduce build test verbosity
The default verbosity of test-meson-builds.sh is to be quiet. In order to better apply the verbosity policy, some file descriptors are open to redirect to stdou
devtools: reduce build test verbosity
The default verbosity of test-meson-builds.sh is to be quiet. In order to better apply the verbosity policy, some file descriptors are open to redirect to stdout or /dev/null accordingly.
The target variable and meson/ninja commands are printed in verbose modes. The installation commands are printed only in very verbose mode. The examples build commands are printed only in very verbose mode.
Signed-off-by: Thomas Monjalon <[email protected]> Acked-by: David Marchand <[email protected]> Acked-by: Bruce Richardson <[email protected]>
show more ...
|
| #
a655cbd5 |
| 09-Nov-2020 |
Thomas Monjalon <[email protected]> |
devtools: fix build test config inheritance from env
The variables DPDK_MESON_OPTIONS, PATH, PKG_CONFIG_PATH, CPPFLAGS, CFLAGS and LDFLAGS can be customized in the config file loaded by devtools/loa
devtools: fix build test config inheritance from env
The variables DPDK_MESON_OPTIONS, PATH, PKG_CONFIG_PATH, CPPFLAGS, CFLAGS and LDFLAGS can be customized in the config file loaded by devtools/load-devel-config at each build. The configuration can be adjusted per target thanks to the value set in the DPDK_TARGET variable.
PKG_CONFIG_PATH is specific to each target, so it must be empty before configuring each build from the file according to DPDK_TARGET. Inheriting a default PKG_CONFIG_PATH for all targets does not make sense and is prone to confusion.
DPDK_MESON_OPTIONS might take a global initial value from environment to customize a build test from the shell. Example: DPDK_MESON_OPTIONS="b_lto=true" Some target-specific options can be added in the configuration file: DPDK_MESON_OPTIONS="$DPDK_MESON_OPTIONS kernel_dir=$MYKERNEL"
Fixes: 272236741258 ("devtools: load target-specific compilation environment") Cc: [email protected]
Signed-off-by: Thomas Monjalon <[email protected]> Acked-by: Bruce Richardson <[email protected]> Acked-by: Ferruh Yigit <[email protected]> Tested-by: Jerin Jacob <[email protected]> Acked-by: David Marchand <[email protected]>
show more ...
|
| #
9b83106d |
| 05-Nov-2020 |
Bruce Richardson <[email protected]> |
devtools: test 32-bit build
It's reasonably common for patches to have issues when built on 32-bits, so to prevent this, we can add a 32-bit build (if supported) to the "test-meson-builds.sh" script
devtools: test 32-bit build
It's reasonably common for patches to have issues when built on 32-bits, so to prevent this, we can add a 32-bit build (if supported) to the "test-meson-builds.sh" script. The tricky bit is using a valid PKG_CONFIG_LIBDIR, so for now we use two common possibilities for where that should point to in order to get a successful build.
Signed-off-by: Bruce Richardson <[email protected]> Signed-off-by: Thomas Monjalon <[email protected]>
show more ...
|
|
Revision tags: v20.11-rc1, v20.08, v20.08-rc4, v20.08-rc3, v20.08-rc2, v20.08-rc1, v20.05, v20.05-rc4 |
|
| #
0b8086ce |
| 24-May-2020 |
Thomas Monjalon <[email protected]> |
devtools: remove useless files from ABI reference
When building an ABI reference with meson, some static libraries are built and linked in apps. They are useless and take a lot of space. Those binar
devtools: remove useless files from ABI reference
When building an ABI reference with meson, some static libraries are built and linked in apps. They are useless and take a lot of space. Those binaries, and other useless files (examples and doc files) in the share/ directory, are removed after being installed.
In order to save time when building the ABI reference, the examples (which are not installed anyway) are not compiled.
Signed-off-by: Thomas Monjalon <[email protected]> Acked-by: David Marchand <[email protected]>
show more ...
|
| #
ca39d3a8 |
| 30-Jun-2020 |
Bruce Richardson <[email protected]> |
devtools: test static linkage with pkg-config
The pkg-config file was tested by building some of the examples using make, pulling the cflags and ldflags from the pkg-config file for DPDK. However, t
devtools: test static linkage with pkg-config
The pkg-config file was tested by building some of the examples using make, pulling the cflags and ldflags from the pkg-config file for DPDK. However, this only tested the shared library linkage, and not the static, so this patch updates it to test both.
Signed-off-by: Bruce Richardson <[email protected]> Acked-by: Luca Boccassi <[email protected]> Acked-by: Sunil Pai G <[email protected]>
show more ...
|
| #
3b643139 |
| 14-Jun-2020 |
Thomas Monjalon <[email protected]> |
devtools: add Windows cross-build test with MinGW
The Meson cross file is renamed from meson_mingw.txt to cross-mingw, and is added to test-meson-builds.sh.
The only example supported on Windows so
devtools: add Windows cross-build test with MinGW
The Meson cross file is renamed from meson_mingw.txt to cross-mingw, and is added to test-meson-builds.sh.
The only example supported on Windows so far is "helloworld", that's why the default list of examples is overridden.
Signed-off-by: Thomas Monjalon <[email protected]>
show more ...
|
| #
b2b3858a |
| 14-Jun-2020 |
Thomas Monjalon <[email protected]> |
devtools: add ppc64 in meson build test
Add cross-compilation support of a PPC target in the build test matrix. The CPU is defined as Power8, running as little endian.
Signed-off-by: Thomas Monjalo
devtools: add ppc64 in meson build test
Add cross-compilation support of a PPC target in the build test matrix. The CPU is defined as Power8, running as little endian.
Signed-off-by: Thomas Monjalon <[email protected]> Reviewed-by: David Christensen <[email protected]>
show more ...
|
| #
3932237f |
| 14-Jun-2020 |
Thomas Monjalon <[email protected]> |
devtools: allow non-standard toolchain in meson test
If a compiler is not found in $PATH, the compilation test is skipped. In some cases, the compiler could be found after extending $PATH in an envi
devtools: allow non-standard toolchain in meson test
If a compiler is not found in $PATH, the compilation test is skipped. In some cases, the compiler could be found after extending $PATH in an environment configuration script (called by load-devel-config).
The decision to skip is deferred to a later stage, after loading the configuration script.
In such case, the variable DPDK_TARGET, used by the configuration script as input, is the compiler name.
Signed-off-by: Thomas Monjalon <[email protected]> Reviewed-by: David Christensen <[email protected]>
show more ...
|
| #
444e5567 |
| 14-Jun-2020 |
Thomas Monjalon <[email protected]> |
devtools: shrink cross-compilation test definition
Each cross-compilation case needs to define the target compiler and the meson cross file. Given the compiler is already defined in the cross file,
devtools: shrink cross-compilation test definition
Each cross-compilation case needs to define the target compiler and the meson cross file. Given the compiler is already defined in the cross file, the latter is enough.
The function "build" is changed to accept a cross file alternatively to the compiler name. In the case of a file (detected if readable), the compiler is extracted with sed and tr, and the option --cross-file is automatically added.
Signed-off-by: Thomas Monjalon <[email protected]> Reviewed-by: David Christensen <[email protected]>
show more ...
|
| #
ef5391b7 |
| 20-May-2020 |
Thomas Monjalon <[email protected]> |
devtools: allow warnings in ABI reference build
There is no point in forcing warning-free compilation when building an ABI reference. It is only preventing from compiling ABI reference of old releas
devtools: allow warnings in ABI reference build
There is no point in forcing warning-free compilation when building an ABI reference. It is only preventing from compiling ABI reference of old releases with recent compilers.
Note: DPDK 20.02 is built (with warnings) by GCC 10 if using -fcommon.
Signed-off-by: Thomas Monjalon <[email protected]> Acked-by: David Marchand <[email protected]> Acked-by: Kevin Traynor <[email protected]>
show more ...
|
|
Revision tags: v20.05-rc3, v20.05-rc2, v20.05-rc1 |
|
| #
1cab4964 |
| 17-Apr-2020 |
Thomas Monjalon <[email protected]> |
devtools: reduce examples in static builds
Static builds can take a lot of space, so reduce the number of examples built when testing those static builds.
As makefile-based build is close to end of
devtools: reduce examples in static builds
Static builds can take a lot of space, so reduce the number of examples built when testing those static builds.
As makefile-based build is close to end of life, completely skip examples in case of static linkage with make.
Signed-off-by: Thomas Monjalon <[email protected]> Acked-by: David Marchand <[email protected]>
show more ...
|
| #
0f96499d |
| 17-Mar-2020 |
David Marchand <[email protected]> |
devtools: silence meson install
Installing with ninja is quite verbose by default, hide ninja output under TEST_MESON_BUILD_VERBOSE and TEST_MESON_BUILD_VERY_VERBOSE options.
Signed-off-by: David M
devtools: silence meson install
Installing with ninja is quite verbose by default, hide ninja output under TEST_MESON_BUILD_VERBOSE and TEST_MESON_BUILD_VERY_VERBOSE options.
Signed-off-by: David Marchand <[email protected]> Acked-by: Bruce Richardson <[email protected]> Acked-by: Thomas Monjalon <[email protected]>
show more ...
|
|
Revision tags: v20.02, v20.02-rc4, v20.02-rc3, v20.02-rc2 |
|
| #
777014e5 |
| 02-Feb-2020 |
David Marchand <[email protected]> |
devtools: add ABI checks
For normal developers, those checks are disabled.
Enabling them requires a configuration that will trigger the ABI dumps generation as part of the existing devtools/test-bu
devtools: add ABI checks
For normal developers, those checks are disabled.
Enabling them requires a configuration that will trigger the ABI dumps generation as part of the existing devtools/test-build.sh and devtools/test-meson-builds.sh scripts.
Those checks are enabled in the CI for the default meson options on x86 and aarch64 so that proposed patches are validated via our CI robot. A cache of the ABI is stored in travis jobs to avoid rebuilding too often.
Checks can be informational only, by setting ABI_CHECKS_WARN_ONLY when breaking the ABI in a future release.
Explicit suppression rules have been added on internal structures exposed to crypto drivers as the current ABI policy does not apply to them. This could be improved in the future by carefully splitting the headers content with application and driver "users" in mind.
We currently have issues reported for librte_crypto recent changes for which suppression rules have been added too.
Mellanox glue libraries are explicitly skipped as they are not part of the application ABI.
Signed-off-by: David Marchand <[email protected]> Acked-by: Luca Boccassi <[email protected]>
show more ...
|