> From: Bruce Richardson [mailto:bruce.richard...@intel.com] > Sent: Monday, 14 August 2023 20.21 > > This patchset contains changes to DPDK to make the build more > configurable > overall. The changes can be grouped into two areas: > > * Firstly, there are changes to make the build of the unit tests more > flexible and maintainable. These 5 patches switch the unit tests from > having separate hard-coded lists of files and tests, with lots of > conditional logic to add/remove items from the list, to instead being > a single list of files and dependencies per-file. The actual lists of > test-suites are built up dynamically from the list of files whose > dependencies are met and therefore will be part of the build. > This rework enables... > * The second set of patches which expands the list of libraries which > can be disabled at build-time, while still giving a successful build > of DPDK. Overall, after this set is applied, the list of optional > libraries in DPDK is approx doubled in size. [15 additions giving > 31 optional libs] > > NOTES: > * as stated in the RFC, the test binary moves in the build as a result > of this set - from app/test/dpdk-test to app/dpdk-test. > * running the suites of tests no longer works after patch 4 until patch > 5 is applied. If this is an issue, the two patches can be merged on > apply. However, the individual tests are still runnable through the > test binary - it's only through "meson test" that there are issues, so > I'm keeping the patches separate since each is relatively complex in > its > own right. > * A number of files in the test directory were not being built, and seem > to have never been built with meson. This requires separate work, > outside > the scope of the patchset to fix. > * Similarly, some unit tests were never added to test suites. These can > now be found by using grep to find the old REGISTER_TEST_COMMAND > macro. > Again, adding orphan tests to suites is outside the scope of this set. > > V3: > - Create symlink to old path to test binary, to ensure all automated CI, > and any other use of the test binary still works. > > V2: > - Changes since RFC: > - merged two previous sets - reworking test build, and disabling > libs - into one, since they depend on each other > - Reworked the list of dependencies for each file in the tests, > so that files that depend on other files have those deps called > out. > - Added list of external dependencies to the test builds > - For disabling libs, merged patches disabling individual libs > together into one patch, since all unit test build changes were > unnecessary. This made each patch a single-line addition to > the optional list in lib/meson.build.
Series-acked-by: Morten Brørup <m...@smartsharesystems.com>