DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: dev@dpdk.org
Cc: thomas@monjalon.net, Bruce Richardson <bruce.richardson@intel.com>
Subject: [dpdk-dev] [RFCv2 20/40] build: version library .so files
Date: Mon, 14 Aug 2017 10:51:48 +0100	[thread overview]
Message-ID: <20170814095208.166496-21-bruce.richardson@intel.com> (raw)
In-Reply-To: <20170814095208.166496-1-bruce.richardson@intel.com>

Also rename the ether library to ethdev to maintain backwards compatibility

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/meson.build        |  2 ++
 lib/librte_cmdline/meson.build |  1 +
 lib/librte_ether/meson.build   |  1 +
 lib/librte_hash/meson.build    |  1 +
 lib/librte_kvargs/meson.build  |  2 +-
 lib/librte_mbuf/meson.build    |  1 +
 lib/librte_mempool/meson.build |  2 +-
 lib/librte_net/meson.build     |  1 +
 lib/meson.build                | 14 +++++++++++++-
 9 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/drivers/net/meson.build b/drivers/net/meson.build
index cd2328605..6b9177c05 100644
--- a/drivers/net/meson.build
+++ b/drivers/net/meson.build
@@ -47,6 +47,7 @@ foreach drv:net_drivers
 	dpdk_conf.set('RTE_LIBRTE_@0@_PMD'.format(drv.to_upper()),1)
 
 	# set up empty variables used for build
+	version = 1
 	sources = []
 	libs = []
 	cflags = []
@@ -94,6 +95,7 @@ foreach drv:net_drivers
 		c_args: cflags,
 		link_args: '-Wl,--version-script=' + version_map,
 		link_depends: version_map,
+		version: '@0@.1'.format(version),
 		install: true,
 		install_dir: driver_install_path)
 
diff --git a/lib/librte_cmdline/meson.build b/lib/librte_cmdline/meson.build
index ed24b0b0e..c773f38c5 100644
--- a/lib/librte_cmdline/meson.build
+++ b/lib/librte_cmdline/meson.build
@@ -29,6 +29,7 @@
 #   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 #   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+version = 2
 sources = files('cmdline.c',
 	'cmdline_cirbuf.c',
 	'cmdline_parse.c',
diff --git a/lib/librte_ether/meson.build b/lib/librte_ether/meson.build
index 1c1f69802..ed9c29a78 100644
--- a/lib/librte_ether/meson.build
+++ b/lib/librte_ether/meson.build
@@ -30,6 +30,7 @@
 #   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
+version = 6
 sources = files('rte_ethdev.c', 'rte_flow.c', 'rte_tm.c')
 
 headers = files('rte_ethdev.h',
diff --git a/lib/librte_hash/meson.build b/lib/librte_hash/meson.build
index 2a0d21520..e3fb9fe0d 100644
--- a/lib/librte_hash/meson.build
+++ b/lib/librte_hash/meson.build
@@ -29,6 +29,7 @@
 #   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 #   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+version = 2
 headers = files('rte_cmp_arm64.h',
 	'rte_cmp_x86.h',
 	'rte_crc_arm64.h',
diff --git a/lib/librte_kvargs/meson.build b/lib/librte_kvargs/meson.build
index f70c3970c..30599d06e 100644
--- a/lib/librte_kvargs/meson.build
+++ b/lib/librte_kvargs/meson.build
@@ -29,7 +29,7 @@
 #   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 #   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-
+version = 1
 sources = files('rte_kvargs.c')
 headers = files('rte_kvargs.h')
 deps = ['eal']
diff --git a/lib/librte_mbuf/meson.build b/lib/librte_mbuf/meson.build
index 8235a2b28..19cd68528 100644
--- a/lib/librte_mbuf/meson.build
+++ b/lib/librte_mbuf/meson.build
@@ -29,6 +29,7 @@
 #   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 #   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+version = 3
 sources = files('rte_mbuf.c', 'rte_mbuf_ptype.c')
 headers = files('rte_mbuf.h', 'rte_mbuf_ptype.h')
 deps = ['eal', 'mempool', 'ring']
diff --git a/lib/librte_mempool/meson.build b/lib/librte_mempool/meson.build
index 1de47a6c9..9617010dd 100644
--- a/lib/librte_mempool/meson.build
+++ b/lib/librte_mempool/meson.build
@@ -29,7 +29,7 @@
 #   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 #   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-
+version = 2
 sources = files('rte_mempool.c', 'rte_mempool_ops.c')
 headers = files('rte_mempool.h')
 deps = ['eal', 'ring']
diff --git a/lib/librte_net/meson.build b/lib/librte_net/meson.build
index 493139d8c..0bfe53873 100644
--- a/lib/librte_net/meson.build
+++ b/lib/librte_net/meson.build
@@ -29,6 +29,7 @@
 #   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 #   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+version = 1
 headers = files('rte_ip.h',
 	'rte_tcp.h',
 	'rte_udp.h',
diff --git a/lib/meson.build b/lib/meson.build
index a6b820661..55018173b 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -37,6 +37,7 @@ subdir('librte_compat')
 libs = ['ring', 'mempool', 'cmdline', 'mbuf', 'net', 'ether', 'hash', 'kvargs']
 
 foreach l:libs
+	version = 1
 	sources = []
 	headers = []
 	# use "deps" for internal DPDK dependencies, and "ext_deps" for
@@ -55,8 +56,19 @@ foreach l:libs
 		dep_objs = [get_variable('dep_rte_' + d)] + dep_objs
 	endforeach
 
-	lib = library('rte_' + l, sources, dependencies: dep_objs,
+	version_map = '@0@/@1@/rte_@2@_version.map'.format(
+			meson.current_source_dir(), dir_name, l)
+	libname = 'rte_' + l
+	if libname == 'rte_ether'
+		libname = 'rte_ethdev'
+	endif
+	lib = library(libname,
+			sources,
+			dependencies: dep_objs,
 			include_directories: include_directories(dir_name),
+			link_args: '-Wl,--version-script=' + version_map,
+			link_depends: version_map,
+			version: '@0@.1'.format(version),
 			install: true)
 	dep = declare_dependency(link_with: lib,
 			include_directories: include_directories(dir_name))
-- 
2.13.4

  parent reply	other threads:[~2017-08-14 10:03 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-14  9:51 [dpdk-dev] [RFCv2 00/40] Building DPDK with meson and ninja Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 01/40] build: initial hooks for using meson with DPDK Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 02/40] build: create pkg-config file for DPDK Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 03/40] build: build linuxapp EAL with meson and ninja Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 04/40] build: add EAL support under BSD Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 05/40] build: add core libraries to meson build system Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 06/40] build: add i40e driver to meson build Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 07/40] build: add pmdinfogen to build Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 08/40] build: generate list of sources for pmdinfogen Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 09/40] build: build i40e driver, including pmdinfo Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 10/40] build: install usertools scripts Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 11/40] build: simplify generation of pmd.c files Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 12/40] build: generalize net driver build to higher level Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 13/40] build: remove hard-coded enablement of vector driver Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 14/40] build: add ixgbe driver to build Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 15/40] build: set up standard deps for drivers Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 16/40] build: add af_packet driver to build Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 17/40] build: add pcap PMD support Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 18/40] build: add symbol version map file support to libs Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 19/40] build: build libraries in a loop for brevity Bruce Richardson
2017-08-14  9:51 ` Bruce Richardson [this message]
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 21/40] eal: add version information to meson build Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 22/40] build: add mempool drivers to build Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 23/40] build: add gro library to meson build Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 24/40] build: tweak naming of pmd dependencies Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 25/40] build: track driver include directories properly Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 26/40] metrics: add metrics lib to meson build Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 27/40] build: track dependencies recursively Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 28/40] testpmd: compile testpmd with meson and ninja Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 29/40] crypto/null: rename the version file to standard Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 30/40] crypto/qat: remove dependency on ether library Bruce Richardson
2017-08-14  9:51 ` [dpdk-dev] [RFCv2 31/40] build: add cryptodev and some crypto drivers to build Bruce Richardson
2017-08-14  9:52 ` [dpdk-dev] [RFCv2 32/40] igb_uio: add igb_uio to meson build Bruce Richardson
2017-08-14  9:52 ` [dpdk-dev] [RFCv2 33/40] ip_frag: rename version file to standard name Bruce Richardson
2017-08-14  9:52 ` [dpdk-dev] [RFCv2 34/40] build: add most remaining libraries to meson build Bruce Richardson
2017-08-14  9:52 ` [dpdk-dev] [RFCv2 35/40] build: add packet framework libs " Bruce Richardson
2017-08-14  9:52 ` [dpdk-dev] [RFCv2 36/40] acl: add acl library " Bruce Richardson
2017-08-14  9:52 ` [dpdk-dev] [RFCv2 37/40] build: add ark and avp PMDs to build Bruce Richardson
2017-08-14  9:52 ` [dpdk-dev] [RFCv2 38/40] build: fix static library builds with base code Bruce Richardson
2017-08-14  9:52 ` [dpdk-dev] [RFCv2 39/40] build: fix driver dependencies for static builds Bruce Richardson
2017-08-14  9:52 ` [dpdk-dev] [RFCv2 40/40] examples: allow basic sample app build using pkg-config Bruce Richardson
2017-08-15 10:56 ` [dpdk-dev] [RFCv2 00/40] Building DPDK with meson and ninja Luca Boccassi
2017-08-15 11:31   ` Bruce Richardson
2017-08-17 14:10 ` Marco Varlese
2017-08-17 15:25   ` Luca Boccassi
2017-08-18  8:35     ` Bruce Richardson
2017-08-18  8:52       ` Marco Varlese
2017-08-18  9:17         ` Marco Varlese
2017-08-18  9:33       ` Luca Boccassi
     [not found]   ` <1502983469.31476.3.camel@gmail.com>
2017-08-18  8:00     ` Marco Varlese

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170814095208.166496-21-bruce.richardson@intel.com \
    --to=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).