build: remove library special cases
authorBruce Richardson <bruce.richardson@intel.com>
Fri, 3 Nov 2017 14:47:43 +0000 (14:47 +0000)
committerBruce Richardson <bruce.richardson@intel.com>
Tue, 30 Jan 2018 20:58:59 +0000 (21:58 +0100)
commit610beca42ea450e61df7a22b061e52ed51be0642
treead28b96b888933b321a4a46d4577da01b31fca3c
parent22119c4591a008abe5de8e395a97fcc09c8dc14a
build: remove library special cases

The EAL and compat libraries were special-cases in the library build
process, the former because of it's complexity, and the latter because
it only consists of a single header file.

By reworking the EAL meson.build files, we can eliminate the need for it to
be a special case, by having it build up and return the list of sources,
headers, and objects and return those to the higher level build file. This
should also simplify the building of EAL, as we can eliminate a number of
meson.build files that would no longer be needed, and have fewer, but
larger meson.build files (9 now vs 14 previous) - thereby making the logic
easier to follow and items easier to find.

Once done, we can pull eal into the main library loop, with some
modifications to support it. Compat can also be pulled it once we add in a
check to handle the case of an empty sources list.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
18 files changed:
app/test-pmd/meson.build
config/meson.build
doc/guides/contributing/coding_style.rst
drivers/net/e1000/base/meson.build
drivers/net/fm10k/base/meson.build
drivers/net/i40e/base/meson.build
drivers/net/ixgbe/base/meson.build
lib/librte_eal/bsdapp/eal/meson.build
lib/librte_eal/bsdapp/meson.build [deleted file]
lib/librte_eal/common/arch/meson.build [deleted file]
lib/librte_eal/common/include/arch/meson.build [deleted file]
lib/librte_eal/common/include/meson.build [deleted file]
lib/librte_eal/common/meson.build
lib/librte_eal/linuxapp/eal/meson.build
lib/librte_eal/linuxapp/igb_uio/meson.build
lib/librte_eal/linuxapp/meson.build [deleted file]
lib/librte_eal/meson.build
lib/meson.build