From patchwork Mon Aug 14 09:51:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 27555 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 8756199E0; Mon, 14 Aug 2017 12:04:06 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id C68E6996D for ; Mon, 14 Aug 2017 12:03:32 +0200 (CEST) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Aug 2017 03:03:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,372,1498546800"; d="scan'208";a="118723808" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.223]) by orsmga004.jf.intel.com with ESMTP; 14 Aug 2017 03:03:31 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: thomas@monjalon.net, Bruce Richardson Date: Mon, 14 Aug 2017 10:51:48 +0100 Message-Id: <20170814095208.166496-21-bruce.richardson@intel.com> X-Mailer: git-send-email 2.13.4 In-Reply-To: <20170814095208.166496-1-bruce.richardson@intel.com> References: <20170814095208.166496-1-bruce.richardson@intel.com> Subject: [dpdk-dev] [RFCv2 20/40] build: version library .so files X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Also rename the ether library to ethdev to maintain backwards compatibility Signed-off-by: Bruce Richardson --- 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))