[v2,7/8] eal: move OS-specific sub-directories

Message ID 20200327011540.954014-8-thomas@monjalon.net (mailing list archive)
State Accepted, archived
Delegated to: David Marchand
Headers
Series eal: reorganize directories layout |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Thomas Monjalon March 27, 2020, 1:15 a.m. UTC
  Since the kernel modules are moved to kernel/ directory,
there is no need anymore for the sub-directory eal/ in
linux/, freebsd/ and windows/.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 MAINTAINERS                                         | 12 +++++-------
 kernel/linux/kni/meson.build                        |  2 +-
 lib/librte_eal/Makefile                             |  4 ++--
 lib/librte_eal/freebsd/{eal => }/Makefile           |  2 +-
 lib/librte_eal/freebsd/{eal => }/eal.c              |  0
 lib/librte_eal/freebsd/{eal => }/eal_alarm.c        |  0
 .../freebsd/{eal => }/eal_alarm_private.h           |  0
 lib/librte_eal/freebsd/{eal => }/eal_cpuflags.c     |  0
 lib/librte_eal/freebsd/{eal => }/eal_debug.c        |  0
 lib/librte_eal/freebsd/{eal => }/eal_dev.c          |  0
 .../freebsd/{eal => }/eal_hugepage_info.c           |  0
 lib/librte_eal/freebsd/{eal => }/eal_interrupts.c   |  0
 lib/librte_eal/freebsd/{eal => }/eal_lcore.c        |  0
 lib/librte_eal/freebsd/{eal => }/eal_memalloc.c     |  0
 lib/librte_eal/freebsd/{eal => }/eal_memory.c       |  0
 lib/librte_eal/freebsd/{eal => }/eal_thread.c       |  0
 lib/librte_eal/freebsd/{eal => }/eal_timer.c        |  0
 lib/librte_eal/freebsd/include/meson.build          |  8 ++++++++
 lib/librte_eal/freebsd/{eal => }/include/rte_os.h   |  0
 lib/librte_eal/freebsd/{eal => }/meson.build        |  8 +++-----
 lib/librte_eal/linux/{eal => }/Makefile             |  2 +-
 lib/librte_eal/linux/{eal => }/eal.c                |  0
 lib/librte_eal/linux/{eal => }/eal_alarm.c          |  0
 lib/librte_eal/linux/{eal => }/eal_cpuflags.c       |  0
 lib/librte_eal/linux/{eal => }/eal_debug.c          |  0
 lib/librte_eal/linux/{eal => }/eal_dev.c            |  0
 lib/librte_eal/linux/{eal => }/eal_hugepage_info.c  |  0
 lib/librte_eal/linux/{eal => }/eal_interrupts.c     |  0
 lib/librte_eal/linux/{eal => }/eal_lcore.c          |  0
 lib/librte_eal/linux/{eal => }/eal_log.c            |  0
 lib/librte_eal/linux/{eal => }/eal_memalloc.c       |  0
 lib/librte_eal/linux/{eal => }/eal_memory.c         |  0
 lib/librte_eal/linux/{eal => }/eal_thread.c         |  0
 lib/librte_eal/linux/{eal => }/eal_timer.c          |  0
 lib/librte_eal/linux/{eal => }/eal_vfio.c           |  0
 lib/librte_eal/linux/{eal => }/eal_vfio.h           |  0
 lib/librte_eal/linux/{eal => }/eal_vfio_mp_sync.c   |  0
 lib/librte_eal/linux/include/meson.build            |  9 +++++++++
 .../linux/{eal => }/include/rte_kni_common.h        |  0
 lib/librte_eal/linux/{eal => }/include/rte_os.h     |  0
 lib/librte_eal/linux/{eal => }/meson.build          |  9 ++-------
 lib/librte_eal/meson.build                          | 13 ++-----------
 lib/librte_eal/windows/{eal => }/eal.c              |  0
 lib/librte_eal/windows/{eal => }/eal_debug.c        |  0
 lib/librte_eal/windows/{eal => }/eal_lcore.c        |  0
 lib/librte_eal/windows/{eal => }/eal_thread.c       |  0
 lib/librte_eal/windows/{eal => }/getopt.c           |  0
 lib/librte_eal/windows/{eal => }/include/dirent.h   |  0
 lib/librte_eal/windows/{eal => }/include/fnmatch.h  |  0
 lib/librte_eal/windows/{eal => }/include/getopt.h   |  0
 lib/librte_eal/windows/include/meson.build          |  8 ++++++++
 lib/librte_eal/windows/{eal => }/include/pthread.h  |  0
 lib/librte_eal/windows/{eal => }/include/regex.h    |  0
 lib/librte_eal/windows/{eal => }/include/rte_os.h   |  0
 lib/librte_eal/windows/{eal => }/include/sched.h    |  0
 .../windows/{eal => }/include/sys/queue.h           |  0
 lib/librte_eal/windows/{eal => }/include/unistd.h   |  0
 lib/librte_eal/windows/{eal => }/meson.build        |  9 +++------
 license/exceptions.txt                              |  6 +++---
 meson.build                                         |  2 +-
 mk/exec-env/freebsd/rte.vars.mk                     |  2 +-
 mk/exec-env/linux/rte.vars.mk                       |  2 +-
 62 files changed, 51 insertions(+), 47 deletions(-)
 rename lib/librte_eal/freebsd/{eal => }/Makefile (98%)
 rename lib/librte_eal/freebsd/{eal => }/eal.c (100%)
 rename lib/librte_eal/freebsd/{eal => }/eal_alarm.c (100%)
 rename lib/librte_eal/freebsd/{eal => }/eal_alarm_private.h (100%)
 rename lib/librte_eal/freebsd/{eal => }/eal_cpuflags.c (100%)
 rename lib/librte_eal/freebsd/{eal => }/eal_debug.c (100%)
 rename lib/librte_eal/freebsd/{eal => }/eal_dev.c (100%)
 rename lib/librte_eal/freebsd/{eal => }/eal_hugepage_info.c (100%)
 rename lib/librte_eal/freebsd/{eal => }/eal_interrupts.c (100%)
 rename lib/librte_eal/freebsd/{eal => }/eal_lcore.c (100%)
 rename lib/librte_eal/freebsd/{eal => }/eal_memalloc.c (100%)
 rename lib/librte_eal/freebsd/{eal => }/eal_memory.c (100%)
 rename lib/librte_eal/freebsd/{eal => }/eal_thread.c (100%)
 rename lib/librte_eal/freebsd/{eal => }/eal_timer.c (100%)
 create mode 100644 lib/librte_eal/freebsd/include/meson.build
 rename lib/librte_eal/freebsd/{eal => }/include/rte_os.h (100%)
 rename lib/librte_eal/freebsd/{eal => }/meson.build (76%)
 rename lib/librte_eal/linux/{eal => }/Makefile (98%)
 rename lib/librte_eal/linux/{eal => }/eal.c (100%)
 rename lib/librte_eal/linux/{eal => }/eal_alarm.c (100%)
 rename lib/librte_eal/linux/{eal => }/eal_cpuflags.c (100%)
 rename lib/librte_eal/linux/{eal => }/eal_debug.c (100%)
 rename lib/librte_eal/linux/{eal => }/eal_dev.c (100%)
 rename lib/librte_eal/linux/{eal => }/eal_hugepage_info.c (100%)
 rename lib/librte_eal/linux/{eal => }/eal_interrupts.c (100%)
 rename lib/librte_eal/linux/{eal => }/eal_lcore.c (100%)
 rename lib/librte_eal/linux/{eal => }/eal_log.c (100%)
 rename lib/librte_eal/linux/{eal => }/eal_memalloc.c (100%)
 rename lib/librte_eal/linux/{eal => }/eal_memory.c (100%)
 rename lib/librte_eal/linux/{eal => }/eal_thread.c (100%)
 rename lib/librte_eal/linux/{eal => }/eal_timer.c (100%)
 rename lib/librte_eal/linux/{eal => }/eal_vfio.c (100%)
 rename lib/librte_eal/linux/{eal => }/eal_vfio.h (100%)
 rename lib/librte_eal/linux/{eal => }/eal_vfio_mp_sync.c (100%)
 create mode 100644 lib/librte_eal/linux/include/meson.build
 rename lib/librte_eal/linux/{eal => }/include/rte_kni_common.h (100%)
 rename lib/librte_eal/linux/{eal => }/include/rte_os.h (100%)
 rename lib/librte_eal/linux/{eal => }/meson.build (72%)
 rename lib/librte_eal/windows/{eal => }/eal.c (100%)
 rename lib/librte_eal/windows/{eal => }/eal_debug.c (100%)
 rename lib/librte_eal/windows/{eal => }/eal_lcore.c (100%)
 rename lib/librte_eal/windows/{eal => }/eal_thread.c (100%)
 rename lib/librte_eal/windows/{eal => }/getopt.c (100%)
 rename lib/librte_eal/windows/{eal => }/include/dirent.h (100%)
 rename lib/librte_eal/windows/{eal => }/include/fnmatch.h (100%)
 rename lib/librte_eal/windows/{eal => }/include/getopt.h (100%)
 create mode 100644 lib/librte_eal/windows/include/meson.build
 rename lib/librte_eal/windows/{eal => }/include/pthread.h (100%)
 rename lib/librte_eal/windows/{eal => }/include/regex.h (100%)
 rename lib/librte_eal/windows/{eal => }/include/rte_os.h (100%)
 rename lib/librte_eal/windows/{eal => }/include/sched.h (100%)
 rename lib/librte_eal/windows/{eal => }/include/sys/queue.h (100%)
 rename lib/librte_eal/windows/{eal => }/include/unistd.h (100%)
 rename lib/librte_eal/windows/{eal => }/meson.build (52%)
  

Patch

diff --git a/MAINTAINERS b/MAINTAINERS
index 3e842625f2..6be6c77574 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -203,8 +203,8 @@  F: lib/librte_eal/common/*malloc*
 F: lib/librte_eal/common/eal_common_fbarray.c
 F: lib/librte_eal/common/eal_common_mem*
 F: lib/librte_eal/common/eal_hugepages.h
-F: lib/librte_eal/linux/eal/eal_mem*
-F: lib/librte_eal/freebsd/eal/eal_mem*
+F: lib/librte_eal/linux/eal_mem*
+F: lib/librte_eal/freebsd/eal_mem*
 F: doc/guides/prog_guide/env_abstraction_layer.rst
 F: app/test/test_external_mem.c
 F: app/test/test_func_reentrancy.c
@@ -289,8 +289,7 @@  M: Konstantin Ananyev <konstantin.ananyev@intel.com>
 F: lib/librte_eal/x86/
 
 Linux EAL (with overlaps)
-F: lib/librte_eal/linux/Makefile
-F: lib/librte_eal/linux/eal/
+F: lib/librte_eal/linux/
 F: doc/guides/linux_gsg/
 
 Linux UIO
@@ -300,13 +299,12 @@  F: drivers/bus/pci/linux/*uio*
 
 Linux VFIO
 M: Anatoly Burakov <anatoly.burakov@intel.com>
-F: lib/librte_eal/linux/eal/*vfio*
+F: lib/librte_eal/linux/*vfio*
 F: drivers/bus/pci/linux/*vfio*
 
 FreeBSD EAL (with overlaps)
 M: Bruce Richardson <bruce.richardson@intel.com>
-F: lib/librte_eal/freebsd/Makefile
-F: lib/librte_eal/freebsd/eal/
+F: lib/librte_eal/freebsd/
 F: doc/guides/freebsd_gsg/
 
 FreeBSD contigmem
diff --git a/kernel/linux/kni/meson.build b/kernel/linux/kni/meson.build
index 706bea5b7f..d696347f22 100644
--- a/kernel/linux/kni/meson.build
+++ b/kernel/linux/kni/meson.build
@@ -18,7 +18,7 @@  custom_target('rte_kni',
 		'src=' + meson.current_source_dir(),
 		'MODULE_CFLAGS=-include ' + meson.source_root() + '/config/rte_config.h' +
 		' -I' + meson.source_root() + '/lib/librte_eal/include' +
-		' -I' + meson.source_root() + '/lib/librte_eal/linux/eal/include' +
+		' -I' + meson.source_root() + '/lib/librte_eal/linux/include' +
 		' -I' + meson.build_root() +
 		' -I' + meson.current_source_dir(),
 		'modules'],
diff --git a/lib/librte_eal/Makefile b/lib/librte_eal/Makefile
index ff74935932..2fda40d230 100644
--- a/lib/librte_eal/Makefile
+++ b/lib/librte_eal/Makefile
@@ -4,9 +4,9 @@ 
 include $(RTE_SDK)/mk/rte.vars.mk
 
 DIRS-y += include
-DIRS-$(CONFIG_RTE_EXEC_ENV_LINUX) += linux/eal
+DIRS-$(CONFIG_RTE_EXEC_ENV_LINUX) += linux
 DEPDIRS-linux := include
-DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += freebsd/eal
+DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += freebsd
 DEPDIRS-freebsd := include
 
 include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/lib/librte_eal/freebsd/eal/Makefile b/lib/librte_eal/freebsd/Makefile
similarity index 98%
rename from lib/librte_eal/freebsd/eal/Makefile
rename to lib/librte_eal/freebsd/Makefile
index 0c809d9872..952f4f1c81 100644
--- a/lib/librte_eal/freebsd/eal/Makefile
+++ b/lib/librte_eal/freebsd/Makefile
@@ -20,7 +20,7 @@  LDLIBS += -lpthread
 LDLIBS += -lgcc_s
 LDLIBS += -lrte_kvargs
 
-EXPORT_MAP := ../../rte_eal_version.map
+EXPORT_MAP := ../rte_eal_version.map
 
 # specific to freebsd exec-env
 SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) := eal.c
diff --git a/lib/librte_eal/freebsd/eal/eal.c b/lib/librte_eal/freebsd/eal.c
similarity index 100%
rename from lib/librte_eal/freebsd/eal/eal.c
rename to lib/librte_eal/freebsd/eal.c
diff --git a/lib/librte_eal/freebsd/eal/eal_alarm.c b/lib/librte_eal/freebsd/eal_alarm.c
similarity index 100%
rename from lib/librte_eal/freebsd/eal/eal_alarm.c
rename to lib/librte_eal/freebsd/eal_alarm.c
diff --git a/lib/librte_eal/freebsd/eal/eal_alarm_private.h b/lib/librte_eal/freebsd/eal_alarm_private.h
similarity index 100%
rename from lib/librte_eal/freebsd/eal/eal_alarm_private.h
rename to lib/librte_eal/freebsd/eal_alarm_private.h
diff --git a/lib/librte_eal/freebsd/eal/eal_cpuflags.c b/lib/librte_eal/freebsd/eal_cpuflags.c
similarity index 100%
rename from lib/librte_eal/freebsd/eal/eal_cpuflags.c
rename to lib/librte_eal/freebsd/eal_cpuflags.c
diff --git a/lib/librte_eal/freebsd/eal/eal_debug.c b/lib/librte_eal/freebsd/eal_debug.c
similarity index 100%
rename from lib/librte_eal/freebsd/eal/eal_debug.c
rename to lib/librte_eal/freebsd/eal_debug.c
diff --git a/lib/librte_eal/freebsd/eal/eal_dev.c b/lib/librte_eal/freebsd/eal_dev.c
similarity index 100%
rename from lib/librte_eal/freebsd/eal/eal_dev.c
rename to lib/librte_eal/freebsd/eal_dev.c
diff --git a/lib/librte_eal/freebsd/eal/eal_hugepage_info.c b/lib/librte_eal/freebsd/eal_hugepage_info.c
similarity index 100%
rename from lib/librte_eal/freebsd/eal/eal_hugepage_info.c
rename to lib/librte_eal/freebsd/eal_hugepage_info.c
diff --git a/lib/librte_eal/freebsd/eal/eal_interrupts.c b/lib/librte_eal/freebsd/eal_interrupts.c
similarity index 100%
rename from lib/librte_eal/freebsd/eal/eal_interrupts.c
rename to lib/librte_eal/freebsd/eal_interrupts.c
diff --git a/lib/librte_eal/freebsd/eal/eal_lcore.c b/lib/librte_eal/freebsd/eal_lcore.c
similarity index 100%
rename from lib/librte_eal/freebsd/eal/eal_lcore.c
rename to lib/librte_eal/freebsd/eal_lcore.c
diff --git a/lib/librte_eal/freebsd/eal/eal_memalloc.c b/lib/librte_eal/freebsd/eal_memalloc.c
similarity index 100%
rename from lib/librte_eal/freebsd/eal/eal_memalloc.c
rename to lib/librte_eal/freebsd/eal_memalloc.c
diff --git a/lib/librte_eal/freebsd/eal/eal_memory.c b/lib/librte_eal/freebsd/eal_memory.c
similarity index 100%
rename from lib/librte_eal/freebsd/eal/eal_memory.c
rename to lib/librte_eal/freebsd/eal_memory.c
diff --git a/lib/librte_eal/freebsd/eal/eal_thread.c b/lib/librte_eal/freebsd/eal_thread.c
similarity index 100%
rename from lib/librte_eal/freebsd/eal/eal_thread.c
rename to lib/librte_eal/freebsd/eal_thread.c
diff --git a/lib/librte_eal/freebsd/eal/eal_timer.c b/lib/librte_eal/freebsd/eal_timer.c
similarity index 100%
rename from lib/librte_eal/freebsd/eal/eal_timer.c
rename to lib/librte_eal/freebsd/eal_timer.c
diff --git a/lib/librte_eal/freebsd/include/meson.build b/lib/librte_eal/freebsd/include/meson.build
new file mode 100644
index 0000000000..7d18dd52f1
--- /dev/null
+++ b/lib/librte_eal/freebsd/include/meson.build
@@ -0,0 +1,8 @@ 
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2020 Mellanox Technologies, Ltd
+
+includes += include_directories('.')
+
+headers += files(
+        'rte_os.h',
+)
diff --git a/lib/librte_eal/freebsd/eal/include/rte_os.h b/lib/librte_eal/freebsd/include/rte_os.h
similarity index 100%
rename from lib/librte_eal/freebsd/eal/include/rte_os.h
rename to lib/librte_eal/freebsd/include/rte_os.h
diff --git a/lib/librte_eal/freebsd/eal/meson.build b/lib/librte_eal/freebsd/meson.build
similarity index 76%
rename from lib/librte_eal/freebsd/eal/meson.build
rename to lib/librte_eal/freebsd/meson.build
index 1426f7e5f1..5e6afd9d34 100644
--- a/lib/librte_eal/freebsd/eal/meson.build
+++ b/lib/librte_eal/freebsd/meson.build
@@ -1,11 +1,9 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-env_objs = []
-env_headers = files(
-		'include/rte_os.h',
-)
-env_sources = files('eal_alarm.c',
+subdir('include')
+
+sources += files('eal_alarm.c',
 		'eal_cpuflags.c',
 		'eal_debug.c',
 		'eal_hugepage_info.c',
diff --git a/lib/librte_eal/linux/eal/Makefile b/lib/librte_eal/linux/Makefile
similarity index 98%
rename from lib/librte_eal/linux/eal/Makefile
rename to lib/librte_eal/linux/Makefile
index 692fec2695..82c3fc570a 100644
--- a/lib/librte_eal/linux/eal/Makefile
+++ b/lib/librte_eal/linux/Makefile
@@ -7,7 +7,7 @@  LIB = librte_eal.a
 
 ARCH_DIR ?= $(RTE_ARCH)
 
-EXPORT_MAP := ../../rte_eal_version.map
+EXPORT_MAP := ../rte_eal_version.map
 VPATH += $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)
 
 VPATH += $(RTE_SDK)/lib/librte_eal/common
diff --git a/lib/librte_eal/linux/eal/eal.c b/lib/librte_eal/linux/eal.c
similarity index 100%
rename from lib/librte_eal/linux/eal/eal.c
rename to lib/librte_eal/linux/eal.c
diff --git a/lib/librte_eal/linux/eal/eal_alarm.c b/lib/librte_eal/linux/eal_alarm.c
similarity index 100%
rename from lib/librte_eal/linux/eal/eal_alarm.c
rename to lib/librte_eal/linux/eal_alarm.c
diff --git a/lib/librte_eal/linux/eal/eal_cpuflags.c b/lib/librte_eal/linux/eal_cpuflags.c
similarity index 100%
rename from lib/librte_eal/linux/eal/eal_cpuflags.c
rename to lib/librte_eal/linux/eal_cpuflags.c
diff --git a/lib/librte_eal/linux/eal/eal_debug.c b/lib/librte_eal/linux/eal_debug.c
similarity index 100%
rename from lib/librte_eal/linux/eal/eal_debug.c
rename to lib/librte_eal/linux/eal_debug.c
diff --git a/lib/librte_eal/linux/eal/eal_dev.c b/lib/librte_eal/linux/eal_dev.c
similarity index 100%
rename from lib/librte_eal/linux/eal/eal_dev.c
rename to lib/librte_eal/linux/eal_dev.c
diff --git a/lib/librte_eal/linux/eal/eal_hugepage_info.c b/lib/librte_eal/linux/eal_hugepage_info.c
similarity index 100%
rename from lib/librte_eal/linux/eal/eal_hugepage_info.c
rename to lib/librte_eal/linux/eal_hugepage_info.c
diff --git a/lib/librte_eal/linux/eal/eal_interrupts.c b/lib/librte_eal/linux/eal_interrupts.c
similarity index 100%
rename from lib/librte_eal/linux/eal/eal_interrupts.c
rename to lib/librte_eal/linux/eal_interrupts.c
diff --git a/lib/librte_eal/linux/eal/eal_lcore.c b/lib/librte_eal/linux/eal_lcore.c
similarity index 100%
rename from lib/librte_eal/linux/eal/eal_lcore.c
rename to lib/librte_eal/linux/eal_lcore.c
diff --git a/lib/librte_eal/linux/eal/eal_log.c b/lib/librte_eal/linux/eal_log.c
similarity index 100%
rename from lib/librte_eal/linux/eal/eal_log.c
rename to lib/librte_eal/linux/eal_log.c
diff --git a/lib/librte_eal/linux/eal/eal_memalloc.c b/lib/librte_eal/linux/eal_memalloc.c
similarity index 100%
rename from lib/librte_eal/linux/eal/eal_memalloc.c
rename to lib/librte_eal/linux/eal_memalloc.c
diff --git a/lib/librte_eal/linux/eal/eal_memory.c b/lib/librte_eal/linux/eal_memory.c
similarity index 100%
rename from lib/librte_eal/linux/eal/eal_memory.c
rename to lib/librte_eal/linux/eal_memory.c
diff --git a/lib/librte_eal/linux/eal/eal_thread.c b/lib/librte_eal/linux/eal_thread.c
similarity index 100%
rename from lib/librte_eal/linux/eal/eal_thread.c
rename to lib/librte_eal/linux/eal_thread.c
diff --git a/lib/librte_eal/linux/eal/eal_timer.c b/lib/librte_eal/linux/eal_timer.c
similarity index 100%
rename from lib/librte_eal/linux/eal/eal_timer.c
rename to lib/librte_eal/linux/eal_timer.c
diff --git a/lib/librte_eal/linux/eal/eal_vfio.c b/lib/librte_eal/linux/eal_vfio.c
similarity index 100%
rename from lib/librte_eal/linux/eal/eal_vfio.c
rename to lib/librte_eal/linux/eal_vfio.c
diff --git a/lib/librte_eal/linux/eal/eal_vfio.h b/lib/librte_eal/linux/eal_vfio.h
similarity index 100%
rename from lib/librte_eal/linux/eal/eal_vfio.h
rename to lib/librte_eal/linux/eal_vfio.h
diff --git a/lib/librte_eal/linux/eal/eal_vfio_mp_sync.c b/lib/librte_eal/linux/eal_vfio_mp_sync.c
similarity index 100%
rename from lib/librte_eal/linux/eal/eal_vfio_mp_sync.c
rename to lib/librte_eal/linux/eal_vfio_mp_sync.c
diff --git a/lib/librte_eal/linux/include/meson.build b/lib/librte_eal/linux/include/meson.build
new file mode 100644
index 0000000000..1241894b3c
--- /dev/null
+++ b/lib/librte_eal/linux/include/meson.build
@@ -0,0 +1,9 @@ 
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2020 Mellanox Technologies, Ltd
+
+includes += include_directories('.')
+
+headers += files(
+        'rte_kni_common.h',
+        'rte_os.h',
+)
diff --git a/lib/librte_eal/linux/eal/include/rte_kni_common.h b/lib/librte_eal/linux/include/rte_kni_common.h
similarity index 100%
rename from lib/librte_eal/linux/eal/include/rte_kni_common.h
rename to lib/librte_eal/linux/include/rte_kni_common.h
diff --git a/lib/librte_eal/linux/eal/include/rte_os.h b/lib/librte_eal/linux/include/rte_os.h
similarity index 100%
rename from lib/librte_eal/linux/eal/include/rte_os.h
rename to lib/librte_eal/linux/include/rte_os.h
diff --git a/lib/librte_eal/linux/eal/meson.build b/lib/librte_eal/linux/meson.build
similarity index 72%
rename from lib/librte_eal/linux/eal/meson.build
rename to lib/librte_eal/linux/meson.build
index b02b0695f5..0e959272df 100644
--- a/lib/librte_eal/linux/eal/meson.build
+++ b/lib/librte_eal/linux/meson.build
@@ -1,14 +1,9 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-eal_inc += include_directories('include')
+subdir('include')
 
-env_objs = []
-env_headers = files(
-		'include/rte_kni_common.h',
-		'include/rte_os.h',
-)
-env_sources = files('eal_alarm.c',
+sources += files('eal_alarm.c',
 		'eal_cpuflags.c',
 		'eal_debug.c',
 		'eal_hugepage_info.c',
diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build
index a433f46ade..9d219a0e6e 100644
--- a/lib/librte_eal/meson.build
+++ b/lib/librte_eal/meson.build
@@ -1,18 +1,13 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017-2019 Intel Corporation
 
-# Custom EAL processing. EAL is complicated enough that it can't just
-# have a straight list of headers and source files.
-# Initially pull in common settings
-eal_inc = [global_inc]
+includes += global_inc
 subdir('include')
 
 subdir('common')
 
-# Now do OS/exec-env specific settings, including building kernel modules
-# The <exec-env>/eal/meson.build file should define env_sources, etc.
 dpdk_conf.set('RTE_EXEC_ENV_' + exec_env.to_upper(), 1)
-subdir(exec_env + '/eal')
+subdir(exec_env)
 
 subdir(arch_subdir)
 
@@ -27,7 +22,3 @@  endif
 if cc.has_header('getopt.h')
 	cflags += ['-DHAVE_GETOPT_H', '-DHAVE_GETOPT', '-DHAVE_GETOPT_LONG']
 endif
-sources += env_sources
-objs = env_objs
-headers = env_headers
-includes += eal_inc
diff --git a/lib/librte_eal/windows/eal/eal.c b/lib/librte_eal/windows/eal.c
similarity index 100%
rename from lib/librte_eal/windows/eal/eal.c
rename to lib/librte_eal/windows/eal.c
diff --git a/lib/librte_eal/windows/eal/eal_debug.c b/lib/librte_eal/windows/eal_debug.c
similarity index 100%
rename from lib/librte_eal/windows/eal/eal_debug.c
rename to lib/librte_eal/windows/eal_debug.c
diff --git a/lib/librte_eal/windows/eal/eal_lcore.c b/lib/librte_eal/windows/eal_lcore.c
similarity index 100%
rename from lib/librte_eal/windows/eal/eal_lcore.c
rename to lib/librte_eal/windows/eal_lcore.c
diff --git a/lib/librte_eal/windows/eal/eal_thread.c b/lib/librte_eal/windows/eal_thread.c
similarity index 100%
rename from lib/librte_eal/windows/eal/eal_thread.c
rename to lib/librte_eal/windows/eal_thread.c
diff --git a/lib/librte_eal/windows/eal/getopt.c b/lib/librte_eal/windows/getopt.c
similarity index 100%
rename from lib/librte_eal/windows/eal/getopt.c
rename to lib/librte_eal/windows/getopt.c
diff --git a/lib/librte_eal/windows/eal/include/dirent.h b/lib/librte_eal/windows/include/dirent.h
similarity index 100%
rename from lib/librte_eal/windows/eal/include/dirent.h
rename to lib/librte_eal/windows/include/dirent.h
diff --git a/lib/librte_eal/windows/eal/include/fnmatch.h b/lib/librte_eal/windows/include/fnmatch.h
similarity index 100%
rename from lib/librte_eal/windows/eal/include/fnmatch.h
rename to lib/librte_eal/windows/include/fnmatch.h
diff --git a/lib/librte_eal/windows/eal/include/getopt.h b/lib/librte_eal/windows/include/getopt.h
similarity index 100%
rename from lib/librte_eal/windows/eal/include/getopt.h
rename to lib/librte_eal/windows/include/getopt.h
diff --git a/lib/librte_eal/windows/include/meson.build b/lib/librte_eal/windows/include/meson.build
new file mode 100644
index 0000000000..7d18dd52f1
--- /dev/null
+++ b/lib/librte_eal/windows/include/meson.build
@@ -0,0 +1,8 @@ 
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2020 Mellanox Technologies, Ltd
+
+includes += include_directories('.')
+
+headers += files(
+        'rte_os.h',
+)
diff --git a/lib/librte_eal/windows/eal/include/pthread.h b/lib/librte_eal/windows/include/pthread.h
similarity index 100%
rename from lib/librte_eal/windows/eal/include/pthread.h
rename to lib/librte_eal/windows/include/pthread.h
diff --git a/lib/librte_eal/windows/eal/include/regex.h b/lib/librte_eal/windows/include/regex.h
similarity index 100%
rename from lib/librte_eal/windows/eal/include/regex.h
rename to lib/librte_eal/windows/include/regex.h
diff --git a/lib/librte_eal/windows/eal/include/rte_os.h b/lib/librte_eal/windows/include/rte_os.h
similarity index 100%
rename from lib/librte_eal/windows/eal/include/rte_os.h
rename to lib/librte_eal/windows/include/rte_os.h
diff --git a/lib/librte_eal/windows/eal/include/sched.h b/lib/librte_eal/windows/include/sched.h
similarity index 100%
rename from lib/librte_eal/windows/eal/include/sched.h
rename to lib/librte_eal/windows/include/sched.h
diff --git a/lib/librte_eal/windows/eal/include/sys/queue.h b/lib/librte_eal/windows/include/sys/queue.h
similarity index 100%
rename from lib/librte_eal/windows/eal/include/sys/queue.h
rename to lib/librte_eal/windows/include/sys/queue.h
diff --git a/lib/librte_eal/windows/eal/include/unistd.h b/lib/librte_eal/windows/include/unistd.h
similarity index 100%
rename from lib/librte_eal/windows/eal/include/unistd.h
rename to lib/librte_eal/windows/include/unistd.h
diff --git a/lib/librte_eal/windows/eal/meson.build b/lib/librte_eal/windows/meson.build
similarity index 52%
rename from lib/librte_eal/windows/eal/meson.build
rename to lib/librte_eal/windows/meson.build
index 46ccdb3343..09dd4ab2fa 100644
--- a/lib/librte_eal/windows/eal/meson.build
+++ b/lib/librte_eal/windows/meson.build
@@ -1,13 +1,10 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2019 Intel Corporation
 
-eal_inc += include_directories('include')
+subdir('include')
 
-env_objs = []
-env_headers = files(
-	'include/rte_os.h',
-)
-env_sources = files('eal.c',
+sources += files(
+	'eal.c',
 	'eal_debug.c',
 	'eal_lcore.c',
 	'eal_thread.c',
diff --git a/license/exceptions.txt b/license/exceptions.txt
index 1e21a863f1..c984764a02 100644
--- a/license/exceptions.txt
+++ b/license/exceptions.txt
@@ -12,9 +12,9 @@  Note that following licenses are not exceptions:-
 ---------------------------------------------------------------------------------------------------
 SPDX Identifier     TB Approval Date  GB Approval Date  File name
 ---------------------------------------------------------------------------------------------------
-1.MIT               10/23/2019        02/10/2020        lib/librte_eal/windows/eal/include/dirent.h
-2.BSD-2-Clause      10/23/2019        12/18/2019        lib/librte_eal/windows/eal/include/getopt.h
+1.MIT               10/23/2019        02/10/2020        lib/librte_eal/windows/include/dirent.h
+2.BSD-2-Clause      10/23/2019        12/18/2019        lib/librte_eal/windows/include/getopt.h
 3.ISC AND
-  BSD-2-Clause      10/23/2019        12/18/2019        lib/librte_eal/windows/eal/getopt.c
+  BSD-2-Clause      10/23/2019        12/18/2019        lib/librte_eal/windows/getopt.c
 4.GPL-2.0           09/25/2019        12/18/2019        buildtools/pmdinfogen/pmdinfogen.*
 ---------------------------------------------------------------------------------------------------
diff --git a/meson.build b/meson.build
index ace4a0b8bf..d36580438e 100644
--- a/meson.build
+++ b/meson.build
@@ -29,7 +29,7 @@  abi_version_file = files('ABI_VERSION')
 # for passing to pmdinfogen scripts
 global_inc = include_directories('.', 'config',
 	'lib/librte_eal/include',
-	'lib/librte_eal/@0@/eal/include'.format(host_machine.system()),
+	'lib/librte_eal/@0@/include'.format(host_machine.system()),
 )
 subdir('config')
 
diff --git a/mk/exec-env/freebsd/rte.vars.mk b/mk/exec-env/freebsd/rte.vars.mk
index 3608530d3f..630eb55f73 100644
--- a/mk/exec-env/freebsd/rte.vars.mk
+++ b/mk/exec-env/freebsd/rte.vars.mk
@@ -18,7 +18,7 @@  EXECENV_CFLAGS  = -pthread
 endif
 
 # include in every library to build
-EXECENV_CFLAGS += -I$(RTE_SDK)/lib/librte_eal/freebsd/eal/include
+EXECENV_CFLAGS += -I$(RTE_SDK)/lib/librte_eal/freebsd/include
 
 EXECENV_LDFLAGS =
 EXECENV_LDLIBS  = -lexecinfo
diff --git a/mk/exec-env/linux/rte.vars.mk b/mk/exec-env/linux/rte.vars.mk
index bea3f76577..41ef4195b0 100644
--- a/mk/exec-env/linux/rte.vars.mk
+++ b/mk/exec-env/linux/rte.vars.mk
@@ -18,7 +18,7 @@  EXECENV_CFLAGS  = -pthread
 endif
 
 # include in every library to build
-EXECENV_CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal/include
+EXECENV_CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/include
 
 EXECENV_LDLIBS  =
 EXECENV_ASFLAGS =