> Why are we still building one .so file per DPDK library, instead of just
> building one big dpdk.so for all DPDK libraries?
> I think it's legacy from when DPDK libraries were versioned individually, and
> thus not relevant anymore.
> 
> Wouldn't building one big dpdk.so eliminate the problems with circular
> dependencies between DPDK libraries?

Obviously, the source code should remain organized as individual directories 
per library.
I'm only suggesting linking them all into one object, so any DPDK lib can call 
any function in any other DPDK lib.

Perhaps only the core libs or always_enable libs should be linked into one 
object.

Here's an example benefit:
I'm currently trying to convince the PMU lib author to make PMU depend on EAL 
[1], so missing error handling of sysconf(_SC_PAGESIZE) can be in the EAL for 
all uses, instead of copy-pasting sysconf(_SC_PAGESIZE) error handling to 
everywhere it is used.
But this is difficult with the dependency chain for the patch adding PMU to 
Trace: Trace depends on PMU, and EAL depends on Trace, therefore EAL depends on 
PMU.

[1]: 
https://inbox.dpdk.org/dev/98cbd80474fa8b44bf855df32c47dc35e9f...@smartserver.smartshare.dk/

Reply via email to