From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <anand.rawat@intel.com>
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
 by dpdk.org (Postfix) with ESMTP id ABB1423D
 for <dev@dpdk.org>; Fri, 29 Mar 2019 00:24:55 +0100 (CET)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 28 Mar 2019 16:24:53 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.60,282,1549958400"; d="scan'208";a="311303597"
Received: from anandraw-devbx.amr.corp.intel.com ([10.19.242.57])
 by orsmga005.jf.intel.com with ESMTP; 28 Mar 2019 16:24:53 -0700
From: Anand Rawat <anand.rawat@intel.com>
To: dev@dpdk.org
Cc: anand.rawat@intel.com, pallavi.kadam@intel.com, ranjit.menon@intel.com,
 jeffrey.b.shaw@intel.com, bruce.richardson@intel.com, thomas@monjalon.net
Date: Thu, 28 Mar 2019 16:24:46 -0700
Message-Id: <20190328232451.16988-4-anand.rawat@intel.com>
X-Mailer: git-send-email 2.17.1.windows.2
In-Reply-To: <20190328232451.16988-1-anand.rawat@intel.com>
References: <20190306041634.12976-1-anand.rawat@intel.com>
 <20190328232451.16988-1-anand.rawat@intel.com>
Subject: [dpdk-dev] [PATCH v7 3/8] build: add module definition file for
	windows
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Thu, 28 Mar 2019 23:24:56 -0000

Updated lib/meson.build to create shared libraries on windows.
Added DEF files to list the exports for the eal and kvargs libraries.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: Anand Rawat <anand.rawat@intel.com>
Reviewed-by: Pallavi Kadam <pallavi.kadam@intel.com>
Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
---
 lib/librte_eal/rte_eal_exports.def       |  9 +++++++++
 lib/librte_kvargs/rte_kvargs_exports.def |  7 +++++++
 lib/meson.build                          | 15 ++++++++++++---
 3 files changed, 28 insertions(+), 3 deletions(-)
 create mode 100644 lib/librte_eal/rte_eal_exports.def
 create mode 100644 lib/librte_kvargs/rte_kvargs_exports.def

diff --git a/lib/librte_eal/rte_eal_exports.def b/lib/librte_eal/rte_eal_exports.def
new file mode 100644
index 000000000..12a6c79d6
--- /dev/null
+++ b/lib/librte_eal/rte_eal_exports.def
@@ -0,0 +1,9 @@
+EXPORTS
+	__rte_panic
+	rte_eal_get_configuration
+	rte_eal_init
+	rte_eal_mp_remote_launch
+	rte_eal_mp_wait_lcore
+	rte_eal_remote_launch
+	rte_log
+	rte_vlog
diff --git a/lib/librte_kvargs/rte_kvargs_exports.def b/lib/librte_kvargs/rte_kvargs_exports.def
new file mode 100644
index 000000000..10e839e00
--- /dev/null
+++ b/lib/librte_kvargs/rte_kvargs_exports.def
@@ -0,0 +1,7 @@
+EXPORTS
+	rte_kvargs_count
+	rte_kvargs_free
+	rte_kvargs_parse
+	rte_kvargs_process
+	rte_kvargs_parse_delim
+	rte_kvargs_strcmp
diff --git a/lib/meson.build b/lib/meson.build
index 99957ba7d..a7b5a9194 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
+# Copyright(c) 2017-2019 Intel Corporation
 
 
 # process all libraries equally, as far as possible
@@ -117,14 +117,23 @@ foreach l:libraries
 			objs += static_lib.extract_all_objects(recursive: false)
 			version_map = '@0@/@1@/rte_@2@_version.map'.format(
 					meson.current_source_dir(), dir_name, name)
+			exports = []
+			implib = dir_name + '.dll.a'
+			if host_machine.system() == 'windows'
+				exports = '@0@/@1@/rte_@2@_exports.def'.format(
+					meson.current_source_dir(), dir_name, name)
+				lk_args = ['-Wl,/def:' + exports, '-Wl,/implib:lib\\' + implib]
+			else
+				lk_args = ['-Wl,--version-script=' + version_map]
+			endif
 			shared_lib = shared_library(libname,
 					sources,
 					objects: objs,
 					c_args: cflags,
 					dependencies: shared_deps,
 					include_directories: includes,
-					link_args: '-Wl,--version-script=' + version_map,
-					link_depends: version_map,
+					link_args: lk_args,
+					link_depends: [version_map, exports],
 					version: lib_version,
 					soversion: so_version,
 					install: true)
-- 
2.17.1.windows.2

From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by dpdk.space (Postfix) with ESMTP id 104A8A0679
	for <public@inbox.dpdk.org>; Fri, 29 Mar 2019 00:25:20 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id BD4D32D13;
	Fri, 29 Mar 2019 00:25:12 +0100 (CET)
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
 by dpdk.org (Postfix) with ESMTP id ABB1423D
 for <dev@dpdk.org>; Fri, 29 Mar 2019 00:24:55 +0100 (CET)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 28 Mar 2019 16:24:53 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.60,282,1549958400"; d="scan'208";a="311303597"
Received: from anandraw-devbx.amr.corp.intel.com ([10.19.242.57])
 by orsmga005.jf.intel.com with ESMTP; 28 Mar 2019 16:24:53 -0700
From: Anand Rawat <anand.rawat@intel.com>
To: dev@dpdk.org
Cc: anand.rawat@intel.com, pallavi.kadam@intel.com, ranjit.menon@intel.com,
 jeffrey.b.shaw@intel.com, bruce.richardson@intel.com, thomas@monjalon.net
Date: Thu, 28 Mar 2019 16:24:46 -0700
Message-Id: <20190328232451.16988-4-anand.rawat@intel.com>
X-Mailer: git-send-email 2.17.1.windows.2
In-Reply-To: <20190328232451.16988-1-anand.rawat@intel.com>
References: <20190306041634.12976-1-anand.rawat@intel.com>
 <20190328232451.16988-1-anand.rawat@intel.com>
Subject: [dpdk-dev] [PATCH v7 3/8] build: add module definition file for
	windows
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>
Content-Type: text/plain; charset="UTF-8"
Message-ID: <20190328232446.kGHcq3poA-mUy957L9yx317f7h3atbOlSIYiep1Rzro@z>

Updated lib/meson.build to create shared libraries on windows.
Added DEF files to list the exports for the eal and kvargs libraries.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: Anand Rawat <anand.rawat@intel.com>
Reviewed-by: Pallavi Kadam <pallavi.kadam@intel.com>
Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
---
 lib/librte_eal/rte_eal_exports.def       |  9 +++++++++
 lib/librte_kvargs/rte_kvargs_exports.def |  7 +++++++
 lib/meson.build                          | 15 ++++++++++++---
 3 files changed, 28 insertions(+), 3 deletions(-)
 create mode 100644 lib/librte_eal/rte_eal_exports.def
 create mode 100644 lib/librte_kvargs/rte_kvargs_exports.def

diff --git a/lib/librte_eal/rte_eal_exports.def b/lib/librte_eal/rte_eal_exports.def
new file mode 100644
index 000000000..12a6c79d6
--- /dev/null
+++ b/lib/librte_eal/rte_eal_exports.def
@@ -0,0 +1,9 @@
+EXPORTS
+	__rte_panic
+	rte_eal_get_configuration
+	rte_eal_init
+	rte_eal_mp_remote_launch
+	rte_eal_mp_wait_lcore
+	rte_eal_remote_launch
+	rte_log
+	rte_vlog
diff --git a/lib/librte_kvargs/rte_kvargs_exports.def b/lib/librte_kvargs/rte_kvargs_exports.def
new file mode 100644
index 000000000..10e839e00
--- /dev/null
+++ b/lib/librte_kvargs/rte_kvargs_exports.def
@@ -0,0 +1,7 @@
+EXPORTS
+	rte_kvargs_count
+	rte_kvargs_free
+	rte_kvargs_parse
+	rte_kvargs_process
+	rte_kvargs_parse_delim
+	rte_kvargs_strcmp
diff --git a/lib/meson.build b/lib/meson.build
index 99957ba7d..a7b5a9194 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
+# Copyright(c) 2017-2019 Intel Corporation
 
 
 # process all libraries equally, as far as possible
@@ -117,14 +117,23 @@ foreach l:libraries
 			objs += static_lib.extract_all_objects(recursive: false)
 			version_map = '@0@/@1@/rte_@2@_version.map'.format(
 					meson.current_source_dir(), dir_name, name)
+			exports = []
+			implib = dir_name + '.dll.a'
+			if host_machine.system() == 'windows'
+				exports = '@0@/@1@/rte_@2@_exports.def'.format(
+					meson.current_source_dir(), dir_name, name)
+				lk_args = ['-Wl,/def:' + exports, '-Wl,/implib:lib\\' + implib]
+			else
+				lk_args = ['-Wl,--version-script=' + version_map]
+			endif
 			shared_lib = shared_library(libname,
 					sources,
 					objects: objs,
 					c_args: cflags,
 					dependencies: shared_deps,
 					include_directories: includes,
-					link_args: '-Wl,--version-script=' + version_map,
-					link_depends: version_map,
+					link_args: lk_args,
+					link_depends: [version_map, exports],
 					version: lib_version,
 					soversion: so_version,
 					install: true)
-- 
2.17.1.windows.2