eal/windows: implement basic memory management
[dpdk.git] / config / meson.build
index c1e80de..d3f05f8 100644 (file)
@@ -261,15 +261,21 @@ if is_freebsd
 endif
 
 if is_windows
-       # Minimum supported API is Windows 7.
-       add_project_arguments('-D_WIN32_WINNT=0x0601', language: 'c')
+       # VirtualAlloc2() is available since Windows 10 / Server 2016.
+       add_project_arguments('-D_WIN32_WINNT=0x0A00', language: 'c')
 
        # Use MinGW-w64 stdio, because DPDK assumes ANSI-compliant formatting.
        if cc.get_id() == 'gcc'
                add_project_arguments('-D__USE_MINGW_ANSI_STDIO', language: 'c')
        endif
 
-       add_project_link_arguments('-ladvapi32', language: 'c')
+       # Contrary to docs, VirtualAlloc2() is exported by mincore.lib
+       # in Windows SDK, while MinGW exports it by advapi32.a.
+       if is_ms_linker
+               add_project_link_arguments('-lmincore', language: 'c')
+       endif
+
+       add_project_link_arguments('-ladvapi32', '-lsetupapi', language: 'c')
 endif
 
 if get_option('b_lto')