[dpdk-dev,1/3] build: rename pkgconfig to libdpdk.pc

Message ID 20170915173612.13636-2-luca.boccassi@gmail.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 success Compilation OK

Commit Message

Luca Boccassi Sept. 15, 2017, 5:36 p.m. UTC
  From: Luca Boccassi <bluca@debian.org>

In Debian and Ubuntu we have been shipping a pkgconfig file for DPDK
for more than a year now, and the filename is libdpdk.pc.
A few downstream projects, like OVS and Collectd, have adopted the
use of libdpdk.pc in their build systems as well.
In order to maintain backward compatibility, rename the file from
DPDK.pc to libdpdk.pc.

Signed-off-by: Luca Boccassi <bluca@debian.org>
---
 meson.build | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Bruce Richardson Sept. 18, 2017, 11:09 a.m. UTC | #1
On Fri, Sep 15, 2017 at 06:36:10PM +0100, luca.boccassi@gmail.com wrote:
> From: Luca Boccassi <bluca@debian.org>
> 
> In Debian and Ubuntu we have been shipping a pkgconfig file for DPDK
> for more than a year now, and the filename is libdpdk.pc.
> A few downstream projects, like OVS and Collectd, have adopted the
> use of libdpdk.pc in their build systems as well.
> In order to maintain backward compatibility, rename the file from
> DPDK.pc to libdpdk.pc.
> 
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> ---
I find the 'lib' bit strange, but if that is what is already out there,
then we should keep it for compatibility.
In future, we might create two pkgconfig files to transition over to a
new name, but to start with lets use what is being looked for by our
dependencies.

Acked-by: Bruce Richardson <bruce.richardson@intel.com>
  
Luca Boccassi Sept. 18, 2017, 11:52 a.m. UTC | #2
On Mon, 2017-09-18 at 12:09 +0100, Bruce Richardson wrote:
> On Fri, Sep 15, 2017 at 06:36:10PM +0100, luca.boccassi@gmail.com
> wrote:
> > From: Luca Boccassi <bluca@debian.org>
> > 
> > In Debian and Ubuntu we have been shipping a pkgconfig file for
> > DPDK
> > for more than a year now, and the filename is libdpdk.pc.
> > A few downstream projects, like OVS and Collectd, have adopted the
> > use of libdpdk.pc in their build systems as well.
> > In order to maintain backward compatibility, rename the file from
> > DPDK.pc to libdpdk.pc.
> > 
> > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > ---
> 
> I find the 'lib' bit strange, but if that is what is already out
> there,
> then we should keep it for compatibility.

Not sure where the original name came from, it's been like that for a
few years - it might have been my fault :-)

In Debian/Ubuntu libraries development headers, unversioned shared
object symlinks and static archives always ship in packages named
libfoo[api-ver]-dev. This is strictly enforced by policy. We have
libdpdk-dev for example.

Then, usually, pkg-config files follow the same naming convention, so
that if you want to build against libfoo-dev you use pkg-config libfoo.
This makes it nice and predictable.
But IIRC it's not enforced, and not universally followed.

> In future, we might create two pkgconfig files to transition over to
> a
> new name, but to start with lets use what is being looked for by our
> dependencies.
> 
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>

Even just a symlink should work fine, at least it does with the pkg-
config I have on Debian. Should not cause issues on any implementation.
  

Patch

diff --git a/meson.build b/meson.build
index 6ad3e8053..f41fb4120 100644
--- a/meson.build
+++ b/meson.build
@@ -81,6 +81,7 @@  endif
 
 pkg = import('pkgconfig')
 pkg.generate(name: meson.project_name(),
+	filebase: 'lib' + meson.project_name().to_lower(),
 	version: meson.project_version(),
 	libraries: dpdk_libraries,
 	description: 'The Data Plane Development Kit (DPDK)',