config: enable/disable drivers in Arm builds
authorJuraj Linkeš <juraj.linkes@pantheon.tech>
Wed, 14 Apr 2021 13:41:34 +0000 (15:41 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 15 Apr 2021 20:34:37 +0000 (22:34 +0200)
commit2e33309ebe034092caaf70feb21167bc05983c1e
tree98606de59c20b66d6eadeae52fc4affd675df4ce
parenta6f88f7eb9ed077a02607cf9cd2b5101eda9f804
config: enable/disable drivers in Arm builds

Add support for enabling or disabling drivers for Arm cross build. Do
not implement any enable/disable lists yet.

Enabling drivers is useful when building for an SoC where we only want
to build a few drivers. That way the list won't be too long.

Similarly, disabling drivers is useful when we want to disable only a
few drivers.

Both of these are advantageous mainly in aarch64 -> aarch64 (or arch ->
same arch) builds, where the build machine may have the required driver
dependencies, yet we don't want to build drivers for a specific SoC.

If enable_drivers is a non-empty list, build only those drivers,
otherwise build all drivers and add them to enable_drivers.  If
disable_drivers is non-empty list, build all drivers specified in
enable_drivers except those in disable_drivers.

There are two drivers, bus/pci and bus/vdev, which break the build if
not enabled. Address this by always enabling these if the user disables
them or doesn't specify in their allowlist.

Also remove the old Makefile arm configuration options which don't do
anything in Meson.

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
buildtools/list-dir-globs.py
config/arm/meson.build
config/meson.build
doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
drivers/common/qat/meson.build
drivers/meson.build
meson_options.txt