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
next prev 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).