diff --git a/lib/acl/meson.build b/lib/acl/meson.build
index fbb1318230..f3dc513846 100644
--- a/lib/acl/meson.build
+++ b/lib/acl/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files('acl_bld.c', 'acl_gen.c', 'acl_run_scalar.c',
         'rte_acl.c', 'tb_mem.c')
 headers = files('rte_acl.h', 'rte_acl_osdep.h')
diff --git a/lib/bbdev/meson.build b/lib/bbdev/meson.build
index 2969cab26b..07685e7578 100644
--- a/lib/bbdev/meson.build
+++ b/lib/bbdev/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files('rte_bbdev.c')
 headers = files('rte_bbdev.h',
         'rte_bbdev_pmd.h',
diff --git a/lib/bpf/meson.build b/lib/bpf/meson.build
index 63cbd60185..eb94bf18c4 100644
--- a/lib/bpf/meson.build
+++ b/lib/bpf/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files('bpf.c',
         'bpf_exec.c',
         'bpf_load.c',
diff --git a/lib/compressdev/meson.build b/lib/compressdev/meson.build
index 663ceec0b9..75ea666a9b 100644
--- a/lib/compressdev/meson.build
+++ b/lib/compressdev/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files('rte_compressdev.c',
     'rte_compressdev_pmd.c',
     'rte_comp.c')
diff --git a/lib/distributor/meson.build b/lib/distributor/meson.build
index cefe1b9f19..24988c5827 100644
--- a/lib/distributor/meson.build
+++ b/lib/distributor/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files('rte_distributor.c', 'rte_distributor_single.c')
 if arch_subdir == 'x86'
     sources += files('rte_distributor_match_sse.c')
diff --git a/lib/efd/meson.build b/lib/efd/meson.build
index 07fb1c29a7..343f14e1f3 100644
--- a/lib/efd/meson.build
+++ b/lib/efd/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files('rte_efd.c')
 headers = files('rte_efd.h')
 deps += ['ring', 'hash']
diff --git a/lib/eventdev/meson.build b/lib/eventdev/meson.build
index 32abeba794..bf7cf82eee 100644
--- a/lib/eventdev/meson.build
+++ b/lib/eventdev/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 if is_linux
     cflags += '-DLINUX'
 else
diff --git a/lib/fib/meson.build b/lib/fib/meson.build
index 5618c215a7..593c8c47c8 100644
--- a/lib/fib/meson.build
+++ b/lib/fib/meson.build
@@ -2,6 +2,12 @@
 # Copyright(c) 2018 Vladimir Medvedkin <medvedkinv@gmail.com>
 # Copyright(c) 2019 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files('rte_fib.c', 'rte_fib6.c', 'dir24_8.c', 'trie.c')
 headers = files('rte_fib.h', 'rte_fib6.h')
 deps += ['rib']
diff --git a/lib/flow_classify/meson.build b/lib/flow_classify/meson.build
index a7a5b3d577..3bb861c68f 100644
--- a/lib/flow_classify/meson.build
+++ b/lib/flow_classify/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files('rte_flow_classify.c', 'rte_flow_classify_parse.c')
 headers = files('rte_flow_classify.h')
 deps += ['net', 'table']
diff --git a/lib/graph/meson.build b/lib/graph/meson.build
index 6befb094d2..c7327549e8 100644
--- a/lib/graph/meson.build
+++ b/lib/graph/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(C) 2020 Marvell International Ltd.
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files(
         'node.c',
         'graph.c',
diff --git a/lib/ip_frag/meson.build b/lib/ip_frag/meson.build
index ea2de09f75..3a252bdaf6 100644
--- a/lib/ip_frag/meson.build
+++ b/lib/ip_frag/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files(
         'rte_ipv4_fragmentation.c',
         'rte_ipv6_fragmentation.c',
diff --git a/lib/ipsec/meson.build b/lib/ipsec/meson.build
index 1497f573bb..531a97f143 100644
--- a/lib/ipsec/meson.build
+++ b/lib/ipsec/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files('esp_inb.c', 'esp_outb.c', 'sa.c', 'ses.c', 'ipsec_sad.c')
 
 headers = files('rte_ipsec.h', 'rte_ipsec_sa.h', 'rte_ipsec_sad.h')
diff --git a/lib/jobstats/meson.build b/lib/jobstats/meson.build
index 391e4f802e..6da2a95b75 100644
--- a/lib/jobstats/meson.build
+++ b/lib/jobstats/meson.build
@@ -1,5 +1,11 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files('rte_jobstats.c')
 headers = files('rte_jobstats.h')
diff --git a/lib/kni/meson.build b/lib/kni/meson.build
index e2e4e44fc6..8a71d8ba6f 100644
--- a/lib/kni/meson.build
+++ b/lib/kni/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 if not is_linux or not dpdk_conf.get('RTE_ARCH_64')
     build = false
     reason = 'only supported on 64-bit Linux'
diff --git a/lib/lpm/meson.build b/lib/lpm/meson.build
index 5ca54815e4..78d91d3421 100644
--- a/lib/lpm/meson.build
+++ b/lib/lpm/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files('rte_lpm.c', 'rte_lpm6.c')
 headers = files('rte_lpm.h', 'rte_lpm6.h')
 # since header files have different names, we can install all vector headers
diff --git a/lib/member/meson.build b/lib/member/meson.build
index 0e6b34c406..e06fddc240 100644
--- a/lib/member/meson.build
+++ b/lib/member/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files('rte_member.c', 'rte_member_ht.c', 'rte_member_vbf.c')
 headers = files('rte_member.h')
 deps += ['hash']
diff --git a/lib/meson.build b/lib/meson.build
index 403b1f4aa4..c1bf2385a0 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -63,36 +63,6 @@ libraries = [
         'node',
 ]
 
-if is_windows
-    libraries = [
-            'kvargs',
-            'telemetry',
-            'eal',
-            'ring',
-            'rcu',
-            'mempool',
-            'mbuf',
-            'net',
-            'meter',
-            'ethdev',
-            'dmadev',
-            'pci',
-            'cmdline',
-            'metrics',
-            'hash',
-            'timer',
-            'bitratestats',
-            'cryptodev',
-            'cfgfile',
-            'gro',
-            'gso',
-            'latencystats',
-            'pdump',
-            'stack',
-            'security',
-    ] # only supported libraries for windows
-endif
-
 optional_libs = [
         'kni',
         'power',
diff --git a/lib/node/meson.build b/lib/node/meson.build
index 230aa6fa0f..dbdf673c86 100644
--- a/lib/node/meson.build
+++ b/lib/node/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(C) 2020 Marvell International Ltd.
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files(
         'ethdev_ctrl.c',
         'ethdev_rx.c',
diff --git a/lib/pipeline/meson.build b/lib/pipeline/meson.build
index 9132bb517a..3ca98ed194 100644
--- a/lib/pipeline/meson.build
+++ b/lib/pipeline/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files(
         'rte_pipeline.c',
         'rte_port_in_action.c',
diff --git a/lib/port/meson.build b/lib/port/meson.build
index 289bc47f6e..854bf39cd9 100644
--- a/lib/port/meson.build
+++ b/lib/port/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files(
         'rte_port_ethdev.c',
         'rte_port_fd.c',
diff --git a/lib/power/meson.build b/lib/power/meson.build
index bf937acde4..ba8d66074b 100644
--- a/lib/power/meson.build
+++ b/lib/power/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 if not is_linux
     build = false
     reason = 'only supported on Linux'
diff --git a/lib/rawdev/meson.build b/lib/rawdev/meson.build
index 30d363cd2d..7dfc3d5cf9 100644
--- a/lib/rawdev/meson.build
+++ b/lib/rawdev/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files('rte_rawdev.c')
 headers = files('rte_rawdev.h', 'rte_rawdev_pmd.h')
 
diff --git a/lib/regexdev/meson.build b/lib/regexdev/meson.build
index 7e12d8cd6d..426e764ece 100644
--- a/lib/regexdev/meson.build
+++ b/lib/regexdev/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright 2020 Mellanox Technologies, Ltd
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files('rte_regexdev.c')
 headers = files('rte_regexdev.h', 'rte_regexdev_driver.h')
 indirect_headers += files('rte_regexdev_core.h')
diff --git a/lib/reorder/meson.build b/lib/reorder/meson.build
index 03aed53d90..621c1f3501 100644
--- a/lib/reorder/meson.build
+++ b/lib/reorder/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files('rte_reorder.c')
 headers = files('rte_reorder.h')
 deps += ['mbuf']
diff --git a/lib/rib/meson.build b/lib/rib/meson.build
index 7bacbb4535..bda7f576e9 100644
--- a/lib/rib/meson.build
+++ b/lib/rib/meson.build
@@ -2,6 +2,12 @@
 # Copyright(c) 2018 Vladimir Medvedkin <medvedkinv@gmail.com>
 # Copyright(c) 2019 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files('rte_rib.c', 'rte_rib6.c')
 headers = files('rte_rib.h', 'rte_rib6.h')
 deps += ['mempool']
diff --git a/lib/sched/meson.build b/lib/sched/meson.build
index b24f7b8775..8ced4547aa 100644
--- a/lib/sched/meson.build
+++ b/lib/sched/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files('rte_sched.c', 'rte_red.c', 'rte_approx.c')
 headers = files(
         'rte_approx.h',
diff --git a/lib/table/meson.build b/lib/table/meson.build
index ac1f1aac27..d1f2f9dcf6 100644
--- a/lib/table/meson.build
+++ b/lib/table/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 sources = files(
         'rte_swx_table_em.c',
         'rte_swx_table_learner.c',
