> -----Original Message----- > From: David Marchand <david.march...@redhat.com> > Sent: Monday, June 12, 2023 10:56 PM > To: Yan, Zhirun <zhirun....@intel.com> > Cc: Jerin Jacob <jerinjac...@gmail.com>; Thomas Monjalon > <tho...@monjalon.net>; dev@dpdk.org; jer...@marvell.com; > kirankum...@marvell.com; ndabilpu...@marvell.com; > step...@networkplumber.org; pbhagavat...@marvell.com; Liang, Cunming > <cunming.li...@intel.com>; Wang, Haiyue <haiyue.w...@intel.com>; > mattias.ronnblom <mattias.ronnb...@ericsson.com> > Subject: Re: [PATCH v11 00/16] graph enhancement for multi-core dispatch > > On Fri, Jun 9, 2023 at 5:48 PM Yan, Zhirun <zhirun....@intel.com> wrote: > > > > Compilation is broken at patch 1 because of the file rename... > > > > I hope I won't find anything else broken. > > > > > > Afaics, header exports are incorrect. I did not look further. > > > > > > About headers exports: if a public header (declared in headers meson > > > var) includes sub_headerA,B,C, those sub headers must be listed > > > either in headers or indirect_headers meson variables. > > > Otherwise those sub headers won't be distributed for external > > > applications consumption. > > > > > > The changed public header is used by lib/node/*, l3fwd-graph and graph-test. > > > > Actually the first patch rename the public header, and then 2nd patch > > change it > back. > > It caused the broken at 1. > > > > Patch 01 and 02 are split as 2 patches because I want to retain more > > git history and make git log clean. > > I think it could be fixed by changing the used public header to the > > new name in patch 01, and change them back in patch 02. Is that a good way? > > Another option was to keep a (almost empty) rte_graph_worker.h header in > patch 1 that includes the new _common header. > Then update in patch 2, etc... > Thanks. Actually, it will cause the patch too big, the git log will have much del/add, it is also not friendly for review. So it may be more clear to rename it to fix. > > > > > > > For checking, I recommend running: > > > git rebase -i origin/main -x 'DPDK_ABI_REF_VERSION=v23.03 > > > DPDK_BUILD_TEST_EXAMPLES=all > DPDK_BUILD_TEST_DIR=$HOME/builds/main > > > ./devtools/test-meson-builds.sh' > > However, the v12 revision that got posted does not fix the other point I > reported. > > If you split a public header, *all* sub headers must be exported as public > headers > too. > I wrote some new test for the CI, and put the v12 series on top of it. > As expected, inclusion of the graph header is broken out of dpdk. > See the graph example compilation: > https://github.com/david- > marchand/dpdk/actions/runs/5244846217/jobs/9471420118#step:18:12092 >
Got it. All sub header must be exported as public. There are some static functions in sub header. I will list all sub header to export. Please see the next version. Thanks. > > -- > David Marchand