[PATCH v6 00/11] expand list of optional libraries
David Marchand
david.marchand at redhat.com
Wed Aug 23 09:33:40 CEST 2023
Hello Bruce,
On Wed, Aug 16, 2023 at 5:35 PM Bruce Richardson
<bruce.richardson at intel.com> wrote:
>
> 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 7 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-7 is applied. If this is an issue, the 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.
Compilation is fine between those patches (which is the minimum).
Seeing the size of the changes, I agree it is more readable to keep
them separate.
And I think we can live with unit tests being "broken" (well, absent)
between those patches.
> * 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.
As discussed in the thread for patch 5
(https://inbox.dpdk.org/dev/CAJvnSUBcsA3=9CZvnU+g5CJ261X=tJMivcvygO-D=jcu+akEGg@mail.gmail.com/),
merging this series renders ARM container unit tests unavailable at
UNH.
This is not perfect, but I prefer we make progress on the build
framework changes the sooner possible.
This is a temporary state until either the possibility to skip test is
added (and UNH makes use of it instead of patching
app/test/meson.build) or the fixes I proposed for ethdev cleanup are
merged (and UNH removes the patching of meson).
Hopefully, we will solve this remaining issue in the next weeks.
Series applied, thanks for this nice cleanup and enhancement Bruce.
As a followup on the optional libraries topic, next, I will merge the
enable_libs option:
https://patchwork.dpdk.org/project/dpdk/list/?series=29044
--
David Marchand
More information about the dev
mailing list