build: symlink drivers to library directory
authorBruce Richardson <bruce.richardson@intel.com>
Wed, 6 Dec 2017 10:45:48 +0000 (10:45 +0000)
committerBruce Richardson <bruce.richardson@intel.com>
Tue, 30 Jan 2018 20:58:59 +0000 (21:58 +0100)
commited4d43d73e2b9f50c6ad6513b0f817bcc278f869
tree25d1a1c99f4e6a171f3ff1330ddd18975f366187
parent93b1f90ae17425c496257bacb21d9699dd072cf3
build: symlink drivers to library directory

With the introduction of bus drivers, we now have a situation where
driver libraries will start to depend upon each other. Because of this,
the driver libs need to be discoverable by the dynamic loader.

There are three options to fix this:
1. Force the user to put the $libdir/dpdk/drivers folder into their
library path.
2. Move all libraries from drivers sub-directory to $libdir.
3. Symlink all libraries from the subfolder to the main library dir.

Option 1 is not great for usability or distro packaging, and option 2
means that we can't have EAL load all drivers from a known path
automatically (as it would error out on non-PMD libs), so option 3 was
chosen as the best fix. The only downside is that on a "ninja uninstall"
the symlinks are not removed, as they are unknown to meson/ninja.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
MAINTAINERS
buildtools/symlink-drivers-solibs.sh [new file with mode: 0644]
meson.build