DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] eal: reorganize directories layout
@ 2020-03-20  0:12 Thomas Monjalon
  2020-03-20  9:34 ` Bruce Richardson
  2020-03-27  1:15 ` [dpdk-dev] [PATCH v2 0/8] " Thomas Monjalon
  0 siblings, 2 replies; 22+ messages in thread
From: Thomas Monjalon @ 2020-03-20  0:12 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, Neil Horman, John McNamara, Marko Kovacevic,
	Hemant Agrawal, Sachin Saxena, Matan Azrad, Shahaf Shuler,
	Viacheslav Ovsiienko, Gagandeep Singh, Akhil Goyal, Nipun Gupta,
	Maxime Coquelin, Zhihong Wang, Xiaolong Ye, Ferruh Yigit,
	Cristian Dumitrescu, Jan Viktorin, Gavin Hu, Jerin Jacob,
	Harry van Haaren, Bruce Richardson, Anatoly Burakov, Phil Yang,
	Joyce Kong, Mattias Rönnblom, David Christensen,
	Harini Ramakrishnan, Omar Cardona, Pallavi Kadam, Ranjit Menon,
	Konstantin Ananyev, Olivier Matz

Some clean-up is done in EAL sub-directories.
The goal is to make organization easier to understand,
and to prepare moving some files from common to Unix-only place.

Since the kernel modules are moved to kernel/ directory,
there is no need anymore for the sub-directory eal/ in
linux/, freebsd/ and windows/.

The EAL API (with doxygen documentation) is moved from
common/include/ to include/, which makes more clear that
it is the global API for all environments and architectures.
Note that the arch-specific and os-specific include files are not
in this global include directory, but include/generic/ should
cover the doxygen documentation for them.

The arch-specific directories arm, ppc_64 and x86 in common/arch/
and in common/include/arch are moved at the same level as the
os-specific directories, adding an include/ sub-directory.
It makes more clear that EAL is covering a matrix combining OS and arch.
Note that ppc_64 is renamed to ppc.

These moves offer the opportunity to simplify the make and meson files.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

---

This change was proposed to the Technical Board in advance:
http://mails.dpdk.org/archives/dev/2020-January/156732.html

If required, the patch may be split:
   1/ remove FreeBSD kernel Makefile
   2/ move arch .c files
   3/ move arch .h files
   4/ move common and generic includes
   5/ move os/eal/ to os/

---
---
 MAINTAINERS                                   |  53 ++++-----
 buildtools/pmdinfogen/meson.build             |   2 +-
 config/arm/meson.build                        |   2 +-
 config/common_armv8a_linux                    |   2 +-
 config/meson.build                            |   2 +-
 devtools/build-tags.sh                        |  14 +--
 doc/api/doxy-api.conf.in                      |   4 +-
 doc/guides/rel_notes/known_issues.rst         |   2 +-
 drivers/bus/dpaa/Makefile                     |   2 +-
 drivers/common/mlx5/meson.build               |   2 +-
 drivers/crypto/caam_jr/Makefile               |   2 +-
 drivers/crypto/dpaa_sec/Makefile              |   2 +-
 drivers/event/dpaa/Makefile                   |   2 +-
 drivers/net/dpaa/Makefile                     |   2 +-
 drivers/net/virtio/meson.build                |   2 +-
 kernel/linux/igb_uio/meson.build              |   2 +-
 kernel/linux/kni/meson.build                  |   4 +-
 lib/librte_cfgfile/Makefile                   |   2 +-
 lib/librte_eal/Makefile                       |   6 +-
 .../arch/arm => arm/include}/meson.build      |   0
 .../arch/arm => arm/include}/rte_atomic.h     |   0
 .../arch/arm => arm/include}/rte_atomic_32.h  |   0
 .../arch/arm => arm/include}/rte_atomic_64.h  |   0
 .../arch/arm => arm/include}/rte_byteorder.h  |   0
 .../arch/arm => arm/include}/rte_cpuflags.h   |   0
 .../arm => arm/include}/rte_cpuflags_32.h     |   0
 .../arm => arm/include}/rte_cpuflags_64.h     |   0
 .../arch/arm => arm/include}/rte_cycles.h     |   0
 .../arch/arm => arm/include}/rte_cycles_32.h  |   0
 .../arch/arm => arm/include}/rte_cycles_64.h  |   0
 .../include/arch/arm => arm/include}/rte_io.h |   0
 .../arch/arm => arm/include}/rte_io_64.h      |   0
 .../arch/arm => arm/include}/rte_mcslock.h    |   0
 .../arch/arm => arm/include}/rte_memcpy.h     |   0
 .../arch/arm => arm/include}/rte_memcpy_32.h  |   0
 .../arch/arm => arm/include}/rte_memcpy_64.h  |   0
 .../arch/arm => arm/include}/rte_pause.h      |   0
 .../arch/arm => arm/include}/rte_pause_32.h   |   0
 .../arch/arm => arm/include}/rte_pause_64.h   |   0
 .../arch/arm => arm/include}/rte_prefetch.h   |   0
 .../arm => arm/include}/rte_prefetch_32.h     |   0
 .../arm => arm/include}/rte_prefetch_64.h     |   0
 .../arch/arm => arm/include}/rte_rwlock.h     |   0
 .../arch/arm => arm/include}/rte_spinlock.h   |   0
 .../arch/arm => arm/include}/rte_ticketlock.h |   0
 .../arch/arm => arm/include}/rte_vect.h       |   0
 lib/librte_eal/arm/meson.build                |  13 +++
 .../{common/arch => }/arm/rte_cpuflags.c      |   0
 .../{common/arch => }/arm/rte_cycles.c        |   0
 .../{common/arch => }/arm/rte_hypervisor.c    |   0
 lib/librte_eal/common/Makefile                |  38 -------
 lib/librte_eal/common/arch/arm/meson.build    |   5 -
 lib/librte_eal/common/arch/ppc_64/meson.build |   5 -
 lib/librte_eal/common/arch/x86/meson.build    |   5 -
 lib/librte_eal/common/meson.build             |  92 ++++------------
 lib/librte_eal/common/rte_service.c           |   2 +-
 lib/librte_eal/freebsd/BSDmakefile.meson      |  14 ---
 lib/librte_eal/freebsd/Makefile               |  90 +++++++++++++++-
 lib/librte_eal/freebsd/{eal => }/eal.c        |   0
 lib/librte_eal/freebsd/eal/Makefile           |  93 ----------------
 lib/librte_eal/freebsd/{eal => }/eal_alarm.c  |   0
 .../freebsd/{eal => }/eal_alarm_private.h     |   0
 .../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
 .../freebsd/{eal => }/eal_interrupts.c        |   0
 lib/librte_eal/freebsd/{eal => }/eal_lcore.c  |   0
 .../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
 .../freebsd/{eal => }/include/rte_os.h        |   0
 lib/librte_eal/freebsd/{eal => }/meson.build  |   8 +-
 .../{common => }/include/generic/rte_atomic.h |   0
 .../include/generic/rte_byteorder.h           |   0
 .../include/generic/rte_cpuflags.h            |   0
 .../{common => }/include/generic/rte_cycles.h |   0
 .../{common => }/include/generic/rte_io.h     |   0
 .../include/generic/rte_mcslock.h             |   0
 .../{common => }/include/generic/rte_memcpy.h |   0
 .../{common => }/include/generic/rte_pause.h  |   0
 .../include/generic/rte_prefetch.h            |   0
 .../{common => }/include/generic/rte_rwlock.h |   0
 .../include/generic/rte_spinlock.h            |   0
 .../include/generic/rte_ticketlock.h          |   0
 .../{common => }/include/generic/rte_vect.h   |   0
 .../{common => }/include/rte_alarm.h          |   0
 .../{common => }/include/rte_bitmap.h         |   0
 .../include/rte_branch_prediction.h           |   0
 lib/librte_eal/{common => }/include/rte_bus.h |   0
 .../{common => }/include/rte_class.h          |   0
 .../{common => }/include/rte_common.h         |   0
 .../{common => }/include/rte_compat.h         |   0
 .../{common => }/include/rte_debug.h          |   0
 lib/librte_eal/{common => }/include/rte_dev.h |   0
 .../{common => }/include/rte_devargs.h        |   0
 lib/librte_eal/{common => }/include/rte_eal.h |   0
 .../{common => }/include/rte_eal_interrupts.h |   0
 .../{common => }/include/rte_eal_memconfig.h  |   0
 .../{common => }/include/rte_errno.h          |   0
 .../{common => }/include/rte_fbarray.h        |   0
 .../include/rte_function_versioning.h         |   0
 .../{common => }/include/rte_hexdump.h        |   0
 .../{common => }/include/rte_hypervisor.h     |   0
 .../{common => }/include/rte_interrupts.h     |   0
 .../{common => }/include/rte_keepalive.h      |   0
 .../{common => }/include/rte_launch.h         |   0
 .../{common => }/include/rte_lcore.h          |   0
 lib/librte_eal/{common => }/include/rte_log.h |   0
 .../{common => }/include/rte_malloc.h         |   0
 .../{common => }/include/rte_memory.h         |   0
 .../{common => }/include/rte_memzone.h        |   0
 .../{common => }/include/rte_option.h         |   0
 .../include/rte_pci_dev_feature_defs.h        |   0
 .../include/rte_pci_dev_features.h            |   0
 .../{common => }/include/rte_per_lcore.h      |   0
 .../{common => }/include/rte_random.h         |   0
 .../{common => }/include/rte_reciprocal.h     |   0
 .../{common => }/include/rte_service.h        |   0
 .../include/rte_service_component.h           |   0
 .../{common => }/include/rte_string_fns.h     |   0
 .../{common => }/include/rte_tailq.h          |   0
 .../{common => }/include/rte_test.h           |   0
 .../{common => }/include/rte_time.h           |   0
 .../{common => }/include/rte_uuid.h           |   0
 .../{common => }/include/rte_version.h        |   0
 .../{common => }/include/rte_vfio.h           |   0
 lib/librte_eal/linux/Makefile                 |  96 ++++++++++++++++-
 lib/librte_eal/linux/{eal => }/eal.c          |   0
 lib/librte_eal/linux/eal/Makefile             | 101 ------------------
 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
 .../linux/{eal => }/eal_hugepage_info.c       |   0
 .../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
 .../linux/{eal => }/eal_vfio_mp_sync.c        |   0
 .../linux/{eal => }/include/rte_kni_common.h  |   0
 .../linux/{eal => }/include/rte_os.h          |   0
 lib/librte_eal/linux/{eal => }/meson.build    |   9 +-
 lib/librte_eal/meson.build                    |  20 ++--
 .../arch/ppc_64 => ppc/include}/meson.build   |   0
 .../arch/ppc_64 => ppc/include}/rte_atomic.h  |   0
 .../ppc_64 => ppc/include}/rte_byteorder.h    |   0
 .../ppc_64 => ppc/include}/rte_cpuflags.h     |   0
 .../arch/ppc_64 => ppc/include}/rte_cycles.h  |   0
 .../arch/ppc_64 => ppc/include}/rte_io.h      |   0
 .../arch/ppc_64 => ppc/include}/rte_mcslock.h |   0
 .../arch/ppc_64 => ppc/include}/rte_memcpy.h  |   0
 .../arch/ppc_64 => ppc/include}/rte_pause.h   |   0
 .../ppc_64 => ppc/include}/rte_prefetch.h     |   0
 .../arch/ppc_64 => ppc/include}/rte_rwlock.h  |   0
 .../ppc_64 => ppc/include}/rte_spinlock.h     |   0
 .../ppc_64 => ppc/include}/rte_ticketlock.h   |   0
 .../arch/ppc_64 => ppc/include}/rte_vect.h    |   0
 lib/librte_eal/ppc/meson.build                |  13 +++
 .../arch/ppc_64 => ppc}/rte_cpuflags.c        |   0
 .../{common/arch/ppc_64 => ppc}/rte_cycles.c  |   0
 .../arch/ppc_64 => ppc}/rte_hypervisor.c      |   0
 lib/librte_eal/windows/{eal => }/eal.c        |   0
 lib/librte_eal/windows/eal/meson.build        |  27 -----
 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
 .../windows/{eal => }/include/dirent.h        |   0
 .../windows/{eal => }/include/fnmatch.h       |   0
 .../windows/{eal => }/include/getopt.h        |   0
 .../windows/{eal => }/include/pthread.h       |   0
 .../windows/{eal => }/include/regex.h         |   0
 .../windows/{eal => }/include/rte_os.h        |   0
 .../windows/{eal => }/include/sched.h         |   0
 .../windows/{eal => }/include/sys/queue.h     |   0
 .../windows/{eal => }/include/unistd.h        |   0
 lib/librte_eal/windows/meson.build            |  16 +++
 .../arch/x86 => x86/include}/meson.build      |   0
 .../arch/x86 => x86/include}/rte_atomic.h     |   0
 .../arch/x86 => x86/include}/rte_atomic_32.h  |   0
 .../arch/x86 => x86/include}/rte_atomic_64.h  |   0
 .../arch/x86 => x86/include}/rte_byteorder.h  |   0
 .../x86 => x86/include}/rte_byteorder_32.h    |   0
 .../x86 => x86/include}/rte_byteorder_64.h    |   0
 .../arch/x86 => x86/include}/rte_cpuflags.h   |   0
 .../arch/x86 => x86/include}/rte_cycles.h     |   0
 .../include/arch/x86 => x86/include}/rte_io.h |   0
 .../arch/x86 => x86/include}/rte_mcslock.h    |   0
 .../arch/x86 => x86/include}/rte_memcpy.h     |   0
 .../arch/x86 => x86/include}/rte_pause.h      |   0
 .../arch/x86 => x86/include}/rte_prefetch.h   |   0
 .../arch/x86 => x86/include}/rte_rtm.h        |   0
 .../arch/x86 => x86/include}/rte_rwlock.h     |   0
 .../arch/x86 => x86/include}/rte_spinlock.h   |   0
 .../arch/x86 => x86/include}/rte_ticketlock.h |   0
 .../arch/x86 => x86/include}/rte_vect.h       |   0
 lib/librte_eal/x86/meson.build                |  14 +++
 .../{common/arch => }/x86/rte_cpuflags.c      |   0
 .../{common/arch => }/x86/rte_cpuid.h         |   0
 .../{common/arch => }/x86/rte_cycles.c        |   0
 .../{common/arch => }/x86/rte_hypervisor.c    |   0
 .../{common/arch => }/x86/rte_spinlock.c      |   0
 lib/librte_kvargs/Makefile                    |   2 +-
 license/exceptions.txt                        |   6 +-
 meson.build                                   |   4 +-
 mk/exec-env/freebsd/rte.vars.mk               |   2 +-
 mk/exec-env/linux/rte.vars.mk                 |   2 +-
 214 files changed, 330 insertions(+), 456 deletions(-)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/meson.build (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_atomic.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_atomic_32.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_atomic_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_byteorder.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cpuflags.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cpuflags_32.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cpuflags_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cycles.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cycles_32.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cycles_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_io.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_io_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_mcslock.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_memcpy.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_memcpy_32.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_memcpy_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_pause.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_pause_32.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_pause_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_prefetch.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_prefetch_32.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_prefetch_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_rwlock.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_spinlock.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_ticketlock.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_vect.h (100%)
 create mode 100644 lib/librte_eal/arm/meson.build
 rename lib/librte_eal/{common/arch => }/arm/rte_cpuflags.c (100%)
 rename lib/librte_eal/{common/arch => }/arm/rte_cycles.c (100%)
 rename lib/librte_eal/{common/arch => }/arm/rte_hypervisor.c (100%)
 delete mode 100644 lib/librte_eal/common/Makefile
 delete mode 100644 lib/librte_eal/common/arch/arm/meson.build
 delete mode 100644 lib/librte_eal/common/arch/ppc_64/meson.build
 delete mode 100644 lib/librte_eal/common/arch/x86/meson.build
 delete mode 100644 lib/librte_eal/freebsd/BSDmakefile.meson
 rename lib/librte_eal/freebsd/{eal => }/eal.c (100%)
 delete mode 100644 lib/librte_eal/freebsd/eal/Makefile
 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%)
 rename lib/librte_eal/freebsd/{eal => }/include/rte_os.h (100%)
 rename lib/librte_eal/freebsd/{eal => }/meson.build (77%)
 rename lib/librte_eal/{common => }/include/generic/rte_atomic.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_byteorder.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_cpuflags.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_cycles.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_io.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_mcslock.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_memcpy.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_pause.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_prefetch.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_rwlock.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_spinlock.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_ticketlock.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_vect.h (100%)
 rename lib/librte_eal/{common => }/include/rte_alarm.h (100%)
 rename lib/librte_eal/{common => }/include/rte_bitmap.h (100%)
 rename lib/librte_eal/{common => }/include/rte_branch_prediction.h (100%)
 rename lib/librte_eal/{common => }/include/rte_bus.h (100%)
 rename lib/librte_eal/{common => }/include/rte_class.h (100%)
 rename lib/librte_eal/{common => }/include/rte_common.h (100%)
 rename lib/librte_eal/{common => }/include/rte_compat.h (100%)
 rename lib/librte_eal/{common => }/include/rte_debug.h (100%)
 rename lib/librte_eal/{common => }/include/rte_dev.h (100%)
 rename lib/librte_eal/{common => }/include/rte_devargs.h (100%)
 rename lib/librte_eal/{common => }/include/rte_eal.h (100%)
 rename lib/librte_eal/{common => }/include/rte_eal_interrupts.h (100%)
 rename lib/librte_eal/{common => }/include/rte_eal_memconfig.h (100%)
 rename lib/librte_eal/{common => }/include/rte_errno.h (100%)
 rename lib/librte_eal/{common => }/include/rte_fbarray.h (100%)
 rename lib/librte_eal/{common => }/include/rte_function_versioning.h (100%)
 rename lib/librte_eal/{common => }/include/rte_hexdump.h (100%)
 rename lib/librte_eal/{common => }/include/rte_hypervisor.h (100%)
 rename lib/librte_eal/{common => }/include/rte_interrupts.h (100%)
 rename lib/librte_eal/{common => }/include/rte_keepalive.h (100%)
 rename lib/librte_eal/{common => }/include/rte_launch.h (100%)
 rename lib/librte_eal/{common => }/include/rte_lcore.h (100%)
 rename lib/librte_eal/{common => }/include/rte_log.h (100%)
 rename lib/librte_eal/{common => }/include/rte_malloc.h (100%)
 rename lib/librte_eal/{common => }/include/rte_memory.h (100%)
 rename lib/librte_eal/{common => }/include/rte_memzone.h (100%)
 rename lib/librte_eal/{common => }/include/rte_option.h (100%)
 rename lib/librte_eal/{common => }/include/rte_pci_dev_feature_defs.h (100%)
 rename lib/librte_eal/{common => }/include/rte_pci_dev_features.h (100%)
 rename lib/librte_eal/{common => }/include/rte_per_lcore.h (100%)
 rename lib/librte_eal/{common => }/include/rte_random.h (100%)
 rename lib/librte_eal/{common => }/include/rte_reciprocal.h (100%)
 rename lib/librte_eal/{common => }/include/rte_service.h (100%)
 rename lib/librte_eal/{common => }/include/rte_service_component.h (100%)
 rename lib/librte_eal/{common => }/include/rte_string_fns.h (100%)
 rename lib/librte_eal/{common => }/include/rte_tailq.h (100%)
 rename lib/librte_eal/{common => }/include/rte_test.h (100%)
 rename lib/librte_eal/{common => }/include/rte_time.h (100%)
 rename lib/librte_eal/{common => }/include/rte_uuid.h (100%)
 rename lib/librte_eal/{common => }/include/rte_version.h (100%)
 rename lib/librte_eal/{common => }/include/rte_vfio.h (100%)
 rename lib/librte_eal/linux/{eal => }/eal.c (100%)
 delete mode 100644 lib/librte_eal/linux/eal/Makefile
 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%)
 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 (81%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/meson.build (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_atomic.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_byteorder.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_cpuflags.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_cycles.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_io.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_mcslock.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_memcpy.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_pause.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_prefetch.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_rwlock.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_spinlock.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_ticketlock.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_vect.h (100%)
 create mode 100644 lib/librte_eal/ppc/meson.build
 rename lib/librte_eal/{common/arch/ppc_64 => ppc}/rte_cpuflags.c (100%)
 rename lib/librte_eal/{common/arch/ppc_64 => ppc}/rte_cycles.c (100%)
 rename lib/librte_eal/{common/arch/ppc_64 => ppc}/rte_hypervisor.c (100%)
 rename lib/librte_eal/windows/{eal => }/eal.c (100%)
 delete mode 100644 lib/librte_eal/windows/eal/meson.build
 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%)
 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%)
 create mode 100644 lib/librte_eal/windows/meson.build
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/meson.build (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_atomic.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_atomic_32.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_atomic_64.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_byteorder.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_byteorder_32.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_byteorder_64.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_cpuflags.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_cycles.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_io.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_mcslock.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_memcpy.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_pause.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_prefetch.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_rtm.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_rwlock.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_spinlock.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_ticketlock.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_vect.h (100%)
 create mode 100644 lib/librte_eal/x86/meson.build
 rename lib/librte_eal/{common/arch => }/x86/rte_cpuflags.c (100%)
 rename lib/librte_eal/{common/arch => }/x86/rte_cpuid.h (100%)
 rename lib/librte_eal/{common/arch => }/x86/rte_cycles.c (100%)
 rename lib/librte_eal/{common/arch => }/x86/rte_hypervisor.c (100%)
 rename lib/librte_eal/{common/arch => }/x86/rte_spinlock.c (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index c3785554fc..6be6c77574 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -126,7 +126,6 @@ F: doc/guides/prog_guide/ext_app_lib_make_help.rst
 Meson build
 M: Bruce Richardson <bruce.richardson@intel.com>
 F: meson.build
-F: lib/librte_eal/freebsd/BSDmakefile.meson
 F: meson_options.txt
 F: config/rte_config.h
 F: buildtools/call-sphinx-build.py
@@ -143,8 +142,8 @@ F: .ci/
 
 ABI versioning
 M: Neil Horman <nhorman@tuxdriver.com>
-F: lib/librte_eal/common/include/rte_compat.h
-F: lib/librte_eal/common/include/rte_function_versioning.h
+F: lib/librte_eal/include/rte_compat.h
+F: lib/librte_eal/include/rte_function_versioning.h
 F: doc/guides/rel_notes/deprecation.rst
 F: devtools/check-abi.sh
 F: devtools/check-abi-version.sh
@@ -169,9 +168,8 @@ Environment Abstraction Layer
 T: git://dpdk.org/dpdk
 
 EAL API and common code
-F: lib/librte_eal/common/*
-F: lib/librte_eal/common/include/*
-F: lib/librte_eal/common/include/generic/
+F: lib/librte_eal/common/
+F: lib/librte_eal/include/
 F: lib/librte_eal/rte_eal_version.map
 F: doc/guides/prog_guide/env_abstraction_layer.rst
 F: app/test/test_alarm.c
@@ -198,15 +196,15 @@ F: app/test/test_version.c
 
 Memory Allocation
 M: Anatoly Burakov <anatoly.burakov@intel.com>
-F: lib/librte_eal/common/include/rte_fbarray.h
-F: lib/librte_eal/common/include/rte_mem*
-F: lib/librte_eal/common/include/rte_malloc.h
+F: lib/librte_eal/include/rte_fbarray.h
+F: lib/librte_eal/include/rte_mem*
+F: lib/librte_eal/include/rte_malloc.h
 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
@@ -216,7 +214,7 @@ F: app/test/test_memory.c
 F: app/test/test_memzone.c
 
 Keep alive
-F: lib/librte_eal/common/include/rte_keepalive.h
+F: lib/librte_eal/include/rte_keepalive.h
 F: lib/librte_eal/common/rte_keepalive.c
 F: examples/l2fwd-keepalive/
 F: doc/guides/sample_app_ug/keep_alive.rst
@@ -232,43 +230,42 @@ F: doc/guides/sample_app_ug/multi_process.rst
 
 Service Cores
 M: Harry van Haaren <harry.van.haaren@intel.com>
-F: lib/librte_eal/common/include/rte_service.h
-F: lib/librte_eal/common/include/rte_service_component.h
+F: lib/librte_eal/include/rte_service.h
+F: lib/librte_eal/include/rte_service_component.h
 F: lib/librte_eal/common/rte_service.c
 F: doc/guides/prog_guide/service_cores.rst
 F: app/test/test_service_cores.c
 
 Bitmap
 M: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
-F: lib/librte_eal/common/include/rte_bitmap.h
+F: lib/librte_eal/include/rte_bitmap.h
 F: app/test/test_bitmap.c
 
 MCSlock - EXPERIMENTAL
 M: Phil Yang <phil.yang@arm.com>
-F: lib/librte_eal/common/include/generic/rte_mcslock.h
+F: lib/librte_eal/include/generic/rte_mcslock.h
 F: app/test/test_mcslock.c
 
 Ticketlock
 M: Joyce Kong <joyce.kong@arm.com>
-F: lib/librte_eal/common/include/generic/rte_ticketlock.h
+F: lib/librte_eal/include/generic/rte_ticketlock.h
 F: app/test/test_ticketlock.c
 
 Pseudo-random Number Generation
 M: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
-F: lib/librte_eal/common/include/rte_random.h
+F: lib/librte_eal/include/rte_random.h
 F: lib/librte_eal/common/rte_random.c
 F: app/test/test_rand_perf.c
 
 ARM v7
 M: Jan Viktorin <viktorin@rehivetech.com>
 M: Gavin Hu <gavin.hu@arm.com>
-F: lib/librte_eal/common/arch/arm/
-F: lib/librte_eal/common/include/arch/arm/
+F: lib/librte_eal/arm/
 
 ARM v8
 M: Jerin Jacob <jerinj@marvell.com>
 M: Gavin Hu <gavin.hu@arm.com>
-F: lib/librte_eal/common/include/arch/arm/*_64.h
+F: lib/librte_eal/arm/include/*_64.h
 F: lib/librte_net/net_crc_neon.h
 F: lib/librte_acl/acl_run_neon.*
 F: lib/librte_bpf/bpf_jit_arm64.c
@@ -282,20 +279,17 @@ F: drivers/net/virtio/virtio_rxtx_simple_neon.c
 
 IBM POWER (alpha)
 M: David Christensen <drc@linux.vnet.ibm.com>
-F: lib/librte_eal/common/arch/ppc_64/
-F: lib/librte_eal/common/include/arch/ppc_64/
+F: lib/librte_eal/ppc/
 F: drivers/net/i40e/i40e_rxtx_vec_altivec.c
 F: examples/l3fwd/*altivec.h
 
 Intel x86
 M: Bruce Richardson <bruce.richardson@intel.com>
 M: Konstantin Ananyev <konstantin.ananyev@intel.com>
-F: lib/librte_eal/common/arch/x86/
-F: lib/librte_eal/common/include/arch/x86/
+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
@@ -305,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/buildtools/pmdinfogen/meson.build b/buildtools/pmdinfogen/meson.build
index 899ba112cd..7da415b3b7 100644
--- a/buildtools/pmdinfogen/meson.build
+++ b/buildtools/pmdinfogen/meson.build
@@ -6,7 +6,7 @@ if host_machine.system() == 'windows'
 endif
 
 pmdinfogen_inc = [global_inc]
-pmdinfogen_inc += include_directories('../../lib/librte_eal/common/include')
+pmdinfogen_inc += include_directories('../../lib/librte_eal/include')
 pmdinfogen_inc += include_directories('../../lib/librte_pci')
 pmdinfogen = executable('pmdinfogen',
 	'pmdinfogen.c',
diff --git a/config/arm/meson.build b/config/arm/meson.build
index 7e22358358..6e75e6d97e 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -11,7 +11,7 @@ arm_force_default_march = (machine == 'default')
 flags_common_default = [
 	# Accelarate rte_memcpy. Be sure to run unit test (memcpy_perf_autotest)
 	# to determine the best threshold in code. Refer to notes in source file
-	# (lib/librte_eal/common/include/arch/arm/rte_memcpy_64.h) for more info.
+	# (lib/librte_eal/arm/include/rte_memcpy_64.h) for more info.
 	['RTE_ARCH_ARM64_MEMCPY', false],
 	#	['RTE_ARM64_MEMCPY_ALIGNED_THRESHOLD', 2048],
 	#	['RTE_ARM64_MEMCPY_UNALIGNED_THRESHOLD', 512],
diff --git a/config/common_armv8a_linux b/config/common_armv8a_linux
index 020f8f006c..e942657a0f 100644
--- a/config/common_armv8a_linux
+++ b/config/common_armv8a_linux
@@ -21,7 +21,7 @@ CONFIG_RTE_USE_C11_MEM_MODEL=y
 
 # Accelarate rte_memcpy. Be sure to run unit test (memcpy_perf_autotest)
 # to determine the best threshold in code. Refer to notes in source file
-# (lib/librte_eal/common/include/arch/arm/rte_memcpy_64.h) for more info.
+# (lib/librte_eal/arm/include/rte_memcpy_64.h) for more info.
 CONFIG_RTE_ARCH_ARM64_MEMCPY=n
 #CONFIG_RTE_ARM64_MEMCPY_ALIGNED_THRESHOLD=2048
 #CONFIG_RTE_ARM64_MEMCPY_UNALIGNED_THRESHOLD=512
diff --git a/config/meson.build b/config/meson.build
index abedd76f23..58421342b1 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -234,7 +234,7 @@ if host_machine.cpu_family().startswith('x86')
 elif host_machine.cpu_family().startswith('arm') or host_machine.cpu_family().startswith('aarch')
 	arch_subdir = 'arm'
 elif host_machine.cpu_family().startswith('ppc')
-	arch_subdir = 'ppc_64'
+	arch_subdir = 'ppc'
 endif
 subdir(arch_subdir)
 dpdk_conf.set('RTE_COMPILE_TIME_CPUFLAGS', ','.join(compile_time_cpuflags))
diff --git a/devtools/build-tags.sh b/devtools/build-tags.sh
index dc037f92b3..276fff647b 100755
--- a/devtools/build-tags.sh
+++ b/devtools/build-tags.sh
@@ -79,29 +79,26 @@ bsd_sources()
 
 arm_common()
 {
-	find_sources "lib/librte_eal/common/arch/arm" '*.[chS]'
 	find_sources "$source_dirs" '*neon*.[chS]'
 }
 
 arm_32_sources()
 {
 	arm_common
-	find_sources "lib/librte_eal/common/include/arch/arm" '*.[chS]' \
+	find_sources "lib/librte_eal/arm" '*.[chS]' \
 					"$skip_64b_files"
 }
 
 arm_64_sources()
 {
 	arm_common
-	find_sources "lib/librte_eal/common/include/arch/arm" '*.[chS]' \
+	find_sources "lib/librte_eal/arm" '*.[chS]' \
 					 "$skip_32b_files"
 	find_sources "$source_dirs" '*arm64.[chS]'
 }
 
 x86_common()
 {
-	find_sources "lib/librte_eal/common/arch/x86" '*.[chS]'
-
 	find_sources "examples/performance-thread/common/arch/x86" '*.[chS]'
 	find_sources "$source_dirs" '*_sse*.[chS]'
 	find_sources "$source_dirs" '*_avx*.[chS]'
@@ -111,21 +108,20 @@ x86_common()
 x86_32_sources()
 {
 	x86_common
-	find_sources "lib/librte_eal/common/include/arch/x86" '*.[chS]' \
+	find_sources "lib/librte_eal/x86" '*.[chS]' \
 					"$skip_64b_files"
 }
 
 x86_64_sources()
 {
 	x86_common
-	find_sources "lib/librte_eal/common/include/arch/x86" '*.[chS]' \
+	find_sources "lib/librte_eal/x86" '*.[chS]' \
 					"$skip_32b_files"
 }
 
 ppc_64_sources()
 {
-	find_sources "lib/librte_eal/common/arch/ppc_64" '*.[chS]'
-	find_sources "lib/librte_eal/common/include/arch/ppc_64" '*.[chS]'
+	find_sources "lib/librte_eal/ppc" '*.[chS]'
 	find_sources "$source_dirs" '*altivec*.[chS]'
 }
 
diff --git a/doc/api/doxy-api.conf.in b/doc/api/doxy-api.conf.in
index 1c4392eecc..65e8146bef 100644
--- a/doc/api/doxy-api.conf.in
+++ b/doc/api/doxy-api.conf.in
@@ -17,8 +17,8 @@ INPUT                   = @TOPDIR@/doc/api/doxy-api-index.md \
                           @TOPDIR@/drivers/net/softnic \
                           @TOPDIR@/drivers/raw/dpaa2_cmdif \
                           @TOPDIR@/drivers/raw/dpaa2_qdma \
-                          @TOPDIR@/lib/librte_eal/common/include \
-                          @TOPDIR@/lib/librte_eal/common/include/generic \
+                          @TOPDIR@/lib/librte_eal/include \
+                          @TOPDIR@/lib/librte_eal/include/generic \
                           @TOPDIR@/lib/librte_acl \
                           @TOPDIR@/lib/librte_bbdev \
                           @TOPDIR@/lib/librte_bitratestats \
diff --git a/doc/guides/rel_notes/known_issues.rst b/doc/guides/rel_notes/known_issues.rst
index 68c3d22bea..de0782136d 100644
--- a/doc/guides/rel_notes/known_issues.rst
+++ b/doc/guides/rel_notes/known_issues.rst
@@ -127,7 +127,7 @@ HPET timers do not work on the Osage customer reference platform
    work correctly, provided the BIOS supports HPET.
 
 **Driver/Module**:
-   ``lib/librte_eal/common/include/rte_cycles.h``
+   ``lib/librte_eal/include/rte_cycles.h``
 
 
 Not all variants of supported NIC types have been used in testing
diff --git a/drivers/bus/dpaa/Makefile b/drivers/bus/dpaa/Makefile
index cd1093f744..9e1a31bb75 100644
--- a/drivers/bus/dpaa/Makefile
+++ b/drivers/bus/dpaa/Makefile
@@ -18,7 +18,7 @@ CFLAGS += -I$(RTE_BUS_DPAA)/
 CFLAGS += -I$(RTE_BUS_DPAA)/include
 CFLAGS += -I$(RTE_BUS_DPAA)/base/qbman
 CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
 
 # versioning export map
 EXPORT_MAP := rte_bus_dpaa_version.map
diff --git a/drivers/common/mlx5/meson.build b/drivers/common/mlx5/meson.build
index 141739fd6f..f671710714 100644
--- a/drivers/common/mlx5/meson.build
+++ b/drivers/common/mlx5/meson.build
@@ -203,7 +203,7 @@ if dlopen_ibverbs
 	dlopen_install_dir = [ eal_pmd_path + '-glue' ]
 	dlopen_includes = [global_inc]
 	dlopen_includes += include_directories(
-		'../../../lib/librte_eal/common/include/generic',
+		'../../../lib/librte_eal/include/generic',
 	)
 	shared_lib = shared_library(
 		dlopen_lib_name,
diff --git a/drivers/crypto/caam_jr/Makefile b/drivers/crypto/caam_jr/Makefile
index 1b1f25a2a2..db17294395 100644
--- a/drivers/crypto/caam_jr/Makefile
+++ b/drivers/crypto/caam_jr/Makefile
@@ -20,7 +20,7 @@ CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include
 CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
 CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib/
 CFLAGS += -I$(RTE_SDK)/drivers/crypto/caam_jr
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
 
 # versioning export map
 EXPORT_MAP := rte_pmd_caam_jr_version.map
diff --git a/drivers/crypto/dpaa_sec/Makefile b/drivers/crypto/dpaa_sec/Makefile
index fbfd775855..13a5ff20cf 100644
--- a/drivers/crypto/dpaa_sec/Makefile
+++ b/drivers/crypto/dpaa_sec/Makefile
@@ -20,7 +20,7 @@ CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/base/qbman
 CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
 CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa_sec/
 CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib/
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_cryptodev
 
diff --git a/drivers/event/dpaa/Makefile b/drivers/event/dpaa/Makefile
index 2f53efdf9e..15ffc157f8 100644
--- a/drivers/event/dpaa/Makefile
+++ b/drivers/event/dpaa/Makefile
@@ -20,7 +20,7 @@ CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa
 CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include/
 CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa
 CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
 
 LDLIBS += -lrte_pmd_dpaa_sec
 CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa_sec
diff --git a/drivers/net/dpaa/Makefile b/drivers/net/dpaa/Makefile
index 8e049b2a0b..f63c9bf540 100644
--- a/drivers/net/dpaa/Makefile
+++ b/drivers/net/dpaa/Makefile
@@ -21,7 +21,7 @@ CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/base/qbman
 CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa
 CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
 CFLAGS += -I$(RTE_SDK)/drivers/event/dpaa
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
 
 EXPORT_MAP := rte_pmd_dpaa_version.map
 
diff --git a/drivers/net/virtio/meson.build b/drivers/net/virtio/meson.build
index 04c7fdf25d..5e7ca855c8 100644
--- a/drivers/net/virtio/meson.build
+++ b/drivers/net/virtio/meson.build
@@ -11,7 +11,7 @@ deps += ['kvargs', 'bus_pci']
 
 if arch_subdir == 'x86'
 	sources += files('virtio_rxtx_simple_sse.c')
-elif arch_subdir == 'ppc_64'
+elif arch_subdir == 'ppc'
 	sources += files('virtio_rxtx_simple_altivec.c')
 elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64')
 	sources += files('virtio_rxtx_simple_neon.c')
diff --git a/kernel/linux/igb_uio/meson.build b/kernel/linux/igb_uio/meson.build
index fac404f078..80540aecee 100644
--- a/kernel/linux/igb_uio/meson.build
+++ b/kernel/linux/igb_uio/meson.build
@@ -12,7 +12,7 @@ custom_target('igb_uio',
 		'M=' + meson.current_build_dir(),
 		'src=' + meson.current_source_dir(),
 		'EXTRA_CFLAGS=-I' + meson.current_source_dir() +
-			'/../../../lib/librte_eal/common/include',
+			'/../../../lib/librte_eal/include',
 		'modules'],
 	depends: mkfile,
 	install: true,
diff --git a/kernel/linux/kni/meson.build b/kernel/linux/kni/meson.build
index f93e97fa09..d696347f22 100644
--- a/kernel/linux/kni/meson.build
+++ b/kernel/linux/kni/meson.build
@@ -17,8 +17,8 @@ custom_target('rte_kni',
 		'M=' + meson.current_build_dir(),
 		'src=' + meson.current_source_dir(),
 		'MODULE_CFLAGS=-include ' + meson.source_root() + '/config/rte_config.h' +
-		' -I' + meson.source_root() + '/lib/librte_eal/common/include' +
-		' -I' + meson.source_root() + '/lib/librte_eal/linux/eal/include' +
+		' -I' + meson.source_root() + '/lib/librte_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_cfgfile/Makefile b/lib/librte_cfgfile/Makefile
index d3b08420ff..7c10a4e56c 100644
--- a/lib/librte_cfgfile/Makefile
+++ b/lib/librte_cfgfile/Makefile
@@ -10,7 +10,7 @@ LIB = librte_cfgfile.a
 
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(SRCDIR)/../librte_eal/common/include
+CFLAGS += -I$(SRCDIR)/../librte_eal/include
 LDLIBS += -lrte_eal
 
 EXPORT_MAP := rte_cfgfile_version.map
diff --git a/lib/librte_eal/Makefile b/lib/librte_eal/Makefile
index 86434f5b31..2fda40d230 100644
--- a/lib/librte_eal/Makefile
+++ b/lib/librte_eal/Makefile
@@ -3,10 +3,10 @@
 
 include $(RTE_SDK)/mk/rte.vars.mk
 
-DIRS-y += common
+DIRS-y += include
 DIRS-$(CONFIG_RTE_EXEC_ENV_LINUX) += linux
-DEPDIRS-linux := common
+DEPDIRS-linux := include
 DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += freebsd
-DEPDIRS-freebsd := common
+DEPDIRS-freebsd := include
 
 include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/lib/librte_eal/common/include/arch/arm/meson.build b/lib/librte_eal/arm/include/meson.build
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/meson.build
rename to lib/librte_eal/arm/include/meson.build
diff --git a/lib/librte_eal/common/include/arch/arm/rte_atomic.h b/lib/librte_eal/arm/include/rte_atomic.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_atomic.h
rename to lib/librte_eal/arm/include/rte_atomic.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_atomic_32.h b/lib/librte_eal/arm/include/rte_atomic_32.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_atomic_32.h
rename to lib/librte_eal/arm/include/rte_atomic_32.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h b/lib/librte_eal/arm/include/rte_atomic_64.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
rename to lib/librte_eal/arm/include/rte_atomic_64.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_byteorder.h b/lib/librte_eal/arm/include/rte_byteorder.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_byteorder.h
rename to lib/librte_eal/arm/include/rte_byteorder.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_cpuflags.h b/lib/librte_eal/arm/include/rte_cpuflags.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_cpuflags.h
rename to lib/librte_eal/arm/include/rte_cpuflags.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_cpuflags_32.h b/lib/librte_eal/arm/include/rte_cpuflags_32.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_cpuflags_32.h
rename to lib/librte_eal/arm/include/rte_cpuflags_32.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_cpuflags_64.h b/lib/librte_eal/arm/include/rte_cpuflags_64.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_cpuflags_64.h
rename to lib/librte_eal/arm/include/rte_cpuflags_64.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_cycles.h b/lib/librte_eal/arm/include/rte_cycles.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_cycles.h
rename to lib/librte_eal/arm/include/rte_cycles.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_cycles_32.h b/lib/librte_eal/arm/include/rte_cycles_32.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_cycles_32.h
rename to lib/librte_eal/arm/include/rte_cycles_32.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_cycles_64.h b/lib/librte_eal/arm/include/rte_cycles_64.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_cycles_64.h
rename to lib/librte_eal/arm/include/rte_cycles_64.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_io.h b/lib/librte_eal/arm/include/rte_io.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_io.h
rename to lib/librte_eal/arm/include/rte_io.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_io_64.h b/lib/librte_eal/arm/include/rte_io_64.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_io_64.h
rename to lib/librte_eal/arm/include/rte_io_64.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_mcslock.h b/lib/librte_eal/arm/include/rte_mcslock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_mcslock.h
rename to lib/librte_eal/arm/include/rte_mcslock.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_memcpy.h b/lib/librte_eal/arm/include/rte_memcpy.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_memcpy.h
rename to lib/librte_eal/arm/include/rte_memcpy.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_memcpy_32.h b/lib/librte_eal/arm/include/rte_memcpy_32.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_memcpy_32.h
rename to lib/librte_eal/arm/include/rte_memcpy_32.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_memcpy_64.h b/lib/librte_eal/arm/include/rte_memcpy_64.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_memcpy_64.h
rename to lib/librte_eal/arm/include/rte_memcpy_64.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_pause.h b/lib/librte_eal/arm/include/rte_pause.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_pause.h
rename to lib/librte_eal/arm/include/rte_pause.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_pause_32.h b/lib/librte_eal/arm/include/rte_pause_32.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_pause_32.h
rename to lib/librte_eal/arm/include/rte_pause_32.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_pause_64.h b/lib/librte_eal/arm/include/rte_pause_64.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_pause_64.h
rename to lib/librte_eal/arm/include/rte_pause_64.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_prefetch.h b/lib/librte_eal/arm/include/rte_prefetch.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_prefetch.h
rename to lib/librte_eal/arm/include/rte_prefetch.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_prefetch_32.h b/lib/librte_eal/arm/include/rte_prefetch_32.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_prefetch_32.h
rename to lib/librte_eal/arm/include/rte_prefetch_32.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_prefetch_64.h b/lib/librte_eal/arm/include/rte_prefetch_64.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_prefetch_64.h
rename to lib/librte_eal/arm/include/rte_prefetch_64.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_rwlock.h b/lib/librte_eal/arm/include/rte_rwlock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_rwlock.h
rename to lib/librte_eal/arm/include/rte_rwlock.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_spinlock.h b/lib/librte_eal/arm/include/rte_spinlock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_spinlock.h
rename to lib/librte_eal/arm/include/rte_spinlock.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_ticketlock.h b/lib/librte_eal/arm/include/rte_ticketlock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_ticketlock.h
rename to lib/librte_eal/arm/include/rte_ticketlock.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_vect.h b/lib/librte_eal/arm/include/rte_vect.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_vect.h
rename to lib/librte_eal/arm/include/rte_vect.h
diff --git a/lib/librte_eal/arm/meson.build b/lib/librte_eal/arm/meson.build
new file mode 100644
index 0000000000..883cdd8060
--- /dev/null
+++ b/lib/librte_eal/arm/meson.build
@@ -0,0 +1,13 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Intel Corporation.
+
+includes += include_directories('include')
+
+headers += files(
+)
+
+sources += files(
+	'rte_cpuflags.c',
+	'rte_cycles.c',
+	'rte_hypervisor.c',
+)
diff --git a/lib/librte_eal/common/arch/arm/rte_cpuflags.c b/lib/librte_eal/arm/rte_cpuflags.c
similarity index 100%
rename from lib/librte_eal/common/arch/arm/rte_cpuflags.c
rename to lib/librte_eal/arm/rte_cpuflags.c
diff --git a/lib/librte_eal/common/arch/arm/rte_cycles.c b/lib/librte_eal/arm/rte_cycles.c
similarity index 100%
rename from lib/librte_eal/common/arch/arm/rte_cycles.c
rename to lib/librte_eal/arm/rte_cycles.c
diff --git a/lib/librte_eal/common/arch/arm/rte_hypervisor.c b/lib/librte_eal/arm/rte_hypervisor.c
similarity index 100%
rename from lib/librte_eal/common/arch/arm/rte_hypervisor.c
rename to lib/librte_eal/arm/rte_hypervisor.c
diff --git a/lib/librte_eal/common/Makefile b/lib/librte_eal/common/Makefile
deleted file mode 100644
index c2c6d92cd3..0000000000
--- a/lib/librte_eal/common/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-INC := rte_branch_prediction.h rte_common.h rte_compat.h
-INC += rte_function_versioning.h
-INC += rte_debug.h rte_eal.h rte_eal_interrupts.h
-INC += rte_errno.h rte_launch.h rte_lcore.h
-INC += rte_log.h rte_memory.h rte_memzone.h
-INC += rte_per_lcore.h rte_random.h
-INC += rte_tailq.h rte_interrupts.h rte_alarm.h
-INC += rte_string_fns.h rte_version.h
-INC += rte_eal_memconfig.h
-INC += rte_hexdump.h rte_devargs.h rte_bus.h rte_dev.h rte_class.h
-INC += rte_option.h
-INC += rte_pci_dev_feature_defs.h rte_pci_dev_features.h
-INC += rte_malloc.h rte_keepalive.h rte_time.h
-INC += rte_service.h rte_service_component.h
-INC += rte_bitmap.h rte_vfio.h rte_hypervisor.h rte_test.h
-INC += rte_reciprocal.h rte_fbarray.h rte_uuid.h
-
-GENERIC_INC := rte_atomic.h rte_byteorder.h rte_cycles.h rte_prefetch.h
-GENERIC_INC += rte_memcpy.h rte_cpuflags.h
-GENERIC_INC += rte_mcslock.h rte_spinlock.h rte_rwlock.h rte_ticketlock.h
-GENERIC_INC += rte_vect.h rte_pause.h rte_io.h
-
-# defined in mk/arch/$(RTE_ARCH)/rte.vars.mk
-ARCH_DIR ?= $(RTE_ARCH)
-ARCH_INC := $(sort $(notdir $(wildcard $(RTE_SDK)/lib/librte_eal/common/include/arch/$(ARCH_DIR)/*.h)))
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include := $(addprefix include/,$(INC))
-SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include += \
-	$(addprefix include/arch/$(ARCH_DIR)/,$(ARCH_INC))
-SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include/generic := \
-	$(addprefix include/generic/,$(GENERIC_INC))
-
-include $(RTE_SDK)/mk/rte.install.mk
diff --git a/lib/librte_eal/common/arch/arm/meson.build b/lib/librte_eal/common/arch/arm/meson.build
deleted file mode 100644
index 79731e1a2c..0000000000
--- a/lib/librte_eal/common/arch/arm/meson.build
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation.
-
-eal_common_arch_sources = files('rte_cpuflags.c',
-	'rte_cycles.c', 'rte_hypervisor.c')
diff --git a/lib/librte_eal/common/arch/ppc_64/meson.build b/lib/librte_eal/common/arch/ppc_64/meson.build
deleted file mode 100644
index 40b3dc533a..0000000000
--- a/lib/librte_eal/common/arch/ppc_64/meson.build
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
-
-eal_common_arch_sources = files('rte_cpuflags.c',
-	'rte_cycles.c', 'rte_hypervisor.c')
diff --git a/lib/librte_eal/common/arch/x86/meson.build b/lib/librte_eal/common/arch/x86/meson.build
deleted file mode 100644
index 14bf204c6f..0000000000
--- a/lib/librte_eal/common/arch/x86/meson.build
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-eal_common_arch_sources = files('rte_spinlock.c', 'rte_cpuflags.c',
-	'rte_cycles.c', 'rte_hypervisor.c')
diff --git a/lib/librte_eal/common/meson.build b/lib/librte_eal/common/meson.build
index 2b97715a20..02d9280cc3 100644
--- a/lib/librte_eal/common/meson.build
+++ b/lib/librte_eal/common/meson.build
@@ -1,11 +1,25 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-eal_inc += include_directories('.', 'include',
-		join_paths('include/arch', arch_subdir))
+includes += include_directories('.')
 
-common_objs = []
-common_sources = files(
+if is_windows
+	sources += files(
+		'eal_common_bus.c',
+		'eal_common_class.c',
+		'eal_common_devargs.c',
+		'eal_common_errno.c',
+		'eal_common_launch.c',
+		'eal_common_lcore.c',
+		'eal_common_log.c',
+		'eal_common_options.c',
+		'eal_common_thread.c',
+		'rte_option.c',
+	)
+	subdir_done()
+endif
+
+sources += files(
 	'eal_common_bus.c',
 	'eal_common_cpuflags.c',
 	'eal_common_class.c',
@@ -38,73 +52,5 @@ common_sources = files(
 	'rte_option.c',
 	'rte_random.c',
 	'rte_reciprocal.c',
-	'rte_service.c'
+	'rte_service.c',
 )
-
-# get architecture specific sources and objs
-eal_common_arch_sources = []
-eal_common_arch_objs = []
-subdir(join_paths('arch', arch_subdir))
-common_sources += eal_common_arch_sources
-common_objs += eal_common_arch_objs
-
-common_headers = files(
-	'include/rte_alarm.h',
-	'include/rte_branch_prediction.h',
-	'include/rte_bus.h',
-	'include/rte_bitmap.h',
-	'include/rte_class.h',
-	'include/rte_common.h',
-	'include/rte_compat.h',
-	'include/rte_debug.h',
-	'include/rte_devargs.h',
-	'include/rte_dev.h',
-	'include/rte_eal.h',
-	'include/rte_eal_memconfig.h',
-	'include/rte_eal_interrupts.h',
-	'include/rte_errno.h',
-	'include/rte_fbarray.h',
-	'include/rte_hexdump.h',
-	'include/rte_hypervisor.h',
-	'include/rte_interrupts.h',
-	'include/rte_keepalive.h',
-	'include/rte_launch.h',
-	'include/rte_lcore.h',
-	'include/rte_log.h',
-	'include/rte_malloc.h',
-	'include/rte_memory.h',
-	'include/rte_memzone.h',
-	'include/rte_option.h',
-	'include/rte_pci_dev_feature_defs.h',
-	'include/rte_pci_dev_features.h',
-	'include/rte_per_lcore.h',
-	'include/rte_random.h',
-	'include/rte_reciprocal.h',
-	'include/rte_service.h',
-	'include/rte_service_component.h',
-	'include/rte_string_fns.h',
-	'include/rte_tailq.h',
-	'include/rte_time.h',
-	'include/rte_uuid.h',
-	'include/rte_version.h',
-	'include/rte_vfio.h')
-
-# special case install the generic headers, since they go in a subdir
-generic_headers = files(
-	'include/generic/rte_atomic.h',
-	'include/generic/rte_byteorder.h',
-	'include/generic/rte_cpuflags.h',
-	'include/generic/rte_cycles.h',
-	'include/generic/rte_io.h',
-	'include/generic/rte_mcslock.h',
-	'include/generic/rte_memcpy.h',
-	'include/generic/rte_pause.h',
-	'include/generic/rte_prefetch.h',
-	'include/generic/rte_rwlock.h',
-	'include/generic/rte_spinlock.h',
-	'include/generic/rte_ticketlock.h',
-	'include/generic/rte_vect.h')
-install_headers(generic_headers, subdir: 'generic')
-
-# get and install the architecture specific headers
-subdir(join_paths('include/arch', arch_subdir))
diff --git a/lib/librte_eal/common/rte_service.c b/lib/librte_eal/common/rte_service.c
index b0b78baabd..70d17a5d79 100644
--- a/lib/librte_eal/common/rte_service.c
+++ b/lib/librte_eal/common/rte_service.c
@@ -10,7 +10,7 @@
 
 #include <rte_compat.h>
 #include <rte_service.h>
-#include "include/rte_service_component.h"
+#include <rte_service_component.h>
 
 #include <rte_eal.h>
 #include <rte_lcore.h>
diff --git a/lib/librte_eal/freebsd/BSDmakefile.meson b/lib/librte_eal/freebsd/BSDmakefile.meson
deleted file mode 100644
index 53c4e79c61..0000000000
--- a/lib/librte_eal/freebsd/BSDmakefile.meson
+++ /dev/null
@@ -1,14 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright(c) 2017 Intel Corporation.
-
-# makefile for building kernel modules using meson
-# takes parameters from the environment
-
-# source file is passed via KMOD_SRC as full path, we only use final
-# component of it, as VPATH is used to find actual file, so as to
-# have the .o files placed in the build, not source directory
-VPATH = ${KMOD_SRC:H}
-SRCS = ${KMOD_SRC:T} device_if.h bus_if.h pci_if.h
-CFLAGS += $(KMOD_CFLAGS)
-
-.include <bsd.kmod.mk>
diff --git a/lib/librte_eal/freebsd/Makefile b/lib/librte_eal/freebsd/Makefile
index fc42058b6b..265edb06f6 100644
--- a/lib/librte_eal/freebsd/Makefile
+++ b/lib/librte_eal/freebsd/Makefile
@@ -1,8 +1,92 @@
 # SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
+# Copyright(c) 2010-2019 Intel Corporation
 
 include $(RTE_SDK)/mk/rte.vars.mk
 
-DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal
+LIB = librte_eal.a
 
-include $(RTE_SDK)/mk/rte.subdir.mk
+ARCH_DIR ?= $(RTE_ARCH)
+VPATH += $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)
+VPATH += $(RTE_SDK)/lib/librte_eal/common
+
+CFLAGS += -DALLOW_EXPERIMENTAL_API
+CFLAGS += -I$(SRCDIR)/include
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
+CFLAGS += $(WERROR_FLAGS) -O3
+
+LDLIBS += -lexecinfo
+LDLIBS += -lpthread
+LDLIBS += -lgcc_s
+LDLIBS += -lrte_kvargs
+
+EXPORT_MAP := ../rte_eal_version.map
+
+# specific to freebsd exec-env
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) := eal.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_cpuflags.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_memory.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_hugepage_info.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_thread.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_debug.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_memalloc.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_lcore.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_timer.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_interrupts.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_alarm.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_dev.c
+
+# from common dir
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_lcore.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_timer.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_memzone.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_log.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_launch.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_mcfg.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_memalloc.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_memory.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_tailqs.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_errno.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_cpuflags.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_hypervisor.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_string_fns.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_hexdump.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_devargs.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_class.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_bus.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_dev.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_options.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_thread.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_proc.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_fbarray.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_uuid.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_malloc.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += hotplug_mp.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += malloc_elem.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += malloc_heap.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += malloc_mp.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_keepalive.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_option.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_service.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_random.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_reciprocal.c
+
+# from arch dir
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_cpuflags.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_hypervisor.c
+SRCS-$(CONFIG_RTE_ARCH_X86) += rte_spinlock.c
+SRCS-y += rte_cycles.c
+
+CFLAGS_eal_common_cpuflags.o := $(CPUFLAGS_LIST)
+
+# workaround for a gcc bug with noreturn attribute
+# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603
+ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
+CFLAGS_eal_thread.o += -Wno-return-type
+CFLAGS_eal_hpet.o += -Wno-return-type
+endif
+
+INC := rte_os.h
+
+SYMLINK-$(CONFIG_RTE_EXEC_ENV_FREEBSD)-include := $(addprefix include/,$(INC))
+
+include $(RTE_SDK)/mk/rte.lib.mk
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/Makefile b/lib/librte_eal/freebsd/eal/Makefile
deleted file mode 100644
index b160b57906..0000000000
--- a/lib/librte_eal/freebsd/eal/Makefile
+++ /dev/null
@@ -1,93 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_eal.a
-
-ARCH_DIR ?= $(RTE_ARCH)
-VPATH += $(RTE_SDK)/lib/librte_eal/common
-VPATH += $(RTE_SDK)/lib/librte_eal/common/arch/$(ARCH_DIR)
-
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-CFLAGS += -I$(SRCDIR)/include
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
-CFLAGS += $(WERROR_FLAGS) -O3
-
-LDLIBS += -lexecinfo
-LDLIBS += -lpthread
-LDLIBS += -lgcc_s
-LDLIBS += -lrte_kvargs
-
-EXPORT_MAP := ../../rte_eal_version.map
-
-# specific to freebsd exec-env
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) := eal.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_hugepage_info.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_thread.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_debug.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_memalloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_lcore.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_timer.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_interrupts.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_alarm.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_dev.c
-
-# from common dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_lcore.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_timer.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_memzone.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_log.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_launch.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_mcfg.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_memalloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_tailqs.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_errno.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_hypervisor.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_string_fns.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_hexdump.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_devargs.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_class.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_bus.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_dev.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_options.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_thread.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_proc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_fbarray.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_uuid.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_malloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += hotplug_mp.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += malloc_elem.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += malloc_heap.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += malloc_mp.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_keepalive.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_option.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_service.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_random.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_reciprocal.c
-
-# from arch dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_hypervisor.c
-SRCS-$(CONFIG_RTE_ARCH_X86) += rte_spinlock.c
-SRCS-y += rte_cycles.c
-
-CFLAGS_eal_common_cpuflags.o := $(CPUFLAGS_LIST)
-
-# workaround for a gcc bug with noreturn attribute
-# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_eal_thread.o += -Wno-return-type
-CFLAGS_eal_hpet.o += -Wno-return-type
-endif
-
-INC := rte_os.h
-
-SYMLINK-$(CONFIG_RTE_EXEC_ENV_FREEBSD)-include := $(addprefix include/,$(INC))
-
-include $(RTE_SDK)/mk/rte.lib.mk
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/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 77%
rename from lib/librte_eal/freebsd/eal/meson.build
rename to lib/librte_eal/freebsd/meson.build
index 1426f7e5f1..b423d970f9 100644
--- a/lib/librte_eal/freebsd/eal/meson.build
+++ b/lib/librte_eal/freebsd/meson.build
@@ -1,11 +1,13 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-env_objs = []
-env_headers = files(
+includes += include_directories('include')
+
+headers += files(
 		'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/common/include/generic/rte_atomic.h b/lib/librte_eal/include/generic/rte_atomic.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_atomic.h
rename to lib/librte_eal/include/generic/rte_atomic.h
diff --git a/lib/librte_eal/common/include/generic/rte_byteorder.h b/lib/librte_eal/include/generic/rte_byteorder.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_byteorder.h
rename to lib/librte_eal/include/generic/rte_byteorder.h
diff --git a/lib/librte_eal/common/include/generic/rte_cpuflags.h b/lib/librte_eal/include/generic/rte_cpuflags.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_cpuflags.h
rename to lib/librte_eal/include/generic/rte_cpuflags.h
diff --git a/lib/librte_eal/common/include/generic/rte_cycles.h b/lib/librte_eal/include/generic/rte_cycles.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_cycles.h
rename to lib/librte_eal/include/generic/rte_cycles.h
diff --git a/lib/librte_eal/common/include/generic/rte_io.h b/lib/librte_eal/include/generic/rte_io.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_io.h
rename to lib/librte_eal/include/generic/rte_io.h
diff --git a/lib/librte_eal/common/include/generic/rte_mcslock.h b/lib/librte_eal/include/generic/rte_mcslock.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_mcslock.h
rename to lib/librte_eal/include/generic/rte_mcslock.h
diff --git a/lib/librte_eal/common/include/generic/rte_memcpy.h b/lib/librte_eal/include/generic/rte_memcpy.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_memcpy.h
rename to lib/librte_eal/include/generic/rte_memcpy.h
diff --git a/lib/librte_eal/common/include/generic/rte_pause.h b/lib/librte_eal/include/generic/rte_pause.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_pause.h
rename to lib/librte_eal/include/generic/rte_pause.h
diff --git a/lib/librte_eal/common/include/generic/rte_prefetch.h b/lib/librte_eal/include/generic/rte_prefetch.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_prefetch.h
rename to lib/librte_eal/include/generic/rte_prefetch.h
diff --git a/lib/librte_eal/common/include/generic/rte_rwlock.h b/lib/librte_eal/include/generic/rte_rwlock.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_rwlock.h
rename to lib/librte_eal/include/generic/rte_rwlock.h
diff --git a/lib/librte_eal/common/include/generic/rte_spinlock.h b/lib/librte_eal/include/generic/rte_spinlock.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_spinlock.h
rename to lib/librte_eal/include/generic/rte_spinlock.h
diff --git a/lib/librte_eal/common/include/generic/rte_ticketlock.h b/lib/librte_eal/include/generic/rte_ticketlock.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_ticketlock.h
rename to lib/librte_eal/include/generic/rte_ticketlock.h
diff --git a/lib/librte_eal/common/include/generic/rte_vect.h b/lib/librte_eal/include/generic/rte_vect.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_vect.h
rename to lib/librte_eal/include/generic/rte_vect.h
diff --git a/lib/librte_eal/common/include/rte_alarm.h b/lib/librte_eal/include/rte_alarm.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_alarm.h
rename to lib/librte_eal/include/rte_alarm.h
diff --git a/lib/librte_eal/common/include/rte_bitmap.h b/lib/librte_eal/include/rte_bitmap.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_bitmap.h
rename to lib/librte_eal/include/rte_bitmap.h
diff --git a/lib/librte_eal/common/include/rte_branch_prediction.h b/lib/librte_eal/include/rte_branch_prediction.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_branch_prediction.h
rename to lib/librte_eal/include/rte_branch_prediction.h
diff --git a/lib/librte_eal/common/include/rte_bus.h b/lib/librte_eal/include/rte_bus.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_bus.h
rename to lib/librte_eal/include/rte_bus.h
diff --git a/lib/librte_eal/common/include/rte_class.h b/lib/librte_eal/include/rte_class.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_class.h
rename to lib/librte_eal/include/rte_class.h
diff --git a/lib/librte_eal/common/include/rte_common.h b/lib/librte_eal/include/rte_common.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_common.h
rename to lib/librte_eal/include/rte_common.h
diff --git a/lib/librte_eal/common/include/rte_compat.h b/lib/librte_eal/include/rte_compat.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_compat.h
rename to lib/librte_eal/include/rte_compat.h
diff --git a/lib/librte_eal/common/include/rte_debug.h b/lib/librte_eal/include/rte_debug.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_debug.h
rename to lib/librte_eal/include/rte_debug.h
diff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/include/rte_dev.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_dev.h
rename to lib/librte_eal/include/rte_dev.h
diff --git a/lib/librte_eal/common/include/rte_devargs.h b/lib/librte_eal/include/rte_devargs.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_devargs.h
rename to lib/librte_eal/include/rte_devargs.h
diff --git a/lib/librte_eal/common/include/rte_eal.h b/lib/librte_eal/include/rte_eal.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_eal.h
rename to lib/librte_eal/include/rte_eal.h
diff --git a/lib/librte_eal/common/include/rte_eal_interrupts.h b/lib/librte_eal/include/rte_eal_interrupts.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_eal_interrupts.h
rename to lib/librte_eal/include/rte_eal_interrupts.h
diff --git a/lib/librte_eal/common/include/rte_eal_memconfig.h b/lib/librte_eal/include/rte_eal_memconfig.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_eal_memconfig.h
rename to lib/librte_eal/include/rte_eal_memconfig.h
diff --git a/lib/librte_eal/common/include/rte_errno.h b/lib/librte_eal/include/rte_errno.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_errno.h
rename to lib/librte_eal/include/rte_errno.h
diff --git a/lib/librte_eal/common/include/rte_fbarray.h b/lib/librte_eal/include/rte_fbarray.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_fbarray.h
rename to lib/librte_eal/include/rte_fbarray.h
diff --git a/lib/librte_eal/common/include/rte_function_versioning.h b/lib/librte_eal/include/rte_function_versioning.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_function_versioning.h
rename to lib/librte_eal/include/rte_function_versioning.h
diff --git a/lib/librte_eal/common/include/rte_hexdump.h b/lib/librte_eal/include/rte_hexdump.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_hexdump.h
rename to lib/librte_eal/include/rte_hexdump.h
diff --git a/lib/librte_eal/common/include/rte_hypervisor.h b/lib/librte_eal/include/rte_hypervisor.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_hypervisor.h
rename to lib/librte_eal/include/rte_hypervisor.h
diff --git a/lib/librte_eal/common/include/rte_interrupts.h b/lib/librte_eal/include/rte_interrupts.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_interrupts.h
rename to lib/librte_eal/include/rte_interrupts.h
diff --git a/lib/librte_eal/common/include/rte_keepalive.h b/lib/librte_eal/include/rte_keepalive.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_keepalive.h
rename to lib/librte_eal/include/rte_keepalive.h
diff --git a/lib/librte_eal/common/include/rte_launch.h b/lib/librte_eal/include/rte_launch.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_launch.h
rename to lib/librte_eal/include/rte_launch.h
diff --git a/lib/librte_eal/common/include/rte_lcore.h b/lib/librte_eal/include/rte_lcore.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_lcore.h
rename to lib/librte_eal/include/rte_lcore.h
diff --git a/lib/librte_eal/common/include/rte_log.h b/lib/librte_eal/include/rte_log.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_log.h
rename to lib/librte_eal/include/rte_log.h
diff --git a/lib/librte_eal/common/include/rte_malloc.h b/lib/librte_eal/include/rte_malloc.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_malloc.h
rename to lib/librte_eal/include/rte_malloc.h
diff --git a/lib/librte_eal/common/include/rte_memory.h b/lib/librte_eal/include/rte_memory.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_memory.h
rename to lib/librte_eal/include/rte_memory.h
diff --git a/lib/librte_eal/common/include/rte_memzone.h b/lib/librte_eal/include/rte_memzone.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_memzone.h
rename to lib/librte_eal/include/rte_memzone.h
diff --git a/lib/librte_eal/common/include/rte_option.h b/lib/librte_eal/include/rte_option.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_option.h
rename to lib/librte_eal/include/rte_option.h
diff --git a/lib/librte_eal/common/include/rte_pci_dev_feature_defs.h b/lib/librte_eal/include/rte_pci_dev_feature_defs.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_pci_dev_feature_defs.h
rename to lib/librte_eal/include/rte_pci_dev_feature_defs.h
diff --git a/lib/librte_eal/common/include/rte_pci_dev_features.h b/lib/librte_eal/include/rte_pci_dev_features.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_pci_dev_features.h
rename to lib/librte_eal/include/rte_pci_dev_features.h
diff --git a/lib/librte_eal/common/include/rte_per_lcore.h b/lib/librte_eal/include/rte_per_lcore.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_per_lcore.h
rename to lib/librte_eal/include/rte_per_lcore.h
diff --git a/lib/librte_eal/common/include/rte_random.h b/lib/librte_eal/include/rte_random.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_random.h
rename to lib/librte_eal/include/rte_random.h
diff --git a/lib/librte_eal/common/include/rte_reciprocal.h b/lib/librte_eal/include/rte_reciprocal.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_reciprocal.h
rename to lib/librte_eal/include/rte_reciprocal.h
diff --git a/lib/librte_eal/common/include/rte_service.h b/lib/librte_eal/include/rte_service.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_service.h
rename to lib/librte_eal/include/rte_service.h
diff --git a/lib/librte_eal/common/include/rte_service_component.h b/lib/librte_eal/include/rte_service_component.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_service_component.h
rename to lib/librte_eal/include/rte_service_component.h
diff --git a/lib/librte_eal/common/include/rte_string_fns.h b/lib/librte_eal/include/rte_string_fns.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_string_fns.h
rename to lib/librte_eal/include/rte_string_fns.h
diff --git a/lib/librte_eal/common/include/rte_tailq.h b/lib/librte_eal/include/rte_tailq.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_tailq.h
rename to lib/librte_eal/include/rte_tailq.h
diff --git a/lib/librte_eal/common/include/rte_test.h b/lib/librte_eal/include/rte_test.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_test.h
rename to lib/librte_eal/include/rte_test.h
diff --git a/lib/librte_eal/common/include/rte_time.h b/lib/librte_eal/include/rte_time.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_time.h
rename to lib/librte_eal/include/rte_time.h
diff --git a/lib/librte_eal/common/include/rte_uuid.h b/lib/librte_eal/include/rte_uuid.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_uuid.h
rename to lib/librte_eal/include/rte_uuid.h
diff --git a/lib/librte_eal/common/include/rte_version.h b/lib/librte_eal/include/rte_version.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_version.h
rename to lib/librte_eal/include/rte_version.h
diff --git a/lib/librte_eal/common/include/rte_vfio.h b/lib/librte_eal/include/rte_vfio.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_vfio.h
rename to lib/librte_eal/include/rte_vfio.h
diff --git a/lib/librte_eal/linux/Makefile b/lib/librte_eal/linux/Makefile
index 4c68bd61b8..0ed4dc3e10 100644
--- a/lib/librte_eal/linux/Makefile
+++ b/lib/librte_eal/linux/Makefile
@@ -1,11 +1,99 @@
 # SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
+# Copyright(c) 2010-2019 Intel Corporation
 
 include $(RTE_SDK)/mk/rte.vars.mk
 
-DIRS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal
-DEPDIRS-kni := eal
+LIB = librte_eal.a
+
+ARCH_DIR ?= $(RTE_ARCH)
+VPATH += $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)
+VPATH += $(RTE_SDK)/lib/librte_eal/common
 
 CFLAGS += -DALLOW_EXPERIMENTAL_API
+CFLAGS += -I$(SRCDIR)/include
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
+CFLAGS += $(WERROR_FLAGS) -O3
 
-include $(RTE_SDK)/mk/rte.subdir.mk
+LDLIBS += -ldl
+LDLIBS += -lpthread
+LDLIBS += -lgcc_s
+LDLIBS += -lrt
+LDLIBS += -lrte_kvargs
+ifeq ($(CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES),y)
+LDLIBS += -lnuma
+endif
+
+EXPORT_MAP := ../rte_eal_version.map
+
+# specific to linux exec-env
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) := eal.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_cpuflags.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_hugepage_info.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_memory.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_thread.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_log.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_vfio.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_vfio_mp_sync.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_memalloc.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_debug.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_lcore.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_timer.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_interrupts.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_alarm.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_dev.c
+
+# from common dir
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_lcore.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_timer.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_memzone.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_log.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_launch.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_mcfg.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_memalloc.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_memory.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_tailqs.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_errno.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_cpuflags.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_hypervisor.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_string_fns.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_hexdump.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_devargs.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_class.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_bus.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_dev.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_options.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_thread.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_proc.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_fbarray.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_uuid.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_malloc.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += hotplug_mp.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += malloc_elem.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += malloc_heap.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += malloc_mp.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_keepalive.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_option.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_service.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_random.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_reciprocal.c
+
+# from arch dir
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_cpuflags.c
+SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_hypervisor.c
+SRCS-$(CONFIG_RTE_ARCH_X86) += rte_spinlock.c
+SRCS-y += rte_cycles.c
+
+CFLAGS_eal_common_cpuflags.o := $(CPUFLAGS_LIST)
+
+# workaround for a gcc bug with noreturn attribute
+# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603
+ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
+CFLAGS_eal_thread.o += -Wno-return-type
+endif
+
+INC := rte_kni_common.h
+INC += rte_os.h
+
+SYMLINK-$(CONFIG_RTE_EXEC_ENV_LINUX)-include := $(addprefix include/,$(INC))
+
+include $(RTE_SDK)/mk/rte.lib.mk
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/Makefile b/lib/librte_eal/linux/eal/Makefile
deleted file mode 100644
index e70cf104a4..0000000000
--- a/lib/librte_eal/linux/eal/Makefile
+++ /dev/null
@@ -1,101 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_eal.a
-
-ARCH_DIR ?= $(RTE_ARCH)
-
-EXPORT_MAP := ../../rte_eal_version.map
-VPATH += $(RTE_SDK)/lib/librte_eal/common/arch/$(ARCH_DIR)
-
-VPATH += $(RTE_SDK)/lib/librte_eal/common
-
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-CFLAGS += -I$(SRCDIR)/include
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
-CFLAGS += $(WERROR_FLAGS) -O3
-
-LDLIBS += -ldl
-LDLIBS += -lpthread
-LDLIBS += -lgcc_s
-LDLIBS += -lrt
-LDLIBS += -lrte_kvargs
-ifeq ($(CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES),y)
-LDLIBS += -lnuma
-endif
-
-# specific to linux exec-env
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) := eal.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_hugepage_info.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_thread.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_log.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_vfio.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_vfio_mp_sync.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_memalloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_debug.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_lcore.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_timer.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_interrupts.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_alarm.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_dev.c
-
-# from common dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_lcore.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_timer.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_memzone.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_log.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_launch.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_mcfg.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_memalloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_tailqs.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_errno.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_hypervisor.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_string_fns.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_hexdump.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_devargs.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_class.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_bus.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_dev.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_options.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_thread.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_proc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_fbarray.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_uuid.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_malloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += hotplug_mp.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += malloc_elem.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += malloc_heap.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += malloc_mp.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_keepalive.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_option.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_service.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_random.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_reciprocal.c
-
-# from arch dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_hypervisor.c
-SRCS-$(CONFIG_RTE_ARCH_X86) += rte_spinlock.c
-SRCS-y += rte_cycles.c
-
-CFLAGS_eal_common_cpuflags.o := $(CPUFLAGS_LIST)
-
-# workaround for a gcc bug with noreturn attribute
-# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_eal_thread.o += -Wno-return-type
-endif
-
-INC := rte_kni_common.h
-INC += rte_os.h
-
-SYMLINK-$(CONFIG_RTE_EXEC_ENV_LINUX)-include := $(addprefix include/,$(INC))
-
-include $(RTE_SDK)/mk/rte.lib.mk
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/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 81%
rename from lib/librte_eal/linux/eal/meson.build
rename to lib/librte_eal/linux/meson.build
index b02b0695f5..209dd7c642 100644
--- a/lib/librte_eal/linux/eal/meson.build
+++ b/lib/librte_eal/linux/meson.build
@@ -1,14 +1,15 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-eal_inc += include_directories('include')
+includes += include_directories('include')
 
-env_objs = []
-env_headers = files(
+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 1730d603fc..516ef09a49 100644
--- a/lib/librte_eal/meson.build
+++ b/lib/librte_eal/meson.build
@@ -1,16 +1,16 @@
 # 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]
-subdir('common') # defines common_sources, common_objs, etc.
+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)
 
 allow_experimental_apis = true
 deps += 'kvargs'
@@ -23,7 +23,3 @@ endif
 if cc.has_header('getopt.h')
 	cflags += ['-DHAVE_GETOPT_H', '-DHAVE_GETOPT', '-DHAVE_GETOPT_LONG']
 endif
-sources = common_sources + env_sources
-objs = common_objs + env_objs
-headers = common_headers + env_headers
-includes = eal_inc
diff --git a/lib/librte_eal/common/include/arch/ppc_64/meson.build b/lib/librte_eal/ppc/include/meson.build
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/meson.build
rename to lib/librte_eal/ppc/include/meson.build
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h b/lib/librte_eal/ppc/include/rte_atomic.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h
rename to lib/librte_eal/ppc/include/rte_atomic.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_byteorder.h b/lib/librte_eal/ppc/include/rte_byteorder.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_byteorder.h
rename to lib/librte_eal/ppc/include/rte_byteorder.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_cpuflags.h b/lib/librte_eal/ppc/include/rte_cpuflags.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_cpuflags.h
rename to lib/librte_eal/ppc/include/rte_cpuflags.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_cycles.h b/lib/librte_eal/ppc/include/rte_cycles.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_cycles.h
rename to lib/librte_eal/ppc/include/rte_cycles.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_io.h b/lib/librte_eal/ppc/include/rte_io.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_io.h
rename to lib/librte_eal/ppc/include/rte_io.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_mcslock.h b/lib/librte_eal/ppc/include/rte_mcslock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_mcslock.h
rename to lib/librte_eal/ppc/include/rte_mcslock.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_memcpy.h b/lib/librte_eal/ppc/include/rte_memcpy.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_memcpy.h
rename to lib/librte_eal/ppc/include/rte_memcpy.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h b/lib/librte_eal/ppc/include/rte_pause.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
rename to lib/librte_eal/ppc/include/rte_pause.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_prefetch.h b/lib/librte_eal/ppc/include/rte_prefetch.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_prefetch.h
rename to lib/librte_eal/ppc/include/rte_prefetch.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_rwlock.h b/lib/librte_eal/ppc/include/rte_rwlock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_rwlock.h
rename to lib/librte_eal/ppc/include/rte_rwlock.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_spinlock.h b/lib/librte_eal/ppc/include/rte_spinlock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_spinlock.h
rename to lib/librte_eal/ppc/include/rte_spinlock.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_ticketlock.h b/lib/librte_eal/ppc/include/rte_ticketlock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_ticketlock.h
rename to lib/librte_eal/ppc/include/rte_ticketlock.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_vect.h b/lib/librte_eal/ppc/include/rte_vect.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_vect.h
rename to lib/librte_eal/ppc/include/rte_vect.h
diff --git a/lib/librte_eal/ppc/meson.build b/lib/librte_eal/ppc/meson.build
new file mode 100644
index 0000000000..0f72bd3a36
--- /dev/null
+++ b/lib/librte_eal/ppc/meson.build
@@ -0,0 +1,13 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
+
+includes += include_directories('include')
+
+headers += files(
+)
+
+sources += files(
+	'rte_cpuflags.c',
+	'rte_cycles.c',
+	'rte_hypervisor.c',
+)
diff --git a/lib/librte_eal/common/arch/ppc_64/rte_cpuflags.c b/lib/librte_eal/ppc/rte_cpuflags.c
similarity index 100%
rename from lib/librte_eal/common/arch/ppc_64/rte_cpuflags.c
rename to lib/librte_eal/ppc/rte_cpuflags.c
diff --git a/lib/librte_eal/common/arch/ppc_64/rte_cycles.c b/lib/librte_eal/ppc/rte_cycles.c
similarity index 100%
rename from lib/librte_eal/common/arch/ppc_64/rte_cycles.c
rename to lib/librte_eal/ppc/rte_cycles.c
diff --git a/lib/librte_eal/common/arch/ppc_64/rte_hypervisor.c b/lib/librte_eal/ppc/rte_hypervisor.c
similarity index 100%
rename from lib/librte_eal/common/arch/ppc_64/rte_hypervisor.c
rename to lib/librte_eal/ppc/rte_hypervisor.c
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/meson.build b/lib/librte_eal/windows/eal/meson.build
deleted file mode 100644
index 2a062c365e..0000000000
--- a/lib/librte_eal/windows/eal/meson.build
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-eal_inc += include_directories('include')
-
-env_objs = []
-env_headers = files(
-	'include/rte_os.h',
-)
-common_sources = files(
-	'../../common/eal_common_bus.c',
-	'../../common/eal_common_class.c',
-	'../../common/eal_common_devargs.c',
-	'../../common/eal_common_errno.c',
-	'../../common/eal_common_launch.c',
-	'../../common/eal_common_lcore.c',
-	'../../common/eal_common_log.c',
-	'../../common/eal_common_options.c',
-	'../../common/eal_common_thread.c',
-	'../../common/rte_option.c',
-)
-env_sources = files('eal.c',
-	'eal_debug.c',
-	'eal_lcore.c',
-	'eal_thread.c',
-	'getopt.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/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/meson.build b/lib/librte_eal/windows/meson.build
new file mode 100644
index 0000000000..5fcaf4785a
--- /dev/null
+++ b/lib/librte_eal/windows/meson.build
@@ -0,0 +1,16 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2019 Intel Corporation
+
+includes += include_directories('include')
+
+headers += files(
+	'include/rte_os.h',
+)
+
+sources += files(
+	'eal.c',
+	'eal_debug.c',
+	'eal_lcore.c',
+	'eal_thread.c',
+	'getopt.c',
+)
diff --git a/lib/librte_eal/common/include/arch/x86/meson.build b/lib/librte_eal/x86/include/meson.build
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/meson.build
rename to lib/librte_eal/x86/include/meson.build
diff --git a/lib/librte_eal/common/include/arch/x86/rte_atomic.h b/lib/librte_eal/x86/include/rte_atomic.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_atomic.h
rename to lib/librte_eal/x86/include/rte_atomic.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_atomic_32.h b/lib/librte_eal/x86/include/rte_atomic_32.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_atomic_32.h
rename to lib/librte_eal/x86/include/rte_atomic_32.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_atomic_64.h b/lib/librte_eal/x86/include/rte_atomic_64.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_atomic_64.h
rename to lib/librte_eal/x86/include/rte_atomic_64.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_byteorder.h b/lib/librte_eal/x86/include/rte_byteorder.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_byteorder.h
rename to lib/librte_eal/x86/include/rte_byteorder.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_byteorder_32.h b/lib/librte_eal/x86/include/rte_byteorder_32.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_byteorder_32.h
rename to lib/librte_eal/x86/include/rte_byteorder_32.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_byteorder_64.h b/lib/librte_eal/x86/include/rte_byteorder_64.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_byteorder_64.h
rename to lib/librte_eal/x86/include/rte_byteorder_64.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_cpuflags.h b/lib/librte_eal/x86/include/rte_cpuflags.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_cpuflags.h
rename to lib/librte_eal/x86/include/rte_cpuflags.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_cycles.h b/lib/librte_eal/x86/include/rte_cycles.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_cycles.h
rename to lib/librte_eal/x86/include/rte_cycles.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_io.h b/lib/librte_eal/x86/include/rte_io.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_io.h
rename to lib/librte_eal/x86/include/rte_io.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_mcslock.h b/lib/librte_eal/x86/include/rte_mcslock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_mcslock.h
rename to lib/librte_eal/x86/include/rte_mcslock.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_memcpy.h b/lib/librte_eal/x86/include/rte_memcpy.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_memcpy.h
rename to lib/librte_eal/x86/include/rte_memcpy.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_pause.h b/lib/librte_eal/x86/include/rte_pause.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_pause.h
rename to lib/librte_eal/x86/include/rte_pause.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_prefetch.h b/lib/librte_eal/x86/include/rte_prefetch.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_prefetch.h
rename to lib/librte_eal/x86/include/rte_prefetch.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_rtm.h b/lib/librte_eal/x86/include/rte_rtm.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_rtm.h
rename to lib/librte_eal/x86/include/rte_rtm.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_rwlock.h b/lib/librte_eal/x86/include/rte_rwlock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_rwlock.h
rename to lib/librte_eal/x86/include/rte_rwlock.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_spinlock.h b/lib/librte_eal/x86/include/rte_spinlock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_spinlock.h
rename to lib/librte_eal/x86/include/rte_spinlock.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_ticketlock.h b/lib/librte_eal/x86/include/rte_ticketlock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_ticketlock.h
rename to lib/librte_eal/x86/include/rte_ticketlock.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_vect.h b/lib/librte_eal/x86/include/rte_vect.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_vect.h
rename to lib/librte_eal/x86/include/rte_vect.h
diff --git a/lib/librte_eal/x86/meson.build b/lib/librte_eal/x86/meson.build
new file mode 100644
index 0000000000..305d16c01b
--- /dev/null
+++ b/lib/librte_eal/x86/meson.build
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Intel Corporation
+
+includes += include_directories('include')
+
+headers += files(
+)
+
+sources += files(
+	'rte_cpuflags.c',
+	'rte_cycles.c',
+	'rte_hypervisor.c',
+	'rte_spinlock.c',
+)
diff --git a/lib/librte_eal/common/arch/x86/rte_cpuflags.c b/lib/librte_eal/x86/rte_cpuflags.c
similarity index 100%
rename from lib/librte_eal/common/arch/x86/rte_cpuflags.c
rename to lib/librte_eal/x86/rte_cpuflags.c
diff --git a/lib/librte_eal/common/arch/x86/rte_cpuid.h b/lib/librte_eal/x86/rte_cpuid.h
similarity index 100%
rename from lib/librte_eal/common/arch/x86/rte_cpuid.h
rename to lib/librte_eal/x86/rte_cpuid.h
diff --git a/lib/librte_eal/common/arch/x86/rte_cycles.c b/lib/librte_eal/x86/rte_cycles.c
similarity index 100%
rename from lib/librte_eal/common/arch/x86/rte_cycles.c
rename to lib/librte_eal/x86/rte_cycles.c
diff --git a/lib/librte_eal/common/arch/x86/rte_hypervisor.c b/lib/librte_eal/x86/rte_hypervisor.c
similarity index 100%
rename from lib/librte_eal/common/arch/x86/rte_hypervisor.c
rename to lib/librte_eal/x86/rte_hypervisor.c
diff --git a/lib/librte_eal/common/arch/x86/rte_spinlock.c b/lib/librte_eal/x86/rte_spinlock.c
similarity index 100%
rename from lib/librte_eal/common/arch/x86/rte_spinlock.c
rename to lib/librte_eal/x86/rte_spinlock.c
diff --git a/lib/librte_kvargs/Makefile b/lib/librte_kvargs/Makefile
index 419be8bd7c..24b1c3c5b9 100644
--- a/lib/librte_kvargs/Makefile
+++ b/lib/librte_kvargs/Makefile
@@ -7,7 +7,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_kvargs.a
 
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
 
 EXPORT_MAP := rte_kvargs_version.map
 
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 b7ae9c8d9a..d36580438e 100644
--- a/meson.build
+++ b/meson.build
@@ -28,8 +28,8 @@ abi_version_file = files('ABI_VERSION')
 # able to be included in any file. We also store a global array of include dirs
 # for passing to pmdinfogen scripts
 global_inc = include_directories('.', 'config',
-	'lib/librte_eal/common/include',
-	'lib/librte_eal/@0@/eal/include'.format(host_machine.system()),
+	'lib/librte_eal/include',
+	'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 =
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [dpdk-dev] [PATCH] eal: reorganize directories layout
  2020-03-20  0:12 [dpdk-dev] [PATCH] eal: reorganize directories layout Thomas Monjalon
@ 2020-03-20  9:34 ` Bruce Richardson
  2020-03-20 11:46   ` Thomas Monjalon
  2020-03-27  1:15 ` [dpdk-dev] [PATCH v2 0/8] " Thomas Monjalon
  1 sibling, 1 reply; 22+ messages in thread
From: Bruce Richardson @ 2020-03-20  9:34 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: dev, david.marchand, Neil Horman, John McNamara, Marko Kovacevic,
	Hemant Agrawal, Sachin Saxena, Matan Azrad, Shahaf Shuler,
	Viacheslav Ovsiienko, Gagandeep Singh, Akhil Goyal, Nipun Gupta,
	Maxime Coquelin, Zhihong Wang, Xiaolong Ye, Ferruh Yigit,
	Cristian Dumitrescu, Jan Viktorin, Gavin Hu, Jerin Jacob,
	Harry van Haaren, Anatoly Burakov, Phil Yang, Joyce Kong,
	Mattias Rönnblom, David Christensen, Harini Ramakrishnan,
	Omar Cardona, Pallavi Kadam, Ranjit Menon, Konstantin Ananyev,
	Olivier Matz

On Fri, Mar 20, 2020 at 01:12:18AM +0100, Thomas Monjalon wrote:
> Some clean-up is done in EAL sub-directories.
> The goal is to make organization easier to understand,
> and to prepare moving some files from common to Unix-only place.
> 
> Since the kernel modules are moved to kernel/ directory,
> there is no need anymore for the sub-directory eal/ in
> linux/, freebsd/ and windows/.
> 
> The EAL API (with doxygen documentation) is moved from
> common/include/ to include/, which makes more clear that
> it is the global API for all environments and architectures.
> Note that the arch-specific and os-specific include files are not
> in this global include directory, but include/generic/ should
> cover the doxygen documentation for them.
> 
> The arch-specific directories arm, ppc_64 and x86 in common/arch/
> and in common/include/arch are moved at the same level as the
> os-specific directories, adding an include/ sub-directory.
> It makes more clear that EAL is covering a matrix combining OS and arch.
> Note that ppc_64 is renamed to ppc.
> 
> These moves offer the opportunity to simplify the make and meson files.
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> 
> ---
> 
> This change was proposed to the Technical Board in advance:
> http://mails.dpdk.org/archives/dev/2020-January/156732.html
> 
> If required, the patch may be split:
>    1/ remove FreeBSD kernel Makefile
>    2/ move arch .c files
>    3/ move arch .h files
>    4/ move common and generic includes
>    5/ move os/eal/ to os/
> 

I've scanned through this patch and it is quite long. I like the idea of
cleanup, but I do think splitting would make reviewing easier, since it's
hard to track what is moving where all in one go.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [dpdk-dev] [PATCH] eal: reorganize directories layout
  2020-03-20  9:34 ` Bruce Richardson
@ 2020-03-20 11:46   ` Thomas Monjalon
  0 siblings, 0 replies; 22+ messages in thread
From: Thomas Monjalon @ 2020-03-20 11:46 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: dev, david.marchand, Neil Horman, John McNamara, Marko Kovacevic,
	Hemant Agrawal, Sachin Saxena, Matan Azrad, Shahaf Shuler,
	Viacheslav Ovsiienko, Gagandeep Singh, Akhil Goyal, Nipun Gupta,
	Maxime Coquelin, Zhihong Wang, Xiaolong Ye, Ferruh Yigit,
	Cristian Dumitrescu, Jan Viktorin, Gavin Hu, Jerin Jacob,
	Harry van Haaren, Anatoly Burakov, Phil Yang, Joyce Kong,
	Mattias Rönnblom, David Christensen, Harini Ramakrishnan,
	Omar Cardona, Pallavi Kadam, Ranjit Menon, Konstantin Ananyev,
	Olivier Matz

20/03/2020 10:34, Bruce Richardson:
> On Fri, Mar 20, 2020 at 01:12:18AM +0100, Thomas Monjalon wrote:
> > Some clean-up is done in EAL sub-directories.
> > The goal is to make organization easier to understand,
> > and to prepare moving some files from common to Unix-only place.
> > 
> > Since the kernel modules are moved to kernel/ directory,
> > there is no need anymore for the sub-directory eal/ in
> > linux/, freebsd/ and windows/.
> > 
> > The EAL API (with doxygen documentation) is moved from
> > common/include/ to include/, which makes more clear that
> > it is the global API for all environments and architectures.
> > Note that the arch-specific and os-specific include files are not
> > in this global include directory, but include/generic/ should
> > cover the doxygen documentation for them.
> > 
> > The arch-specific directories arm, ppc_64 and x86 in common/arch/
> > and in common/include/arch are moved at the same level as the
> > os-specific directories, adding an include/ sub-directory.
> > It makes more clear that EAL is covering a matrix combining OS and arch.
> > Note that ppc_64 is renamed to ppc.
> > 
> > These moves offer the opportunity to simplify the make and meson files.
> > 
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > 
> > ---
> > 
> > This change was proposed to the Technical Board in advance:
> > http://mails.dpdk.org/archives/dev/2020-January/156732.html
> > 
> > If required, the patch may be split:
> >    1/ remove FreeBSD kernel Makefile
> >    2/ move arch .c files
> >    3/ move arch .h files
> >    4/ move common and generic includes
> >    5/ move os/eal/ to os/
> > 
> 
> I've scanned through this patch and it is quite long. I like the idea of
> cleanup, but I do think splitting would make reviewing easier, since it's
> hard to track what is moving where all in one go.

OK, I'll prepare a v2, split in 5 patches.
Note: v1 is not compiling because I missed some "git add" in the include directory.




^ permalink raw reply	[flat|nested] 22+ messages in thread

* [dpdk-dev] [PATCH v2 0/8] eal: reorganize directories layout
  2020-03-20  0:12 [dpdk-dev] [PATCH] eal: reorganize directories layout Thomas Monjalon
  2020-03-20  9:34 ` Bruce Richardson
@ 2020-03-27  1:15 ` Thomas Monjalon
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 1/8] eal: remove useless makefiles Thomas Monjalon
                     ` (9 more replies)
  1 sibling, 10 replies; 22+ messages in thread
From: Thomas Monjalon @ 2020-03-27  1:15 UTC (permalink / raw)
  To: dev; +Cc: david.marchand

Some clean-up is done in EAL sub-directories.
The goal is to make organization easier to understand,
and to prepare moving some files from common to Unix-only place.

Since the kernel modules are moved to kernel/ directory,
there is no need anymore for the sub-directory eal/ in
linux/, freebsd/ and windows/.

The EAL API (with doxygen documentation) is moved from
common/include/ to include/, which makes more clear that
it is the global API for all environments and architectures.
Note that the arch-specific and OS-specific include files are not
in this global include directory, but include/generic/ should
cover the doxygen documentation for them.

The arch-specific directories arm, ppc_64 and x86 in common/arch/
and in common/include/arch are moved at the same level as the
OS-specific directories, adding an include/ sub-directory.
It makes more clear that EAL is covering a matrix combining OS and arch.
Note that ppc_64 is renamed to ppc.

These moves offer the opportunity to simplify the make and meson files.


This change was proposed to the Technical Board in advance:
http://mails.dpdk.org/archives/dev/2020-January/156732.html


v2:
  - add missing meson and make files in the include/ directory
  - fix ppc build
  - cosmetic improvements in meson files
  - split single patch into 8 pieces


Thomas Monjalon (8):
  eal: remove useless makefiles
  build: rename ppc sub-directories
  eal: move arch-specific C files
  eal: move arch-specific header files
  eal: simplify meson build of common directory
  eal: move common header files
  eal: move OS-specific sub-directories
  eal: clean make and meson files

 MAINTAINERS                                   |  53 ++++-----
 buildtools/pmdinfogen/meson.build             |   2 +-
 config/arm/meson.build                        |   2 +-
 config/common_armv8a_linux                    |   2 +-
 config/meson.build                            |   2 +-
 config/{ppc_64 => ppc}/meson.build            |   0
 devtools/build-tags.sh                        |  14 +--
 doc/api/doxy-api.conf.in                      |   4 +-
 doc/guides/rel_notes/known_issues.rst         |   2 +-
 drivers/bus/dpaa/Makefile                     |   2 +-
 drivers/common/mlx5/meson.build               |   2 +-
 drivers/crypto/caam_jr/Makefile               |   2 +-
 drivers/crypto/dpaa_sec/Makefile              |   2 +-
 drivers/event/dpaa/Makefile                   |   2 +-
 drivers/net/dpaa/Makefile                     |   2 +-
 drivers/net/virtio/meson.build                |   2 +-
 kernel/linux/igb_uio/meson.build              |   2 +-
 kernel/linux/kni/meson.build                  |   4 +-
 lib/librte_cfgfile/Makefile                   |   2 +-
 lib/librte_eal/Makefile                       |   6 +-
 .../arch/arm => arm/include}/meson.build      |   7 +-
 .../arch/arm => arm/include}/rte_atomic.h     |   0
 .../arch/arm => arm/include}/rte_atomic_32.h  |   0
 .../arch/arm => arm/include}/rte_atomic_64.h  |   0
 .../arch/arm => arm/include}/rte_byteorder.h  |   0
 .../arch/arm => arm/include}/rte_cpuflags.h   |   0
 .../arm => arm/include}/rte_cpuflags_32.h     |   0
 .../arm => arm/include}/rte_cpuflags_64.h     |   0
 .../arch/arm => arm/include}/rte_cycles.h     |   0
 .../arch/arm => arm/include}/rte_cycles_32.h  |   0
 .../arch/arm => arm/include}/rte_cycles_64.h  |   0
 .../include/arch/arm => arm/include}/rte_io.h |   0
 .../arch/arm => arm/include}/rte_io_64.h      |   0
 .../arch/arm => arm/include}/rte_mcslock.h    |   0
 .../arch/arm => arm/include}/rte_memcpy.h     |   0
 .../arch/arm => arm/include}/rte_memcpy_32.h  |   0
 .../arch/arm => arm/include}/rte_memcpy_64.h  |   0
 .../arch/arm => arm/include}/rte_pause.h      |   0
 .../arch/arm => arm/include}/rte_pause_32.h   |   0
 .../arch/arm => arm/include}/rte_pause_64.h   |   0
 .../arch/arm => arm/include}/rte_prefetch.h   |   0
 .../arm => arm/include}/rte_prefetch_32.h     |   0
 .../arm => arm/include}/rte_prefetch_64.h     |   0
 .../arch/arm => arm/include}/rte_rwlock.h     |   0
 .../arch/arm => arm/include}/rte_spinlock.h   |   0
 .../arch/arm => arm/include}/rte_ticketlock.h |   0
 .../arch/arm => arm/include}/rte_vect.h       |   0
 lib/librte_eal/arm/meson.build                |  10 ++
 .../{common/arch => }/arm/rte_cpuflags.c      |   0
 .../{common/arch => }/arm/rte_cycles.c        |   0
 .../{common/arch => }/arm/rte_hypervisor.c    |   0
 lib/librte_eal/common/Makefile                |  38 -------
 lib/librte_eal/common/arch/arm/meson.build    |   5 -
 lib/librte_eal/common/arch/ppc_64/meson.build |   5 -
 lib/librte_eal/common/arch/x86/meson.build    |   5 -
 lib/librte_eal/common/meson.build             |  92 ++++------------
 lib/librte_eal/common/rte_service.c           |   2 +-
 lib/librte_eal/freebsd/BSDmakefile.meson      |  14 ---
 lib/librte_eal/freebsd/Makefile               |  91 +++++++++++++++-
 lib/librte_eal/freebsd/{eal => }/eal.c        |   0
 lib/librte_eal/freebsd/eal/Makefile           |  93 ----------------
 lib/librte_eal/freebsd/eal/meson.build        |  22 ----
 lib/librte_eal/freebsd/{eal => }/eal_alarm.c  |   0
 .../freebsd/{eal => }/eal_alarm_private.h     |   0
 .../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
 .../freebsd/{eal => }/eal_interrupts.c        |   0
 lib/librte_eal/freebsd/{eal => }/eal_lcore.c  |   0
 .../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 ++
 .../freebsd/{eal => }/include/rte_os.h        |   0
 lib/librte_eal/freebsd/meson.build            |  21 ++++
 lib/librte_eal/include/Makefile               |  19 ++++
 .../{common => }/include/generic/rte_atomic.h |   0
 .../include/generic/rte_byteorder.h           |   0
 .../include/generic/rte_cpuflags.h            |   0
 .../{common => }/include/generic/rte_cycles.h |   0
 .../{common => }/include/generic/rte_io.h     |   0
 .../include/generic/rte_mcslock.h             |   0
 .../{common => }/include/generic/rte_memcpy.h |   0
 .../{common => }/include/generic/rte_pause.h  |   0
 .../include/generic/rte_prefetch.h            |   0
 .../{common => }/include/generic/rte_rwlock.h |   0
 .../include/generic/rte_spinlock.h            |   0
 .../include/generic/rte_ticketlock.h          |   0
 .../{common => }/include/generic/rte_vect.h   |   0
 lib/librte_eal/include/meson.build            |  64 +++++++++++
 .../{common => }/include/rte_alarm.h          |   0
 .../{common => }/include/rte_bitmap.h         |   0
 .../include/rte_branch_prediction.h           |   0
 lib/librte_eal/{common => }/include/rte_bus.h |   0
 .../{common => }/include/rte_class.h          |   0
 .../{common => }/include/rte_common.h         |   0
 .../{common => }/include/rte_compat.h         |   0
 .../{common => }/include/rte_debug.h          |   0
 lib/librte_eal/{common => }/include/rte_dev.h |   0
 .../{common => }/include/rte_devargs.h        |   0
 lib/librte_eal/{common => }/include/rte_eal.h |   0
 .../{common => }/include/rte_eal_interrupts.h |   0
 .../{common => }/include/rte_eal_memconfig.h  |   0
 .../{common => }/include/rte_errno.h          |   0
 .../{common => }/include/rte_fbarray.h        |   0
 .../include/rte_function_versioning.h         |   0
 .../{common => }/include/rte_hexdump.h        |   0
 .../{common => }/include/rte_hypervisor.h     |   0
 .../{common => }/include/rte_interrupts.h     |   0
 .../{common => }/include/rte_keepalive.h      |   0
 .../{common => }/include/rte_launch.h         |   0
 .../{common => }/include/rte_lcore.h          |   0
 lib/librte_eal/{common => }/include/rte_log.h |   0
 .../{common => }/include/rte_malloc.h         |   0
 .../{common => }/include/rte_memory.h         |   0
 .../{common => }/include/rte_memzone.h        |   0
 .../{common => }/include/rte_option.h         |   0
 .../include/rte_pci_dev_feature_defs.h        |   0
 .../include/rte_pci_dev_features.h            |   0
 .../{common => }/include/rte_per_lcore.h      |   0
 .../{common => }/include/rte_random.h         |   0
 .../{common => }/include/rte_reciprocal.h     |   0
 .../{common => }/include/rte_service.h        |   0
 .../include/rte_service_component.h           |   0
 .../{common => }/include/rte_string_fns.h     |   0
 .../{common => }/include/rte_tailq.h          |   0
 .../{common => }/include/rte_test.h           |   0
 .../{common => }/include/rte_time.h           |   0
 .../{common => }/include/rte_uuid.h           |   0
 .../{common => }/include/rte_version.h        |   0
 .../{common => }/include/rte_vfio.h           |   0
 lib/librte_eal/linux/Makefile                 |  97 ++++++++++++++++-
 lib/librte_eal/linux/{eal => }/eal.c          |   0
 lib/librte_eal/linux/eal/Makefile             | 101 ------------------
 lib/librte_eal/linux/eal/meson.build          |  31 ------
 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
 .../linux/{eal => }/eal_hugepage_info.c       |   0
 .../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
 .../linux/{eal => }/eal_vfio_mp_sync.c        |   0
 lib/librte_eal/linux/include/meson.build      |   9 ++
 .../linux/{eal => }/include/rte_kni_common.h  |   0
 .../linux/{eal => }/include/rte_os.h          |   0
 lib/librte_eal/linux/meson.build              |  27 +++++
 lib/librte_eal/meson.build                    |  19 ++--
 .../arch/ppc_64 => ppc/include}/meson.build   |   7 +-
 .../arch/ppc_64 => ppc/include}/rte_atomic.h  |   0
 .../ppc_64 => ppc/include}/rte_byteorder.h    |   0
 .../ppc_64 => ppc/include}/rte_cpuflags.h     |   0
 .../arch/ppc_64 => ppc/include}/rte_cycles.h  |   0
 .../arch/ppc_64 => ppc/include}/rte_io.h      |   0
 .../arch/ppc_64 => ppc/include}/rte_mcslock.h |   0
 .../arch/ppc_64 => ppc/include}/rte_memcpy.h  |   0
 .../arch/ppc_64 => ppc/include}/rte_pause.h   |   0
 .../ppc_64 => ppc/include}/rte_prefetch.h     |   0
 .../arch/ppc_64 => ppc/include}/rte_rwlock.h  |   0
 .../ppc_64 => ppc/include}/rte_spinlock.h     |   0
 .../ppc_64 => ppc/include}/rte_ticketlock.h   |   0
 .../arch/ppc_64 => ppc/include}/rte_vect.h    |   0
 lib/librte_eal/ppc/meson.build                |  10 ++
 .../arch/ppc_64 => ppc}/rte_cpuflags.c        |   0
 .../{common/arch/ppc_64 => ppc}/rte_cycles.c  |   0
 .../arch/ppc_64 => ppc}/rte_hypervisor.c      |   0
 lib/librte_eal/windows/{eal => }/eal.c        |   0
 lib/librte_eal/windows/eal/meson.build        |  27 -----
 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
 .../windows/{eal => }/include/dirent.h        |   0
 .../windows/{eal => }/include/fnmatch.h       |   0
 .../windows/{eal => }/include/getopt.h        |   0
 lib/librte_eal/windows/include/meson.build    |   8 ++
 .../windows/{eal => }/include/pthread.h       |   0
 .../windows/{eal => }/include/regex.h         |   0
 .../windows/{eal => }/include/rte_os.h        |   0
 .../windows/{eal => }/include/sched.h         |   0
 .../windows/{eal => }/include/sys/queue.h     |   0
 .../windows/{eal => }/include/unistd.h        |   0
 lib/librte_eal/windows/meson.build            |  12 +++
 .../arch/x86 => x86/include}/meson.build      |   7 +-
 .../arch/x86 => x86/include}/rte_atomic.h     |   0
 .../arch/x86 => x86/include}/rte_atomic_32.h  |   0
 .../arch/x86 => x86/include}/rte_atomic_64.h  |   0
 .../arch/x86 => x86/include}/rte_byteorder.h  |   0
 .../x86 => x86/include}/rte_byteorder_32.h    |   0
 .../x86 => x86/include}/rte_byteorder_64.h    |   0
 .../arch/x86 => x86/include}/rte_cpuflags.h   |   0
 .../arch/x86 => x86/include}/rte_cycles.h     |   0
 .../include/arch/x86 => x86/include}/rte_io.h |   0
 .../arch/x86 => x86/include}/rte_mcslock.h    |   0
 .../arch/x86 => x86/include}/rte_memcpy.h     |   0
 .../arch/x86 => x86/include}/rte_pause.h      |   0
 .../arch/x86 => x86/include}/rte_prefetch.h   |   0
 .../arch/x86 => x86/include}/rte_rtm.h        |   0
 .../arch/x86 => x86/include}/rte_rwlock.h     |   0
 .../arch/x86 => x86/include}/rte_spinlock.h   |   0
 .../arch/x86 => x86/include}/rte_ticketlock.h |   0
 .../arch/x86 => x86/include}/rte_vect.h       |   0
 lib/librte_eal/x86/meson.build                |  11 ++
 .../{common/arch => }/x86/rte_cpuflags.c      |   0
 .../{common/arch => }/x86/rte_cpuid.h         |   0
 .../{common/arch => }/x86/rte_cycles.c        |   0
 .../{common/arch => }/x86/rte_hypervisor.c    |   0
 .../{common/arch => }/x86/rte_spinlock.c      |   0
 lib/librte_kvargs/Makefile                    |   2 +-
 license/exceptions.txt                        |   6 +-
 meson.build                                   |   4 +-
 mk/arch/ppc_64/rte.vars.mk                    |   1 +
 mk/exec-env/freebsd/rte.vars.mk               |   2 +-
 mk/exec-env/linux/rte.vars.mk                 |   2 +-
 223 files changed, 480 insertions(+), 508 deletions(-)
 rename config/{ppc_64 => ppc}/meson.build (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/meson.build (79%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_atomic.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_atomic_32.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_atomic_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_byteorder.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cpuflags.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cpuflags_32.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cpuflags_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cycles.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cycles_32.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cycles_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_io.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_io_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_mcslock.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_memcpy.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_memcpy_32.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_memcpy_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_pause.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_pause_32.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_pause_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_prefetch.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_prefetch_32.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_prefetch_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_rwlock.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_spinlock.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_ticketlock.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_vect.h (100%)
 create mode 100644 lib/librte_eal/arm/meson.build
 rename lib/librte_eal/{common/arch => }/arm/rte_cpuflags.c (100%)
 rename lib/librte_eal/{common/arch => }/arm/rte_cycles.c (100%)
 rename lib/librte_eal/{common/arch => }/arm/rte_hypervisor.c (100%)
 delete mode 100644 lib/librte_eal/common/Makefile
 delete mode 100644 lib/librte_eal/common/arch/arm/meson.build
 delete mode 100644 lib/librte_eal/common/arch/ppc_64/meson.build
 delete mode 100644 lib/librte_eal/common/arch/x86/meson.build
 delete mode 100644 lib/librte_eal/freebsd/BSDmakefile.meson
 rename lib/librte_eal/freebsd/{eal => }/eal.c (100%)
 delete mode 100644 lib/librte_eal/freebsd/eal/Makefile
 delete mode 100644 lib/librte_eal/freebsd/eal/meson.build
 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%)
 create mode 100644 lib/librte_eal/freebsd/meson.build
 create mode 100644 lib/librte_eal/include/Makefile
 rename lib/librte_eal/{common => }/include/generic/rte_atomic.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_byteorder.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_cpuflags.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_cycles.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_io.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_mcslock.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_memcpy.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_pause.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_prefetch.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_rwlock.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_spinlock.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_ticketlock.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_vect.h (100%)
 create mode 100644 lib/librte_eal/include/meson.build
 rename lib/librte_eal/{common => }/include/rte_alarm.h (100%)
 rename lib/librte_eal/{common => }/include/rte_bitmap.h (100%)
 rename lib/librte_eal/{common => }/include/rte_branch_prediction.h (100%)
 rename lib/librte_eal/{common => }/include/rte_bus.h (100%)
 rename lib/librte_eal/{common => }/include/rte_class.h (100%)
 rename lib/librte_eal/{common => }/include/rte_common.h (100%)
 rename lib/librte_eal/{common => }/include/rte_compat.h (100%)
 rename lib/librte_eal/{common => }/include/rte_debug.h (100%)
 rename lib/librte_eal/{common => }/include/rte_dev.h (100%)
 rename lib/librte_eal/{common => }/include/rte_devargs.h (100%)
 rename lib/librte_eal/{common => }/include/rte_eal.h (100%)
 rename lib/librte_eal/{common => }/include/rte_eal_interrupts.h (100%)
 rename lib/librte_eal/{common => }/include/rte_eal_memconfig.h (100%)
 rename lib/librte_eal/{common => }/include/rte_errno.h (100%)
 rename lib/librte_eal/{common => }/include/rte_fbarray.h (100%)
 rename lib/librte_eal/{common => }/include/rte_function_versioning.h (100%)
 rename lib/librte_eal/{common => }/include/rte_hexdump.h (100%)
 rename lib/librte_eal/{common => }/include/rte_hypervisor.h (100%)
 rename lib/librte_eal/{common => }/include/rte_interrupts.h (100%)
 rename lib/librte_eal/{common => }/include/rte_keepalive.h (100%)
 rename lib/librte_eal/{common => }/include/rte_launch.h (100%)
 rename lib/librte_eal/{common => }/include/rte_lcore.h (100%)
 rename lib/librte_eal/{common => }/include/rte_log.h (100%)
 rename lib/librte_eal/{common => }/include/rte_malloc.h (100%)
 rename lib/librte_eal/{common => }/include/rte_memory.h (100%)
 rename lib/librte_eal/{common => }/include/rte_memzone.h (100%)
 rename lib/librte_eal/{common => }/include/rte_option.h (100%)
 rename lib/librte_eal/{common => }/include/rte_pci_dev_feature_defs.h (100%)
 rename lib/librte_eal/{common => }/include/rte_pci_dev_features.h (100%)
 rename lib/librte_eal/{common => }/include/rte_per_lcore.h (100%)
 rename lib/librte_eal/{common => }/include/rte_random.h (100%)
 rename lib/librte_eal/{common => }/include/rte_reciprocal.h (100%)
 rename lib/librte_eal/{common => }/include/rte_service.h (100%)
 rename lib/librte_eal/{common => }/include/rte_service_component.h (100%)
 rename lib/librte_eal/{common => }/include/rte_string_fns.h (100%)
 rename lib/librte_eal/{common => }/include/rte_tailq.h (100%)
 rename lib/librte_eal/{common => }/include/rte_test.h (100%)
 rename lib/librte_eal/{common => }/include/rte_time.h (100%)
 rename lib/librte_eal/{common => }/include/rte_uuid.h (100%)
 rename lib/librte_eal/{common => }/include/rte_version.h (100%)
 rename lib/librte_eal/{common => }/include/rte_vfio.h (100%)
 rename lib/librte_eal/linux/{eal => }/eal.c (100%)
 delete mode 100644 lib/librte_eal/linux/eal/Makefile
 delete mode 100644 lib/librte_eal/linux/eal/meson.build
 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%)
 create mode 100644 lib/librte_eal/linux/meson.build
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/meson.build (67%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_atomic.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_byteorder.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_cpuflags.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_cycles.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_io.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_mcslock.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_memcpy.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_pause.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_prefetch.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_rwlock.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_spinlock.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_ticketlock.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_vect.h (100%)
 create mode 100644 lib/librte_eal/ppc/meson.build
 rename lib/librte_eal/{common/arch/ppc_64 => ppc}/rte_cpuflags.c (100%)
 rename lib/librte_eal/{common/arch/ppc_64 => ppc}/rte_cycles.c (100%)
 rename lib/librte_eal/{common/arch/ppc_64 => ppc}/rte_hypervisor.c (100%)
 rename lib/librte_eal/windows/{eal => }/eal.c (100%)
 delete mode 100644 lib/librte_eal/windows/eal/meson.build
 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%)
 create mode 100644 lib/librte_eal/windows/meson.build
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/meson.build (73%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_atomic.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_atomic_32.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_atomic_64.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_byteorder.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_byteorder_32.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_byteorder_64.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_cpuflags.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_cycles.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_io.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_mcslock.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_memcpy.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_pause.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_prefetch.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_rtm.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_rwlock.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_spinlock.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_ticketlock.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_vect.h (100%)
 create mode 100644 lib/librte_eal/x86/meson.build
 rename lib/librte_eal/{common/arch => }/x86/rte_cpuflags.c (100%)
 rename lib/librte_eal/{common/arch => }/x86/rte_cpuid.h (100%)
 rename lib/librte_eal/{common/arch => }/x86/rte_cycles.c (100%)
 rename lib/librte_eal/{common/arch => }/x86/rte_hypervisor.c (100%)
 rename lib/librte_eal/{common/arch => }/x86/rte_spinlock.c (100%)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [dpdk-dev] [PATCH v2 1/8] eal: remove useless makefiles
  2020-03-27  1:15 ` [dpdk-dev] [PATCH v2 0/8] " Thomas Monjalon
@ 2020-03-27  1:15   ` Thomas Monjalon
  2020-03-27 12:05     ` Bruce Richardson
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 2/8] build: rename ppc sub-directories Thomas Monjalon
                     ` (8 subsequent siblings)
  9 siblings, 1 reply; 22+ messages in thread
From: Thomas Monjalon @ 2020-03-27  1:15 UTC (permalink / raw)
  To: dev; +Cc: david.marchand, stable, Bruce Richardson, Hemant Agrawal

When moving files to the directory kernel/,
the file BSDmakefile.meson was left in eal/.

Also the intermediate makefiles in linux/ and freebsd/ became useless.

Fixes: acaa9ee991b5 ("move kernel modules directories")
Cc: stable@dpdk.org

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 MAINTAINERS                              |  1 -
 lib/librte_eal/Makefile                  |  4 ++--
 lib/librte_eal/freebsd/BSDmakefile.meson | 14 --------------
 lib/librte_eal/freebsd/Makefile          |  8 --------
 lib/librte_eal/linux/Makefile            | 11 -----------
 5 files changed, 2 insertions(+), 36 deletions(-)
 delete mode 100644 lib/librte_eal/freebsd/BSDmakefile.meson
 delete mode 100644 lib/librte_eal/freebsd/Makefile
 delete mode 100644 lib/librte_eal/linux/Makefile

diff --git a/MAINTAINERS b/MAINTAINERS
index c3785554fc..d30bb6e9dd 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -126,7 +126,6 @@ F: doc/guides/prog_guide/ext_app_lib_make_help.rst
 Meson build
 M: Bruce Richardson <bruce.richardson@intel.com>
 F: meson.build
-F: lib/librte_eal/freebsd/BSDmakefile.meson
 F: meson_options.txt
 F: config/rte_config.h
 F: buildtools/call-sphinx-build.py
diff --git a/lib/librte_eal/Makefile b/lib/librte_eal/Makefile
index 86434f5b31..9c383d42bd 100644
--- a/lib/librte_eal/Makefile
+++ b/lib/librte_eal/Makefile
@@ -4,9 +4,9 @@
 include $(RTE_SDK)/mk/rte.vars.mk
 
 DIRS-y += common
-DIRS-$(CONFIG_RTE_EXEC_ENV_LINUX) += linux
+DIRS-$(CONFIG_RTE_EXEC_ENV_LINUX) += linux/eal
 DEPDIRS-linux := common
-DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += freebsd
+DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += freebsd/eal
 DEPDIRS-freebsd := common
 
 include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/lib/librte_eal/freebsd/BSDmakefile.meson b/lib/librte_eal/freebsd/BSDmakefile.meson
deleted file mode 100644
index 53c4e79c61..0000000000
--- a/lib/librte_eal/freebsd/BSDmakefile.meson
+++ /dev/null
@@ -1,14 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright(c) 2017 Intel Corporation.
-
-# makefile for building kernel modules using meson
-# takes parameters from the environment
-
-# source file is passed via KMOD_SRC as full path, we only use final
-# component of it, as VPATH is used to find actual file, so as to
-# have the .o files placed in the build, not source directory
-VPATH = ${KMOD_SRC:H}
-SRCS = ${KMOD_SRC:T} device_if.h bus_if.h pci_if.h
-CFLAGS += $(KMOD_CFLAGS)
-
-.include <bsd.kmod.mk>
diff --git a/lib/librte_eal/freebsd/Makefile b/lib/librte_eal/freebsd/Makefile
deleted file mode 100644
index fc42058b6b..0000000000
--- a/lib/librte_eal/freebsd/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/lib/librte_eal/linux/Makefile b/lib/librte_eal/linux/Makefile
deleted file mode 100644
index 4c68bd61b8..0000000000
--- a/lib/librte_eal/linux/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal
-DEPDIRS-kni := eal
-
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
-include $(RTE_SDK)/mk/rte.subdir.mk
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [dpdk-dev] [PATCH v2 2/8] build: rename ppc sub-directories
  2020-03-27  1:15 ` [dpdk-dev] [PATCH v2 0/8] " Thomas Monjalon
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 1/8] eal: remove useless makefiles Thomas Monjalon
@ 2020-03-27  1:15   ` Thomas Monjalon
  2020-03-27 17:49     ` David Christensen
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 3/8] eal: move arch-specific C files Thomas Monjalon
                     ` (7 subsequent siblings)
  9 siblings, 1 reply; 22+ messages in thread
From: Thomas Monjalon @ 2020-03-27  1:15 UTC (permalink / raw)
  To: dev; +Cc: david.marchand, Maxime Coquelin, Zhihong Wang, Xiaolong Ye

The directories ppc_64 are renamed as ppc in
	- config/
	- lib/librte_eal/common/arch/
	- lib/librte_eal/common/include/arch/

The EAL directories are not really renamed, but symbolically linked,
because they will be moved with their new name in the next commits.

If ppc_32 needs to be supported, it can be in the same directory.
The arch directories arm and x86 are already covering both 32 and 64-bit
sub-architectures.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 config/meson.build                     | 2 +-
 config/{ppc_64 => ppc}/meson.build     | 0
 drivers/net/virtio/meson.build         | 2 +-
 lib/librte_eal/common/arch/ppc         | 1 +
 lib/librte_eal/common/include/arch/ppc | 1 +
 mk/arch/ppc_64/rte.vars.mk             | 1 +
 6 files changed, 5 insertions(+), 2 deletions(-)
 rename config/{ppc_64 => ppc}/meson.build (100%)
 create mode 120000 lib/librte_eal/common/arch/ppc
 create mode 120000 lib/librte_eal/common/include/arch/ppc

diff --git a/config/meson.build b/config/meson.build
index abedd76f23..58421342b1 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -234,7 +234,7 @@ if host_machine.cpu_family().startswith('x86')
 elif host_machine.cpu_family().startswith('arm') or host_machine.cpu_family().startswith('aarch')
 	arch_subdir = 'arm'
 elif host_machine.cpu_family().startswith('ppc')
-	arch_subdir = 'ppc_64'
+	arch_subdir = 'ppc'
 endif
 subdir(arch_subdir)
 dpdk_conf.set('RTE_COMPILE_TIME_CPUFLAGS', ','.join(compile_time_cpuflags))
diff --git a/config/ppc_64/meson.build b/config/ppc/meson.build
similarity index 100%
rename from config/ppc_64/meson.build
rename to config/ppc/meson.build
diff --git a/drivers/net/virtio/meson.build b/drivers/net/virtio/meson.build
index 04c7fdf25d..5e7ca855c8 100644
--- a/drivers/net/virtio/meson.build
+++ b/drivers/net/virtio/meson.build
@@ -11,7 +11,7 @@ deps += ['kvargs', 'bus_pci']
 
 if arch_subdir == 'x86'
 	sources += files('virtio_rxtx_simple_sse.c')
-elif arch_subdir == 'ppc_64'
+elif arch_subdir == 'ppc'
 	sources += files('virtio_rxtx_simple_altivec.c')
 elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64')
 	sources += files('virtio_rxtx_simple_neon.c')
diff --git a/lib/librte_eal/common/arch/ppc b/lib/librte_eal/common/arch/ppc
new file mode 120000
index 0000000000..2db6a0c918
--- /dev/null
+++ b/lib/librte_eal/common/arch/ppc
@@ -0,0 +1 @@
+ppc_64
\ No newline at end of file
diff --git a/lib/librte_eal/common/include/arch/ppc b/lib/librte_eal/common/include/arch/ppc
new file mode 120000
index 0000000000..2db6a0c918
--- /dev/null
+++ b/lib/librte_eal/common/include/arch/ppc
@@ -0,0 +1 @@
+ppc_64
\ No newline at end of file
diff --git a/mk/arch/ppc_64/rte.vars.mk b/mk/arch/ppc_64/rte.vars.mk
index 39f5728fe8..9f7ab22f42 100644
--- a/mk/arch/ppc_64/rte.vars.mk
+++ b/mk/arch/ppc_64/rte.vars.mk
@@ -2,6 +2,7 @@
 # Copyright (C) IBM Corporation 2014.
 
 ARCH  ?= powerpc
+ARCH_DIR := ppc
 CROSS ?=
 
 CPU_CFLAGS  ?= -m64
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [dpdk-dev] [PATCH v2 3/8] eal: move arch-specific C files
  2020-03-27  1:15 ` [dpdk-dev] [PATCH v2 0/8] " Thomas Monjalon
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 1/8] eal: remove useless makefiles Thomas Monjalon
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 2/8] build: rename ppc sub-directories Thomas Monjalon
@ 2020-03-27  1:15   ` Thomas Monjalon
  2020-03-27 17:46     ` David Christensen
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 4/8] eal: move arch-specific header files Thomas Monjalon
                     ` (6 subsequent siblings)
  9 siblings, 1 reply; 22+ messages in thread
From: Thomas Monjalon @ 2020-03-27  1:15 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, Jan Viktorin, Gavin Hu, Bruce Richardson,
	David Christensen, Konstantin Ananyev

The arch-specific directories arm, ppc and x86 in common/arch/
are moved at the same level as the OS-specific directories.
It makes more clear that EAL is covering a matrix combining OS and arch.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 MAINTAINERS                                              | 6 +++---
 devtools/build-tags.sh                                   | 7 +++----
 lib/librte_eal/arm/meson.build                           | 8 ++++++++
 lib/librte_eal/{common/arch => }/arm/rte_cpuflags.c      | 0
 lib/librte_eal/{common/arch => }/arm/rte_cycles.c        | 0
 lib/librte_eal/{common/arch => }/arm/rte_hypervisor.c    | 0
 lib/librte_eal/common/arch/arm/meson.build               | 5 -----
 lib/librte_eal/common/arch/ppc                           | 1 -
 lib/librte_eal/common/arch/x86/meson.build               | 5 -----
 lib/librte_eal/common/meson.build                        | 7 -------
 lib/librte_eal/freebsd/eal/Makefile                      | 2 +-
 lib/librte_eal/linux/eal/Makefile                        | 2 +-
 lib/librte_eal/meson.build                               | 4 +++-
 lib/librte_eal/{common/arch/ppc_64 => ppc}/meson.build   | 7 +++++--
 .../{common/arch/ppc_64 => ppc}/rte_cpuflags.c           | 0
 lib/librte_eal/{common/arch/ppc_64 => ppc}/rte_cycles.c  | 0
 .../{common/arch/ppc_64 => ppc}/rte_hypervisor.c         | 0
 lib/librte_eal/x86/meson.build                           | 9 +++++++++
 lib/librte_eal/{common/arch => }/x86/rte_cpuflags.c      | 0
 lib/librte_eal/{common/arch => }/x86/rte_cpuid.h         | 0
 lib/librte_eal/{common/arch => }/x86/rte_cycles.c        | 0
 lib/librte_eal/{common/arch => }/x86/rte_hypervisor.c    | 0
 lib/librte_eal/{common/arch => }/x86/rte_spinlock.c      | 0
 23 files changed, 33 insertions(+), 30 deletions(-)
 create mode 100644 lib/librte_eal/arm/meson.build
 rename lib/librte_eal/{common/arch => }/arm/rte_cpuflags.c (100%)
 rename lib/librte_eal/{common/arch => }/arm/rte_cycles.c (100%)
 rename lib/librte_eal/{common/arch => }/arm/rte_hypervisor.c (100%)
 delete mode 100644 lib/librte_eal/common/arch/arm/meson.build
 delete mode 120000 lib/librte_eal/common/arch/ppc
 delete mode 100644 lib/librte_eal/common/arch/x86/meson.build
 rename lib/librte_eal/{common/arch/ppc_64 => ppc}/meson.build (51%)
 rename lib/librte_eal/{common/arch/ppc_64 => ppc}/rte_cpuflags.c (100%)
 rename lib/librte_eal/{common/arch/ppc_64 => ppc}/rte_cycles.c (100%)
 rename lib/librte_eal/{common/arch/ppc_64 => ppc}/rte_hypervisor.c (100%)
 create mode 100644 lib/librte_eal/x86/meson.build
 rename lib/librte_eal/{common/arch => }/x86/rte_cpuflags.c (100%)
 rename lib/librte_eal/{common/arch => }/x86/rte_cpuid.h (100%)
 rename lib/librte_eal/{common/arch => }/x86/rte_cycles.c (100%)
 rename lib/librte_eal/{common/arch => }/x86/rte_hypervisor.c (100%)
 rename lib/librte_eal/{common/arch => }/x86/rte_spinlock.c (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index d30bb6e9dd..a1f1a22833 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -261,7 +261,7 @@ F: app/test/test_rand_perf.c
 ARM v7
 M: Jan Viktorin <viktorin@rehivetech.com>
 M: Gavin Hu <gavin.hu@arm.com>
-F: lib/librte_eal/common/arch/arm/
+F: lib/librte_eal/arm/
 F: lib/librte_eal/common/include/arch/arm/
 
 ARM v8
@@ -281,7 +281,7 @@ F: drivers/net/virtio/virtio_rxtx_simple_neon.c
 
 IBM POWER (alpha)
 M: David Christensen <drc@linux.vnet.ibm.com>
-F: lib/librte_eal/common/arch/ppc_64/
+F: lib/librte_eal/ppc/
 F: lib/librte_eal/common/include/arch/ppc_64/
 F: drivers/net/i40e/i40e_rxtx_vec_altivec.c
 F: examples/l3fwd/*altivec.h
@@ -289,7 +289,7 @@ F: examples/l3fwd/*altivec.h
 Intel x86
 M: Bruce Richardson <bruce.richardson@intel.com>
 M: Konstantin Ananyev <konstantin.ananyev@intel.com>
-F: lib/librte_eal/common/arch/x86/
+F: lib/librte_eal/x86/
 F: lib/librte_eal/common/include/arch/x86/
 
 Linux EAL (with overlaps)
diff --git a/devtools/build-tags.sh b/devtools/build-tags.sh
index dc037f92b3..8221f90f70 100755
--- a/devtools/build-tags.sh
+++ b/devtools/build-tags.sh
@@ -79,7 +79,7 @@ bsd_sources()
 
 arm_common()
 {
-	find_sources "lib/librte_eal/common/arch/arm" '*.[chS]'
+	find_sources "lib/librte_eal/arm" '*.[chS]'
 	find_sources "$source_dirs" '*neon*.[chS]'
 }
 
@@ -100,8 +100,7 @@ arm_64_sources()
 
 x86_common()
 {
-	find_sources "lib/librte_eal/common/arch/x86" '*.[chS]'
-
+	find_sources "lib/librte_eal/x86" '*.[chS]'
 	find_sources "examples/performance-thread/common/arch/x86" '*.[chS]'
 	find_sources "$source_dirs" '*_sse*.[chS]'
 	find_sources "$source_dirs" '*_avx*.[chS]'
@@ -124,7 +123,7 @@ x86_64_sources()
 
 ppc_64_sources()
 {
-	find_sources "lib/librte_eal/common/arch/ppc_64" '*.[chS]'
+	find_sources "lib/librte_eal/ppc" '*.[chS]'
 	find_sources "lib/librte_eal/common/include/arch/ppc_64" '*.[chS]'
 	find_sources "$source_dirs" '*altivec*.[chS]'
 }
diff --git a/lib/librte_eal/arm/meson.build b/lib/librte_eal/arm/meson.build
new file mode 100644
index 0000000000..f8f7dea9b2
--- /dev/null
+++ b/lib/librte_eal/arm/meson.build
@@ -0,0 +1,8 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Intel Corporation.
+
+sources += files(
+	'rte_cpuflags.c',
+	'rte_cycles.c',
+	'rte_hypervisor.c',
+)
diff --git a/lib/librte_eal/common/arch/arm/rte_cpuflags.c b/lib/librte_eal/arm/rte_cpuflags.c
similarity index 100%
rename from lib/librte_eal/common/arch/arm/rte_cpuflags.c
rename to lib/librte_eal/arm/rte_cpuflags.c
diff --git a/lib/librte_eal/common/arch/arm/rte_cycles.c b/lib/librte_eal/arm/rte_cycles.c
similarity index 100%
rename from lib/librte_eal/common/arch/arm/rte_cycles.c
rename to lib/librte_eal/arm/rte_cycles.c
diff --git a/lib/librte_eal/common/arch/arm/rte_hypervisor.c b/lib/librte_eal/arm/rte_hypervisor.c
similarity index 100%
rename from lib/librte_eal/common/arch/arm/rte_hypervisor.c
rename to lib/librte_eal/arm/rte_hypervisor.c
diff --git a/lib/librte_eal/common/arch/arm/meson.build b/lib/librte_eal/common/arch/arm/meson.build
deleted file mode 100644
index 79731e1a2c..0000000000
--- a/lib/librte_eal/common/arch/arm/meson.build
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation.
-
-eal_common_arch_sources = files('rte_cpuflags.c',
-	'rte_cycles.c', 'rte_hypervisor.c')
diff --git a/lib/librte_eal/common/arch/ppc b/lib/librte_eal/common/arch/ppc
deleted file mode 120000
index 2db6a0c918..0000000000
--- a/lib/librte_eal/common/arch/ppc
+++ /dev/null
@@ -1 +0,0 @@
-ppc_64
\ No newline at end of file
diff --git a/lib/librte_eal/common/arch/x86/meson.build b/lib/librte_eal/common/arch/x86/meson.build
deleted file mode 100644
index 14bf204c6f..0000000000
--- a/lib/librte_eal/common/arch/x86/meson.build
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-eal_common_arch_sources = files('rte_spinlock.c', 'rte_cpuflags.c',
-	'rte_cycles.c', 'rte_hypervisor.c')
diff --git a/lib/librte_eal/common/meson.build b/lib/librte_eal/common/meson.build
index 2b97715a20..e666618f7f 100644
--- a/lib/librte_eal/common/meson.build
+++ b/lib/librte_eal/common/meson.build
@@ -41,13 +41,6 @@ common_sources = files(
 	'rte_service.c'
 )
 
-# get architecture specific sources and objs
-eal_common_arch_sources = []
-eal_common_arch_objs = []
-subdir(join_paths('arch', arch_subdir))
-common_sources += eal_common_arch_sources
-common_objs += eal_common_arch_objs
-
 common_headers = files(
 	'include/rte_alarm.h',
 	'include/rte_branch_prediction.h',
diff --git a/lib/librte_eal/freebsd/eal/Makefile b/lib/librte_eal/freebsd/eal/Makefile
index b160b57906..e3023f24fa 100644
--- a/lib/librte_eal/freebsd/eal/Makefile
+++ b/lib/librte_eal/freebsd/eal/Makefile
@@ -7,7 +7,7 @@ LIB = librte_eal.a
 
 ARCH_DIR ?= $(RTE_ARCH)
 VPATH += $(RTE_SDK)/lib/librte_eal/common
-VPATH += $(RTE_SDK)/lib/librte_eal/common/arch/$(ARCH_DIR)
+VPATH += $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)
 
 CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -I$(SRCDIR)/include
diff --git a/lib/librte_eal/linux/eal/Makefile b/lib/librte_eal/linux/eal/Makefile
index e70cf104a4..177b7c45da 100644
--- a/lib/librte_eal/linux/eal/Makefile
+++ b/lib/librte_eal/linux/eal/Makefile
@@ -8,7 +8,7 @@ LIB = librte_eal.a
 ARCH_DIR ?= $(RTE_ARCH)
 
 EXPORT_MAP := ../../rte_eal_version.map
-VPATH += $(RTE_SDK)/lib/librte_eal/common/arch/$(ARCH_DIR)
+VPATH += $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)
 
 VPATH += $(RTE_SDK)/lib/librte_eal/common
 
diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build
index 1730d603fc..16a4f9825e 100644
--- a/lib/librte_eal/meson.build
+++ b/lib/librte_eal/meson.build
@@ -12,6 +12,8 @@ subdir('common') # defines common_sources, common_objs, etc.
 dpdk_conf.set('RTE_EXEC_ENV_' + exec_env.to_upper(), 1)
 subdir(exec_env + '/eal')
 
+subdir(arch_subdir)
+
 allow_experimental_apis = true
 deps += 'kvargs'
 if dpdk_conf.has('RTE_USE_LIBBSD')
@@ -23,7 +25,7 @@ endif
 if cc.has_header('getopt.h')
 	cflags += ['-DHAVE_GETOPT_H', '-DHAVE_GETOPT', '-DHAVE_GETOPT_LONG']
 endif
-sources = common_sources + env_sources
+sources += common_sources + env_sources
 objs = common_objs + env_objs
 headers = common_headers + env_headers
 includes = eal_inc
diff --git a/lib/librte_eal/common/arch/ppc_64/meson.build b/lib/librte_eal/ppc/meson.build
similarity index 51%
rename from lib/librte_eal/common/arch/ppc_64/meson.build
rename to lib/librte_eal/ppc/meson.build
index 40b3dc533a..695b171516 100644
--- a/lib/librte_eal/common/arch/ppc_64/meson.build
+++ b/lib/librte_eal/ppc/meson.build
@@ -1,5 +1,8 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
 
-eal_common_arch_sources = files('rte_cpuflags.c',
-	'rte_cycles.c', 'rte_hypervisor.c')
+sources += files(
+	'rte_cpuflags.c',
+	'rte_cycles.c',
+	'rte_hypervisor.c',
+)
diff --git a/lib/librte_eal/common/arch/ppc_64/rte_cpuflags.c b/lib/librte_eal/ppc/rte_cpuflags.c
similarity index 100%
rename from lib/librte_eal/common/arch/ppc_64/rte_cpuflags.c
rename to lib/librte_eal/ppc/rte_cpuflags.c
diff --git a/lib/librte_eal/common/arch/ppc_64/rte_cycles.c b/lib/librte_eal/ppc/rte_cycles.c
similarity index 100%
rename from lib/librte_eal/common/arch/ppc_64/rte_cycles.c
rename to lib/librte_eal/ppc/rte_cycles.c
diff --git a/lib/librte_eal/common/arch/ppc_64/rte_hypervisor.c b/lib/librte_eal/ppc/rte_hypervisor.c
similarity index 100%
rename from lib/librte_eal/common/arch/ppc_64/rte_hypervisor.c
rename to lib/librte_eal/ppc/rte_hypervisor.c
diff --git a/lib/librte_eal/x86/meson.build b/lib/librte_eal/x86/meson.build
new file mode 100644
index 0000000000..252699eebd
--- /dev/null
+++ b/lib/librte_eal/x86/meson.build
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Intel Corporation
+
+sources += files(
+	'rte_cpuflags.c',
+	'rte_cycles.c',
+	'rte_hypervisor.c',
+	'rte_spinlock.c',
+)
diff --git a/lib/librte_eal/common/arch/x86/rte_cpuflags.c b/lib/librte_eal/x86/rte_cpuflags.c
similarity index 100%
rename from lib/librte_eal/common/arch/x86/rte_cpuflags.c
rename to lib/librte_eal/x86/rte_cpuflags.c
diff --git a/lib/librte_eal/common/arch/x86/rte_cpuid.h b/lib/librte_eal/x86/rte_cpuid.h
similarity index 100%
rename from lib/librte_eal/common/arch/x86/rte_cpuid.h
rename to lib/librte_eal/x86/rte_cpuid.h
diff --git a/lib/librte_eal/common/arch/x86/rte_cycles.c b/lib/librte_eal/x86/rte_cycles.c
similarity index 100%
rename from lib/librte_eal/common/arch/x86/rte_cycles.c
rename to lib/librte_eal/x86/rte_cycles.c
diff --git a/lib/librte_eal/common/arch/x86/rte_hypervisor.c b/lib/librte_eal/x86/rte_hypervisor.c
similarity index 100%
rename from lib/librte_eal/common/arch/x86/rte_hypervisor.c
rename to lib/librte_eal/x86/rte_hypervisor.c
diff --git a/lib/librte_eal/common/arch/x86/rte_spinlock.c b/lib/librte_eal/x86/rte_spinlock.c
similarity index 100%
rename from lib/librte_eal/common/arch/x86/rte_spinlock.c
rename to lib/librte_eal/x86/rte_spinlock.c
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [dpdk-dev] [PATCH v2 4/8] eal: move arch-specific header files
  2020-03-27  1:15 ` [dpdk-dev] [PATCH v2 0/8] " Thomas Monjalon
                     ` (2 preceding siblings ...)
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 3/8] eal: move arch-specific C files Thomas Monjalon
@ 2020-03-27  1:15   ` Thomas Monjalon
  2020-03-27  2:39     ` Gavin Hu
  2020-03-27 17:47     ` David Christensen
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 5/8] eal: simplify meson build of common directory Thomas Monjalon
                     ` (5 subsequent siblings)
  9 siblings, 2 replies; 22+ messages in thread
From: Thomas Monjalon @ 2020-03-27  1:15 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, Jan Viktorin, Gavin Hu, Jerin Jacob,
	David Christensen, Bruce Richardson, Konstantin Ananyev

The arch-specific directories arm, ppc and x86 in common/include/arch/
are moved as include/ sub-directories of respective arch directories:
	- arm/include/
	- ppc/include/
	- x86/include/

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 MAINTAINERS                                           | 10 +++-------
 config/arm/meson.build                                |  2 +-
 config/common_armv8a_linux                            |  2 +-
 devtools/build-tags.sh                                | 11 ++++-------
 .../include/arch/arm => arm/include}/meson.build      |  7 +++++--
 .../include/arch/arm => arm/include}/rte_atomic.h     |  0
 .../include/arch/arm => arm/include}/rte_atomic_32.h  |  0
 .../include/arch/arm => arm/include}/rte_atomic_64.h  |  0
 .../include/arch/arm => arm/include}/rte_byteorder.h  |  0
 .../include/arch/arm => arm/include}/rte_cpuflags.h   |  0
 .../arch/arm => arm/include}/rte_cpuflags_32.h        |  0
 .../arch/arm => arm/include}/rte_cpuflags_64.h        |  0
 .../include/arch/arm => arm/include}/rte_cycles.h     |  0
 .../include/arch/arm => arm/include}/rte_cycles_32.h  |  0
 .../include/arch/arm => arm/include}/rte_cycles_64.h  |  0
 .../{common/include/arch/arm => arm/include}/rte_io.h |  0
 .../include/arch/arm => arm/include}/rte_io_64.h      |  0
 .../include/arch/arm => arm/include}/rte_mcslock.h    |  0
 .../include/arch/arm => arm/include}/rte_memcpy.h     |  0
 .../include/arch/arm => arm/include}/rte_memcpy_32.h  |  0
 .../include/arch/arm => arm/include}/rte_memcpy_64.h  |  0
 .../include/arch/arm => arm/include}/rte_pause.h      |  0
 .../include/arch/arm => arm/include}/rte_pause_32.h   |  0
 .../include/arch/arm => arm/include}/rte_pause_64.h   |  0
 .../include/arch/arm => arm/include}/rte_prefetch.h   |  0
 .../arch/arm => arm/include}/rte_prefetch_32.h        |  0
 .../arch/arm => arm/include}/rte_prefetch_64.h        |  0
 .../include/arch/arm => arm/include}/rte_rwlock.h     |  0
 .../include/arch/arm => arm/include}/rte_spinlock.h   |  0
 .../include/arch/arm => arm/include}/rte_ticketlock.h |  0
 .../include/arch/arm => arm/include}/rte_vect.h       |  0
 lib/librte_eal/arm/meson.build                        |  2 ++
 lib/librte_eal/common/Makefile                        |  4 ++--
 lib/librte_eal/common/include/arch/ppc                |  1 -
 lib/librte_eal/common/meson.build                     |  6 +-----
 lib/librte_eal/meson.build                            |  2 +-
 .../include/arch/ppc_64 => ppc/include}/meson.build   |  7 +++++--
 .../include/arch/ppc_64 => ppc/include}/rte_atomic.h  |  0
 .../arch/ppc_64 => ppc/include}/rte_byteorder.h       |  0
 .../arch/ppc_64 => ppc/include}/rte_cpuflags.h        |  0
 .../include/arch/ppc_64 => ppc/include}/rte_cycles.h  |  0
 .../include/arch/ppc_64 => ppc/include}/rte_io.h      |  0
 .../include/arch/ppc_64 => ppc/include}/rte_mcslock.h |  0
 .../include/arch/ppc_64 => ppc/include}/rte_memcpy.h  |  0
 .../include/arch/ppc_64 => ppc/include}/rte_pause.h   |  0
 .../arch/ppc_64 => ppc/include}/rte_prefetch.h        |  0
 .../include/arch/ppc_64 => ppc/include}/rte_rwlock.h  |  0
 .../arch/ppc_64 => ppc/include}/rte_spinlock.h        |  0
 .../arch/ppc_64 => ppc/include}/rte_ticketlock.h      |  0
 .../include/arch/ppc_64 => ppc/include}/rte_vect.h    |  0
 lib/librte_eal/ppc/meson.build                        |  2 ++
 .../include/arch/x86 => x86/include}/meson.build      |  7 +++++--
 .../include/arch/x86 => x86/include}/rte_atomic.h     |  0
 .../include/arch/x86 => x86/include}/rte_atomic_32.h  |  0
 .../include/arch/x86 => x86/include}/rte_atomic_64.h  |  0
 .../include/arch/x86 => x86/include}/rte_byteorder.h  |  0
 .../arch/x86 => x86/include}/rte_byteorder_32.h       |  0
 .../arch/x86 => x86/include}/rte_byteorder_64.h       |  0
 .../include/arch/x86 => x86/include}/rte_cpuflags.h   |  0
 .../include/arch/x86 => x86/include}/rte_cycles.h     |  0
 .../{common/include/arch/x86 => x86/include}/rte_io.h |  0
 .../include/arch/x86 => x86/include}/rte_mcslock.h    |  0
 .../include/arch/x86 => x86/include}/rte_memcpy.h     |  0
 .../include/arch/x86 => x86/include}/rte_pause.h      |  0
 .../include/arch/x86 => x86/include}/rte_prefetch.h   |  0
 .../include/arch/x86 => x86/include}/rte_rtm.h        |  0
 .../include/arch/x86 => x86/include}/rte_rwlock.h     |  0
 .../include/arch/x86 => x86/include}/rte_spinlock.h   |  0
 .../include/arch/x86 => x86/include}/rte_ticketlock.h |  0
 .../include/arch/x86 => x86/include}/rte_vect.h       |  0
 lib/librte_eal/x86/meson.build                        |  2 ++
 71 files changed, 34 insertions(+), 31 deletions(-)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/meson.build (79%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_atomic.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_atomic_32.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_atomic_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_byteorder.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cpuflags.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cpuflags_32.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cpuflags_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cycles.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cycles_32.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cycles_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_io.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_io_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_mcslock.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_memcpy.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_memcpy_32.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_memcpy_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_pause.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_pause_32.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_pause_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_prefetch.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_prefetch_32.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_prefetch_64.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_rwlock.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_spinlock.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_ticketlock.h (100%)
 rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_vect.h (100%)
 delete mode 120000 lib/librte_eal/common/include/arch/ppc
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/meson.build (67%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_atomic.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_byteorder.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_cpuflags.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_cycles.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_io.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_mcslock.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_memcpy.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_pause.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_prefetch.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_rwlock.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_spinlock.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_ticketlock.h (100%)
 rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_vect.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/meson.build (73%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_atomic.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_atomic_32.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_atomic_64.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_byteorder.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_byteorder_32.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_byteorder_64.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_cpuflags.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_cycles.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_io.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_mcslock.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_memcpy.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_pause.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_prefetch.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_rtm.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_rwlock.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_spinlock.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_ticketlock.h (100%)
 rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_vect.h (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index a1f1a22833..89aff59ccf 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -168,9 +168,8 @@ Environment Abstraction Layer
 T: git://dpdk.org/dpdk
 
 EAL API and common code
-F: lib/librte_eal/common/*
-F: lib/librte_eal/common/include/*
-F: lib/librte_eal/common/include/generic/
+F: lib/librte_eal/common/
+F: lib/librte_eal/common/include/
 F: lib/librte_eal/rte_eal_version.map
 F: doc/guides/prog_guide/env_abstraction_layer.rst
 F: app/test/test_alarm.c
@@ -262,12 +261,11 @@ ARM v7
 M: Jan Viktorin <viktorin@rehivetech.com>
 M: Gavin Hu <gavin.hu@arm.com>
 F: lib/librte_eal/arm/
-F: lib/librte_eal/common/include/arch/arm/
 
 ARM v8
 M: Jerin Jacob <jerinj@marvell.com>
 M: Gavin Hu <gavin.hu@arm.com>
-F: lib/librte_eal/common/include/arch/arm/*_64.h
+F: lib/librte_eal/arm/include/*_64.h
 F: lib/librte_net/net_crc_neon.h
 F: lib/librte_acl/acl_run_neon.*
 F: lib/librte_bpf/bpf_jit_arm64.c
@@ -282,7 +280,6 @@ F: drivers/net/virtio/virtio_rxtx_simple_neon.c
 IBM POWER (alpha)
 M: David Christensen <drc@linux.vnet.ibm.com>
 F: lib/librte_eal/ppc/
-F: lib/librte_eal/common/include/arch/ppc_64/
 F: drivers/net/i40e/i40e_rxtx_vec_altivec.c
 F: examples/l3fwd/*altivec.h
 
@@ -290,7 +287,6 @@ Intel x86
 M: Bruce Richardson <bruce.richardson@intel.com>
 M: Konstantin Ananyev <konstantin.ananyev@intel.com>
 F: lib/librte_eal/x86/
-F: lib/librte_eal/common/include/arch/x86/
 
 Linux EAL (with overlaps)
 F: lib/librte_eal/linux/Makefile
diff --git a/config/arm/meson.build b/config/arm/meson.build
index 7e22358358..6e75e6d97e 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -11,7 +11,7 @@ arm_force_default_march = (machine == 'default')
 flags_common_default = [
 	# Accelarate rte_memcpy. Be sure to run unit test (memcpy_perf_autotest)
 	# to determine the best threshold in code. Refer to notes in source file
-	# (lib/librte_eal/common/include/arch/arm/rte_memcpy_64.h) for more info.
+	# (lib/librte_eal/arm/include/rte_memcpy_64.h) for more info.
 	['RTE_ARCH_ARM64_MEMCPY', false],
 	#	['RTE_ARM64_MEMCPY_ALIGNED_THRESHOLD', 2048],
 	#	['RTE_ARM64_MEMCPY_UNALIGNED_THRESHOLD', 512],
diff --git a/config/common_armv8a_linux b/config/common_armv8a_linux
index 020f8f006c..e942657a0f 100644
--- a/config/common_armv8a_linux
+++ b/config/common_armv8a_linux
@@ -21,7 +21,7 @@ CONFIG_RTE_USE_C11_MEM_MODEL=y
 
 # Accelarate rte_memcpy. Be sure to run unit test (memcpy_perf_autotest)
 # to determine the best threshold in code. Refer to notes in source file
-# (lib/librte_eal/common/include/arch/arm/rte_memcpy_64.h) for more info.
+# (lib/librte_eal/arm/include/rte_memcpy_64.h) for more info.
 CONFIG_RTE_ARCH_ARM64_MEMCPY=n
 #CONFIG_RTE_ARM64_MEMCPY_ALIGNED_THRESHOLD=2048
 #CONFIG_RTE_ARM64_MEMCPY_UNALIGNED_THRESHOLD=512
diff --git a/devtools/build-tags.sh b/devtools/build-tags.sh
index 8221f90f70..276fff647b 100755
--- a/devtools/build-tags.sh
+++ b/devtools/build-tags.sh
@@ -79,28 +79,26 @@ bsd_sources()
 
 arm_common()
 {
-	find_sources "lib/librte_eal/arm" '*.[chS]'
 	find_sources "$source_dirs" '*neon*.[chS]'
 }
 
 arm_32_sources()
 {
 	arm_common
-	find_sources "lib/librte_eal/common/include/arch/arm" '*.[chS]' \
+	find_sources "lib/librte_eal/arm" '*.[chS]' \
 					"$skip_64b_files"
 }
 
 arm_64_sources()
 {
 	arm_common
-	find_sources "lib/librte_eal/common/include/arch/arm" '*.[chS]' \
+	find_sources "lib/librte_eal/arm" '*.[chS]' \
 					 "$skip_32b_files"
 	find_sources "$source_dirs" '*arm64.[chS]'
 }
 
 x86_common()
 {
-	find_sources "lib/librte_eal/x86" '*.[chS]'
 	find_sources "examples/performance-thread/common/arch/x86" '*.[chS]'
 	find_sources "$source_dirs" '*_sse*.[chS]'
 	find_sources "$source_dirs" '*_avx*.[chS]'
@@ -110,21 +108,20 @@ x86_common()
 x86_32_sources()
 {
 	x86_common
-	find_sources "lib/librte_eal/common/include/arch/x86" '*.[chS]' \
+	find_sources "lib/librte_eal/x86" '*.[chS]' \
 					"$skip_64b_files"
 }
 
 x86_64_sources()
 {
 	x86_common
-	find_sources "lib/librte_eal/common/include/arch/x86" '*.[chS]' \
+	find_sources "lib/librte_eal/x86" '*.[chS]' \
 					"$skip_32b_files"
 }
 
 ppc_64_sources()
 {
 	find_sources "lib/librte_eal/ppc" '*.[chS]'
-	find_sources "lib/librte_eal/common/include/arch/ppc_64" '*.[chS]'
 	find_sources "$source_dirs" '*altivec*.[chS]'
 }
 
diff --git a/lib/librte_eal/common/include/arch/arm/meson.build b/lib/librte_eal/arm/include/meson.build
similarity index 79%
rename from lib/librte_eal/common/include/arch/arm/meson.build
rename to lib/librte_eal/arm/include/meson.build
index 77893fa359..1721743240 100644
--- a/lib/librte_eal/common/include/arch/arm/meson.build
+++ b/lib/librte_eal/arm/include/meson.build
@@ -1,7 +1,9 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation.
 
-install_headers(
+includes += include_directories('.')
+
+arch_headers = files(
 	'rte_atomic_32.h',
 	'rte_atomic_64.h',
 	'rte_atomic.h',
@@ -26,4 +28,5 @@ install_headers(
 	'rte_rwlock.h',
 	'rte_spinlock.h',
 	'rte_vect.h',
-	subdir: get_option('include_subdir_arch'))
+)
+install_headers(arch_headers, subdir: get_option('include_subdir_arch'))
diff --git a/lib/librte_eal/common/include/arch/arm/rte_atomic.h b/lib/librte_eal/arm/include/rte_atomic.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_atomic.h
rename to lib/librte_eal/arm/include/rte_atomic.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_atomic_32.h b/lib/librte_eal/arm/include/rte_atomic_32.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_atomic_32.h
rename to lib/librte_eal/arm/include/rte_atomic_32.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h b/lib/librte_eal/arm/include/rte_atomic_64.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_atomic_64.h
rename to lib/librte_eal/arm/include/rte_atomic_64.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_byteorder.h b/lib/librte_eal/arm/include/rte_byteorder.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_byteorder.h
rename to lib/librte_eal/arm/include/rte_byteorder.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_cpuflags.h b/lib/librte_eal/arm/include/rte_cpuflags.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_cpuflags.h
rename to lib/librte_eal/arm/include/rte_cpuflags.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_cpuflags_32.h b/lib/librte_eal/arm/include/rte_cpuflags_32.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_cpuflags_32.h
rename to lib/librte_eal/arm/include/rte_cpuflags_32.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_cpuflags_64.h b/lib/librte_eal/arm/include/rte_cpuflags_64.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_cpuflags_64.h
rename to lib/librte_eal/arm/include/rte_cpuflags_64.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_cycles.h b/lib/librte_eal/arm/include/rte_cycles.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_cycles.h
rename to lib/librte_eal/arm/include/rte_cycles.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_cycles_32.h b/lib/librte_eal/arm/include/rte_cycles_32.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_cycles_32.h
rename to lib/librte_eal/arm/include/rte_cycles_32.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_cycles_64.h b/lib/librte_eal/arm/include/rte_cycles_64.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_cycles_64.h
rename to lib/librte_eal/arm/include/rte_cycles_64.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_io.h b/lib/librte_eal/arm/include/rte_io.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_io.h
rename to lib/librte_eal/arm/include/rte_io.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_io_64.h b/lib/librte_eal/arm/include/rte_io_64.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_io_64.h
rename to lib/librte_eal/arm/include/rte_io_64.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_mcslock.h b/lib/librte_eal/arm/include/rte_mcslock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_mcslock.h
rename to lib/librte_eal/arm/include/rte_mcslock.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_memcpy.h b/lib/librte_eal/arm/include/rte_memcpy.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_memcpy.h
rename to lib/librte_eal/arm/include/rte_memcpy.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_memcpy_32.h b/lib/librte_eal/arm/include/rte_memcpy_32.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_memcpy_32.h
rename to lib/librte_eal/arm/include/rte_memcpy_32.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_memcpy_64.h b/lib/librte_eal/arm/include/rte_memcpy_64.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_memcpy_64.h
rename to lib/librte_eal/arm/include/rte_memcpy_64.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_pause.h b/lib/librte_eal/arm/include/rte_pause.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_pause.h
rename to lib/librte_eal/arm/include/rte_pause.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_pause_32.h b/lib/librte_eal/arm/include/rte_pause_32.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_pause_32.h
rename to lib/librte_eal/arm/include/rte_pause_32.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_pause_64.h b/lib/librte_eal/arm/include/rte_pause_64.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_pause_64.h
rename to lib/librte_eal/arm/include/rte_pause_64.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_prefetch.h b/lib/librte_eal/arm/include/rte_prefetch.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_prefetch.h
rename to lib/librte_eal/arm/include/rte_prefetch.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_prefetch_32.h b/lib/librte_eal/arm/include/rte_prefetch_32.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_prefetch_32.h
rename to lib/librte_eal/arm/include/rte_prefetch_32.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_prefetch_64.h b/lib/librte_eal/arm/include/rte_prefetch_64.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_prefetch_64.h
rename to lib/librte_eal/arm/include/rte_prefetch_64.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_rwlock.h b/lib/librte_eal/arm/include/rte_rwlock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_rwlock.h
rename to lib/librte_eal/arm/include/rte_rwlock.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_spinlock.h b/lib/librte_eal/arm/include/rte_spinlock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_spinlock.h
rename to lib/librte_eal/arm/include/rte_spinlock.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_ticketlock.h b/lib/librte_eal/arm/include/rte_ticketlock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_ticketlock.h
rename to lib/librte_eal/arm/include/rte_ticketlock.h
diff --git a/lib/librte_eal/common/include/arch/arm/rte_vect.h b/lib/librte_eal/arm/include/rte_vect.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/arm/rte_vect.h
rename to lib/librte_eal/arm/include/rte_vect.h
diff --git a/lib/librte_eal/arm/meson.build b/lib/librte_eal/arm/meson.build
index f8f7dea9b2..d62875ebae 100644
--- a/lib/librte_eal/arm/meson.build
+++ b/lib/librte_eal/arm/meson.build
@@ -1,6 +1,8 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation.
 
+subdir('include')
+
 sources += files(
 	'rte_cpuflags.c',
 	'rte_cycles.c',
diff --git a/lib/librte_eal/common/Makefile b/lib/librte_eal/common/Makefile
index c2c6d92cd3..6c52f50106 100644
--- a/lib/librte_eal/common/Makefile
+++ b/lib/librte_eal/common/Makefile
@@ -27,11 +27,11 @@ GENERIC_INC += rte_vect.h rte_pause.h rte_io.h
 
 # defined in mk/arch/$(RTE_ARCH)/rte.vars.mk
 ARCH_DIR ?= $(RTE_ARCH)
-ARCH_INC := $(sort $(notdir $(wildcard $(RTE_SDK)/lib/librte_eal/common/include/arch/$(ARCH_DIR)/*.h)))
+ARCH_INC := $(sort $(notdir $(wildcard $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)/include/*.h)))
 
 SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include := $(addprefix include/,$(INC))
 SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include += \
-	$(addprefix include/arch/$(ARCH_DIR)/,$(ARCH_INC))
+	$(addprefix ../$(ARCH_DIR)/include/,$(ARCH_INC))
 SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include/generic := \
 	$(addprefix include/generic/,$(GENERIC_INC))
 
diff --git a/lib/librte_eal/common/include/arch/ppc b/lib/librte_eal/common/include/arch/ppc
deleted file mode 120000
index 2db6a0c918..0000000000
--- a/lib/librte_eal/common/include/arch/ppc
+++ /dev/null
@@ -1 +0,0 @@
-ppc_64
\ No newline at end of file
diff --git a/lib/librte_eal/common/meson.build b/lib/librte_eal/common/meson.build
index e666618f7f..94dfc5fe74 100644
--- a/lib/librte_eal/common/meson.build
+++ b/lib/librte_eal/common/meson.build
@@ -1,8 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-eal_inc += include_directories('.', 'include',
-		join_paths('include/arch', arch_subdir))
+eal_inc += include_directories('.', 'include')
 
 common_objs = []
 common_sources = files(
@@ -98,6 +97,3 @@ generic_headers = files(
 	'include/generic/rte_ticketlock.h',
 	'include/generic/rte_vect.h')
 install_headers(generic_headers, subdir: 'generic')
-
-# get and install the architecture specific headers
-subdir(join_paths('include/arch', arch_subdir))
diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build
index 16a4f9825e..0c3d46574e 100644
--- a/lib/librte_eal/meson.build
+++ b/lib/librte_eal/meson.build
@@ -28,4 +28,4 @@ endif
 sources += common_sources + env_sources
 objs = common_objs + env_objs
 headers = common_headers + env_headers
-includes = eal_inc
+includes += eal_inc
diff --git a/lib/librte_eal/common/include/arch/ppc_64/meson.build b/lib/librte_eal/ppc/include/meson.build
similarity index 67%
rename from lib/librte_eal/common/include/arch/ppc_64/meson.build
rename to lib/librte_eal/ppc/include/meson.build
index 00f9611768..3a91c984c4 100644
--- a/lib/librte_eal/common/include/arch/ppc_64/meson.build
+++ b/lib/librte_eal/ppc/include/meson.build
@@ -1,7 +1,9 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
 
-install_headers(
+includes += include_directories('.')
+
+arch_headers = files(
 	'rte_atomic.h',
 	'rte_byteorder.h',
 	'rte_cpuflags.h',
@@ -13,4 +15,5 @@ install_headers(
 	'rte_rwlock.h',
 	'rte_spinlock.h',
 	'rte_vect.h',
-	subdir: get_option('include_subdir_arch'))
+)
+install_headers(arch_headers, subdir: get_option('include_subdir_arch'))
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h b/lib/librte_eal/ppc/include/rte_atomic.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h
rename to lib/librte_eal/ppc/include/rte_atomic.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_byteorder.h b/lib/librte_eal/ppc/include/rte_byteorder.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_byteorder.h
rename to lib/librte_eal/ppc/include/rte_byteorder.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_cpuflags.h b/lib/librte_eal/ppc/include/rte_cpuflags.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_cpuflags.h
rename to lib/librte_eal/ppc/include/rte_cpuflags.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_cycles.h b/lib/librte_eal/ppc/include/rte_cycles.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_cycles.h
rename to lib/librte_eal/ppc/include/rte_cycles.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_io.h b/lib/librte_eal/ppc/include/rte_io.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_io.h
rename to lib/librte_eal/ppc/include/rte_io.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_mcslock.h b/lib/librte_eal/ppc/include/rte_mcslock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_mcslock.h
rename to lib/librte_eal/ppc/include/rte_mcslock.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_memcpy.h b/lib/librte_eal/ppc/include/rte_memcpy.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_memcpy.h
rename to lib/librte_eal/ppc/include/rte_memcpy.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h b/lib/librte_eal/ppc/include/rte_pause.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
rename to lib/librte_eal/ppc/include/rte_pause.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_prefetch.h b/lib/librte_eal/ppc/include/rte_prefetch.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_prefetch.h
rename to lib/librte_eal/ppc/include/rte_prefetch.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_rwlock.h b/lib/librte_eal/ppc/include/rte_rwlock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_rwlock.h
rename to lib/librte_eal/ppc/include/rte_rwlock.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_spinlock.h b/lib/librte_eal/ppc/include/rte_spinlock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_spinlock.h
rename to lib/librte_eal/ppc/include/rte_spinlock.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_ticketlock.h b/lib/librte_eal/ppc/include/rte_ticketlock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_ticketlock.h
rename to lib/librte_eal/ppc/include/rte_ticketlock.h
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_vect.h b/lib/librte_eal/ppc/include/rte_vect.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/ppc_64/rte_vect.h
rename to lib/librte_eal/ppc/include/rte_vect.h
diff --git a/lib/librte_eal/ppc/meson.build b/lib/librte_eal/ppc/meson.build
index 695b171516..f4b6d95c42 100644
--- a/lib/librte_eal/ppc/meson.build
+++ b/lib/librte_eal/ppc/meson.build
@@ -1,6 +1,8 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
 
+subdir('include')
+
 sources += files(
 	'rte_cpuflags.c',
 	'rte_cycles.c',
diff --git a/lib/librte_eal/common/include/arch/x86/meson.build b/lib/librte_eal/x86/include/meson.build
similarity index 73%
rename from lib/librte_eal/common/include/arch/x86/meson.build
rename to lib/librte_eal/x86/include/meson.build
index bc8ffea1ee..d336d522c0 100644
--- a/lib/librte_eal/common/include/arch/x86/meson.build
+++ b/lib/librte_eal/x86/include/meson.build
@@ -1,7 +1,9 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-install_headers(
+includes += include_directories('.')
+
+arch_headers = files(
 	'rte_atomic_32.h',
 	'rte_atomic_64.h',
 	'rte_atomic.h',
@@ -18,4 +20,5 @@ install_headers(
 	'rte_rwlock.h',
 	'rte_spinlock.h',
 	'rte_vect.h',
-	subdir: get_option('include_subdir_arch'))
+)
+install_headers(arch_headers, subdir: get_option('include_subdir_arch'))
diff --git a/lib/librte_eal/common/include/arch/x86/rte_atomic.h b/lib/librte_eal/x86/include/rte_atomic.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_atomic.h
rename to lib/librte_eal/x86/include/rte_atomic.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_atomic_32.h b/lib/librte_eal/x86/include/rte_atomic_32.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_atomic_32.h
rename to lib/librte_eal/x86/include/rte_atomic_32.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_atomic_64.h b/lib/librte_eal/x86/include/rte_atomic_64.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_atomic_64.h
rename to lib/librte_eal/x86/include/rte_atomic_64.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_byteorder.h b/lib/librte_eal/x86/include/rte_byteorder.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_byteorder.h
rename to lib/librte_eal/x86/include/rte_byteorder.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_byteorder_32.h b/lib/librte_eal/x86/include/rte_byteorder_32.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_byteorder_32.h
rename to lib/librte_eal/x86/include/rte_byteorder_32.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_byteorder_64.h b/lib/librte_eal/x86/include/rte_byteorder_64.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_byteorder_64.h
rename to lib/librte_eal/x86/include/rte_byteorder_64.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_cpuflags.h b/lib/librte_eal/x86/include/rte_cpuflags.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_cpuflags.h
rename to lib/librte_eal/x86/include/rte_cpuflags.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_cycles.h b/lib/librte_eal/x86/include/rte_cycles.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_cycles.h
rename to lib/librte_eal/x86/include/rte_cycles.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_io.h b/lib/librte_eal/x86/include/rte_io.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_io.h
rename to lib/librte_eal/x86/include/rte_io.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_mcslock.h b/lib/librte_eal/x86/include/rte_mcslock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_mcslock.h
rename to lib/librte_eal/x86/include/rte_mcslock.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_memcpy.h b/lib/librte_eal/x86/include/rte_memcpy.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_memcpy.h
rename to lib/librte_eal/x86/include/rte_memcpy.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_pause.h b/lib/librte_eal/x86/include/rte_pause.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_pause.h
rename to lib/librte_eal/x86/include/rte_pause.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_prefetch.h b/lib/librte_eal/x86/include/rte_prefetch.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_prefetch.h
rename to lib/librte_eal/x86/include/rte_prefetch.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_rtm.h b/lib/librte_eal/x86/include/rte_rtm.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_rtm.h
rename to lib/librte_eal/x86/include/rte_rtm.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_rwlock.h b/lib/librte_eal/x86/include/rte_rwlock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_rwlock.h
rename to lib/librte_eal/x86/include/rte_rwlock.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_spinlock.h b/lib/librte_eal/x86/include/rte_spinlock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_spinlock.h
rename to lib/librte_eal/x86/include/rte_spinlock.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_ticketlock.h b/lib/librte_eal/x86/include/rte_ticketlock.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_ticketlock.h
rename to lib/librte_eal/x86/include/rte_ticketlock.h
diff --git a/lib/librte_eal/common/include/arch/x86/rte_vect.h b/lib/librte_eal/x86/include/rte_vect.h
similarity index 100%
rename from lib/librte_eal/common/include/arch/x86/rte_vect.h
rename to lib/librte_eal/x86/include/rte_vect.h
diff --git a/lib/librte_eal/x86/meson.build b/lib/librte_eal/x86/meson.build
index 252699eebd..e78f29002e 100644
--- a/lib/librte_eal/x86/meson.build
+++ b/lib/librte_eal/x86/meson.build
@@ -1,6 +1,8 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+subdir('include')
+
 sources += files(
 	'rte_cpuflags.c',
 	'rte_cycles.c',
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [dpdk-dev] [PATCH v2 5/8] eal: simplify meson build of common directory
  2020-03-27  1:15 ` [dpdk-dev] [PATCH v2 0/8] " Thomas Monjalon
                     ` (3 preceding siblings ...)
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 4/8] eal: move arch-specific header files Thomas Monjalon
@ 2020-03-27  1:15   ` Thomas Monjalon
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 6/8] eal: move common header files Thomas Monjalon
                     ` (4 subsequent siblings)
  9 siblings, 0 replies; 22+ messages in thread
From: Thomas Monjalon @ 2020-03-27  1:15 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, Harini Ramakrishnan, Omar Cardona, Pallavi Kadam,
	Ranjit Menon

The variable common_sources allows to change the list of common files
from an arch-specific or OS-specific meson file.
For consistency and least surprise principle, this variable is removed.
Now the list of common sources is defined only in common/meson.build.
As a consequence, the temporary list of files which are currently supported
on Windows, is moved from windows/eal/meson.build.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 lib/librte_eal/common/meson.build      | 20 +++++++++++++++++---
 lib/librte_eal/meson.build             |  6 +++---
 lib/librte_eal/windows/eal/meson.build | 12 ------------
 3 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/lib/librte_eal/common/meson.build b/lib/librte_eal/common/meson.build
index 94dfc5fe74..5885441b48 100644
--- a/lib/librte_eal/common/meson.build
+++ b/lib/librte_eal/common/meson.build
@@ -3,8 +3,21 @@
 
 eal_inc += include_directories('.', 'include')
 
-common_objs = []
-common_sources = files(
+if is_windows
+	sources += files(
+		'eal_common_bus.c',
+		'eal_common_class.c',
+		'eal_common_devargs.c',
+		'eal_common_errno.c',
+		'eal_common_launch.c',
+		'eal_common_lcore.c',
+		'eal_common_log.c',
+		'eal_common_options.c',
+		'eal_common_thread.c',
+		'rte_option.c',
+	)
+else # temporary bad indent
+sources += files(
 	'eal_common_bus.c',
 	'eal_common_cpuflags.c',
 	'eal_common_class.c',
@@ -37,8 +50,9 @@ common_sources = files(
 	'rte_option.c',
 	'rte_random.c',
 	'rte_reciprocal.c',
-	'rte_service.c'
+	'rte_service.c',
 )
+endif
 
 common_headers = files(
 	'include/rte_alarm.h',
diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build
index 0c3d46574e..1fc532139b 100644
--- a/lib/librte_eal/meson.build
+++ b/lib/librte_eal/meson.build
@@ -5,7 +5,7 @@
 # have a straight list of headers and source files.
 # Initially pull in common settings
 eal_inc = [global_inc]
-subdir('common') # defines common_sources, common_objs, etc.
+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.
@@ -25,7 +25,7 @@ endif
 if cc.has_header('getopt.h')
 	cflags += ['-DHAVE_GETOPT_H', '-DHAVE_GETOPT', '-DHAVE_GETOPT_LONG']
 endif
-sources += common_sources + env_sources
-objs = common_objs + env_objs
+sources += env_sources
+objs = env_objs
 headers = common_headers + env_headers
 includes += eal_inc
diff --git a/lib/librte_eal/windows/eal/meson.build b/lib/librte_eal/windows/eal/meson.build
index 2a062c365e..46ccdb3343 100644
--- a/lib/librte_eal/windows/eal/meson.build
+++ b/lib/librte_eal/windows/eal/meson.build
@@ -7,18 +7,6 @@ env_objs = []
 env_headers = files(
 	'include/rte_os.h',
 )
-common_sources = files(
-	'../../common/eal_common_bus.c',
-	'../../common/eal_common_class.c',
-	'../../common/eal_common_devargs.c',
-	'../../common/eal_common_errno.c',
-	'../../common/eal_common_launch.c',
-	'../../common/eal_common_lcore.c',
-	'../../common/eal_common_log.c',
-	'../../common/eal_common_options.c',
-	'../../common/eal_common_thread.c',
-	'../../common/rte_option.c',
-)
 env_sources = files('eal.c',
 	'eal_debug.c',
 	'eal_lcore.c',
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [dpdk-dev] [PATCH v2 6/8] eal: move common header files
  2020-03-27  1:15 ` [dpdk-dev] [PATCH v2 0/8] " Thomas Monjalon
                     ` (4 preceding siblings ...)
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 5/8] eal: simplify meson build of common directory Thomas Monjalon
@ 2020-03-27  1:15   ` Thomas Monjalon
  2020-03-30 13:25     ` David Marchand
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 7/8] eal: move OS-specific sub-directories Thomas Monjalon
                     ` (3 subsequent siblings)
  9 siblings, 1 reply; 22+ messages in thread
From: Thomas Monjalon @ 2020-03-27  1:15 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, Neil Horman, John McNamara, Marko Kovacevic,
	Hemant Agrawal, Sachin Saxena, Matan Azrad, Shahaf Shuler,
	Viacheslav Ovsiienko, Gagandeep Singh, Akhil Goyal, Nipun Gupta,
	Ferruh Yigit, Cristian Dumitrescu, Harry van Haaren,
	Bruce Richardson, Phil Yang, Joyce Kong, Anatoly Burakov,
	Mattias Rönnblom, Olivier Matz

The EAL API (with doxygen documentation) is moved from
common/include/ to include/, which makes more clear that
it is the global API for all environments and architectures.

Note that the arch-specific and OS-specific include files are not
in this global include directory, but include/generic/ should
cover the doxygen documentation for them.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 MAINTAINERS                                   | 26 ++++----
 buildtools/pmdinfogen/meson.build             |  2 +-
 doc/api/doxy-api.conf.in                      |  4 +-
 doc/guides/rel_notes/known_issues.rst         |  2 +-
 drivers/bus/dpaa/Makefile                     |  2 +-
 drivers/common/mlx5/meson.build               |  2 +-
 drivers/crypto/caam_jr/Makefile               |  2 +-
 drivers/crypto/dpaa_sec/Makefile              |  2 +-
 drivers/event/dpaa/Makefile                   |  2 +-
 drivers/net/dpaa/Makefile                     |  2 +-
 kernel/linux/igb_uio/meson.build              |  2 +-
 kernel/linux/kni/meson.build                  |  2 +-
 lib/librte_cfgfile/Makefile                   |  2 +-
 lib/librte_eal/Makefile                       |  6 +-
 lib/librte_eal/common/Makefile                | 38 -----------
 lib/librte_eal/common/meson.build             | 65 ++-----------------
 lib/librte_eal/common/rte_service.c           |  2 +-
 lib/librte_eal/freebsd/eal/Makefile           |  2 +-
 lib/librte_eal/include/Makefile               | 19 ++++++
 .../{common => }/include/generic/rte_atomic.h |  0
 .../include/generic/rte_byteorder.h           |  0
 .../include/generic/rte_cpuflags.h            |  0
 .../{common => }/include/generic/rte_cycles.h |  0
 .../{common => }/include/generic/rte_io.h     |  0
 .../include/generic/rte_mcslock.h             |  0
 .../{common => }/include/generic/rte_memcpy.h |  0
 .../{common => }/include/generic/rte_pause.h  |  0
 .../include/generic/rte_prefetch.h            |  0
 .../{common => }/include/generic/rte_rwlock.h |  0
 .../include/generic/rte_spinlock.h            |  0
 .../include/generic/rte_ticketlock.h          |  0
 .../{common => }/include/generic/rte_vect.h   |  0
 lib/librte_eal/include/meson.build            | 64 ++++++++++++++++++
 .../{common => }/include/rte_alarm.h          |  0
 .../{common => }/include/rte_bitmap.h         |  0
 .../include/rte_branch_prediction.h           |  0
 lib/librte_eal/{common => }/include/rte_bus.h |  0
 .../{common => }/include/rte_class.h          |  0
 .../{common => }/include/rte_common.h         |  0
 .../{common => }/include/rte_compat.h         |  0
 .../{common => }/include/rte_debug.h          |  0
 lib/librte_eal/{common => }/include/rte_dev.h |  0
 .../{common => }/include/rte_devargs.h        |  0
 lib/librte_eal/{common => }/include/rte_eal.h |  0
 .../{common => }/include/rte_eal_interrupts.h |  0
 .../{common => }/include/rte_eal_memconfig.h  |  0
 .../{common => }/include/rte_errno.h          |  0
 .../{common => }/include/rte_fbarray.h        |  0
 .../include/rte_function_versioning.h         |  0
 .../{common => }/include/rte_hexdump.h        |  0
 .../{common => }/include/rte_hypervisor.h     |  0
 .../{common => }/include/rte_interrupts.h     |  0
 .../{common => }/include/rte_keepalive.h      |  0
 .../{common => }/include/rte_launch.h         |  0
 .../{common => }/include/rte_lcore.h          |  0
 lib/librte_eal/{common => }/include/rte_log.h |  0
 .../{common => }/include/rte_malloc.h         |  0
 .../{common => }/include/rte_memory.h         |  0
 .../{common => }/include/rte_memzone.h        |  0
 .../{common => }/include/rte_option.h         |  0
 .../include/rte_pci_dev_feature_defs.h        |  0
 .../include/rte_pci_dev_features.h            |  0
 .../{common => }/include/rte_per_lcore.h      |  0
 .../{common => }/include/rte_random.h         |  0
 .../{common => }/include/rte_reciprocal.h     |  0
 .../{common => }/include/rte_service.h        |  0
 .../include/rte_service_component.h           |  0
 .../{common => }/include/rte_string_fns.h     |  0
 .../{common => }/include/rte_tailq.h          |  0
 .../{common => }/include/rte_test.h           |  0
 .../{common => }/include/rte_time.h           |  0
 .../{common => }/include/rte_uuid.h           |  0
 .../{common => }/include/rte_version.h        |  0
 .../{common => }/include/rte_vfio.h           |  0
 lib/librte_eal/linux/eal/Makefile             |  2 +-
 lib/librte_eal/meson.build                    |  4 +-
 lib/librte_kvargs/Makefile                    |  2 +-
 meson.build                                   |  2 +-
 78 files changed, 124 insertions(+), 134 deletions(-)
 delete mode 100644 lib/librte_eal/common/Makefile
 create mode 100644 lib/librte_eal/include/Makefile
 rename lib/librte_eal/{common => }/include/generic/rte_atomic.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_byteorder.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_cpuflags.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_cycles.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_io.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_mcslock.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_memcpy.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_pause.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_prefetch.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_rwlock.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_spinlock.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_ticketlock.h (100%)
 rename lib/librte_eal/{common => }/include/generic/rte_vect.h (100%)
 create mode 100644 lib/librte_eal/include/meson.build
 rename lib/librte_eal/{common => }/include/rte_alarm.h (100%)
 rename lib/librte_eal/{common => }/include/rte_bitmap.h (100%)
 rename lib/librte_eal/{common => }/include/rte_branch_prediction.h (100%)
 rename lib/librte_eal/{common => }/include/rte_bus.h (100%)
 rename lib/librte_eal/{common => }/include/rte_class.h (100%)
 rename lib/librte_eal/{common => }/include/rte_common.h (100%)
 rename lib/librte_eal/{common => }/include/rte_compat.h (100%)
 rename lib/librte_eal/{common => }/include/rte_debug.h (100%)
 rename lib/librte_eal/{common => }/include/rte_dev.h (100%)
 rename lib/librte_eal/{common => }/include/rte_devargs.h (100%)
 rename lib/librte_eal/{common => }/include/rte_eal.h (100%)
 rename lib/librte_eal/{common => }/include/rte_eal_interrupts.h (100%)
 rename lib/librte_eal/{common => }/include/rte_eal_memconfig.h (100%)
 rename lib/librte_eal/{common => }/include/rte_errno.h (100%)
 rename lib/librte_eal/{common => }/include/rte_fbarray.h (100%)
 rename lib/librte_eal/{common => }/include/rte_function_versioning.h (100%)
 rename lib/librte_eal/{common => }/include/rte_hexdump.h (100%)
 rename lib/librte_eal/{common => }/include/rte_hypervisor.h (100%)
 rename lib/librte_eal/{common => }/include/rte_interrupts.h (100%)
 rename lib/librte_eal/{common => }/include/rte_keepalive.h (100%)
 rename lib/librte_eal/{common => }/include/rte_launch.h (100%)
 rename lib/librte_eal/{common => }/include/rte_lcore.h (100%)
 rename lib/librte_eal/{common => }/include/rte_log.h (100%)
 rename lib/librte_eal/{common => }/include/rte_malloc.h (100%)
 rename lib/librte_eal/{common => }/include/rte_memory.h (100%)
 rename lib/librte_eal/{common => }/include/rte_memzone.h (100%)
 rename lib/librte_eal/{common => }/include/rte_option.h (100%)
 rename lib/librte_eal/{common => }/include/rte_pci_dev_feature_defs.h (100%)
 rename lib/librte_eal/{common => }/include/rte_pci_dev_features.h (100%)
 rename lib/librte_eal/{common => }/include/rte_per_lcore.h (100%)
 rename lib/librte_eal/{common => }/include/rte_random.h (100%)
 rename lib/librte_eal/{common => }/include/rte_reciprocal.h (100%)
 rename lib/librte_eal/{common => }/include/rte_service.h (100%)
 rename lib/librte_eal/{common => }/include/rte_service_component.h (100%)
 rename lib/librte_eal/{common => }/include/rte_string_fns.h (100%)
 rename lib/librte_eal/{common => }/include/rte_tailq.h (100%)
 rename lib/librte_eal/{common => }/include/rte_test.h (100%)
 rename lib/librte_eal/{common => }/include/rte_time.h (100%)
 rename lib/librte_eal/{common => }/include/rte_uuid.h (100%)
 rename lib/librte_eal/{common => }/include/rte_version.h (100%)
 rename lib/librte_eal/{common => }/include/rte_vfio.h (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index 89aff59ccf..3e842625f2 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -142,8 +142,8 @@ F: .ci/
 
 ABI versioning
 M: Neil Horman <nhorman@tuxdriver.com>
-F: lib/librte_eal/common/include/rte_compat.h
-F: lib/librte_eal/common/include/rte_function_versioning.h
+F: lib/librte_eal/include/rte_compat.h
+F: lib/librte_eal/include/rte_function_versioning.h
 F: doc/guides/rel_notes/deprecation.rst
 F: devtools/check-abi.sh
 F: devtools/check-abi-version.sh
@@ -169,7 +169,7 @@ T: git://dpdk.org/dpdk
 
 EAL API and common code
 F: lib/librte_eal/common/
-F: lib/librte_eal/common/include/
+F: lib/librte_eal/include/
 F: lib/librte_eal/rte_eal_version.map
 F: doc/guides/prog_guide/env_abstraction_layer.rst
 F: app/test/test_alarm.c
@@ -196,9 +196,9 @@ F: app/test/test_version.c
 
 Memory Allocation
 M: Anatoly Burakov <anatoly.burakov@intel.com>
-F: lib/librte_eal/common/include/rte_fbarray.h
-F: lib/librte_eal/common/include/rte_mem*
-F: lib/librte_eal/common/include/rte_malloc.h
+F: lib/librte_eal/include/rte_fbarray.h
+F: lib/librte_eal/include/rte_mem*
+F: lib/librte_eal/include/rte_malloc.h
 F: lib/librte_eal/common/*malloc*
 F: lib/librte_eal/common/eal_common_fbarray.c
 F: lib/librte_eal/common/eal_common_mem*
@@ -214,7 +214,7 @@ F: app/test/test_memory.c
 F: app/test/test_memzone.c
 
 Keep alive
-F: lib/librte_eal/common/include/rte_keepalive.h
+F: lib/librte_eal/include/rte_keepalive.h
 F: lib/librte_eal/common/rte_keepalive.c
 F: examples/l2fwd-keepalive/
 F: doc/guides/sample_app_ug/keep_alive.rst
@@ -230,30 +230,30 @@ F: doc/guides/sample_app_ug/multi_process.rst
 
 Service Cores
 M: Harry van Haaren <harry.van.haaren@intel.com>
-F: lib/librte_eal/common/include/rte_service.h
-F: lib/librte_eal/common/include/rte_service_component.h
+F: lib/librte_eal/include/rte_service.h
+F: lib/librte_eal/include/rte_service_component.h
 F: lib/librte_eal/common/rte_service.c
 F: doc/guides/prog_guide/service_cores.rst
 F: app/test/test_service_cores.c
 
 Bitmap
 M: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
-F: lib/librte_eal/common/include/rte_bitmap.h
+F: lib/librte_eal/include/rte_bitmap.h
 F: app/test/test_bitmap.c
 
 MCSlock - EXPERIMENTAL
 M: Phil Yang <phil.yang@arm.com>
-F: lib/librte_eal/common/include/generic/rte_mcslock.h
+F: lib/librte_eal/include/generic/rte_mcslock.h
 F: app/test/test_mcslock.c
 
 Ticketlock
 M: Joyce Kong <joyce.kong@arm.com>
-F: lib/librte_eal/common/include/generic/rte_ticketlock.h
+F: lib/librte_eal/include/generic/rte_ticketlock.h
 F: app/test/test_ticketlock.c
 
 Pseudo-random Number Generation
 M: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
-F: lib/librte_eal/common/include/rte_random.h
+F: lib/librte_eal/include/rte_random.h
 F: lib/librte_eal/common/rte_random.c
 F: app/test/test_rand_perf.c
 
diff --git a/buildtools/pmdinfogen/meson.build b/buildtools/pmdinfogen/meson.build
index 899ba112cd..7da415b3b7 100644
--- a/buildtools/pmdinfogen/meson.build
+++ b/buildtools/pmdinfogen/meson.build
@@ -6,7 +6,7 @@ if host_machine.system() == 'windows'
 endif
 
 pmdinfogen_inc = [global_inc]
-pmdinfogen_inc += include_directories('../../lib/librte_eal/common/include')
+pmdinfogen_inc += include_directories('../../lib/librte_eal/include')
 pmdinfogen_inc += include_directories('../../lib/librte_pci')
 pmdinfogen = executable('pmdinfogen',
 	'pmdinfogen.c',
diff --git a/doc/api/doxy-api.conf.in b/doc/api/doxy-api.conf.in
index 1c4392eecc..65e8146bef 100644
--- a/doc/api/doxy-api.conf.in
+++ b/doc/api/doxy-api.conf.in
@@ -17,8 +17,8 @@ INPUT                   = @TOPDIR@/doc/api/doxy-api-index.md \
                           @TOPDIR@/drivers/net/softnic \
                           @TOPDIR@/drivers/raw/dpaa2_cmdif \
                           @TOPDIR@/drivers/raw/dpaa2_qdma \
-                          @TOPDIR@/lib/librte_eal/common/include \
-                          @TOPDIR@/lib/librte_eal/common/include/generic \
+                          @TOPDIR@/lib/librte_eal/include \
+                          @TOPDIR@/lib/librte_eal/include/generic \
                           @TOPDIR@/lib/librte_acl \
                           @TOPDIR@/lib/librte_bbdev \
                           @TOPDIR@/lib/librte_bitratestats \
diff --git a/doc/guides/rel_notes/known_issues.rst b/doc/guides/rel_notes/known_issues.rst
index 68c3d22bea..de0782136d 100644
--- a/doc/guides/rel_notes/known_issues.rst
+++ b/doc/guides/rel_notes/known_issues.rst
@@ -127,7 +127,7 @@ HPET timers do not work on the Osage customer reference platform
    work correctly, provided the BIOS supports HPET.
 
 **Driver/Module**:
-   ``lib/librte_eal/common/include/rte_cycles.h``
+   ``lib/librte_eal/include/rte_cycles.h``
 
 
 Not all variants of supported NIC types have been used in testing
diff --git a/drivers/bus/dpaa/Makefile b/drivers/bus/dpaa/Makefile
index cd1093f744..9e1a31bb75 100644
--- a/drivers/bus/dpaa/Makefile
+++ b/drivers/bus/dpaa/Makefile
@@ -18,7 +18,7 @@ CFLAGS += -I$(RTE_BUS_DPAA)/
 CFLAGS += -I$(RTE_BUS_DPAA)/include
 CFLAGS += -I$(RTE_BUS_DPAA)/base/qbman
 CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
 
 # versioning export map
 EXPORT_MAP := rte_bus_dpaa_version.map
diff --git a/drivers/common/mlx5/meson.build b/drivers/common/mlx5/meson.build
index 141739fd6f..f671710714 100644
--- a/drivers/common/mlx5/meson.build
+++ b/drivers/common/mlx5/meson.build
@@ -203,7 +203,7 @@ if dlopen_ibverbs
 	dlopen_install_dir = [ eal_pmd_path + '-glue' ]
 	dlopen_includes = [global_inc]
 	dlopen_includes += include_directories(
-		'../../../lib/librte_eal/common/include/generic',
+		'../../../lib/librte_eal/include/generic',
 	)
 	shared_lib = shared_library(
 		dlopen_lib_name,
diff --git a/drivers/crypto/caam_jr/Makefile b/drivers/crypto/caam_jr/Makefile
index 1b1f25a2a2..db17294395 100644
--- a/drivers/crypto/caam_jr/Makefile
+++ b/drivers/crypto/caam_jr/Makefile
@@ -20,7 +20,7 @@ CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include
 CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
 CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib/
 CFLAGS += -I$(RTE_SDK)/drivers/crypto/caam_jr
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
 
 # versioning export map
 EXPORT_MAP := rte_pmd_caam_jr_version.map
diff --git a/drivers/crypto/dpaa_sec/Makefile b/drivers/crypto/dpaa_sec/Makefile
index fbfd775855..13a5ff20cf 100644
--- a/drivers/crypto/dpaa_sec/Makefile
+++ b/drivers/crypto/dpaa_sec/Makefile
@@ -20,7 +20,7 @@ CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/base/qbman
 CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
 CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa_sec/
 CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib/
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_cryptodev
 
diff --git a/drivers/event/dpaa/Makefile b/drivers/event/dpaa/Makefile
index 2f53efdf9e..15ffc157f8 100644
--- a/drivers/event/dpaa/Makefile
+++ b/drivers/event/dpaa/Makefile
@@ -20,7 +20,7 @@ CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa
 CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include/
 CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa
 CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
 
 LDLIBS += -lrte_pmd_dpaa_sec
 CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa_sec
diff --git a/drivers/net/dpaa/Makefile b/drivers/net/dpaa/Makefile
index 8e049b2a0b..f63c9bf540 100644
--- a/drivers/net/dpaa/Makefile
+++ b/drivers/net/dpaa/Makefile
@@ -21,7 +21,7 @@ CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/base/qbman
 CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa
 CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
 CFLAGS += -I$(RTE_SDK)/drivers/event/dpaa
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
 
 EXPORT_MAP := rte_pmd_dpaa_version.map
 
diff --git a/kernel/linux/igb_uio/meson.build b/kernel/linux/igb_uio/meson.build
index fac404f078..80540aecee 100644
--- a/kernel/linux/igb_uio/meson.build
+++ b/kernel/linux/igb_uio/meson.build
@@ -12,7 +12,7 @@ custom_target('igb_uio',
 		'M=' + meson.current_build_dir(),
 		'src=' + meson.current_source_dir(),
 		'EXTRA_CFLAGS=-I' + meson.current_source_dir() +
-			'/../../../lib/librte_eal/common/include',
+			'/../../../lib/librte_eal/include',
 		'modules'],
 	depends: mkfile,
 	install: true,
diff --git a/kernel/linux/kni/meson.build b/kernel/linux/kni/meson.build
index f93e97fa09..706bea5b7f 100644
--- a/kernel/linux/kni/meson.build
+++ b/kernel/linux/kni/meson.build
@@ -17,7 +17,7 @@ custom_target('rte_kni',
 		'M=' + meson.current_build_dir(),
 		'src=' + meson.current_source_dir(),
 		'MODULE_CFLAGS=-include ' + meson.source_root() + '/config/rte_config.h' +
-		' -I' + meson.source_root() + '/lib/librte_eal/common/include' +
+		' -I' + meson.source_root() + '/lib/librte_eal/include' +
 		' -I' + meson.source_root() + '/lib/librte_eal/linux/eal/include' +
 		' -I' + meson.build_root() +
 		' -I' + meson.current_source_dir(),
diff --git a/lib/librte_cfgfile/Makefile b/lib/librte_cfgfile/Makefile
index d3b08420ff..7c10a4e56c 100644
--- a/lib/librte_cfgfile/Makefile
+++ b/lib/librte_cfgfile/Makefile
@@ -10,7 +10,7 @@ LIB = librte_cfgfile.a
 
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(SRCDIR)/../librte_eal/common/include
+CFLAGS += -I$(SRCDIR)/../librte_eal/include
 LDLIBS += -lrte_eal
 
 EXPORT_MAP := rte_cfgfile_version.map
diff --git a/lib/librte_eal/Makefile b/lib/librte_eal/Makefile
index 9c383d42bd..ff74935932 100644
--- a/lib/librte_eal/Makefile
+++ b/lib/librte_eal/Makefile
@@ -3,10 +3,10 @@
 
 include $(RTE_SDK)/mk/rte.vars.mk
 
-DIRS-y += common
+DIRS-y += include
 DIRS-$(CONFIG_RTE_EXEC_ENV_LINUX) += linux/eal
-DEPDIRS-linux := common
+DEPDIRS-linux := include
 DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += freebsd/eal
-DEPDIRS-freebsd := common
+DEPDIRS-freebsd := include
 
 include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/lib/librte_eal/common/Makefile b/lib/librte_eal/common/Makefile
deleted file mode 100644
index 6c52f50106..0000000000
--- a/lib/librte_eal/common/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-INC := rte_branch_prediction.h rte_common.h rte_compat.h
-INC += rte_function_versioning.h
-INC += rte_debug.h rte_eal.h rte_eal_interrupts.h
-INC += rte_errno.h rte_launch.h rte_lcore.h
-INC += rte_log.h rte_memory.h rte_memzone.h
-INC += rte_per_lcore.h rte_random.h
-INC += rte_tailq.h rte_interrupts.h rte_alarm.h
-INC += rte_string_fns.h rte_version.h
-INC += rte_eal_memconfig.h
-INC += rte_hexdump.h rte_devargs.h rte_bus.h rte_dev.h rte_class.h
-INC += rte_option.h
-INC += rte_pci_dev_feature_defs.h rte_pci_dev_features.h
-INC += rte_malloc.h rte_keepalive.h rte_time.h
-INC += rte_service.h rte_service_component.h
-INC += rte_bitmap.h rte_vfio.h rte_hypervisor.h rte_test.h
-INC += rte_reciprocal.h rte_fbarray.h rte_uuid.h
-
-GENERIC_INC := rte_atomic.h rte_byteorder.h rte_cycles.h rte_prefetch.h
-GENERIC_INC += rte_memcpy.h rte_cpuflags.h
-GENERIC_INC += rte_mcslock.h rte_spinlock.h rte_rwlock.h rte_ticketlock.h
-GENERIC_INC += rte_vect.h rte_pause.h rte_io.h
-
-# defined in mk/arch/$(RTE_ARCH)/rte.vars.mk
-ARCH_DIR ?= $(RTE_ARCH)
-ARCH_INC := $(sort $(notdir $(wildcard $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)/include/*.h)))
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include := $(addprefix include/,$(INC))
-SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include += \
-	$(addprefix ../$(ARCH_DIR)/include/,$(ARCH_INC))
-SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include/generic := \
-	$(addprefix include/generic/,$(GENERIC_INC))
-
-include $(RTE_SDK)/mk/rte.install.mk
diff --git a/lib/librte_eal/common/meson.build b/lib/librte_eal/common/meson.build
index 5885441b48..02d9280cc3 100644
--- a/lib/librte_eal/common/meson.build
+++ b/lib/librte_eal/common/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-eal_inc += include_directories('.', 'include')
+includes += include_directories('.')
 
 if is_windows
 	sources += files(
@@ -16,7 +16,9 @@ if is_windows
 		'eal_common_thread.c',
 		'rte_option.c',
 	)
-else # temporary bad indent
+	subdir_done()
+endif
+
 sources += files(
 	'eal_common_bus.c',
 	'eal_common_cpuflags.c',
@@ -52,62 +54,3 @@ sources += files(
 	'rte_reciprocal.c',
 	'rte_service.c',
 )
-endif
-
-common_headers = files(
-	'include/rte_alarm.h',
-	'include/rte_branch_prediction.h',
-	'include/rte_bus.h',
-	'include/rte_bitmap.h',
-	'include/rte_class.h',
-	'include/rte_common.h',
-	'include/rte_compat.h',
-	'include/rte_debug.h',
-	'include/rte_devargs.h',
-	'include/rte_dev.h',
-	'include/rte_eal.h',
-	'include/rte_eal_memconfig.h',
-	'include/rte_eal_interrupts.h',
-	'include/rte_errno.h',
-	'include/rte_fbarray.h',
-	'include/rte_hexdump.h',
-	'include/rte_hypervisor.h',
-	'include/rte_interrupts.h',
-	'include/rte_keepalive.h',
-	'include/rte_launch.h',
-	'include/rte_lcore.h',
-	'include/rte_log.h',
-	'include/rte_malloc.h',
-	'include/rte_memory.h',
-	'include/rte_memzone.h',
-	'include/rte_option.h',
-	'include/rte_pci_dev_feature_defs.h',
-	'include/rte_pci_dev_features.h',
-	'include/rte_per_lcore.h',
-	'include/rte_random.h',
-	'include/rte_reciprocal.h',
-	'include/rte_service.h',
-	'include/rte_service_component.h',
-	'include/rte_string_fns.h',
-	'include/rte_tailq.h',
-	'include/rte_time.h',
-	'include/rte_uuid.h',
-	'include/rte_version.h',
-	'include/rte_vfio.h')
-
-# special case install the generic headers, since they go in a subdir
-generic_headers = files(
-	'include/generic/rte_atomic.h',
-	'include/generic/rte_byteorder.h',
-	'include/generic/rte_cpuflags.h',
-	'include/generic/rte_cycles.h',
-	'include/generic/rte_io.h',
-	'include/generic/rte_mcslock.h',
-	'include/generic/rte_memcpy.h',
-	'include/generic/rte_pause.h',
-	'include/generic/rte_prefetch.h',
-	'include/generic/rte_rwlock.h',
-	'include/generic/rte_spinlock.h',
-	'include/generic/rte_ticketlock.h',
-	'include/generic/rte_vect.h')
-install_headers(generic_headers, subdir: 'generic')
diff --git a/lib/librte_eal/common/rte_service.c b/lib/librte_eal/common/rte_service.c
index b0b78baabd..70d17a5d79 100644
--- a/lib/librte_eal/common/rte_service.c
+++ b/lib/librte_eal/common/rte_service.c
@@ -10,7 +10,7 @@
 
 #include <rte_compat.h>
 #include <rte_service.h>
-#include "include/rte_service_component.h"
+#include <rte_service_component.h>
 
 #include <rte_eal.h>
 #include <rte_lcore.h>
diff --git a/lib/librte_eal/freebsd/eal/Makefile b/lib/librte_eal/freebsd/eal/Makefile
index e3023f24fa..0c809d9872 100644
--- a/lib/librte_eal/freebsd/eal/Makefile
+++ b/lib/librte_eal/freebsd/eal/Makefile
@@ -12,7 +12,7 @@ VPATH += $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)
 CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -I$(SRCDIR)/include
 CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
 CFLAGS += $(WERROR_FLAGS) -O3
 
 LDLIBS += -lexecinfo
diff --git a/lib/librte_eal/include/Makefile b/lib/librte_eal/include/Makefile
new file mode 100644
index 0000000000..eb99190d10
--- /dev/null
+++ b/lib/librte_eal/include/Makefile
@@ -0,0 +1,19 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2010-2014 Intel Corporation
+
+include $(RTE_SDK)/mk/rte.vars.mk
+
+SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include := \
+	$(sort $(notdir \
+	$(wildcard $(RTE_SDK)/lib/librte_eal/include/*.h)))
+
+SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include/generic := \
+	$(sort $(addprefix generic/, $(notdir \
+	$(wildcard $(RTE_SDK)/lib/librte_eal/include/generic/*.h))))
+
+ARCH_DIR ?= $(RTE_ARCH)
+SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include += \
+	$(sort $(addprefix ../$(ARCH_DIR)/include/, $(notdir \
+	$(wildcard $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)/include/*.h))))
+
+include $(RTE_SDK)/mk/rte.install.mk
diff --git a/lib/librte_eal/common/include/generic/rte_atomic.h b/lib/librte_eal/include/generic/rte_atomic.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_atomic.h
rename to lib/librte_eal/include/generic/rte_atomic.h
diff --git a/lib/librte_eal/common/include/generic/rte_byteorder.h b/lib/librte_eal/include/generic/rte_byteorder.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_byteorder.h
rename to lib/librte_eal/include/generic/rte_byteorder.h
diff --git a/lib/librte_eal/common/include/generic/rte_cpuflags.h b/lib/librte_eal/include/generic/rte_cpuflags.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_cpuflags.h
rename to lib/librte_eal/include/generic/rte_cpuflags.h
diff --git a/lib/librte_eal/common/include/generic/rte_cycles.h b/lib/librte_eal/include/generic/rte_cycles.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_cycles.h
rename to lib/librte_eal/include/generic/rte_cycles.h
diff --git a/lib/librte_eal/common/include/generic/rte_io.h b/lib/librte_eal/include/generic/rte_io.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_io.h
rename to lib/librte_eal/include/generic/rte_io.h
diff --git a/lib/librte_eal/common/include/generic/rte_mcslock.h b/lib/librte_eal/include/generic/rte_mcslock.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_mcslock.h
rename to lib/librte_eal/include/generic/rte_mcslock.h
diff --git a/lib/librte_eal/common/include/generic/rte_memcpy.h b/lib/librte_eal/include/generic/rte_memcpy.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_memcpy.h
rename to lib/librte_eal/include/generic/rte_memcpy.h
diff --git a/lib/librte_eal/common/include/generic/rte_pause.h b/lib/librte_eal/include/generic/rte_pause.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_pause.h
rename to lib/librte_eal/include/generic/rte_pause.h
diff --git a/lib/librte_eal/common/include/generic/rte_prefetch.h b/lib/librte_eal/include/generic/rte_prefetch.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_prefetch.h
rename to lib/librte_eal/include/generic/rte_prefetch.h
diff --git a/lib/librte_eal/common/include/generic/rte_rwlock.h b/lib/librte_eal/include/generic/rte_rwlock.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_rwlock.h
rename to lib/librte_eal/include/generic/rte_rwlock.h
diff --git a/lib/librte_eal/common/include/generic/rte_spinlock.h b/lib/librte_eal/include/generic/rte_spinlock.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_spinlock.h
rename to lib/librte_eal/include/generic/rte_spinlock.h
diff --git a/lib/librte_eal/common/include/generic/rte_ticketlock.h b/lib/librte_eal/include/generic/rte_ticketlock.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_ticketlock.h
rename to lib/librte_eal/include/generic/rte_ticketlock.h
diff --git a/lib/librte_eal/common/include/generic/rte_vect.h b/lib/librte_eal/include/generic/rte_vect.h
similarity index 100%
rename from lib/librte_eal/common/include/generic/rte_vect.h
rename to lib/librte_eal/include/generic/rte_vect.h
diff --git a/lib/librte_eal/include/meson.build b/lib/librte_eal/include/meson.build
new file mode 100644
index 0000000000..6fd4274941
--- /dev/null
+++ b/lib/librte_eal/include/meson.build
@@ -0,0 +1,64 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Intel Corporation
+
+includes += include_directories('.')
+
+headers += files(
+	'rte_alarm.h',
+	'rte_bitmap.h',
+	'rte_branch_prediction.h',
+	'rte_bus.h',
+	'rte_class.h',
+	'rte_common.h',
+	'rte_compat.h',
+	'rte_debug.h',
+	'rte_dev.h',
+	'rte_devargs.h',
+	'rte_eal.h',
+	'rte_eal_interrupts.h',
+	'rte_eal_memconfig.h',
+	'rte_errno.h',
+	'rte_fbarray.h',
+	'rte_hexdump.h',
+	'rte_hypervisor.h',
+	'rte_interrupts.h',
+	'rte_keepalive.h',
+	'rte_launch.h',
+	'rte_lcore.h',
+	'rte_log.h',
+	'rte_malloc.h',
+	'rte_memory.h',
+	'rte_memzone.h',
+	'rte_option.h',
+	'rte_pci_dev_feature_defs.h',
+	'rte_pci_dev_features.h',
+	'rte_per_lcore.h',
+	'rte_random.h',
+	'rte_reciprocal.h',
+	'rte_service.h',
+	'rte_service_component.h',
+	'rte_string_fns.h',
+	'rte_tailq.h',
+	'rte_time.h',
+	'rte_uuid.h',
+	'rte_version.h',
+	'rte_vfio.h',
+)
+
+# special case install the generic headers, since they go in a subdir
+generic_headers = files(
+	'generic/rte_atomic.h',
+	'generic/rte_byteorder.h',
+	'generic/rte_cpuflags.h',
+	'generic/rte_cycles.h',
+	'generic/rte_io.h',
+	'generic/rte_mcslock.h',
+	'generic/rte_memcpy.h',
+	'generic/rte_pause.h',
+	'generic/rte_prefetch.h',
+	'generic/rte_rwlock.h',
+	'generic/rte_spinlock.h',
+	'generic/rte_ticketlock.h',
+	'generic/rte_vect.h',
+)
+install_headers(generic_headers, subdir: 'generic')
diff --git a/lib/librte_eal/common/include/rte_alarm.h b/lib/librte_eal/include/rte_alarm.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_alarm.h
rename to lib/librte_eal/include/rte_alarm.h
diff --git a/lib/librte_eal/common/include/rte_bitmap.h b/lib/librte_eal/include/rte_bitmap.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_bitmap.h
rename to lib/librte_eal/include/rte_bitmap.h
diff --git a/lib/librte_eal/common/include/rte_branch_prediction.h b/lib/librte_eal/include/rte_branch_prediction.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_branch_prediction.h
rename to lib/librte_eal/include/rte_branch_prediction.h
diff --git a/lib/librte_eal/common/include/rte_bus.h b/lib/librte_eal/include/rte_bus.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_bus.h
rename to lib/librte_eal/include/rte_bus.h
diff --git a/lib/librte_eal/common/include/rte_class.h b/lib/librte_eal/include/rte_class.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_class.h
rename to lib/librte_eal/include/rte_class.h
diff --git a/lib/librte_eal/common/include/rte_common.h b/lib/librte_eal/include/rte_common.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_common.h
rename to lib/librte_eal/include/rte_common.h
diff --git a/lib/librte_eal/common/include/rte_compat.h b/lib/librte_eal/include/rte_compat.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_compat.h
rename to lib/librte_eal/include/rte_compat.h
diff --git a/lib/librte_eal/common/include/rte_debug.h b/lib/librte_eal/include/rte_debug.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_debug.h
rename to lib/librte_eal/include/rte_debug.h
diff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/include/rte_dev.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_dev.h
rename to lib/librte_eal/include/rte_dev.h
diff --git a/lib/librte_eal/common/include/rte_devargs.h b/lib/librte_eal/include/rte_devargs.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_devargs.h
rename to lib/librte_eal/include/rte_devargs.h
diff --git a/lib/librte_eal/common/include/rte_eal.h b/lib/librte_eal/include/rte_eal.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_eal.h
rename to lib/librte_eal/include/rte_eal.h
diff --git a/lib/librte_eal/common/include/rte_eal_interrupts.h b/lib/librte_eal/include/rte_eal_interrupts.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_eal_interrupts.h
rename to lib/librte_eal/include/rte_eal_interrupts.h
diff --git a/lib/librte_eal/common/include/rte_eal_memconfig.h b/lib/librte_eal/include/rte_eal_memconfig.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_eal_memconfig.h
rename to lib/librte_eal/include/rte_eal_memconfig.h
diff --git a/lib/librte_eal/common/include/rte_errno.h b/lib/librte_eal/include/rte_errno.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_errno.h
rename to lib/librte_eal/include/rte_errno.h
diff --git a/lib/librte_eal/common/include/rte_fbarray.h b/lib/librte_eal/include/rte_fbarray.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_fbarray.h
rename to lib/librte_eal/include/rte_fbarray.h
diff --git a/lib/librte_eal/common/include/rte_function_versioning.h b/lib/librte_eal/include/rte_function_versioning.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_function_versioning.h
rename to lib/librte_eal/include/rte_function_versioning.h
diff --git a/lib/librte_eal/common/include/rte_hexdump.h b/lib/librte_eal/include/rte_hexdump.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_hexdump.h
rename to lib/librte_eal/include/rte_hexdump.h
diff --git a/lib/librte_eal/common/include/rte_hypervisor.h b/lib/librte_eal/include/rte_hypervisor.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_hypervisor.h
rename to lib/librte_eal/include/rte_hypervisor.h
diff --git a/lib/librte_eal/common/include/rte_interrupts.h b/lib/librte_eal/include/rte_interrupts.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_interrupts.h
rename to lib/librte_eal/include/rte_interrupts.h
diff --git a/lib/librte_eal/common/include/rte_keepalive.h b/lib/librte_eal/include/rte_keepalive.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_keepalive.h
rename to lib/librte_eal/include/rte_keepalive.h
diff --git a/lib/librte_eal/common/include/rte_launch.h b/lib/librte_eal/include/rte_launch.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_launch.h
rename to lib/librte_eal/include/rte_launch.h
diff --git a/lib/librte_eal/common/include/rte_lcore.h b/lib/librte_eal/include/rte_lcore.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_lcore.h
rename to lib/librte_eal/include/rte_lcore.h
diff --git a/lib/librte_eal/common/include/rte_log.h b/lib/librte_eal/include/rte_log.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_log.h
rename to lib/librte_eal/include/rte_log.h
diff --git a/lib/librte_eal/common/include/rte_malloc.h b/lib/librte_eal/include/rte_malloc.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_malloc.h
rename to lib/librte_eal/include/rte_malloc.h
diff --git a/lib/librte_eal/common/include/rte_memory.h b/lib/librte_eal/include/rte_memory.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_memory.h
rename to lib/librte_eal/include/rte_memory.h
diff --git a/lib/librte_eal/common/include/rte_memzone.h b/lib/librte_eal/include/rte_memzone.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_memzone.h
rename to lib/librte_eal/include/rte_memzone.h
diff --git a/lib/librte_eal/common/include/rte_option.h b/lib/librte_eal/include/rte_option.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_option.h
rename to lib/librte_eal/include/rte_option.h
diff --git a/lib/librte_eal/common/include/rte_pci_dev_feature_defs.h b/lib/librte_eal/include/rte_pci_dev_feature_defs.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_pci_dev_feature_defs.h
rename to lib/librte_eal/include/rte_pci_dev_feature_defs.h
diff --git a/lib/librte_eal/common/include/rte_pci_dev_features.h b/lib/librte_eal/include/rte_pci_dev_features.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_pci_dev_features.h
rename to lib/librte_eal/include/rte_pci_dev_features.h
diff --git a/lib/librte_eal/common/include/rte_per_lcore.h b/lib/librte_eal/include/rte_per_lcore.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_per_lcore.h
rename to lib/librte_eal/include/rte_per_lcore.h
diff --git a/lib/librte_eal/common/include/rte_random.h b/lib/librte_eal/include/rte_random.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_random.h
rename to lib/librte_eal/include/rte_random.h
diff --git a/lib/librte_eal/common/include/rte_reciprocal.h b/lib/librte_eal/include/rte_reciprocal.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_reciprocal.h
rename to lib/librte_eal/include/rte_reciprocal.h
diff --git a/lib/librte_eal/common/include/rte_service.h b/lib/librte_eal/include/rte_service.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_service.h
rename to lib/librte_eal/include/rte_service.h
diff --git a/lib/librte_eal/common/include/rte_service_component.h b/lib/librte_eal/include/rte_service_component.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_service_component.h
rename to lib/librte_eal/include/rte_service_component.h
diff --git a/lib/librte_eal/common/include/rte_string_fns.h b/lib/librte_eal/include/rte_string_fns.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_string_fns.h
rename to lib/librte_eal/include/rte_string_fns.h
diff --git a/lib/librte_eal/common/include/rte_tailq.h b/lib/librte_eal/include/rte_tailq.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_tailq.h
rename to lib/librte_eal/include/rte_tailq.h
diff --git a/lib/librte_eal/common/include/rte_test.h b/lib/librte_eal/include/rte_test.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_test.h
rename to lib/librte_eal/include/rte_test.h
diff --git a/lib/librte_eal/common/include/rte_time.h b/lib/librte_eal/include/rte_time.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_time.h
rename to lib/librte_eal/include/rte_time.h
diff --git a/lib/librte_eal/common/include/rte_uuid.h b/lib/librte_eal/include/rte_uuid.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_uuid.h
rename to lib/librte_eal/include/rte_uuid.h
diff --git a/lib/librte_eal/common/include/rte_version.h b/lib/librte_eal/include/rte_version.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_version.h
rename to lib/librte_eal/include/rte_version.h
diff --git a/lib/librte_eal/common/include/rte_vfio.h b/lib/librte_eal/include/rte_vfio.h
similarity index 100%
rename from lib/librte_eal/common/include/rte_vfio.h
rename to lib/librte_eal/include/rte_vfio.h
diff --git a/lib/librte_eal/linux/eal/Makefile b/lib/librte_eal/linux/eal/Makefile
index 177b7c45da..692fec2695 100644
--- a/lib/librte_eal/linux/eal/Makefile
+++ b/lib/librte_eal/linux/eal/Makefile
@@ -15,7 +15,7 @@ VPATH += $(RTE_SDK)/lib/librte_eal/common
 CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -I$(SRCDIR)/include
 CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
 CFLAGS += $(WERROR_FLAGS) -O3
 
 LDLIBS += -ldl
diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build
index 1fc532139b..a433f46ade 100644
--- a/lib/librte_eal/meson.build
+++ b/lib/librte_eal/meson.build
@@ -5,6 +5,8 @@
 # have a straight list of headers and source files.
 # Initially pull in common settings
 eal_inc = [global_inc]
+subdir('include')
+
 subdir('common')
 
 # Now do OS/exec-env specific settings, including building kernel modules
@@ -27,5 +29,5 @@ if cc.has_header('getopt.h')
 endif
 sources += env_sources
 objs = env_objs
-headers = common_headers + env_headers
+headers = env_headers
 includes += eal_inc
diff --git a/lib/librte_kvargs/Makefile b/lib/librte_kvargs/Makefile
index 419be8bd7c..24b1c3c5b9 100644
--- a/lib/librte_kvargs/Makefile
+++ b/lib/librte_kvargs/Makefile
@@ -7,7 +7,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_kvargs.a
 
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
 
 EXPORT_MAP := rte_kvargs_version.map
 
diff --git a/meson.build b/meson.build
index b7ae9c8d9a..ace4a0b8bf 100644
--- a/meson.build
+++ b/meson.build
@@ -28,7 +28,7 @@ abi_version_file = files('ABI_VERSION')
 # able to be included in any file. We also store a global array of include dirs
 # for passing to pmdinfogen scripts
 global_inc = include_directories('.', 'config',
-	'lib/librte_eal/common/include',
+	'lib/librte_eal/include',
 	'lib/librte_eal/@0@/eal/include'.format(host_machine.system()),
 )
 subdir('config')
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [dpdk-dev] [PATCH v2 7/8] eal: move OS-specific sub-directories
  2020-03-27  1:15 ` [dpdk-dev] [PATCH v2 0/8] " Thomas Monjalon
                     ` (5 preceding siblings ...)
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 6/8] eal: move common header files Thomas Monjalon
@ 2020-03-27  1:15   ` Thomas Monjalon
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 8/8] eal: clean make and meson files Thomas Monjalon
                     ` (2 subsequent siblings)
  9 siblings, 0 replies; 22+ messages in thread
From: Thomas Monjalon @ 2020-03-27  1:15 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, Ferruh Yigit, Bruce Richardson, Anatoly Burakov,
	Harini Ramakrishnan, Omar Cardona, Pallavi Kadam, Ranjit Menon

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%)

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 =
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [dpdk-dev] [PATCH v2 8/8] eal: clean make and meson files
  2020-03-27  1:15 ` [dpdk-dev] [PATCH v2 0/8] " Thomas Monjalon
                     ` (6 preceding siblings ...)
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 7/8] eal: move OS-specific sub-directories Thomas Monjalon
@ 2020-03-27  1:15   ` Thomas Monjalon
  2020-03-27 14:47   ` [dpdk-dev] [PATCH v2 0/8] eal: reorganize directories layout Stephen Hemminger
  2020-03-30 14:22   ` David Marchand
  9 siblings, 0 replies; 22+ messages in thread
From: Thomas Monjalon @ 2020-03-27  1:15 UTC (permalink / raw)
  To: dev; +Cc: david.marchand, Bruce Richardson

Clean up indent and line ordering in Makefile and meson.build
for consistency in linux/ and freebsd/ directories.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 lib/librte_eal/freebsd/Makefile    |  2 +-
 lib/librte_eal/freebsd/meson.build | 25 ++++++++++++------------
 lib/librte_eal/linux/Makefile      |  5 ++---
 lib/librte_eal/linux/meson.build   | 31 +++++++++++++++---------------
 4 files changed, 32 insertions(+), 31 deletions(-)

diff --git a/lib/librte_eal/freebsd/Makefile b/lib/librte_eal/freebsd/Makefile
index 952f4f1c81..e5d4d8ff26 100644
--- a/lib/librte_eal/freebsd/Makefile
+++ b/lib/librte_eal/freebsd/Makefile
@@ -6,8 +6,8 @@ include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_eal.a
 
 ARCH_DIR ?= $(RTE_ARCH)
-VPATH += $(RTE_SDK)/lib/librte_eal/common
 VPATH += $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)
+VPATH += $(RTE_SDK)/lib/librte_eal/common
 
 CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -I$(SRCDIR)/include
diff --git a/lib/librte_eal/freebsd/meson.build b/lib/librte_eal/freebsd/meson.build
index 5e6afd9d34..22fc4e8074 100644
--- a/lib/librte_eal/freebsd/meson.build
+++ b/lib/librte_eal/freebsd/meson.build
@@ -3,18 +3,19 @@
 
 subdir('include')
 
-sources += files('eal_alarm.c',
-		'eal_cpuflags.c',
-		'eal_debug.c',
-		'eal_hugepage_info.c',
-		'eal_interrupts.c',
-		'eal_lcore.c',
-		'eal_memalloc.c',
-		'eal_thread.c',
-		'eal_timer.c',
-		'eal.c',
-		'eal_memory.c',
-		'eal_dev.c'
+sources += files(
+	'eal.c',
+	'eal_alarm.c',
+	'eal_cpuflags.c',
+	'eal_debug.c',
+	'eal_dev.c',
+	'eal_hugepage_info.c',
+	'eal_interrupts.c',
+	'eal_lcore.c',
+	'eal_memalloc.c',
+	'eal_memory.c',
+	'eal_thread.c',
+	'eal_timer.c',
 )
 
 deps += ['kvargs']
diff --git a/lib/librte_eal/linux/Makefile b/lib/librte_eal/linux/Makefile
index 82c3fc570a..e5f44959c6 100644
--- a/lib/librte_eal/linux/Makefile
+++ b/lib/librte_eal/linux/Makefile
@@ -6,10 +6,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_eal.a
 
 ARCH_DIR ?= $(RTE_ARCH)
-
-EXPORT_MAP := ../rte_eal_version.map
 VPATH += $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)
-
 VPATH += $(RTE_SDK)/lib/librte_eal/common
 
 CFLAGS += -DALLOW_EXPERIMENTAL_API
@@ -27,6 +24,8 @@ ifeq ($(CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES),y)
 LDLIBS += -lnuma
 endif
 
+EXPORT_MAP := ../rte_eal_version.map
+
 # specific to linux exec-env
 SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) := eal.c
 SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_cpuflags.c
diff --git a/lib/librte_eal/linux/meson.build b/lib/librte_eal/linux/meson.build
index 0e959272df..ca4f4e9785 100644
--- a/lib/librte_eal/linux/meson.build
+++ b/lib/librte_eal/linux/meson.build
@@ -3,21 +3,22 @@
 
 subdir('include')
 
-sources += files('eal_alarm.c',
-		'eal_cpuflags.c',
-		'eal_debug.c',
-		'eal_hugepage_info.c',
-		'eal_interrupts.c',
-		'eal_memalloc.c',
-		'eal_lcore.c',
-		'eal_log.c',
-		'eal_thread.c',
-		'eal_timer.c',
-		'eal_vfio.c',
-		'eal_vfio_mp_sync.c',
-		'eal.c',
-		'eal_memory.c',
-		'eal_dev.c',
+sources += files(
+	'eal.c',
+	'eal_alarm.c',
+	'eal_cpuflags.c',
+	'eal_debug.c',
+	'eal_dev.c',
+	'eal_hugepage_info.c',
+	'eal_interrupts.c',
+	'eal_lcore.c',
+	'eal_log.c',
+	'eal_memalloc.c',
+	'eal_memory.c',
+	'eal_thread.c',
+	'eal_timer.c',
+	'eal_vfio.c',
+	'eal_vfio_mp_sync.c',
 )
 
 deps += ['kvargs']
-- 
2.25.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [dpdk-dev] [PATCH v2 4/8] eal: move arch-specific header files
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 4/8] eal: move arch-specific header files Thomas Monjalon
@ 2020-03-27  2:39     ` Gavin Hu
  2020-03-27 17:47     ` David Christensen
  1 sibling, 0 replies; 22+ messages in thread
From: Gavin Hu @ 2020-03-27  2:39 UTC (permalink / raw)
  To: thomas, dev
  Cc: david.marchand, Jan Viktorin, jerinj, David Christensen,
	Bruce Richardson, Konstantin Ananyev, nd

Reviewed-by: Gavin Hu <gavin.hu@arm.com>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/8] eal: remove useless makefiles
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 1/8] eal: remove useless makefiles Thomas Monjalon
@ 2020-03-27 12:05     ` Bruce Richardson
  0 siblings, 0 replies; 22+ messages in thread
From: Bruce Richardson @ 2020-03-27 12:05 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, david.marchand, stable, Hemant Agrawal

On Fri, Mar 27, 2020 at 02:15:33AM +0100, Thomas Monjalon wrote:
> When moving files to the directory kernel/,
> the file BSDmakefile.meson was left in eal/.
> 
> Also the intermediate makefiles in linux/ and freebsd/ became useless.
> 
> Fixes: acaa9ee991b5 ("move kernel modules directories")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

Acked-by: Bruce Richardson <bruce.richardson@intel.com>


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/8] eal: reorganize directories layout
  2020-03-27  1:15 ` [dpdk-dev] [PATCH v2 0/8] " Thomas Monjalon
                     ` (7 preceding siblings ...)
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 8/8] eal: clean make and meson files Thomas Monjalon
@ 2020-03-27 14:47   ` Stephen Hemminger
  2020-03-27 15:12     ` Thomas Monjalon
  2020-03-30 14:22   ` David Marchand
  9 siblings, 1 reply; 22+ messages in thread
From: Stephen Hemminger @ 2020-03-27 14:47 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, david.marchand

On Fri, 27 Mar 2020 02:15:32 +0100
Thomas Monjalon <thomas@monjalon.net> wrote:

> Some clean-up is done in EAL sub-directories.
> The goal is to make organization easier to understand,
> and to prepare moving some files from common to Unix-only place.
> 
> Since the kernel modules are moved to kernel/ directory,
> there is no need anymore for the sub-directory eal/ in
> linux/, freebsd/ and windows/.
> 
> The EAL API (with doxygen documentation) is moved from
> common/include/ to include/, which makes more clear that
> it is the global API for all environments and architectures.
> Note that the arch-specific and OS-specific include files are not
> in this global include directory, but include/generic/ should
> cover the doxygen documentation for them.
> 
> The arch-specific directories arm, ppc_64 and x86 in common/arch/
> and in common/include/arch are moved at the same level as the
> OS-specific directories, adding an include/ sub-directory.
> It makes more clear that EAL is covering a matrix combining OS and arch.
> Note that ppc_64 is renamed to ppc.
> 
> These moves offer the opportunity to simplify the make and meson files.
> 
> 
> This change was proposed to the Technical Board in advance:
> http://mails.dpdk.org/archives/dev/2020-January/156732.html
> 
> 
> v2:
>   - add missing meson and make files in the include/ directory
>   - fix ppc build
>   - cosmetic improvements in meson files
>   - split single patch into 8 pieces
> 
> 
> Thomas Monjalon (8):
>   eal: remove useless makefiles
>   build: rename ppc sub-directories
>   eal: move arch-specific C files
>   eal: move arch-specific header files
>   eal: simplify meson build of common directory
>   eal: move common header files
>   eal: move OS-specific sub-directories
>   eal: clean make and meson files
> 
>  MAINTAINERS                                   |  53 ++++-----
>  buildtools/pmdinfogen/meson.build             |   2 +-
>  config/arm/meson.build                        |   2 +-
>  config/common_armv8a_linux                    |   2 +-
>  config/meson.build                            |   2 +-
>  config/{ppc_64 => ppc}/meson.build            |   0
>  devtools/build-tags.sh                        |  14 +--
>  doc/api/doxy-api.conf.in                      |   4 +-
>  doc/guides/rel_notes/known_issues.rst         |   2 +-
>  drivers/bus/dpaa/Makefile                     |   2 +-
>  drivers/common/mlx5/meson.build               |   2 +-
>  drivers/crypto/caam_jr/Makefile               |   2 +-
>  drivers/crypto/dpaa_sec/Makefile              |   2 +-
>  drivers/event/dpaa/Makefile                   |   2 +-
>  drivers/net/dpaa/Makefile                     |   2 +-
>  drivers/net/virtio/meson.build                |   2 +-
>  kernel/linux/igb_uio/meson.build              |   2 +-
>  kernel/linux/kni/meson.build                  |   4 +-
>  lib/librte_cfgfile/Makefile                   |   2 +-
>  lib/librte_eal/Makefile                       |   6 +-
>  .../arch/arm => arm/include}/meson.build      |   7 +-
>  .../arch/arm => arm/include}/rte_atomic.h     |   0
>  .../arch/arm => arm/include}/rte_atomic_32.h  |   0
>  .../arch/arm => arm/include}/rte_atomic_64.h  |   0
>  .../arch/arm => arm/include}/rte_byteorder.h  |   0
>  .../arch/arm => arm/include}/rte_cpuflags.h   |   0
>  .../arm => arm/include}/rte_cpuflags_32.h     |   0
>  .../arm => arm/include}/rte_cpuflags_64.h     |   0
>  .../arch/arm => arm/include}/rte_cycles.h     |   0
>  .../arch/arm => arm/include}/rte_cycles_32.h  |   0
>  .../arch/arm => arm/include}/rte_cycles_64.h  |   0
>  .../include/arch/arm => arm/include}/rte_io.h |   0
>  .../arch/arm => arm/include}/rte_io_64.h      |   0
>  .../arch/arm => arm/include}/rte_mcslock.h    |   0
>  .../arch/arm => arm/include}/rte_memcpy.h     |   0
>  .../arch/arm => arm/include}/rte_memcpy_32.h  |   0
>  .../arch/arm => arm/include}/rte_memcpy_64.h  |   0
>  .../arch/arm => arm/include}/rte_pause.h      |   0
>  .../arch/arm => arm/include}/rte_pause_32.h   |   0
>  .../arch/arm => arm/include}/rte_pause_64.h   |   0
>  .../arch/arm => arm/include}/rte_prefetch.h   |   0
>  .../arm => arm/include}/rte_prefetch_32.h     |   0
>  .../arm => arm/include}/rte_prefetch_64.h     |   0
>  .../arch/arm => arm/include}/rte_rwlock.h     |   0
>  .../arch/arm => arm/include}/rte_spinlock.h   |   0
>  .../arch/arm => arm/include}/rte_ticketlock.h |   0
>  .../arch/arm => arm/include}/rte_vect.h       |   0
>  lib/librte_eal/arm/meson.build                |  10 ++
>  .../{common/arch => }/arm/rte_cpuflags.c      |   0
>  .../{common/arch => }/arm/rte_cycles.c        |   0
>  .../{common/arch => }/arm/rte_hypervisor.c    |   0
>  lib/librte_eal/common/Makefile                |  38 -------
>  lib/librte_eal/common/arch/arm/meson.build    |   5 -
>  lib/librte_eal/common/arch/ppc_64/meson.build |   5 -
>  lib/librte_eal/common/arch/x86/meson.build    |   5 -
>  lib/librte_eal/common/meson.build             |  92 ++++------------
>  lib/librte_eal/common/rte_service.c           |   2 +-
>  lib/librte_eal/freebsd/BSDmakefile.meson      |  14 ---
>  lib/librte_eal/freebsd/Makefile               |  91 +++++++++++++++-
>  lib/librte_eal/freebsd/{eal => }/eal.c        |   0
>  lib/librte_eal/freebsd/eal/Makefile           |  93 ----------------
>  lib/librte_eal/freebsd/eal/meson.build        |  22 ----
>  lib/librte_eal/freebsd/{eal => }/eal_alarm.c  |   0
>  .../freebsd/{eal => }/eal_alarm_private.h     |   0
>  .../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
>  .../freebsd/{eal => }/eal_interrupts.c        |   0
>  lib/librte_eal/freebsd/{eal => }/eal_lcore.c  |   0
>  .../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 ++
>  .../freebsd/{eal => }/include/rte_os.h        |   0
>  lib/librte_eal/freebsd/meson.build            |  21 ++++
>  lib/librte_eal/include/Makefile               |  19 ++++
>  .../{common => }/include/generic/rte_atomic.h |   0
>  .../include/generic/rte_byteorder.h           |   0
>  .../include/generic/rte_cpuflags.h            |   0
>  .../{common => }/include/generic/rte_cycles.h |   0
>  .../{common => }/include/generic/rte_io.h     |   0
>  .../include/generic/rte_mcslock.h             |   0
>  .../{common => }/include/generic/rte_memcpy.h |   0
>  .../{common => }/include/generic/rte_pause.h  |   0
>  .../include/generic/rte_prefetch.h            |   0
>  .../{common => }/include/generic/rte_rwlock.h |   0
>  .../include/generic/rte_spinlock.h            |   0
>  .../include/generic/rte_ticketlock.h          |   0
>  .../{common => }/include/generic/rte_vect.h   |   0
>  lib/librte_eal/include/meson.build            |  64 +++++++++++
>  .../{common => }/include/rte_alarm.h          |   0
>  .../{common => }/include/rte_bitmap.h         |   0
>  .../include/rte_branch_prediction.h           |   0
>  lib/librte_eal/{common => }/include/rte_bus.h |   0
>  .../{common => }/include/rte_class.h          |   0
>  .../{common => }/include/rte_common.h         |   0
>  .../{common => }/include/rte_compat.h         |   0
>  .../{common => }/include/rte_debug.h          |   0
>  lib/librte_eal/{common => }/include/rte_dev.h |   0
>  .../{common => }/include/rte_devargs.h        |   0
>  lib/librte_eal/{common => }/include/rte_eal.h |   0
>  .../{common => }/include/rte_eal_interrupts.h |   0
>  .../{common => }/include/rte_eal_memconfig.h  |   0
>  .../{common => }/include/rte_errno.h          |   0
>  .../{common => }/include/rte_fbarray.h        |   0
>  .../include/rte_function_versioning.h         |   0
>  .../{common => }/include/rte_hexdump.h        |   0
>  .../{common => }/include/rte_hypervisor.h     |   0
>  .../{common => }/include/rte_interrupts.h     |   0
>  .../{common => }/include/rte_keepalive.h      |   0
>  .../{common => }/include/rte_launch.h         |   0
>  .../{common => }/include/rte_lcore.h          |   0
>  lib/librte_eal/{common => }/include/rte_log.h |   0
>  .../{common => }/include/rte_malloc.h         |   0
>  .../{common => }/include/rte_memory.h         |   0
>  .../{common => }/include/rte_memzone.h        |   0
>  .../{common => }/include/rte_option.h         |   0
>  .../include/rte_pci_dev_feature_defs.h        |   0
>  .../include/rte_pci_dev_features.h            |   0
>  .../{common => }/include/rte_per_lcore.h      |   0
>  .../{common => }/include/rte_random.h         |   0
>  .../{common => }/include/rte_reciprocal.h     |   0
>  .../{common => }/include/rte_service.h        |   0
>  .../include/rte_service_component.h           |   0
>  .../{common => }/include/rte_string_fns.h     |   0
>  .../{common => }/include/rte_tailq.h          |   0
>  .../{common => }/include/rte_test.h           |   0
>  .../{common => }/include/rte_time.h           |   0
>  .../{common => }/include/rte_uuid.h           |   0
>  .../{common => }/include/rte_version.h        |   0
>  .../{common => }/include/rte_vfio.h           |   0
>  lib/librte_eal/linux/Makefile                 |  97 ++++++++++++++++-
>  lib/librte_eal/linux/{eal => }/eal.c          |   0
>  lib/librte_eal/linux/eal/Makefile             | 101 ------------------
>  lib/librte_eal/linux/eal/meson.build          |  31 ------
>  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
>  .../linux/{eal => }/eal_hugepage_info.c       |   0
>  .../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
>  .../linux/{eal => }/eal_vfio_mp_sync.c        |   0
>  lib/librte_eal/linux/include/meson.build      |   9 ++
>  .../linux/{eal => }/include/rte_kni_common.h  |   0
>  .../linux/{eal => }/include/rte_os.h          |   0
>  lib/librte_eal/linux/meson.build              |  27 +++++
>  lib/librte_eal/meson.build                    |  19 ++--
>  .../arch/ppc_64 => ppc/include}/meson.build   |   7 +-
>  .../arch/ppc_64 => ppc/include}/rte_atomic.h  |   0
>  .../ppc_64 => ppc/include}/rte_byteorder.h    |   0
>  .../ppc_64 => ppc/include}/rte_cpuflags.h     |   0
>  .../arch/ppc_64 => ppc/include}/rte_cycles.h  |   0
>  .../arch/ppc_64 => ppc/include}/rte_io.h      |   0
>  .../arch/ppc_64 => ppc/include}/rte_mcslock.h |   0
>  .../arch/ppc_64 => ppc/include}/rte_memcpy.h  |   0
>  .../arch/ppc_64 => ppc/include}/rte_pause.h   |   0
>  .../ppc_64 => ppc/include}/rte_prefetch.h     |   0
>  .../arch/ppc_64 => ppc/include}/rte_rwlock.h  |   0
>  .../ppc_64 => ppc/include}/rte_spinlock.h     |   0
>  .../ppc_64 => ppc/include}/rte_ticketlock.h   |   0
>  .../arch/ppc_64 => ppc/include}/rte_vect.h    |   0
>  lib/librte_eal/ppc/meson.build                |  10 ++
>  .../arch/ppc_64 => ppc}/rte_cpuflags.c        |   0
>  .../{common/arch/ppc_64 => ppc}/rte_cycles.c  |   0
>  .../arch/ppc_64 => ppc}/rte_hypervisor.c      |   0
>  lib/librte_eal/windows/{eal => }/eal.c        |   0
>  lib/librte_eal/windows/eal/meson.build        |  27 -----
>  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
>  .../windows/{eal => }/include/dirent.h        |   0
>  .../windows/{eal => }/include/fnmatch.h       |   0
>  .../windows/{eal => }/include/getopt.h        |   0
>  lib/librte_eal/windows/include/meson.build    |   8 ++
>  .../windows/{eal => }/include/pthread.h       |   0
>  .../windows/{eal => }/include/regex.h         |   0
>  .../windows/{eal => }/include/rte_os.h        |   0
>  .../windows/{eal => }/include/sched.h         |   0
>  .../windows/{eal => }/include/sys/queue.h     |   0
>  .../windows/{eal => }/include/unistd.h        |   0
>  lib/librte_eal/windows/meson.build            |  12 +++
>  .../arch/x86 => x86/include}/meson.build      |   7 +-
>  .../arch/x86 => x86/include}/rte_atomic.h     |   0
>  .../arch/x86 => x86/include}/rte_atomic_32.h  |   0
>  .../arch/x86 => x86/include}/rte_atomic_64.h  |   0
>  .../arch/x86 => x86/include}/rte_byteorder.h  |   0
>  .../x86 => x86/include}/rte_byteorder_32.h    |   0
>  .../x86 => x86/include}/rte_byteorder_64.h    |   0
>  .../arch/x86 => x86/include}/rte_cpuflags.h   |   0
>  .../arch/x86 => x86/include}/rte_cycles.h     |   0
>  .../include/arch/x86 => x86/include}/rte_io.h |   0
>  .../arch/x86 => x86/include}/rte_mcslock.h    |   0
>  .../arch/x86 => x86/include}/rte_memcpy.h     |   0
>  .../arch/x86 => x86/include}/rte_pause.h      |   0
>  .../arch/x86 => x86/include}/rte_prefetch.h   |   0
>  .../arch/x86 => x86/include}/rte_rtm.h        |   0
>  .../arch/x86 => x86/include}/rte_rwlock.h     |   0
>  .../arch/x86 => x86/include}/rte_spinlock.h   |   0
>  .../arch/x86 => x86/include}/rte_ticketlock.h |   0
>  .../arch/x86 => x86/include}/rte_vect.h       |   0
>  lib/librte_eal/x86/meson.build                |  11 ++
>  .../{common/arch => }/x86/rte_cpuflags.c      |   0
>  .../{common/arch => }/x86/rte_cpuid.h         |   0
>  .../{common/arch => }/x86/rte_cycles.c        |   0
>  .../{common/arch => }/x86/rte_hypervisor.c    |   0
>  .../{common/arch => }/x86/rte_spinlock.c      |   0
>  lib/librte_kvargs/Makefile                    |   2 +-
>  license/exceptions.txt                        |   6 +-
>  meson.build                                   |   4 +-
>  mk/arch/ppc_64/rte.vars.mk                    |   1 +
>  mk/exec-env/freebsd/rte.vars.mk               |   2 +-
>  mk/exec-env/linux/rte.vars.mk                 |   2 +-
>  223 files changed, 480 insertions(+), 508 deletions(-)
>  rename config/{ppc_64 => ppc}/meson.build (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/meson.build (79%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_atomic.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_atomic_32.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_atomic_64.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_byteorder.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cpuflags.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cpuflags_32.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cpuflags_64.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cycles.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cycles_32.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_cycles_64.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_io.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_io_64.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_mcslock.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_memcpy.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_memcpy_32.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_memcpy_64.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_pause.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_pause_32.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_pause_64.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_prefetch.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_prefetch_32.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_prefetch_64.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_rwlock.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_spinlock.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_ticketlock.h (100%)
>  rename lib/librte_eal/{common/include/arch/arm => arm/include}/rte_vect.h (100%)
>  create mode 100644 lib/librte_eal/arm/meson.build
>  rename lib/librte_eal/{common/arch => }/arm/rte_cpuflags.c (100%)
>  rename lib/librte_eal/{common/arch => }/arm/rte_cycles.c (100%)
>  rename lib/librte_eal/{common/arch => }/arm/rte_hypervisor.c (100%)
>  delete mode 100644 lib/librte_eal/common/Makefile
>  delete mode 100644 lib/librte_eal/common/arch/arm/meson.build
>  delete mode 100644 lib/librte_eal/common/arch/ppc_64/meson.build
>  delete mode 100644 lib/librte_eal/common/arch/x86/meson.build
>  delete mode 100644 lib/librte_eal/freebsd/BSDmakefile.meson
>  rename lib/librte_eal/freebsd/{eal => }/eal.c (100%)
>  delete mode 100644 lib/librte_eal/freebsd/eal/Makefile
>  delete mode 100644 lib/librte_eal/freebsd/eal/meson.build
>  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%)
>  create mode 100644 lib/librte_eal/freebsd/meson.build
>  create mode 100644 lib/librte_eal/include/Makefile
>  rename lib/librte_eal/{common => }/include/generic/rte_atomic.h (100%)
>  rename lib/librte_eal/{common => }/include/generic/rte_byteorder.h (100%)
>  rename lib/librte_eal/{common => }/include/generic/rte_cpuflags.h (100%)
>  rename lib/librte_eal/{common => }/include/generic/rte_cycles.h (100%)
>  rename lib/librte_eal/{common => }/include/generic/rte_io.h (100%)
>  rename lib/librte_eal/{common => }/include/generic/rte_mcslock.h (100%)
>  rename lib/librte_eal/{common => }/include/generic/rte_memcpy.h (100%)
>  rename lib/librte_eal/{common => }/include/generic/rte_pause.h (100%)
>  rename lib/librte_eal/{common => }/include/generic/rte_prefetch.h (100%)
>  rename lib/librte_eal/{common => }/include/generic/rte_rwlock.h (100%)
>  rename lib/librte_eal/{common => }/include/generic/rte_spinlock.h (100%)
>  rename lib/librte_eal/{common => }/include/generic/rte_ticketlock.h (100%)
>  rename lib/librte_eal/{common => }/include/generic/rte_vect.h (100%)
>  create mode 100644 lib/librte_eal/include/meson.build
>  rename lib/librte_eal/{common => }/include/rte_alarm.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_bitmap.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_branch_prediction.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_bus.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_class.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_common.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_compat.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_debug.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_dev.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_devargs.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_eal.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_eal_interrupts.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_eal_memconfig.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_errno.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_fbarray.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_function_versioning.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_hexdump.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_hypervisor.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_interrupts.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_keepalive.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_launch.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_lcore.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_log.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_malloc.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_memory.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_memzone.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_option.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_pci_dev_feature_defs.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_pci_dev_features.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_per_lcore.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_random.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_reciprocal.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_service.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_service_component.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_string_fns.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_tailq.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_test.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_time.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_uuid.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_version.h (100%)
>  rename lib/librte_eal/{common => }/include/rte_vfio.h (100%)
>  rename lib/librte_eal/linux/{eal => }/eal.c (100%)
>  delete mode 100644 lib/librte_eal/linux/eal/Makefile
>  delete mode 100644 lib/librte_eal/linux/eal/meson.build
>  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%)
>  create mode 100644 lib/librte_eal/linux/meson.build
>  rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/meson.build (67%)
>  rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_atomic.h (100%)
>  rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_byteorder.h (100%)
>  rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_cpuflags.h (100%)
>  rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_cycles.h (100%)
>  rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_io.h (100%)
>  rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_mcslock.h (100%)
>  rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_memcpy.h (100%)
>  rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_pause.h (100%)
>  rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_prefetch.h (100%)
>  rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_rwlock.h (100%)
>  rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_spinlock.h (100%)
>  rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_ticketlock.h (100%)
>  rename lib/librte_eal/{common/include/arch/ppc_64 => ppc/include}/rte_vect.h (100%)
>  create mode 100644 lib/librte_eal/ppc/meson.build
>  rename lib/librte_eal/{common/arch/ppc_64 => ppc}/rte_cpuflags.c (100%)
>  rename lib/librte_eal/{common/arch/ppc_64 => ppc}/rte_cycles.c (100%)
>  rename lib/librte_eal/{common/arch/ppc_64 => ppc}/rte_hypervisor.c (100%)
>  rename lib/librte_eal/windows/{eal => }/eal.c (100%)
>  delete mode 100644 lib/librte_eal/windows/eal/meson.build
>  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%)
>  create mode 100644 lib/librte_eal/windows/meson.build
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/meson.build (73%)
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_atomic.h (100%)
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_atomic_32.h (100%)
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_atomic_64.h (100%)
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_byteorder.h (100%)
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_byteorder_32.h (100%)
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_byteorder_64.h (100%)
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_cpuflags.h (100%)
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_cycles.h (100%)
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_io.h (100%)
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_mcslock.h (100%)
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_memcpy.h (100%)
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_pause.h (100%)
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_prefetch.h (100%)
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_rtm.h (100%)
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_rwlock.h (100%)
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_spinlock.h (100%)
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_ticketlock.h (100%)
>  rename lib/librte_eal/{common/include/arch/x86 => x86/include}/rte_vect.h (100%)
>  create mode 100644 lib/librte_eal/x86/meson.build
>  rename lib/librte_eal/{common/arch => }/x86/rte_cpuflags.c (100%)
>  rename lib/librte_eal/{common/arch => }/x86/rte_cpuid.h (100%)
>  rename lib/librte_eal/{common/arch => }/x86/rte_cycles.c (100%)
>  rename lib/librte_eal/{common/arch => }/x86/rte_hypervisor.c (100%)
>  rename lib/librte_eal/{common/arch => }/x86/rte_spinlock.c (100%)
> 

When applied this should still bisectable right? i.e all these intermediate
steps won't cause a build break when running git bisect.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/8] eal: reorganize directories layout
  2020-03-27 14:47   ` [dpdk-dev] [PATCH v2 0/8] eal: reorganize directories layout Stephen Hemminger
@ 2020-03-27 15:12     ` Thomas Monjalon
  0 siblings, 0 replies; 22+ messages in thread
From: Thomas Monjalon @ 2020-03-27 15:12 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, david.marchand

27/03/2020 15:47, Stephen Hemminger:
> On Fri, 27 Mar 2020 02:15:32 +0100
> Thomas Monjalon <thomas@monjalon.net> wrote:
> > v2:
> >   - add missing meson and make files in the include/ directory
> >   - fix ppc build
> >   - cosmetic improvements in meson files
> >   - split single patch into 8 pieces
> > 
> > 
> > Thomas Monjalon (8):
> >   eal: remove useless makefiles
> >   build: rename ppc sub-directories
> >   eal: move arch-specific C files
> >   eal: move arch-specific header files
> >   eal: simplify meson build of common directory
> >   eal: move common header files
> >   eal: move OS-specific sub-directories
> >   eal: clean make and meson files
> 
> When applied this should still bisectable right? i.e all these intermediate
> steps won't cause a build break when running git bisect.

Correct. I spent hours to have proper intermediate steps.
If you find a specific arch or OS is broken in an intermediate step, please shout :)




^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [dpdk-dev] [PATCH v2 3/8] eal: move arch-specific C files
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 3/8] eal: move arch-specific C files Thomas Monjalon
@ 2020-03-27 17:46     ` David Christensen
  0 siblings, 0 replies; 22+ messages in thread
From: David Christensen @ 2020-03-27 17:46 UTC (permalink / raw)
  To: Thomas Monjalon, dev
  Cc: david.marchand, Jan Viktorin, Gavin Hu, Bruce Richardson,
	Konstantin Ananyev



On 3/26/20 6:15 PM, Thomas Monjalon wrote:
> The arch-specific directories arm, ppc and x86 in common/arch/
> are moved at the same level as the OS-specific directories.
> It makes more clear that EAL is covering a matrix combining OS and arch.
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

Reviewed-by: David Christensen <drc@linux.vnet.ibm.com>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [dpdk-dev] [PATCH v2 4/8] eal: move arch-specific header files
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 4/8] eal: move arch-specific header files Thomas Monjalon
  2020-03-27  2:39     ` Gavin Hu
@ 2020-03-27 17:47     ` David Christensen
  1 sibling, 0 replies; 22+ messages in thread
From: David Christensen @ 2020-03-27 17:47 UTC (permalink / raw)
  To: Thomas Monjalon, dev
  Cc: david.marchand, Jan Viktorin, Gavin Hu, Jerin Jacob,
	Bruce Richardson, Konstantin Ananyev



On 3/26/20 6:15 PM, Thomas Monjalon wrote:
> The arch-specific directories arm, ppc and x86 in common/include/arch/
> are moved as include/ sub-directories of respective arch directories:
> 	- arm/include/
> 	- ppc/include/
> 	- x86/include/
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

Reviewed-by: David Christensen <drc@linux.vnet.ibm.com>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [dpdk-dev] [PATCH v2 2/8] build: rename ppc sub-directories
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 2/8] build: rename ppc sub-directories Thomas Monjalon
@ 2020-03-27 17:49     ` David Christensen
  0 siblings, 0 replies; 22+ messages in thread
From: David Christensen @ 2020-03-27 17:49 UTC (permalink / raw)
  To: Thomas Monjalon, dev
  Cc: david.marchand, Maxime Coquelin, Zhihong Wang, Xiaolong Ye



On 3/26/20 6:15 PM, Thomas Monjalon wrote:
> The directories ppc_64 are renamed as ppc in
> 	- config/
> 	- lib/librte_eal/common/arch/
> 	- lib/librte_eal/common/include/arch/
> 
> The EAL directories are not really renamed, but symbolically linked,
> because they will be moved with their new name in the next commits.
> 
> If ppc_32 needs to be supported, it can be in the same directory.
> The arch directories arm and x86 are already covering both 32 and 64-bit
> sub-architectures.
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

Reviewed-by: David Christensen <drc@linux.vnet.ibm.com>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [dpdk-dev] [PATCH v2 6/8] eal: move common header files
  2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 6/8] eal: move common header files Thomas Monjalon
@ 2020-03-30 13:25     ` David Marchand
  0 siblings, 0 replies; 22+ messages in thread
From: David Marchand @ 2020-03-30 13:25 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: dev, Neil Horman, John McNamara, Marko Kovacevic, Hemant Agrawal,
	Sachin Saxena, Matan Azrad, Shahaf Shuler, Viacheslav Ovsiienko,
	Gagandeep Singh, Akhil Goyal, Nipun Gupta, Ferruh Yigit,
	Cristian Dumitrescu, Harry van Haaren, Bruce Richardson,
	Phil Yang, Joyce Kong, Anatoly Burakov, Mattias Rönnblom,
	Olivier Matz

On Fri, Mar 27, 2020 at 2:17 AM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> The EAL API (with doxygen documentation) is moved from
> common/include/ to include/, which makes more clear that
> it is the global API for all environments and architectures.
>
> Note that the arch-specific and OS-specific include files are not
> in this global include directory, but include/generic/ should
> cover the doxygen documentation for them.
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

This patch breaks the installation of common headers with meson, hence
breaking the compilation of external applications (like examples).

[snip]

> diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build
> index 1fc532139b..a433f46ade 100644
> --- a/lib/librte_eal/meson.build
> +++ b/lib/librte_eal/meson.build
> @@ -5,6 +5,8 @@
>  # have a straight list of headers and source files.
>  # Initially pull in common settings
>  eal_inc = [global_inc]
> +subdir('include')
> +
>  subdir('common')
>
>  # Now do OS/exec-env specific settings, including building kernel modules
> @@ -27,5 +29,5 @@ if cc.has_header('getopt.h')
>  endif
>  sources += env_sources
>  objs = env_objs
> -headers = common_headers + env_headers
> +headers = env_headers
>  includes += eal_inc

Works with fix:

diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build
index a433f46ad..23ae03ad4 100644
--- a/lib/librte_eal/meson.build
+++ b/lib/librte_eal/meson.build
@@ -29,5 +29,5 @@ if cc.has_header('getopt.h')
 endif
 sources += env_sources
 objs = env_objs
-headers = env_headers
+headers += env_headers
 includes += eal_inc



-- 
David Marchand


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/8] eal: reorganize directories layout
  2020-03-27  1:15 ` [dpdk-dev] [PATCH v2 0/8] " Thomas Monjalon
                     ` (8 preceding siblings ...)
  2020-03-27 14:47   ` [dpdk-dev] [PATCH v2 0/8] eal: reorganize directories layout Stephen Hemminger
@ 2020-03-30 14:22   ` David Marchand
  2020-03-31 11:13     ` David Marchand
  9 siblings, 1 reply; 22+ messages in thread
From: David Marchand @ 2020-03-30 14:22 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, Stephen Hemminger, Bruce Richardson

On Fri, Mar 27, 2020 at 2:16 AM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> Some clean-up is done in EAL sub-directories.
> The goal is to make organization easier to understand,
> and to prepare moving some files from common to Unix-only place.
>
> Since the kernel modules are moved to kernel/ directory,
> there is no need anymore for the sub-directory eal/ in
> linux/, freebsd/ and windows/.
>
> The EAL API (with doxygen documentation) is moved from
> common/include/ to include/, which makes more clear that
> it is the global API for all environments and architectures.
> Note that the arch-specific and OS-specific include files are not
> in this global include directory, but include/generic/ should
> cover the doxygen documentation for them.
>
> The arch-specific directories arm, ppc_64 and x86 in common/arch/
> and in common/include/arch are moved at the same level as the
> OS-specific directories, adding an include/ sub-directory.
> It makes more clear that EAL is covering a matrix combining OS and arch.
> Note that ppc_64 is renamed to ppc.
>
> These moves offer the opportunity to simplify the make and meson files.
>
>
> This change was proposed to the Technical Board in advance:
> http://mails.dpdk.org/archives/dev/2020-January/156732.html

I caught an issue on patch 6 that breaks headers installation with
meson (caught this by compiling examples against an installed dpdk).
This issue is fixed by patch 7.
So it is only a matter of fixing compilation when bisecting.
I proposed a fix in reply to patch 6, which I intend to squash in when applying.


I did not validate all patches individually with make, as I get build
errors on missing headers with parallel compilation quite easily.
But those errors are transient afaiu: with a clean build directory no problem.


For the series:
Acked-by: David Marchand <david.marchand@redhat.com>


-- 
David Marchand


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/8] eal: reorganize directories layout
  2020-03-30 14:22   ` David Marchand
@ 2020-03-31 11:13     ` David Marchand
  0 siblings, 0 replies; 22+ messages in thread
From: David Marchand @ 2020-03-31 11:13 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, Stephen Hemminger, Bruce Richardson

On Mon, Mar 30, 2020 at 4:22 PM David Marchand
<david.marchand@redhat.com> wrote:
> On Fri, Mar 27, 2020 at 2:16 AM Thomas Monjalon <thomas@monjalon.net> wrote:
> >
> > Some clean-up is done in EAL sub-directories.
> > The goal is to make organization easier to understand,
> > and to prepare moving some files from common to Unix-only place.
> >
> > Since the kernel modules are moved to kernel/ directory,
> > there is no need anymore for the sub-directory eal/ in
> > linux/, freebsd/ and windows/.
> >
> > The EAL API (with doxygen documentation) is moved from
> > common/include/ to include/, which makes more clear that
> > it is the global API for all environments and architectures.
> > Note that the arch-specific and OS-specific include files are not
> > in this global include directory, but include/generic/ should
> > cover the doxygen documentation for them.
> >
> > The arch-specific directories arm, ppc_64 and x86 in common/arch/
> > and in common/include/arch are moved at the same level as the
> > OS-specific directories, adding an include/ sub-directory.
> > It makes more clear that EAL is covering a matrix combining OS and arch.
> > Note that ppc_64 is renamed to ppc.
> >
> > These moves offer the opportunity to simplify the make and meson files.
> >
> >
> > This change was proposed to the Technical Board in advance:
> > http://mails.dpdk.org/archives/dev/2020-January/156732.html
>
> I caught an issue on patch 6 that breaks headers installation with
> meson (caught this by compiling examples against an installed dpdk).
> This issue is fixed by patch 7.
> So it is only a matter of fixing compilation when bisecting.
> I proposed a fix in reply to patch 6, which I intend to squash in when applying.
>
>
> I did not validate all patches individually with make, as I get build
> errors on missing headers with parallel compilation quite easily.
> But those errors are transient afaiu: with a clean build directory no problem.
>
>
> For the series:
> Acked-by: David Marchand <david.marchand@redhat.com>

Series applied with change in patch 6.


-- 
David Marchand


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2020-03-31 11:13 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-20  0:12 [dpdk-dev] [PATCH] eal: reorganize directories layout Thomas Monjalon
2020-03-20  9:34 ` Bruce Richardson
2020-03-20 11:46   ` Thomas Monjalon
2020-03-27  1:15 ` [dpdk-dev] [PATCH v2 0/8] " Thomas Monjalon
2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 1/8] eal: remove useless makefiles Thomas Monjalon
2020-03-27 12:05     ` Bruce Richardson
2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 2/8] build: rename ppc sub-directories Thomas Monjalon
2020-03-27 17:49     ` David Christensen
2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 3/8] eal: move arch-specific C files Thomas Monjalon
2020-03-27 17:46     ` David Christensen
2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 4/8] eal: move arch-specific header files Thomas Monjalon
2020-03-27  2:39     ` Gavin Hu
2020-03-27 17:47     ` David Christensen
2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 5/8] eal: simplify meson build of common directory Thomas Monjalon
2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 6/8] eal: move common header files Thomas Monjalon
2020-03-30 13:25     ` David Marchand
2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 7/8] eal: move OS-specific sub-directories Thomas Monjalon
2020-03-27  1:15   ` [dpdk-dev] [PATCH v2 8/8] eal: clean make and meson files Thomas Monjalon
2020-03-27 14:47   ` [dpdk-dev] [PATCH v2 0/8] eal: reorganize directories layout Stephen Hemminger
2020-03-27 15:12     ` Thomas Monjalon
2020-03-30 14:22   ` David Marchand
2020-03-31 11:13     ` David Marchand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).