[v4] eal/windows: ring build on Windows

Message ID 20200527082425.8188-1-fady@mellanox.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series [v4] eal/windows: ring build on Windows |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail apply issues

Commit Message

Fady Bader May 27, 2020, 8:24 a.m. UTC
  Exported per_lcore__rte_errno function to compile ring for windows.

compilation error logs:
librte_ring_rte_ring.c.obj : error LNK2019: unresolved
external symbol per_lcore__rte_errno referenced in
function rte_ring_lookup

The cause was that per_lcore__rte_errno function wasn't included
in the export list.
To solve this per_lcore__rte_errno was added to the Windows export
list.

Signed-off-by: Fady Bader <fady@mellanox.com>
---
Depends-on: series-9374 ("Windows basic memory management")

v4: rebase on "Windows basic memory management" v5.

v3: Fix style issues.

v2: Fix style issues.
---
 lib/librte_eal/rte_eal_exports.def | 1 +
 lib/librte_eal/rte_eal_version.map | 1 +
 lib/meson.build                    | 6 +++++-
 3 files changed, 7 insertions(+), 1 deletion(-)
  

Comments

Menon, Ranjit May 27, 2020, 8:59 p.m. UTC | #1
On 5/27/2020 1:24 AM, Fady Bader wrote:
> Exported per_lcore__rte_errno function to compile ring for windows.
>
> compilation error logs:
> librte_ring_rte_ring.c.obj : error LNK2019: unresolved
> external symbol per_lcore__rte_errno referenced in
> function rte_ring_lookup
>
> The cause was that per_lcore__rte_errno function wasn't included
> in the export list.
> To solve this per_lcore__rte_errno was added to the Windows export
> list.
>
> Signed-off-by: Fady Bader <fady@mellanox.com>
> ---
> Depends-on: series-9374 ("Windows basic memory management")
>
> v4: rebase on "Windows basic memory management" v5.
>
> v3: Fix style issues.
>
> v2: Fix style issues.
> ---
>   lib/librte_eal/rte_eal_exports.def | 1 +
>   lib/librte_eal/rte_eal_version.map | 1 +
>   lib/meson.build                    | 6 +++++-
>   3 files changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/lib/librte_eal/rte_eal_exports.def b/lib/librte_eal/rte_eal_exports.def
> index 854b83bcd..cbb6b8cfe 100644
> --- a/lib/librte_eal/rte_eal_exports.def
> +++ b/lib/librte_eal/rte_eal_exports.def
> @@ -1,5 +1,6 @@
>   EXPORTS
>   	__rte_panic
> +	per_lcore__rte_errno
>   	rte_calloc
>   	rte_calloc_socket
>   	rte_eal_get_configuration
> diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map
> index dff51b13d..8937bdfea 100644
> --- a/lib/librte_eal/rte_eal_version.map
> +++ b/lib/librte_eal/rte_eal_version.map
> @@ -392,4 +392,5 @@ EXPERIMENTAL {
>   	rte_mem_lock;
>   	rte_mem_map;
>   	rte_mem_unmap;
> +	__emutls_v.per_lcore__rte_errno;
>   };
> diff --git a/lib/meson.build b/lib/meson.build
> index d190d84ef..30ed9e05e 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -36,7 +36,11 @@ libraries = [
>   	'flow_classify', 'bpf', 'graph', 'node']
>   
>   if is_windows
> -	libraries = ['kvargs','eal'] # only supported libraries for windows
> +	libraries = [
> +		'kvargs',
> +		'eal',
> +		'ring'
Add a trailing comma here (as in 'ring',). This will ensure that future 
updates don't have to modify this line to add more libraries.
> +		] # only supported libraries for windows
>   endif
>   
>   default_cflags = machine_args


ranjit m.
  

Patch

diff --git a/lib/librte_eal/rte_eal_exports.def b/lib/librte_eal/rte_eal_exports.def
index 854b83bcd..cbb6b8cfe 100644
--- a/lib/librte_eal/rte_eal_exports.def
+++ b/lib/librte_eal/rte_eal_exports.def
@@ -1,5 +1,6 @@ 
 EXPORTS
 	__rte_panic
+	per_lcore__rte_errno
 	rte_calloc
 	rte_calloc_socket
 	rte_eal_get_configuration
diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map
index dff51b13d..8937bdfea 100644
--- a/lib/librte_eal/rte_eal_version.map
+++ b/lib/librte_eal/rte_eal_version.map
@@ -392,4 +392,5 @@  EXPERIMENTAL {
 	rte_mem_lock;
 	rte_mem_map;
 	rte_mem_unmap;
+	__emutls_v.per_lcore__rte_errno;
 };
diff --git a/lib/meson.build b/lib/meson.build
index d190d84ef..30ed9e05e 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -36,7 +36,11 @@  libraries = [
 	'flow_classify', 'bpf', 'graph', 'node']
 
 if is_windows
-	libraries = ['kvargs','eal'] # only supported libraries for windows
+	libraries = [
+		'kvargs',
+		'eal',
+		'ring'
+		] # only supported libraries for windows
 endif
 
 default_cflags = machine_args