[1/2] eal: remove Windows-specific list of common files

Message ID 20210829021602.290466-2-dmitry.kozliuk@gmail.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series eal/windows: restore mistakenly hidden API |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Dmitry Kozlyuk Aug. 29, 2021, 2:16 a.m. UTC
  The majority of common EAL sources that are built for all platforms were
listed separately for Windows and for other OS. It seems that developers
adding modules to EAL perceived this as if Windows supported
only a limited subset of modules and only added new ones into another.
Factor the truly common modules into a shared list,
then extend it with modules supported by different platforms.

When the two lists were created, UUID API implementation was removed
from Windows build (apparently by mistake), then excluded from the
export list for no reason other than not being built. Restore it.

Fixes: df3ff6be2b33 ("eal: simplify meson build of common directory")
Cc: thomas@monjalon.net

Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
---
 lib/eal/common/meson.build | 63 +++++++++-----------------------------
 lib/eal/version.map        |  8 ++---
 2 files changed, 19 insertions(+), 52 deletions(-)
  

Comments

William Tu Sept. 1, 2021, 5:20 p.m. UTC | #1
On Sat, Aug 28, 2021 at 7:16 PM Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> wrote:
>
> The majority of common EAL sources that are built for all platforms were
> listed separately for Windows and for other OS. It seems that developers
> adding modules to EAL perceived this as if Windows supported
> only a limited subset of modules and only added new ones into another.
> Factor the truly common modules into a shared list,
> then extend it with modules supported by different platforms.
>
> When the two lists were created, UUID API implementation was removed
> from Windows build (apparently by mistake), then excluded from the
> export list for no reason other than not being built. Restore it.
>
> Fixes: df3ff6be2b33 ("eal: simplify meson build of common directory")
> Cc: thomas@monjalon.net
>
> Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> ---

LGTM, thanks.
Acked-by: William Tu <u9012063@gmail.com>
  

Patch

diff --git a/lib/eal/common/meson.build b/lib/eal/common/meson.build
index edfca77779..6d01b0f072 100644
--- a/lib/eal/common/meson.build
+++ b/lib/eal/common/meson.build
@@ -5,54 +5,16 @@  includes += include_directories('.')
 
 cflags += [ '-DABI_VERSION="@0@"'.format(abi_version) ]
 
-if is_windows
-    sources += files(
-            'eal_common_bus.c',
-            'eal_common_class.c',
-            'eal_common_config.c',
-            'eal_common_debug.c',
-            'eal_common_dev.c',
-            'eal_common_devargs.c',
-            'eal_common_dynmem.c',
-            'eal_common_errno.c',
-            'eal_common_fbarray.c',
-            'eal_common_hexdump.c',
-            'eal_common_launch.c',
-            'eal_common_lcore.c',
-            'eal_common_log.c',
-            'eal_common_mcfg.c',
-            'eal_common_memalloc.c',
-            'eal_common_memory.c',
-            'eal_common_memzone.c',
-            'eal_common_options.c',
-            'eal_common_string_fns.c',
-            'eal_common_tailqs.c',
-            'eal_common_thread.c',
-            'eal_common_trace_points.c',
-            'malloc_elem.c',
-            'malloc_heap.c',
-            'rte_malloc.c',
-            'eal_common_timer.c',
-            'rte_random.c',
-            'rte_reciprocal.c',
-            'rte_service.c',
-            'rte_version.c',
-    )
-    subdir_done()
-endif
-
 sources += files(
         'eal_common_bus.c',
-        'eal_common_cpuflags.c',
         'eal_common_class.c',
         'eal_common_config.c',
         'eal_common_debug.c',
-        'eal_common_devargs.c',
         'eal_common_dev.c',
+        'eal_common_devargs.c',
         'eal_common_errno.c',
         'eal_common_fbarray.c',
         'eal_common_hexdump.c',
-        'eal_common_hypervisor.c',
         'eal_common_launch.c',
         'eal_common_lcore.c',
         'eal_common_log.c',
@@ -61,28 +23,33 @@  sources += files(
         'eal_common_memory.c',
         'eal_common_memzone.c',
         'eal_common_options.c',
-        'eal_common_proc.c',
         'eal_common_string_fns.c',
         'eal_common_tailqs.c',
         'eal_common_thread.c',
         'eal_common_timer.c',
-        'eal_common_trace.c',
-        'eal_common_trace_ctf.c',
         'eal_common_trace_points.c',
-        'eal_common_trace_utils.c',
         'eal_common_uuid.c',
-        'hotplug_mp.c',
         'malloc_elem.c',
         'malloc_heap.c',
-        'malloc_mp.c',
-        'rte_keepalive.c',
         'rte_malloc.c',
         'rte_random.c',
         'rte_reciprocal.c',
         'rte_service.c',
         'rte_version.c',
 )
-
-if is_linux
+if is_linux or is_windows
     sources += files('eal_common_dynmem.c')
 endif
+if not is_windows
+    sources += files(
+            'eal_common_cpuflags.c',
+            'eal_common_hypervisor.c',
+            'eal_common_proc.c',
+            'eal_common_trace.c',
+            'eal_common_trace_ctf.c',
+            'eal_common_trace_utils.c',
+            'hotplug_mp.c',
+            'malloc_mp.c',
+            'rte_keepalive.c',
+    )
+endif
diff --git a/lib/eal/version.map b/lib/eal/version.map
index beeb986adc..a40e4bc659 100644
--- a/lib/eal/version.map
+++ b/lib/eal/version.map
@@ -194,10 +194,10 @@  DPDK_22 {
 	rte_thread_get_affinity;
 	rte_thread_set_affinity;
 	rte_thread_setname;
-	rte_uuid_compare; # WINDOWS_NO_EXPORT
-	rte_uuid_is_null; # WINDOWS_NO_EXPORT
-	rte_uuid_parse; # WINDOWS_NO_EXPORT
-	rte_uuid_unparse; # WINDOWS_NO_EXPORT
+	rte_uuid_compare;
+	rte_uuid_is_null;
+	rte_uuid_parse;
+	rte_uuid_unparse;
 	rte_version; # WINDOWS_NO_EXPORT
 	rte_vfio_clear_group; # WINDOWS_NO_EXPORT
 	rte_vfio_container_create; # WINDOWS_NO_EXPORT