[dpdk-dev] build: make compat a universal dependency

Message ID 20180122154254.13667-1-bruce.richardson@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Bruce Richardson
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail Compilation issues

Commit Message

Bruce Richardson Jan. 22, 2018, 3:42 p.m. UTC
  By making "compat" lib (which consists of a header only) a dependency of
the EAL, we make the header file available to all other libs, drivers and
apps, and thereby make it less work to do ABI versioning.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/bonding/meson.build    | 2 +-
 lib/librte_distributor/meson.build | 2 +-
 lib/librte_eal/meson.build         | 1 +
 lib/librte_ether/meson.build       | 2 +-
 lib/librte_hash/meson.build        | 2 +-
 lib/librte_lpm/meson.build         | 1 -
 6 files changed, 5 insertions(+), 5 deletions(-)
  

Comments

Luca Boccassi Jan. 22, 2018, 5:43 p.m. UTC | #1
On Mon, 2018-01-22 at 15:42 +0000, Bruce Richardson wrote:
> By making "compat" lib (which consists of a header only) a dependency
> of
> the EAL, we make the header file available to all other libs, drivers
> and
> apps, and thereby make it less work to do ABI versioning.
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
>  drivers/net/bonding/meson.build    | 2 +-
>  lib/librte_distributor/meson.build | 2 +-
>  lib/librte_eal/meson.build         | 1 +
>  lib/librte_ether/meson.build       | 2 +-
>  lib/librte_hash/meson.build        | 2 +-
>  lib/librte_lpm/meson.build         | 1 -
>  6 files changed, 5 insertions(+), 5 deletions(-)

Acked-by: Luca Boccassi <bluca@debian.org>

How's the Meson patchset looking for 18.02? What's on the TODO list?
  
Bruce Richardson Jan. 23, 2018, 9:26 a.m. UTC | #2
On Mon, Jan 22, 2018 at 05:43:06PM +0000, Luca Boccassi wrote:
> On Mon, 2018-01-22 at 15:42 +0000, Bruce Richardson wrote:
> > By making "compat" lib (which consists of a header only) a dependency
> > of
> > the EAL, we make the header file available to all other libs, drivers
> > and
> > apps, and thereby make it less work to do ABI versioning.
> > 
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> >  drivers/net/bonding/meson.build    | 2 +-
> >  lib/librte_distributor/meson.build | 2 +-
> >  lib/librte_eal/meson.build         | 1 +
> >  lib/librte_ether/meson.build       | 2 +-
> >  lib/librte_hash/meson.build        | 2 +-
> >  lib/librte_lpm/meson.build         | 1 -
> >  6 files changed, 5 insertions(+), 5 deletions(-)
> 
> Acked-by: Luca Boccassi <bluca@debian.org>
> 
> How's the Meson patchset looking for 18.02? What's on the TODO list?
> 
Since it's going in as experimental, I think the requirements for
completeness are not too strict. I'm not aware of any blocking gaps at
this stage apart from the release note update which has the patch
already submitted. I plan to submit the pull request very soon.

For 18.05, the main objective I think is to complete the build,
especially all drivers, improve the autotests, [e.g. Harry has some
ideas of splitting out the performance tests into a benchmarking
target], get the docs building [I see Kevin sent out a patch for that
already], and a few cleanups. I'm hoping having the build merged in as
experiemental will help encourage maintainers to port their components
over, if not already done, and it will certainly help with maintenance -
the amount of files added, renamed or moved in a release astounded me!

/Bruce
  
Bruce Richardson Jan. 23, 2018, 10 a.m. UTC | #3
O Mon, Jan 22, 2018 at 05:43:06PM +0000, Luca Boccassi wrote:
> On Mon, 2018-01-22 at 15:42 +0000, Bruce Richardson wrote:
> > By making "compat" lib (which consists of a header only) a dependency
> > of
> > the EAL, we make the header file available to all other libs, drivers
> > and
> > apps, and thereby make it less work to do ABI versioning.
> > 
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> >  drivers/net/bonding/meson.build    | 2 +-
> >  lib/librte_distributor/meson.build | 2 +-
> >  lib/librte_eal/meson.build         | 1 +
> >  lib/librte_ether/meson.build       | 2 +-
> >  lib/librte_hash/meson.build        | 2 +-
> >  lib/librte_lpm/meson.build         | 1 -
> >  6 files changed, 5 insertions(+), 5 deletions(-)
> 
> Acked-by: Luca Boccassi <bluca@debian.org>
> 
Applied to dpdk-next-build

/Bruce
  

Patch

diff --git a/drivers/net/bonding/meson.build b/drivers/net/bonding/meson.build
index 4dc5a5f67..b90abc6de 100644
--- a/drivers/net/bonding/meson.build
+++ b/drivers/net/bonding/meson.build
@@ -6,6 +6,6 @@  sources = files('rte_eth_bond_api.c', 'rte_eth_bond_pmd.c',
 	'rte_eth_bond_args.c', 'rte_eth_bond_8023ad.c', 'rte_eth_bond_alb.c')
 
 deps += 'sched' # needed for rte_bitmap.h
-deps += ['compat', 'ip_frag', 'cmdline']
+deps += ['ip_frag', 'cmdline']
 
 install_headers('rte_eth_bond.h', 'rte_eth_bond_8023ad.h')
diff --git a/lib/librte_distributor/meson.build b/lib/librte_distributor/meson.build
index e9caf8675..dba7e3b2a 100644
--- a/lib/librte_distributor/meson.build
+++ b/lib/librte_distributor/meson.build
@@ -8,4 +8,4 @@  else
 	sources += files('rte_distributor_match_generic.c')
 endif
 headers = files('rte_distributor.h')
-deps += ['mbuf', 'compat']
+deps += ['mbuf']
diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build
index 9c141b3c3..9f5f0f3ed 100644
--- a/lib/librte_eal/meson.build
+++ b/lib/librte_eal/meson.build
@@ -45,6 +45,7 @@  else
 endif
 
 version = 6  # the version of the EAL API
+deps += 'compat'
 cflags += '-D_GNU_SOURCE'
 sources = common_sources + env_sources
 objs = common_objs + env_objs
diff --git a/lib/librte_ether/meson.build b/lib/librte_ether/meson.build
index f83991268..18f94bf96 100644
--- a/lib/librte_ether/meson.build
+++ b/lib/librte_ether/meson.build
@@ -21,4 +21,4 @@  headers = files('rte_ethdev.h',
 	'rte_tm.h',
 	'rte_tm_driver.h')
 
-deps += ['net', 'compat']
+deps += ['net']
diff --git a/lib/librte_hash/meson.build b/lib/librte_hash/meson.build
index 8e1113789..e139e1d76 100644
--- a/lib/librte_hash/meson.build
+++ b/lib/librte_hash/meson.build
@@ -14,4 +14,4 @@  headers = files('rte_cmp_arm64.h',
 	'rte_thash.h')
 
 sources = files('rte_cuckoo_hash.c', 'rte_fbk_hash.c')
-deps += ['ring', 'compat']
+deps += ['ring']
diff --git a/lib/librte_lpm/meson.build b/lib/librte_lpm/meson.build
index a7c7fa7ae..067849427 100644
--- a/lib/librte_lpm/meson.build
+++ b/lib/librte_lpm/meson.build
@@ -7,4 +7,3 @@  headers = files('rte_lpm.h', 'rte_lpm6.h')
 # since header files have different names, we can install all vector headers
 # without worrying about which architecture we actually need
 headers += files('rte_lpm_altivec.h', 'rte_lpm_neon.h', 'rte_lpm_sse.h')
-deps += ['compat']