On 8/2/2023 10:49 PM, Philip Prindeville wrote: > Hi, > > I'm trying to come up with some Kconfig logic for OpenWRT packaging to help > users select the right build options for their hardware. > > Most OpenWRT developers typically cross-compile, so we obviously can't rely > on detection on the build host as that's rarely the same as the target > machine. > > Looking in the DPDK repo, I don't see any description of the available > architectures, drivers, etc. and what I had seen previously was (if I > remember) only for x86_64 hardware, and even that I can't seem to locate > again. > > Would it make sense to put some of these definitions into the repo itself, so > that when new drivers are added, that stands out (at least in the commit > logs) and we can capture the permutations of what driver goes with which SoC > on what architecture, etc? >
Hi Philip, DPDK builds x86 architecture as natively, and rest (arm, ppc, riscv, ..) as cross compile and doesn't select drivers based on architecture but tries to build as much driver as possible. But there is an OS based filtering, like some drivers are disabled if the build OS is Windows or FreeBSD etc.. As most of the devices are external devices, unlike on-chip devices in SoC, it make sense to build them into final binary. Still there are on-chip devices, or there are combinations that some devices can't be used in an architecture but still included, to NOT have a finer granularity here helps DPDK binary distributions also helps build testing. There are meson build options to limit which driver to built in or not, if there is a specific embedded platform target and if binary size matters, these arguments can be used. But we don't have a generic config or logic that can be used for OpenWRT builds. Thanks, ferruh