From patchwork Mon Aug 14 09:52:06 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 27573 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 1EF7FA0E4; Mon, 14 Aug 2017 12:04:32 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id CB326998A for ; Mon, 14 Aug 2017 12:03:57 +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:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,372,1498546800"; d="scan'208";a="118723953" 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:56 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: thomas@monjalon.net, Bruce Richardson Date: Mon, 14 Aug 2017 10:52:06 +0100 Message-Id: <20170814095208.166496-39-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 38/40] build: fix static library builds with base code 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" for static library builds, we miss the base code, as the base code .a file is not included in the overall driver .a file. Instead mark the objects in the base code lib to be included in the overall library. Signed-off-by: Bruce Richardson --- drivers/crypto/meson.build | 6 +++--- drivers/mempool/meson.build | 4 ++-- drivers/net/i40e/base/meson.build | 1 + drivers/net/i40e/meson.build | 2 +- drivers/net/ixgbe/base/meson.build | 1 + drivers/net/ixgbe/meson.build | 2 +- drivers/net/meson.build | 4 ++-- 7 files changed, 11 insertions(+), 9 deletions(-) diff --git a/drivers/crypto/meson.build b/drivers/crypto/meson.build index c26e3d387..495e9350c 100644 --- a/drivers/crypto/meson.build +++ b/drivers/crypto/meson.build @@ -42,14 +42,14 @@ foreach drv:crypto_drivers # set up empty variables used for build version = 1 sources = [] - libs = [] + objs = [] cflags = [] includes = [include_directories(drv)] # dependency managment. External deps managed using dependency # objects, internal deps managed by name of lib ext_deps = [] # set up standard deps. Drivers can append/override as necessary - deps = ['eal', 'mbuf', 'cryptodev', 'mempool', 'kvargs'] + deps = ['mbuf', 'cryptodev', 'kvargs'] # pull in driver directory which should assign to each of the above subdir(drv) @@ -82,9 +82,9 @@ foreach drv:crypto_drivers meson.current_source_dir(), drv) lib = library(drv_name, sources, + objects: objs, include_directories: includes, dependencies: dep_objs, - link_with: libs, c_args: cflags, link_args: '-Wl,--version-script=' + version_map, link_depends: version_map, diff --git a/drivers/mempool/meson.build b/drivers/mempool/meson.build index a426b8f92..32763b326 100644 --- a/drivers/mempool/meson.build +++ b/drivers/mempool/meson.build @@ -37,7 +37,7 @@ foreach drv:mempool_drivers # set up empty variables used for build version = 1 sources = [] - libs = [] + objs = [] cflags = [] includes = [include_directories(drv)] # dependency managment. External deps managed using dependency @@ -77,9 +77,9 @@ foreach drv:mempool_drivers meson.current_source_dir(), drv) lib = library(drv_name, sources, + objects: objs, include_directories: includes, dependencies: dep_objs, - link_with: libs, c_args: cflags, link_args: '-Wl,--version-script=' + version_map, link_depends: version_map, diff --git a/drivers/net/i40e/base/meson.build b/drivers/net/i40e/base/meson.build index 69f55497e..ef19e358d 100644 --- a/drivers/net/i40e/base/meson.build +++ b/drivers/net/i40e/base/meson.build @@ -53,3 +53,4 @@ endforeach base_lib = static_library('i40e_base', sources, dependencies: rte_eal, c_args: c_args) +base_objs = base_lib.extract_all_objects() diff --git a/drivers/net/i40e/meson.build b/drivers/net/i40e/meson.build index dcc832b6f..da3f0b6dc 100644 --- a/drivers/net/i40e/meson.build +++ b/drivers/net/i40e/meson.build @@ -35,7 +35,7 @@ cflags = ['-DPF_DRIVER', '-DX722_A0_SUPPORT'] subdir('base') -libs = [base_lib] +objs = [base_objs] sources = files( 'i40e_ethdev.c', diff --git a/drivers/net/ixgbe/base/meson.build b/drivers/net/ixgbe/base/meson.build index d5fb435e4..2f3fe0491 100644 --- a/drivers/net/ixgbe/base/meson.build +++ b/drivers/net/ixgbe/base/meson.build @@ -57,3 +57,4 @@ endforeach base_lib = static_library('ixgbe_base', sources, dependencies: rte_eal, c_args: c_args) +base_objs = base_lib.extract_all_objects() diff --git a/drivers/net/ixgbe/meson.build b/drivers/net/ixgbe/meson.build index 3e164f97f..32c10a5e2 100644 --- a/drivers/net/ixgbe/meson.build +++ b/drivers/net/ixgbe/meson.build @@ -32,7 +32,7 @@ cflags = ['-DRTE_LIBRTE_IXGBE_BYPASS'] subdir('base') -libs = [base_lib] +objs = [base_objs] sources = files( 'ixgbe_82599_bypass.c', diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 0c804d073..2fb7577fa 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -49,7 +49,7 @@ foreach drv:net_drivers # set up empty variables used for build version = 1 sources = [] - libs = [] + objs = [] cflags = [] includes = [include_directories(drv)] # dependency managment. External deps managed using dependency @@ -90,9 +90,9 @@ foreach drv:net_drivers meson.current_source_dir(), drv) lib = library(drv_name, sources, + objects: objs, include_directories: includes, dependencies: dep_objs, - link_with: libs, c_args: cflags, link_args: '-Wl,--version-script=' + version_map, link_depends: version_map,