eal: disable function versioning on Windows
authorFady Bader <fady@mellanox.com>
Mon, 6 Jul 2020 11:32:39 +0000 (14:32 +0300)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 6 Jul 2020 23:23:29 +0000 (01:23 +0200)
Function versioning implementation is not supported by Windows.
Function versioning is disabled on Windows.

Signed-off-by: Fady Bader <fady@mellanox.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
doc/guides/windows_gsg/intro.rst
lib/meson.build

index a028573..58c6246 100644 (file)
@@ -18,3 +18,7 @@ DPDK for Windows is currently a work in progress. Not all DPDK source files
 compile. Support is being added in pieces so as to limit the overall scope
 of any individual patch series. The goal is to be able to run any DPDK
 application natively on Windows.
+
+The :doc:`../contributing/abi_policy` cannot be respected for Windows.
+Minor ABI versions may be incompatible
+because function versioning is not supported on Windows.
index 80c37af..9d69f0e 100644 (file)
@@ -107,6 +107,10 @@ foreach l:libraries
                        shared_dep = declare_dependency(include_directories: includes)
                        static_dep = shared_dep
                else
+                       if is_windows and use_function_versioning
+                               message('@0@: Function versioning is not supported by Windows.'
+                               .format(name))
+                       endif
 
                        if use_function_versioning
                                cflags += '-DRTE_USE_FUNCTION_VERSIONING'
@@ -138,7 +142,7 @@ foreach l:libraries
                                        include_directories: includes,
                                        dependencies: static_deps)
 
-                       if not use_function_versioning
+                       if not use_function_versioning or is_windows
                                # use pre-build objects to build shared lib
                                sources = []
                                objs += static_lib.extract_all_objects(recursive: false)