mbox series

[00/14] Build file updates

Message ID 20210416170458.50188-1-bruce.richardson@intel.com (mailing list archive)
Headers
Series Build file updates |

Message

Bruce Richardson April 16, 2021, 5:04 p.m. UTC
  This RFC contains 5 changes/updates to the DPDK build and build files.

The changes in this set are:
1. Use "continue" keyword, new in 0.49 to shorten and reduce indentation levels
   in the foreach loops when building library or driver components.
2. For libraries, drop support for header-only libraries, which was added just
   for the "compat" lib which had a single header, and is now part of EAL. This
   similarly reduces indentation levels and makes the code easier to follow
3. Since the larger blocks of meson code in our repo is seeing massive
   whitespace changes, take the opportunity to switch our indentation style for
   meson files from that of C-files using tabs, to Meson/Python style using
   spaces. [More below on this for discussion]
4. Remove the "librte_" prefix from all our library directories. While as useful
   cleanup, the main driver for this was that it simplifies the matching for #5
   below.
5. Add a "disable_libs" build option to allow the user to optionally not build
   certain components. Include in this an explicit list of libraries which are
   "known safe" to disable in the build. For now this is a short list of three
   libs, all of which are safe because they are not buildable on FreeBSD. More
   work is needed to expand this list in future.

Of these changes, I expect #3 to be most controversial. The initial
implementation of meson build for DPDK should have originally been done using
the correct meson style using spaces[1], but sadly it was not done that way. If
we are to ever change, I believe it should be now while other rework such as
this is being done. Here are the arguments for/against, as I see them.

Reasons to change:
* Align with official meson style, used on other projects
* Reduce indentation levels in code. NOTE: While not normally a consideration in
  programming, this is a possible issue with meson compared to C or Python,
  because we cannot create separate functions to move inner loops to lower
  indentation levels.
* It's probably now or never.

Reasons not to change:
* Outstanding patches for meson would need respin
* More work involved in backports - though with the more complicated meson
  blocks changing whitespace levels anyway due to #1 and #2 above, it's probably
  no more difficult than it would otherwise be. The extra changes to e.g. list
  indentation, require work to adjust whitespace, but are trivial to fix.
* Code churn

Feedback on these patches and proposed changes welcome, as always.

[1] https://mesonbuild.com/Style-guide.html#tabs-or-spaces

RFC -> V1:
* rebased to current main branch
* performed cleanup on many meson.build files to ensure correct formatting of
  lists:
   * split lists with >3 or >4 entries to be one per line
   * first entry on own line
   * last entry on own line with ","
   * closing braces dedented to original indent level
   * alphabetical ordering
  Files in "lib" folder should be mostly ok now - files in the drivers
  directory have not been done to the same level, as there are so many of
  them to work on.
* other general whitespace changes, including merging lines where possible,
  since indent levels are reduced


Bruce Richardson (14):
  build: simplify library build file
  build: tidy up list of libraries to build
  build: simplify the driver build configuration file
  build: clean up driver lists
  build: reduce indentation in app build spec
  build: reduce indentation in examples build spec
  build: change infrastructure file tabs to spaces
  lib: cleanup whitespace in meson build files
  drivers: change meson file tabs to spaces
  examples: change meson file tabs to spaces
  app: change meson file tabs to spaces
  editorconfig: add entry for meson files
  lib: remove librte_ prefix from directory names
  lib: allow disabling optional libraries

 .editorconfig                                 |   5 +
 MAINTAINERS                                   | 210 +++---
 app/meson.build                               | 101 +--
 app/test-bbdev/meson.build                    |  12 +-
 app/test-compress-perf/meson.build            |  10 +-
 app/test-crypto-perf/meson.build              |  20 +-
 app/test-eventdev/meson.build                 |  24 +-
 app/test-flow-perf/meson.build                |   8 +-
 app/test-pipeline/meson.build                 |  18 +-
 app/test-pmd/meson.build                      |  60 +-
 app/test/meson.build                          | 530 +++++++--------
 app/test/test_eal_fs.c                        |   2 +-
 app/test/test_memzone.c                       |   2 +-
 app/test/test_telemetry_json.c                |   2 +-
 buildtools/chkincs/meson.build                |  24 +-
 buildtools/meson.build                        |  34 +-
 buildtools/pkg-config/meson.build             |  34 +-
 config/arm/meson.build                        | 630 +++++++++---------
 config/meson.build                            | 286 ++++----
 config/ppc/meson.build                        |   8 +-
 config/x86/meson.build                        |  64 +-
 devtools/build-tags.sh                        |  14 +-
 doc/api/doxy-api.conf.in                      | 104 +--
 doc/api/meson.build                           |  36 +-
 doc/guides/contributing/abi_versioning.rst    |  12 +-
 doc/guides/contributing/coding_style.rst      |   4 +-
 doc/guides/contributing/documentation.rst     |  10 +-
 doc/guides/meson.build                        |  25 +-
 doc/guides/prog_guide/event_timer_adapter.rst |   2 +-
 doc/guides/prog_guide/qos_framework.rst       |   4 +-
 doc/guides/prog_guide/rawdev.rst              |   2 +-
 doc/guides/rel_notes/known_issues.rst         |   2 +-
 doc/meson.build                               |   6 +-
 drivers/baseband/meson.build                  |  10 +-
 drivers/baseband/turbo_sw/meson.build         |  46 +-
 drivers/bus/dpaa/meson.build                  |  28 +-
 drivers/bus/fslmc/meson.build                 |  30 +-
 drivers/bus/ifpga/meson.build                 |   6 +-
 drivers/bus/meson.build                       |   9 +-
 drivers/bus/pci/meson.build                   |  24 +-
 drivers/bus/vdev/meson.build                  |   2 +-
 drivers/bus/vmbus/meson.build                 |  22 +-
 drivers/common/cpt/meson.build                |   9 +-
 drivers/common/dpaax/meson.build              |   8 +-
 drivers/common/meson.build                    |   9 +-
 drivers/common/mlx5/linux/meson.build         | 349 +++++-----
 drivers/common/mlx5/meson.build               |  40 +-
 drivers/common/mlx5/windows/meson.build       |  30 +-
 drivers/common/mvep/meson.build               |   6 +-
 drivers/common/octeontx2/meson.build          |  29 +-
 drivers/common/qat/meson.build                |  71 +-
 drivers/common/sfc_efx/base/meson.build       | 142 ++--
 drivers/common/sfc_efx/meson.build            |  24 +-
 drivers/compress/isal/meson.build             |   4 +-
 drivers/compress/meson.build                  |   9 +-
 drivers/compress/mlx5/meson.build             |  24 +-
 drivers/compress/zlib/meson.build             |   4 +-
 drivers/crypto/aesni_gcm/meson.build          |  22 +-
 drivers/crypto/aesni_mb/meson.build           |  22 +-
 drivers/crypto/armv8/meson.build              |   6 +-
 drivers/crypto/bcmfs/meson.build              |  26 +-
 drivers/crypto/caam_jr/meson.build            |  10 +-
 drivers/crypto/ccp/meson.build                |  16 +-
 drivers/crypto/dpaa2_sec/meson.build          |   6 +-
 drivers/crypto/dpaa_sec/meson.build           |   4 +-
 drivers/crypto/kasumi/meson.build             |  20 +-
 drivers/crypto/meson.build                    |  42 +-
 drivers/crypto/mvsam/meson.build              |   6 +-
 drivers/crypto/nitrox/meson.build             |  20 +-
 drivers/crypto/octeontx/meson.build           |  12 +-
 drivers/crypto/octeontx2/meson.build          |  16 +-
 drivers/crypto/openssl/meson.build            |   4 +-
 drivers/crypto/qat/meson.build                |  20 +-
 drivers/crypto/scheduler/meson.build          |  18 +-
 drivers/crypto/snow3g/meson.build             |  18 +-
 drivers/crypto/virtio/meson.build             |   4 +-
 drivers/crypto/zuc/meson.build                |  20 +-
 drivers/event/dlb2/meson.build                |  14 +-
 drivers/event/dpaa/meson.build                |   4 +-
 drivers/event/dpaa2/meson.build               |   8 +-
 drivers/event/dsw/meson.build                 |   2 +-
 drivers/event/meson.build                     |  18 +-
 drivers/event/octeontx/meson.build            |  12 +-
 drivers/event/octeontx2/meson.build           |  24 +-
 drivers/event/opdl/meson.build                |  10 +-
 drivers/event/sw/meson.build                  |   8 +-
 drivers/mempool/bucket/meson.build            |   4 +-
 drivers/mempool/dpaa/meson.build              |   4 +-
 drivers/mempool/dpaa2/meson.build             |   4 +-
 drivers/mempool/meson.build                   |  12 +-
 drivers/mempool/octeontx/meson.build          |   6 +-
 drivers/mempool/octeontx2/meson.build         |  20 +-
 drivers/mempool/stack/meson.build             |   4 +-
 drivers/meson.build                           | 422 ++++++------
 drivers/net/af_packet/meson.build             |   4 +-
 drivers/net/af_xdp/meson.build                |  24 +-
 drivers/net/ark/meson.build                   |  28 +-
 drivers/net/atlantic/meson.build              |  22 +-
 drivers/net/avp/meson.build                   |   4 +-
 drivers/net/axgbe/meson.build                 |  16 +-
 drivers/net/bnx2x/meson.build                 |  18 +-
 drivers/net/bnxt/meson.build                  | 124 ++--
 drivers/net/bonding/meson.build               |   8 +-
 drivers/net/cxgbe/meson.build                 |  30 +-
 drivers/net/dpaa/meson.build                  |  16 +-
 drivers/net/dpaa2/meson.build                 |  26 +-
 drivers/net/e1000/base/meson.build            |  50 +-
 drivers/net/e1000/meson.build                 |  20 +-
 drivers/net/ena/meson.build                   |  10 +-
 drivers/net/enetc/meson.build                 |   6 +-
 drivers/net/enic/meson.build                  |  46 +-
 drivers/net/failsafe/meson.build              |  24 +-
 drivers/net/fm10k/base/meson.build            |  28 +-
 drivers/net/fm10k/meson.build                 |  12 +-
 drivers/net/hinic/base/meson.build            |  26 +-
 drivers/net/hinic/meson.build                 |  16 +-
 drivers/net/hns3/meson.build                  |  52 +-
 drivers/net/i40e/base/meson.build             |  32 +-
 drivers/net/i40e/meson.build                  | 110 +--
 drivers/net/iavf/meson.build                  |  94 +--
 drivers/net/ice/base/meson.build              |  45 +-
 drivers/net/ice/meson.build                   | 102 +--
 drivers/net/igc/base/meson.build              |  20 +-
 drivers/net/igc/meson.build                   |  16 +-
 drivers/net/ionic/meson.build                 |  20 +-
 drivers/net/ipn3ke/meson.build                |  18 +-
 drivers/net/ixgbe/base/meson.build            |  42 +-
 drivers/net/ixgbe/meson.build                 |  32 +-
 drivers/net/kni/meson.build                   |   6 +-
 drivers/net/liquidio/meson.build              |  12 +-
 drivers/net/memif/meson.build                 |   6 +-
 drivers/net/meson.build                       | 108 +--
 drivers/net/mlx4/meson.build                  | 160 ++---
 drivers/net/mlx5/linux/meson.build            |  14 +-
 drivers/net/mlx5/meson.build                  |  78 +--
 drivers/net/mlx5/windows/meson.build          |  10 +-
 drivers/net/mvneta/meson.build                |  16 +-
 drivers/net/mvpp2/meson.build                 |  22 +-
 drivers/net/netvsc/meson.build                |   6 +-
 drivers/net/nfb/meson.build                   |   6 +-
 drivers/net/nfp/meson.build                   |  28 +-
 drivers/net/null/meson.build                  |   6 +-
 drivers/net/octeontx/base/meson.build         |  18 +-
 drivers/net/octeontx/meson.build              |  12 +-
 drivers/net/octeontx2/meson.build             |  62 +-
 drivers/net/pcap/meson.build                  |  10 +-
 drivers/net/pfe/meson.build                   |  12 +-
 drivers/net/qede/base/meson.build             |  78 +--
 drivers/net/qede/meson.build                  |  22 +-
 drivers/net/ring/meson.build                  |   6 +-
 drivers/net/sfc/meson.build                   |  64 +-
 drivers/net/softnic/meson.build               |  32 +-
 drivers/net/szedata2/meson.build              |   6 +-
 drivers/net/tap/meson.build                   |  42 +-
 drivers/net/thunderx/base/meson.build         |  10 +-
 drivers/net/thunderx/meson.build              |  14 +-
 drivers/net/txgbe/base/meson.build            |  26 +-
 drivers/net/txgbe/meson.build                 |  24 +-
 drivers/net/vdev_netvsc/meson.build           |   4 +-
 drivers/net/vhost/meson.build                 |   6 +-
 drivers/net/virtio/meson.build                |  78 +--
 drivers/net/vmxnet3/meson.build               |  10 +-
 drivers/raw/ifpga/base/meson.build            |  54 +-
 drivers/raw/ifpga/meson.build                 |   8 +-
 drivers/raw/ioat/meson.build                  |  18 +-
 drivers/raw/meson.build                       |  17 +-
 drivers/raw/ntb/meson.build                   |   2 +-
 drivers/raw/octeontx2_dma/meson.build         |   8 +-
 drivers/raw/octeontx2_ep/meson.build          |   6 +-
 drivers/regex/meson.build                     |   5 +-
 drivers/regex/mlx5/meson.build                |  32 +-
 drivers/regex/octeontx2/meson.build           |  22 +-
 drivers/vdpa/meson.build                      |   8 +-
 drivers/vdpa/mlx5/meson.build                 |  38 +-
 examples/bbdev_app/meson.build                |   2 +-
 examples/bond/meson.build                     |   2 +-
 examples/cmdline/meson.build                  |   2 +-
 examples/distributor/meson.build              |   4 +-
 examples/ethtool/meson.build                  |   8 +-
 examples/eventdev_pipeline/meson.build        |   6 +-
 examples/fips_validation/meson.build          |  22 +-
 examples/flow_classify/meson.build            |   2 +-
 examples/flow_filtering/meson.build           |   2 +-
 examples/helloworld/meson.build               |   2 +-
 examples/ioat/meson.build                     |   4 +-
 examples/ip_fragmentation/meson.build         |   2 +-
 examples/ip_pipeline/meson.build              |  30 +-
 examples/ip_reassembly/meson.build            |   2 +-
 examples/ipsec-secgw/meson.build              |  26 +-
 examples/ipv4_multicast/meson.build           |   2 +-
 examples/kni/meson.build                      |   4 +-
 examples/l2fwd-cat/meson.build                |   4 +-
 examples/l2fwd-crypto/meson.build             |   4 +-
 examples/l2fwd-event/meson.build              |  12 +-
 examples/l2fwd-jobstats/meson.build           |   2 +-
 examples/l2fwd-keepalive/meson.build          |   6 +-
 examples/l2fwd/meson.build                    |   2 +-
 examples/l3fwd-acl/meson.build                |   2 +-
 examples/l3fwd-graph/meson.build              |   2 +-
 examples/l3fwd-power/meson.build              |   2 +-
 examples/l3fwd/meson.build                    |   4 +-
 examples/link_status_interrupt/meson.build    |   2 +-
 examples/meson.build                          | 177 ++---
 .../client_server_mp/mp_client/meson.build    |   2 +-
 .../client_server_mp/mp_server/meson.build    |   2 +-
 examples/multi_process/hotplug_mp/meson.build |   2 +-
 examples/multi_process/simple_mp/meson.build  |   2 +-
 .../multi_process/symmetric_mp/meson.build    |   2 +-
 examples/ntb/meson.build                      |   8 +-
 examples/packet_ordering/meson.build          |   2 +-
 .../l3fwd-thread/meson.build                  |  20 +-
 .../pthread_shim/meson.build                  |  22 +-
 examples/pipeline/meson.build                 |  12 +-
 examples/ptpclient/meson.build                |   2 +-
 examples/qos_meter/meson.build                |   2 +-
 examples/qos_sched/meson.build                |   4 +-
 examples/rxtx_callbacks/meson.build           |   2 +-
 examples/service_cores/meson.build            |   2 +-
 examples/skeleton/meson.build                 |   2 +-
 examples/timer/meson.build                    |   2 +-
 examples/vdpa/meson.build                     |   6 +-
 examples/vhost/meson.build                    |  10 +-
 examples/vhost_blk/meson.build                |  10 +-
 examples/vhost_crypto/meson.build             |   4 +-
 .../vm_power_manager/guest_cli/meson.build    |   2 +-
 examples/vm_power_manager/meson.build         |  20 +-
 examples/vmdq/meson.build                     |   2 +-
 examples/vmdq_dcb/meson.build                 |   2 +-
 kernel/freebsd/meson.build                    |  32 +-
 kernel/linux/kni/meson.build                  |  41 +-
 kernel/linux/meson.build                      | 111 ++-
 lib/{librte_acl => acl}/acl.h                 |   0
 lib/{librte_acl => acl}/acl_bld.c             |   0
 lib/{librte_acl => acl}/acl_gen.c             |   0
 lib/{librte_acl => acl}/acl_run.h             |   0
 lib/{librte_acl => acl}/acl_run_altivec.c     |   0
 lib/{librte_acl => acl}/acl_run_altivec.h     |   0
 lib/{librte_acl => acl}/acl_run_avx2.c        |   0
 lib/{librte_acl => acl}/acl_run_avx2.h        |   0
 lib/{librte_acl => acl}/acl_run_avx512.c      |   0
 .../acl_run_avx512_common.h                   |   0
 lib/{librte_acl => acl}/acl_run_avx512x16.h   |   0
 lib/{librte_acl => acl}/acl_run_avx512x8.h    |   0
 lib/{librte_acl => acl}/acl_run_neon.c        |   0
 lib/{librte_acl => acl}/acl_run_neon.h        |   0
 lib/{librte_acl => acl}/acl_run_scalar.c      |   0
 lib/{librte_acl => acl}/acl_run_sse.c         |   0
 lib/{librte_acl => acl}/acl_run_sse.h         |   0
 lib/{librte_acl => acl}/acl_vect.h            |   0
 lib/acl/meson.build                           |  83 +++
 lib/{librte_acl => acl}/rte_acl.c             |   0
 lib/{librte_acl => acl}/rte_acl.h             |   0
 lib/{librte_acl => acl}/rte_acl_osdep.h       |   0
 lib/{librte_acl => acl}/tb_mem.c              |   0
 lib/{librte_acl => acl}/tb_mem.h              |   0
 lib/{librte_acl => acl}/version.map           |   0
 lib/{librte_bbdev => bbdev}/meson.build       |   4 +-
 lib/{librte_bbdev => bbdev}/rte_bbdev.c       |   0
 lib/{librte_bbdev => bbdev}/rte_bbdev.h       |   0
 lib/{librte_bbdev => bbdev}/rte_bbdev_op.h    |   0
 lib/{librte_bbdev => bbdev}/rte_bbdev_pmd.h   |   0
 lib/{librte_bbdev => bbdev}/version.map       |   0
 .../meson.build                               |   0
 .../rte_bitrate.c                             |   0
 .../rte_bitrate.h                             |   0
 .../version.map                               |   0
 lib/{librte_bpf => bpf}/bpf.c                 |   0
 lib/{librte_bpf => bpf}/bpf_def.h             |   0
 lib/{librte_bpf => bpf}/bpf_exec.c            |   0
 lib/{librte_bpf => bpf}/bpf_impl.h            |   0
 lib/{librte_bpf => bpf}/bpf_jit_arm64.c       |   0
 lib/{librte_bpf => bpf}/bpf_jit_x86.c         |   0
 lib/{librte_bpf => bpf}/bpf_load.c            |   0
 lib/{librte_bpf => bpf}/bpf_load_elf.c        |   0
 lib/{librte_bpf => bpf}/bpf_pkt.c             |   0
 lib/{librte_bpf => bpf}/bpf_validate.c        |   0
 lib/{librte_bpf => bpf}/meson.build           |  22 +-
 lib/{librte_bpf => bpf}/rte_bpf.h             |   0
 lib/{librte_bpf => bpf}/rte_bpf_ethdev.h      |   0
 lib/{librte_bpf => bpf}/version.map           |   0
 lib/{librte_cfgfile => cfgfile}/meson.build   |   0
 lib/{librte_cfgfile => cfgfile}/rte_cfgfile.c |   0
 lib/{librte_cfgfile => cfgfile}/rte_cfgfile.h |   0
 lib/{librte_cfgfile => cfgfile}/version.map   |   0
 lib/{librte_cmdline => cmdline}/cmdline.c     |   0
 lib/{librte_cmdline => cmdline}/cmdline.h     |   0
 .../cmdline_cirbuf.c                          |   0
 .../cmdline_cirbuf.h                          |   0
 .../cmdline_os_unix.c                         |   0
 .../cmdline_os_windows.c                      |   0
 .../cmdline_parse.c                           |   0
 .../cmdline_parse.h                           |   0
 .../cmdline_parse_etheraddr.c                 |   0
 .../cmdline_parse_etheraddr.h                 |   0
 .../cmdline_parse_ipaddr.c                    |   0
 .../cmdline_parse_ipaddr.h                    |   0
 .../cmdline_parse_num.c                       |   0
 .../cmdline_parse_num.h                       |   0
 .../cmdline_parse_portlist.c                  |   0
 .../cmdline_parse_portlist.h                  |   0
 .../cmdline_parse_string.c                    |   0
 .../cmdline_parse_string.h                    |   0
 .../cmdline_private.h                         |   0
 .../cmdline_rdline.c                          |   0
 .../cmdline_rdline.h                          |   0
 .../cmdline_socket.c                          |   0
 .../cmdline_socket.h                          |   0
 .../cmdline_vt100.c                           |   0
 .../cmdline_vt100.h                           |   0
 lib/cmdline/meson.build                       |  34 +
 lib/{librte_cmdline => cmdline}/version.map   |   0
 .../meson.build                               |  10 +-
 .../rte_comp.c                                |   0
 .../rte_comp.h                                |   0
 .../rte_compressdev.c                         |   0
 .../rte_compressdev.h                         |   0
 .../rte_compressdev_internal.h                |   0
 .../rte_compressdev_pmd.c                     |   0
 .../rte_compressdev_pmd.h                     |   0
 .../version.map                               |   0
 .../cryptodev_trace_points.c                  |   0
 .../meson.build                               |  12 +-
 .../rte_crypto.h                              |   0
 .../rte_crypto_asym.h                         |   0
 .../rte_crypto_sym.h                          |   0
 .../rte_cryptodev.c                           |   0
 .../rte_cryptodev.h                           |   0
 .../rte_cryptodev_pmd.c                       |   0
 .../rte_cryptodev_pmd.h                       |   0
 .../rte_cryptodev_trace.h                     |   0
 .../rte_cryptodev_trace_fp.h                  |   0
 .../version.map                               |   0
 .../distributor_private.h                     |   0
 .../meson.build                               |   4 +-
 .../rte_distributor.c                         |   0
 .../rte_distributor.h                         |   0
 .../rte_distributor_match_generic.c           |   0
 .../rte_distributor_match_sse.c               |   0
 .../rte_distributor_single.c                  |   0
 .../rte_distributor_single.h                  |   0
 .../version.map                               |   0
 lib/eal/arm/include/meson.build               |  34 +
 .../arm/include/rte_atomic.h                  |   0
 .../arm/include/rte_atomic_32.h               |   0
 .../arm/include/rte_atomic_64.h               |   0
 .../arm/include/rte_byteorder.h               |   0
 .../arm/include/rte_cpuflags.h                |   0
 .../arm/include/rte_cpuflags_32.h             |   0
 .../arm/include/rte_cpuflags_64.h             |   0
 .../arm/include/rte_cycles.h                  |   0
 .../arm/include/rte_cycles_32.h               |   0
 .../arm/include/rte_cycles_64.h               |   0
 lib/{librte_eal => eal}/arm/include/rte_io.h  |   0
 .../arm/include/rte_io_64.h                   |   0
 .../arm/include/rte_mcslock.h                 |   0
 .../arm/include/rte_memcpy.h                  |   0
 .../arm/include/rte_memcpy_32.h               |   0
 .../arm/include/rte_memcpy_64.h               |   0
 .../arm/include/rte_pause.h                   |   0
 .../arm/include/rte_pause_32.h                |   0
 .../arm/include/rte_pause_64.h                |   0
 .../arm/include/rte_pflock.h                  |   0
 .../arm/include/rte_power_intrinsics.h        |   0
 .../arm/include/rte_prefetch.h                |   0
 .../arm/include/rte_prefetch_32.h             |   0
 .../arm/include/rte_prefetch_64.h             |   0
 .../arm/include/rte_rwlock.h                  |   0
 .../arm/include/rte_spinlock.h                |   0
 .../arm/include/rte_ticketlock.h              |   0
 .../arm/include/rte_vect.h                    |   0
 lib/{librte_eal => eal}/arm/meson.build       |   8 +-
 lib/{librte_eal => eal}/arm/rte_cpuflags.c    |   0
 lib/{librte_eal => eal}/arm/rte_cycles.c      |   0
 lib/{librte_eal => eal}/arm/rte_hypervisor.c  |   0
 .../arm/rte_power_intrinsics.c                |   0
 .../common/eal_common_bus.c                   |   0
 .../common/eal_common_class.c                 |   0
 .../common/eal_common_config.c                |   0
 .../common/eal_common_cpuflags.c              |   0
 .../common/eal_common_debug.c                 |   0
 .../common/eal_common_dev.c                   |   0
 .../common/eal_common_devargs.c               |   0
 .../common/eal_common_dynmem.c                |   0
 .../common/eal_common_errno.c                 |   0
 .../common/eal_common_fbarray.c               |   0
 .../common/eal_common_hexdump.c               |   0
 .../common/eal_common_hypervisor.c            |   0
 .../common/eal_common_launch.c                |   0
 .../common/eal_common_lcore.c                 |   0
 .../common/eal_common_log.c                   |   0
 .../common/eal_common_mcfg.c                  |   0
 .../common/eal_common_memalloc.c              |   0
 .../common/eal_common_memory.c                |   0
 .../common/eal_common_memzone.c               |   0
 .../common/eal_common_options.c               |   0
 .../common/eal_common_proc.c                  |   0
 .../common/eal_common_string_fns.c            |   0
 .../common/eal_common_tailqs.c                |   0
 .../common/eal_common_thread.c                |   0
 .../common/eal_common_timer.c                 |   0
 .../common/eal_common_trace.c                 |   0
 .../common/eal_common_trace_ctf.c             |   0
 .../common/eal_common_trace_points.c          |   0
 .../common/eal_common_trace_utils.c           |   0
 .../common/eal_common_uuid.c                  |   0
 .../common/eal_filesystem.h                   |   0
 .../common/eal_hugepages.h                    |   0
 .../common/eal_internal_cfg.h                 |   0
 lib/{librte_eal => eal}/common/eal_log.h      |   0
 lib/{librte_eal => eal}/common/eal_memalloc.h |   0
 lib/{librte_eal => eal}/common/eal_memcfg.h   |   0
 lib/{librte_eal => eal}/common/eal_options.h  |   0
 lib/{librte_eal => eal}/common/eal_private.h  |   0
 lib/{librte_eal => eal}/common/eal_thread.h   |   0
 lib/{librte_eal => eal}/common/eal_trace.h    |   0
 lib/{librte_eal => eal}/common/hotplug_mp.c   |   0
 lib/{librte_eal => eal}/common/hotplug_mp.h   |   0
 lib/{librte_eal => eal}/common/malloc_elem.c  |   0
 lib/{librte_eal => eal}/common/malloc_elem.h  |   0
 lib/{librte_eal => eal}/common/malloc_heap.c  |   0
 lib/{librte_eal => eal}/common/malloc_heap.h  |   0
 lib/{librte_eal => eal}/common/malloc_mp.c    |   0
 lib/{librte_eal => eal}/common/malloc_mp.h    |   0
 lib/eal/common/meson.build                    |  88 +++
 .../common/rte_keepalive.c                    |   0
 lib/{librte_eal => eal}/common/rte_malloc.c   |   0
 lib/{librte_eal => eal}/common/rte_random.c   |   0
 .../common/rte_reciprocal.c                   |   0
 lib/{librte_eal => eal}/common/rte_service.c  |   0
 lib/{librte_eal => eal}/common/rte_version.c  |   0
 lib/{librte_eal => eal}/freebsd/eal.c         |   0
 lib/{librte_eal => eal}/freebsd/eal_alarm.c   |   0
 .../freebsd/eal_alarm_private.h               |   0
 .../freebsd/eal_cpuflags.c                    |   0
 lib/{librte_eal => eal}/freebsd/eal_debug.c   |   0
 lib/{librte_eal => eal}/freebsd/eal_dev.c     |   0
 .../freebsd/eal_hugepage_info.c               |   0
 .../freebsd/eal_interrupts.c                  |   0
 lib/{librte_eal => eal}/freebsd/eal_lcore.c   |   0
 .../freebsd/eal_memalloc.c                    |   0
 lib/{librte_eal => eal}/freebsd/eal_memory.c  |   0
 lib/{librte_eal => eal}/freebsd/eal_thread.c  |   0
 lib/{librte_eal => eal}/freebsd/eal_timer.c   |   0
 .../freebsd/include/meson.build               |   0
 .../freebsd/include/rte_os.h                  |   0
 .../freebsd/include/rte_os_shim.h             |   0
 lib/eal/freebsd/meson.build                   |  21 +
 .../include/generic/rte_atomic.h              |   0
 .../include/generic/rte_byteorder.h           |   0
 .../include/generic/rte_cpuflags.h            |   0
 .../include/generic/rte_cycles.h              |   0
 .../include/generic/rte_io.h                  |   0
 .../include/generic/rte_mcslock.h             |   0
 .../include/generic/rte_memcpy.h              |   0
 .../include/generic/rte_pause.h               |   0
 .../include/generic/rte_pflock.h              |   0
 .../include/generic/rte_power_intrinsics.h    |   0
 .../include/generic/rte_prefetch.h            |   0
 .../include/generic/rte_rwlock.h              |   0
 .../include/generic/rte_spinlock.h            |   0
 .../include/generic/rte_ticketlock.h          |   0
 .../include/generic/rte_vect.h                |   0
 lib/eal/include/meson.build                   |  70 ++
 lib/{librte_eal => eal}/include/rte_alarm.h   |   0
 lib/{librte_eal => eal}/include/rte_bitmap.h  |   0
 lib/{librte_eal => eal}/include/rte_bitops.h  |   0
 .../include/rte_branch_prediction.h           |   0
 lib/{librte_eal => eal}/include/rte_bus.h     |   0
 lib/{librte_eal => eal}/include/rte_class.h   |   0
 lib/{librte_eal => eal}/include/rte_common.h  |   0
 lib/{librte_eal => eal}/include/rte_compat.h  |   0
 lib/{librte_eal => eal}/include/rte_debug.h   |   0
 lib/{librte_eal => eal}/include/rte_dev.h     |   0
 lib/{librte_eal => eal}/include/rte_devargs.h |   0
 lib/{librte_eal => eal}/include/rte_eal.h     |   0
 .../include/rte_eal_interrupts.h              |   0
 .../include/rte_eal_memconfig.h               |   0
 .../include/rte_eal_paging.h                  |   0
 .../include/rte_eal_trace.h                   |   0
 lib/{librte_eal => eal}/include/rte_errno.h   |   0
 lib/{librte_eal => eal}/include/rte_fbarray.h |   0
 .../include/rte_function_versioning.h         |   0
 lib/{librte_eal => eal}/include/rte_hexdump.h |   0
 .../include/rte_hypervisor.h                  |   0
 .../include/rte_interrupts.h                  |   0
 .../include/rte_keepalive.h                   |   0
 lib/{librte_eal => eal}/include/rte_launch.h  |   0
 lib/{librte_eal => eal}/include/rte_lcore.h   |   0
 lib/{librte_eal => eal}/include/rte_log.h     |   0
 lib/{librte_eal => eal}/include/rte_malloc.h  |   0
 lib/{librte_eal => eal}/include/rte_memory.h  |   0
 lib/{librte_eal => eal}/include/rte_memzone.h |   0
 .../include/rte_pci_dev_feature_defs.h        |   0
 .../include/rte_pci_dev_features.h            |   0
 .../include/rte_per_lcore.h                   |   0
 lib/{librte_eal => eal}/include/rte_random.h  |   0
 .../include/rte_reciprocal.h                  |   0
 lib/{librte_eal => eal}/include/rte_service.h |   0
 .../include/rte_service_component.h           |   0
 .../include/rte_string_fns.h                  |   0
 lib/{librte_eal => eal}/include/rte_tailq.h   |   0
 lib/{librte_eal => eal}/include/rte_test.h    |   0
 lib/{librte_eal => eal}/include/rte_thread.h  |   0
 lib/{librte_eal => eal}/include/rte_time.h    |   0
 lib/{librte_eal => eal}/include/rte_trace.h   |   0
 .../include/rte_trace_point.h                 |   0
 .../include/rte_trace_point_register.h        |   0
 lib/{librte_eal => eal}/include/rte_uuid.h    |   0
 lib/{librte_eal => eal}/include/rte_version.h |   0
 lib/{librte_eal => eal}/include/rte_vfio.h    |   0
 lib/{librte_eal => eal}/linux/eal.c           |   0
 lib/{librte_eal => eal}/linux/eal_alarm.c     |   0
 lib/{librte_eal => eal}/linux/eal_cpuflags.c  |   0
 lib/{librte_eal => eal}/linux/eal_debug.c     |   0
 lib/{librte_eal => eal}/linux/eal_dev.c       |   0
 .../linux/eal_hugepage_info.c                 |   0
 .../linux/eal_interrupts.c                    |   0
 lib/{librte_eal => eal}/linux/eal_lcore.c     |   0
 lib/{librte_eal => eal}/linux/eal_log.c       |   0
 lib/{librte_eal => eal}/linux/eal_memalloc.c  |   0
 lib/{librte_eal => eal}/linux/eal_memory.c    |   0
 lib/{librte_eal => eal}/linux/eal_thread.c    |   0
 lib/{librte_eal => eal}/linux/eal_timer.c     |   0
 lib/{librte_eal => eal}/linux/eal_vfio.c      |   0
 lib/{librte_eal => eal}/linux/eal_vfio.h      |   0
 .../linux/eal_vfio_mp_sync.c                  |   0
 .../linux/include/meson.build                 |   0
 .../linux/include/rte_os.h                    |   0
 .../linux/include/rte_os_shim.h               |   0
 lib/eal/linux/meson.build                     |  27 +
 lib/{librte_eal => eal}/meson.build           |   8 +-
 lib/eal/ppc/include/meson.build               |  22 +
 .../ppc/include/rte_altivec.h                 |   0
 .../ppc/include/rte_atomic.h                  |   0
 .../ppc/include/rte_byteorder.h               |   0
 .../ppc/include/rte_cpuflags.h                |   0
 .../ppc/include/rte_cycles.h                  |   0
 lib/{librte_eal => eal}/ppc/include/rte_io.h  |   0
 .../ppc/include/rte_mcslock.h                 |   0
 .../ppc/include/rte_memcpy.h                  |   0
 .../ppc/include/rte_pause.h                   |   0
 .../ppc/include/rte_pflock.h                  |   0
 .../ppc/include/rte_power_intrinsics.h        |   0
 .../ppc/include/rte_prefetch.h                |   0
 .../ppc/include/rte_rwlock.h                  |   0
 .../ppc/include/rte_spinlock.h                |   0
 .../ppc/include/rte_ticketlock.h              |   0
 .../ppc/include/rte_vect.h                    |   0
 lib/{librte_eal => eal}/ppc/meson.build       |   8 +-
 lib/{librte_eal => eal}/ppc/rte_cpuflags.c    |   0
 lib/{librte_eal => eal}/ppc/rte_cycles.c      |   0
 lib/{librte_eal => eal}/ppc/rte_hypervisor.c  |   0
 .../ppc/rte_power_intrinsics.c                |   0
 lib/{librte_eal => eal}/unix/eal_file.c       |   0
 .../unix/eal_unix_memory.c                    |   0
 lib/{librte_eal => eal}/unix/eal_unix_timer.c |   0
 lib/eal/unix/meson.build                      |   9 +
 lib/{librte_eal => eal}/unix/rte_thread.c     |   0
 lib/{librte_eal => eal}/version.map           |   0
 lib/{librte_eal => eal}/windows/eal.c         |   0
 lib/{librte_eal => eal}/windows/eal_alarm.c   |   0
 lib/{librte_eal => eal}/windows/eal_debug.c   |   0
 lib/{librte_eal => eal}/windows/eal_file.c    |   0
 .../windows/eal_hugepages.c                   |   0
 .../windows/eal_interrupts.c                  |   0
 lib/{librte_eal => eal}/windows/eal_lcore.c   |   0
 lib/{librte_eal => eal}/windows/eal_log.c     |   0
 .../windows/eal_memalloc.c                    |   0
 lib/{librte_eal => eal}/windows/eal_memory.c  |   0
 lib/{librte_eal => eal}/windows/eal_mp.c      |   0
 lib/{librte_eal => eal}/windows/eal_thread.c  |   0
 lib/{librte_eal => eal}/windows/eal_timer.c   |   0
 lib/{librte_eal => eal}/windows/eal_windows.h |   0
 lib/{librte_eal => eal}/windows/fnmatch.c     |   0
 lib/{librte_eal => eal}/windows/getopt.c      |   0
 .../windows/include/dirent.h                  |   0
 .../windows/include/fnmatch.h                 |   0
 .../windows/include/getopt.h                  |   0
 .../windows/include/meson.build               |   0
 .../windows/include/pthread.h                 |   0
 .../windows/include/regex.h                   |   0
 .../windows/include/rte_os.h                  |   0
 .../windows/include/rte_os_shim.h             |   0
 .../windows/include/rte_virt2phys.h           |   0
 .../windows/include/rte_windows.h             |   0
 .../windows/include/sched.h                   |   0
 .../windows/include/sys/queue.h               |   0
 .../windows/include/unistd.h                  |   0
 lib/eal/windows/meson.build                   |  25 +
 lib/{librte_eal => eal}/windows/rte_thread.c  |   0
 lib/eal/x86/include/meson.build               |  29 +
 .../x86/include/rte_atomic.h                  |   0
 .../x86/include/rte_atomic_32.h               |   0
 .../x86/include/rte_atomic_64.h               |   0
 .../x86/include/rte_byteorder.h               |   0
 .../x86/include/rte_byteorder_32.h            |   0
 .../x86/include/rte_byteorder_64.h            |   0
 .../x86/include/rte_cpuflags.h                |   0
 .../x86/include/rte_cycles.h                  |   0
 lib/{librte_eal => eal}/x86/include/rte_io.h  |   0
 .../x86/include/rte_mcslock.h                 |   0
 .../x86/include/rte_memcpy.h                  |   0
 .../x86/include/rte_pause.h                   |   0
 .../x86/include/rte_pflock.h                  |   0
 .../x86/include/rte_power_intrinsics.h        |   0
 .../x86/include/rte_prefetch.h                |   0
 lib/{librte_eal => eal}/x86/include/rte_rtm.h |   0
 .../x86/include/rte_rwlock.h                  |   0
 .../x86/include/rte_spinlock.h                |   0
 .../x86/include/rte_ticketlock.h              |   0
 .../x86/include/rte_vect.h                    |   0
 lib/eal/x86/meson.build                       |  12 +
 lib/{librte_eal => eal}/x86/rte_cpuflags.c    |   0
 lib/{librte_eal => eal}/x86/rte_cpuid.h       |   0
 lib/{librte_eal => eal}/x86/rte_cycles.c      |   0
 lib/{librte_eal => eal}/x86/rte_hypervisor.c  |   0
 .../x86/rte_power_intrinsics.c                |   0
 lib/{librte_eal => eal}/x86/rte_spinlock.c    |   0
 lib/{librte_efd => efd}/meson.build           |   0
 lib/{librte_efd => efd}/rte_efd.c             |   0
 lib/{librte_efd => efd}/rte_efd.h             |   0
 lib/{librte_efd => efd}/rte_efd_arm64.h       |   0
 lib/{librte_efd => efd}/rte_efd_x86.h         |   0
 lib/{librte_efd => efd}/version.map           |   0
 lib/{librte_ethdev => ethdev}/ethdev_driver.h |   0
 lib/{librte_ethdev => ethdev}/ethdev_pci.h    |   0
 .../ethdev_private.c                          |   0
 .../ethdev_private.h                          |   0
 .../ethdev_profile.c                          |   0
 .../ethdev_profile.h                          |   0
 .../ethdev_trace_points.c                     |   0
 lib/{librte_ethdev => ethdev}/ethdev_vdev.h   |   0
 lib/ethdev/meson.build                        |  39 ++
 lib/{librte_ethdev => ethdev}/rte_class_eth.c |   0
 lib/{librte_ethdev => ethdev}/rte_dev_info.h  |   0
 lib/{librte_ethdev => ethdev}/rte_eth_ctrl.h  |   0
 lib/{librte_ethdev => ethdev}/rte_ethdev.c    |   0
 lib/{librte_ethdev => ethdev}/rte_ethdev.h    |   0
 .../rte_ethdev_core.h                         |   0
 .../rte_ethdev_trace.h                        |   0
 .../rte_ethdev_trace_fp.h                     |   0
 lib/{librte_ethdev => ethdev}/rte_flow.c      |   0
 lib/{librte_ethdev => ethdev}/rte_flow.h      |   0
 .../rte_flow_driver.h                         |   0
 lib/{librte_ethdev => ethdev}/rte_mtr.c       |   0
 lib/{librte_ethdev => ethdev}/rte_mtr.h       |   0
 .../rte_mtr_driver.h                          |   0
 lib/{librte_ethdev => ethdev}/rte_tm.c        |   0
 lib/{librte_ethdev => ethdev}/rte_tm.h        |   0
 lib/{librte_ethdev => ethdev}/rte_tm_driver.h |   0
 lib/{librte_ethdev => ethdev}/version.map     |   0
 .../eventdev_pmd.h                            |   0
 .../eventdev_pmd_pci.h                        |   0
 .../eventdev_pmd_vdev.h                       |   0
 .../eventdev_trace_points.c                   |   0
 lib/eventdev/meson.build                      |  31 +
 .../rte_event_crypto_adapter.c                |   0
 .../rte_event_crypto_adapter.h                |   0
 .../rte_event_eth_rx_adapter.c                |   0
 .../rte_event_eth_rx_adapter.h                |   0
 .../rte_event_eth_tx_adapter.c                |   0
 .../rte_event_eth_tx_adapter.h                |   0
 .../rte_event_ring.c                          |   0
 .../rte_event_ring.h                          |   0
 .../rte_event_timer_adapter.c                 |   0
 .../rte_event_timer_adapter.h                 |   0
 .../rte_event_timer_adapter_pmd.h             |   0
 .../rte_eventdev.c                            |   0
 .../rte_eventdev.h                            |   0
 .../rte_eventdev_trace.h                      |   0
 .../rte_eventdev_trace_fp.h                   |   0
 lib/{librte_eventdev => eventdev}/version.map |   0
 lib/{librte_fib => fib}/dir24_8.c             |   0
 lib/{librte_fib => fib}/dir24_8.h             |   0
 lib/{librte_fib => fib}/dir24_8_avx512.c      |   0
 lib/{librte_fib => fib}/dir24_8_avx512.h      |   0
 lib/fib/meson.build                           |  58 ++
 lib/{librte_fib => fib}/rte_fib.c             |   0
 lib/{librte_fib => fib}/rte_fib.h             |   0
 lib/{librte_fib => fib}/rte_fib6.c            |   0
 lib/{librte_fib => fib}/rte_fib6.h            |   0
 lib/{librte_fib => fib}/trie.c                |   0
 lib/{librte_fib => fib}/trie.h                |   0
 lib/{librte_fib => fib}/trie_avx512.c         |   0
 lib/{librte_fib => fib}/trie_avx512.h         |   0
 lib/{librte_fib => fib}/version.map           |   0
 .../meson.build                               |   0
 .../rte_flow_classify.c                       |   0
 .../rte_flow_classify.h                       |   0
 .../rte_flow_classify_parse.c                 |   0
 .../rte_flow_classify_parse.h                 |   0
 .../version.map                               |   0
 lib/{librte_graph => graph}/graph.c           |   0
 lib/{librte_graph => graph}/graph_debug.c     |   0
 lib/{librte_graph => graph}/graph_ops.c       |   0
 lib/{librte_graph => graph}/graph_populate.c  |   0
 lib/{librte_graph => graph}/graph_private.h   |   0
 lib/{librte_graph => graph}/graph_stats.c     |   0
 lib/{librte_graph => graph}/meson.build       |   9 +-
 lib/{librte_graph => graph}/node.c            |   0
 lib/{librte_graph => graph}/rte_graph.h       |   0
 .../rte_graph_worker.h                        |   0
 lib/{librte_graph => graph}/version.map       |   0
 lib/{librte_gro => gro}/gro_tcp4.c            |   0
 lib/{librte_gro => gro}/gro_tcp4.h            |   0
 lib/{librte_gro => gro}/gro_udp4.c            |   0
 lib/{librte_gro => gro}/gro_udp4.h            |   0
 lib/{librte_gro => gro}/gro_vxlan_tcp4.c      |   0
 lib/{librte_gro => gro}/gro_vxlan_tcp4.h      |   0
 lib/{librte_gro => gro}/gro_vxlan_udp4.c      |   0
 lib/{librte_gro => gro}/gro_vxlan_udp4.h      |   0
 lib/gro/meson.build                           |  12 +
 lib/{librte_gro => gro}/rte_gro.c             |   0
 lib/{librte_gro => gro}/rte_gro.h             |   0
 lib/{librte_gro => gro}/version.map           |   0
 lib/{librte_gso => gso}/gso_common.c          |   0
 lib/{librte_gso => gso}/gso_common.h          |   0
 lib/{librte_gso => gso}/gso_tcp4.c            |   0
 lib/{librte_gso => gso}/gso_tcp4.h            |   0
 lib/{librte_gso => gso}/gso_tunnel_tcp4.c     |   0
 lib/{librte_gso => gso}/gso_tunnel_tcp4.h     |   0
 lib/{librte_gso => gso}/gso_tunnel_udp4.c     |   0
 lib/{librte_gso => gso}/gso_tunnel_udp4.h     |   0
 lib/{librte_gso => gso}/gso_udp4.c            |   0
 lib/{librte_gso => gso}/gso_udp4.h            |   0
 lib/gso/meson.build                           |  13 +
 lib/{librte_gso => gso}/rte_gso.c             |   0
 lib/{librte_gso => gso}/rte_gso.h             |   0
 lib/{librte_gso => gso}/version.map           |   0
 lib/{librte_hash => hash}/meson.build         |  12 +-
 lib/{librte_hash => hash}/rte_cmp_arm64.h     |   0
 lib/{librte_hash => hash}/rte_cmp_x86.h       |   0
 lib/{librte_hash => hash}/rte_crc_arm64.h     |   0
 lib/{librte_hash => hash}/rte_cuckoo_hash.c   |   0
 lib/{librte_hash => hash}/rte_cuckoo_hash.h   |   0
 lib/{librte_hash => hash}/rte_fbk_hash.c      |   0
 lib/{librte_hash => hash}/rte_fbk_hash.h      |   0
 lib/{librte_hash => hash}/rte_hash.h          |   0
 lib/{librte_hash => hash}/rte_hash_crc.h      |   0
 lib/{librte_hash => hash}/rte_jhash.h         |   0
 lib/{librte_hash => hash}/rte_thash.h         |   0
 lib/{librte_hash => hash}/version.map         |   0
 .../ip_frag_common.h                          |   0
 .../ip_frag_internal.c                        |   0
 lib/ip_frag/meson.build                       |  13 +
 lib/{librte_ip_frag => ip_frag}/rte_ip_frag.h |   0
 .../rte_ip_frag_common.c                      |   0
 .../rte_ipv4_fragmentation.c                  |   0
 .../rte_ipv4_reassembly.c                     |   0
 .../rte_ipv6_fragmentation.c                  |   0
 .../rte_ipv6_reassembly.c                     |   0
 lib/{librte_ip_frag => ip_frag}/version.map   |   0
 lib/{librte_ipsec => ipsec}/crypto.h          |   0
 lib/{librte_ipsec => ipsec}/esp_inb.c         |   0
 lib/{librte_ipsec => ipsec}/esp_outb.c        |   0
 lib/{librte_ipsec => ipsec}/iph.h             |   0
 lib/{librte_ipsec => ipsec}/ipsec_sad.c       |   0
 lib/{librte_ipsec => ipsec}/ipsec_sqn.h       |   0
 lib/{librte_ipsec => ipsec}/meson.build       |   0
 lib/{librte_ipsec => ipsec}/misc.h            |   0
 lib/{librte_ipsec => ipsec}/pad.h             |   0
 lib/{librte_ipsec => ipsec}/rte_ipsec.h       |   0
 lib/{librte_ipsec => ipsec}/rte_ipsec_group.h |   0
 lib/{librte_ipsec => ipsec}/rte_ipsec_sa.h    |   0
 lib/{librte_ipsec => ipsec}/rte_ipsec_sad.h   |   0
 lib/{librte_ipsec => ipsec}/sa.c              |   0
 lib/{librte_ipsec => ipsec}/sa.h              |   0
 lib/{librte_ipsec => ipsec}/ses.c             |   0
 lib/{librte_ipsec => ipsec}/version.map       |   0
 lib/{librte_jobstats => jobstats}/meson.build |   0
 .../rte_jobstats.c                            |   0
 .../rte_jobstats.h                            |   0
 lib/{librte_jobstats => jobstats}/version.map |   0
 lib/{librte_kni => kni}/meson.build           |   4 +-
 lib/{librte_kni => kni}/rte_kni.c             |   0
 lib/{librte_kni => kni}/rte_kni.h             |   0
 lib/{librte_kni => kni}/rte_kni_common.h      |   0
 lib/{librte_kni => kni}/rte_kni_fifo.h        |   0
 lib/{librte_kni => kni}/version.map           |   0
 lib/{librte_kvargs => kvargs}/meson.build     |   0
 lib/{librte_kvargs => kvargs}/rte_kvargs.c    |   0
 lib/{librte_kvargs => kvargs}/rte_kvargs.h    |   0
 lib/{librte_kvargs => kvargs}/version.map     |   0
 .../meson.build                               |   0
 .../rte_latencystats.c                        |   0
 .../rte_latencystats.h                        |   0
 .../version.map                               |   0
 lib/librte_acl/meson.build                    |  83 ---
 lib/librte_cmdline/meson.build                |  34 -
 lib/librte_eal/arm/include/meson.build        |  34 -
 lib/librte_eal/common/meson.build             |  88 ---
 lib/librte_eal/freebsd/meson.build            |  21 -
 lib/librte_eal/include/meson.build            |  70 --
 lib/librte_eal/linux/meson.build              |  27 -
 lib/librte_eal/ppc/include/meson.build        |  22 -
 lib/librte_eal/unix/meson.build               |   9 -
 lib/librte_eal/windows/meson.build            |  25 -
 lib/librte_eal/x86/include/meson.build        |  30 -
 lib/librte_eal/x86/meson.build                |  12 -
 lib/librte_ethdev/meson.build                 |  33 -
 lib/librte_eventdev/meson.build               |  27 -
 lib/librte_fib/meson.build                    |  58 --
 lib/librte_gro/meson.build                    |   6 -
 lib/librte_gso/meson.build                    |   7 -
 lib/librte_ip_frag/meson.build                |  11 -
 lib/librte_mbuf/meson.build                   |   9 -
 lib/librte_mempool/meson.build                |  16 -
 lib/librte_net/meson.build                    | 110 ---
 lib/librte_pipeline/meson.build               |  16 -
 lib/librte_port/meson.build                   |  46 --
 lib/librte_power/meson.build                  |  17 -
 lib/librte_ring/meson.build                   |  19 -
 lib/librte_table/meson.build                  |  36 -
 lib/librte_vhost/meson.build                  |  26 -
 lib/{librte_lpm => lpm}/meson.build           |   7 +-
 lib/{librte_lpm => lpm}/rte_lpm.c             |   0
 lib/{librte_lpm => lpm}/rte_lpm.h             |   0
 lib/{librte_lpm => lpm}/rte_lpm6.c            |   0
 lib/{librte_lpm => lpm}/rte_lpm6.h            |   0
 lib/{librte_lpm => lpm}/rte_lpm_altivec.h     |   0
 lib/{librte_lpm => lpm}/rte_lpm_neon.h        |   0
 lib/{librte_lpm => lpm}/rte_lpm_sse.h         |   0
 lib/{librte_lpm => lpm}/rte_lpm_sve.h         |   0
 lib/{librte_lpm => lpm}/version.map           |   0
 lib/mbuf/meson.build                          |  17 +
 lib/{librte_mbuf => mbuf}/rte_mbuf.c          |   0
 lib/{librte_mbuf => mbuf}/rte_mbuf.h          |   0
 lib/{librte_mbuf => mbuf}/rte_mbuf_core.h     |   0
 lib/{librte_mbuf => mbuf}/rte_mbuf_dyn.c      |   0
 lib/{librte_mbuf => mbuf}/rte_mbuf_dyn.h      |   0
 lib/{librte_mbuf => mbuf}/rte_mbuf_pool_ops.c |   0
 lib/{librte_mbuf => mbuf}/rte_mbuf_pool_ops.h |   0
 lib/{librte_mbuf => mbuf}/rte_mbuf_ptype.c    |   0
 lib/{librte_mbuf => mbuf}/rte_mbuf_ptype.h    |   0
 lib/{librte_mbuf => mbuf}/version.map         |   0
 lib/{librte_member => member}/meson.build     |   0
 lib/{librte_member => member}/rte_member.c    |   0
 lib/{librte_member => member}/rte_member.h    |   0
 lib/{librte_member => member}/rte_member_ht.c |   0
 lib/{librte_member => member}/rte_member_ht.h |   0
 .../rte_member_vbf.c                          |   0
 .../rte_member_vbf.h                          |   0
 .../rte_member_x86.h                          |   0
 lib/{librte_member => member}/version.map     |   0
 .../mempool_trace_points.c                    |   0
 lib/mempool/meson.build                       |  23 +
 lib/{librte_mempool => mempool}/rte_mempool.c |   0
 lib/{librte_mempool => mempool}/rte_mempool.h |   0
 .../rte_mempool_ops.c                         |   0
 .../rte_mempool_ops_default.c                 |   0
 .../rte_mempool_trace.h                       |   0
 .../rte_mempool_trace_fp.h                    |   0
 lib/{librte_mempool => mempool}/version.map   |   0
 lib/meson.build                               | 431 ++++++------
 lib/{librte_meter => meter}/meson.build       |   0
 lib/{librte_meter => meter}/rte_meter.c       |   0
 lib/{librte_meter => meter}/rte_meter.h       |   0
 lib/{librte_meter => meter}/version.map       |   0
 lib/{librte_metrics => metrics}/meson.build   |   4 +-
 lib/{librte_metrics => metrics}/rte_metrics.c |   0
 lib/{librte_metrics => metrics}/rte_metrics.h |   0
 .../rte_metrics_telemetry.c                   |   0
 .../rte_metrics_telemetry.h                   |   0
 lib/{librte_metrics => metrics}/version.map   |   0
 lib/net/meson.build                           | 121 ++++
 lib/{librte_net => net}/net_crc.h             |   0
 lib/{librte_net => net}/net_crc_avx512.c      |   0
 lib/{librte_net => net}/net_crc_neon.c        |   0
 lib/{librte_net => net}/net_crc_sse.c         |   0
 lib/{librte_net => net}/rte_arp.c             |   0
 lib/{librte_net => net}/rte_arp.h             |   0
 lib/{librte_net => net}/rte_ecpri.h           |   0
 lib/{librte_net => net}/rte_esp.h             |   0
 lib/{librte_net => net}/rte_ether.c           |   0
 lib/{librte_net => net}/rte_ether.h           |   0
 lib/{librte_net => net}/rte_geneve.h          |   0
 lib/{librte_net => net}/rte_gre.h             |   0
 lib/{librte_net => net}/rte_gtp.h             |   0
 lib/{librte_net => net}/rte_higig.h           |   0
 lib/{librte_net => net}/rte_icmp.h            |   0
 lib/{librte_net => net}/rte_ip.h              |   0
 lib/{librte_net => net}/rte_mpls.h            |   0
 lib/{librte_net => net}/rte_net.c             |   0
 lib/{librte_net => net}/rte_net.h             |   0
 lib/{librte_net => net}/rte_net_crc.c         |   0
 lib/{librte_net => net}/rte_net_crc.h         |   0
 lib/{librte_net => net}/rte_sctp.h            |   0
 lib/{librte_net => net}/rte_tcp.h             |   0
 lib/{librte_net => net}/rte_udp.h             |   0
 lib/{librte_net => net}/rte_vxlan.h           |   0
 lib/{librte_net => net}/version.map           |   0
 lib/{librte_node => node}/ethdev_ctrl.c       |   0
 lib/{librte_node => node}/ethdev_rx.c         |   0
 lib/{librte_node => node}/ethdev_rx_priv.h    |   0
 lib/{librte_node => node}/ethdev_tx.c         |   0
 lib/{librte_node => node}/ethdev_tx_priv.h    |   0
 lib/{librte_node => node}/ip4_lookup.c        |   0
 lib/{librte_node => node}/ip4_lookup_neon.h   |   0
 lib/{librte_node => node}/ip4_lookup_sse.h    |   0
 lib/{librte_node => node}/ip4_rewrite.c       |   0
 lib/{librte_node => node}/ip4_rewrite_priv.h  |   0
 lib/{librte_node => node}/log.c               |   0
 lib/{librte_node => node}/meson.build         |  13 +-
 lib/{librte_node => node}/node_private.h      |   0
 lib/{librte_node => node}/null.c              |   0
 lib/{librte_node => node}/pkt_cls.c           |   0
 lib/{librte_node => node}/pkt_cls_priv.h      |   0
 lib/{librte_node => node}/pkt_drop.c          |   0
 lib/{librte_node => node}/rte_node_eth_api.h  |   0
 lib/{librte_node => node}/rte_node_ip4_api.h  |   0
 lib/{librte_node => node}/version.map         |   0
 lib/{librte_pci => pci}/meson.build           |   0
 lib/{librte_pci => pci}/rte_pci.c             |   0
 lib/{librte_pci => pci}/rte_pci.h             |   0
 lib/{librte_pci => pci}/version.map           |   0
 lib/{librte_pdump => pdump}/meson.build       |   0
 lib/{librte_pdump => pdump}/rte_pdump.c       |   0
 lib/{librte_pdump => pdump}/rte_pdump.h       |   0
 lib/{librte_pdump => pdump}/version.map       |   0
 lib/pipeline/meson.build                      |  20 +
 .../rte_pipeline.c                            |   0
 .../rte_pipeline.h                            |   0
 .../rte_port_in_action.c                      |   0
 .../rte_port_in_action.h                      |   0
 .../rte_swx_ctl.c                             |   0
 .../rte_swx_ctl.h                             |   0
 .../rte_swx_extern.h                          |   0
 .../rte_swx_pipeline.c                        |   0
 .../rte_swx_pipeline.h                        |   0
 .../rte_swx_pipeline_spec.c                   |   0
 .../rte_table_action.c                        |   0
 .../rte_table_action.h                        |   0
 lib/{librte_pipeline => pipeline}/version.map |   0
 lib/port/meson.build                          |  46 ++
 lib/{librte_port => port}/rte_port.h          |   0
 lib/{librte_port => port}/rte_port_ethdev.c   |   0
 lib/{librte_port => port}/rte_port_ethdev.h   |   0
 lib/{librte_port => port}/rte_port_eventdev.c |   0
 lib/{librte_port => port}/rte_port_eventdev.h |   0
 lib/{librte_port => port}/rte_port_fd.c       |   0
 lib/{librte_port => port}/rte_port_fd.h       |   0
 lib/{librte_port => port}/rte_port_frag.c     |   0
 lib/{librte_port => port}/rte_port_frag.h     |   0
 lib/{librte_port => port}/rte_port_kni.c      |   0
 lib/{librte_port => port}/rte_port_kni.h      |   0
 lib/{librte_port => port}/rte_port_ras.c      |   0
 lib/{librte_port => port}/rte_port_ras.h      |   0
 lib/{librte_port => port}/rte_port_ring.c     |   0
 lib/{librte_port => port}/rte_port_ring.h     |   0
 lib/{librte_port => port}/rte_port_sched.c    |   0
 lib/{librte_port => port}/rte_port_sched.h    |   0
 .../rte_port_source_sink.c                    |   0
 .../rte_port_source_sink.h                    |   0
 .../rte_port_sym_crypto.c                     |   0
 .../rte_port_sym_crypto.h                     |   0
 lib/{librte_port => port}/rte_swx_port.h      |   0
 .../rte_swx_port_ethdev.c                     |   0
 .../rte_swx_port_ethdev.h                     |   0
 lib/{librte_port => port}/rte_swx_port_fd.c   |   0
 lib/{librte_port => port}/rte_swx_port_fd.h   |   0
 lib/{librte_port => port}/rte_swx_port_ring.c |   0
 lib/{librte_port => port}/rte_swx_port_ring.h |   0
 .../rte_swx_port_source_sink.c                |   0
 .../rte_swx_port_source_sink.h                |   0
 lib/{librte_port => port}/version.map         |   0
 lib/{librte_power => power}/guest_channel.c   |   0
 lib/{librte_power => power}/guest_channel.h   |   0
 lib/power/meson.build                         |  24 +
 .../power_acpi_cpufreq.c                      |   0
 .../power_acpi_cpufreq.h                      |   0
 lib/{librte_power => power}/power_common.c    |   0
 lib/{librte_power => power}/power_common.h    |   0
 lib/{librte_power => power}/power_kvm_vm.c    |   0
 lib/{librte_power => power}/power_kvm_vm.h    |   0
 .../power_pstate_cpufreq.c                    |   0
 .../power_pstate_cpufreq.h                    |   0
 lib/{librte_power => power}/rte_power.c       |   0
 lib/{librte_power => power}/rte_power.h       |   0
 .../rte_power_empty_poll.c                    |   0
 .../rte_power_empty_poll.h                    |   0
 .../rte_power_guest_channel.h                 |   0
 .../rte_power_pmd_mgmt.c                      |   0
 .../rte_power_pmd_mgmt.h                      |   0
 lib/{librte_power => power}/version.map       |   0
 lib/{librte_rawdev => rawdev}/meson.build     |   0
 lib/{librte_rawdev => rawdev}/rte_rawdev.c    |   0
 lib/{librte_rawdev => rawdev}/rte_rawdev.h    |   0
 .../rte_rawdev_pmd.h                          |   0
 lib/{librte_rawdev => rawdev}/version.map     |   0
 lib/{librte_rcu => rcu}/meson.build           |   0
 lib/{librte_rcu => rcu}/rcu_qsbr_pvt.h        |   0
 lib/{librte_rcu => rcu}/rte_rcu_qsbr.c        |   0
 lib/{librte_rcu => rcu}/rte_rcu_qsbr.h        |   0
 lib/{librte_rcu => rcu}/version.map           |   0
 lib/{librte_regexdev => regexdev}/meson.build |   3 +-
 .../rte_regexdev.c                            |   0
 .../rte_regexdev.h                            |   0
 .../rte_regexdev_core.h                       |   0
 .../rte_regexdev_driver.h                     |   0
 lib/{librte_regexdev => regexdev}/version.map |   0
 lib/{librte_reorder => reorder}/meson.build   |   0
 lib/{librte_reorder => reorder}/rte_reorder.c |   0
 lib/{librte_reorder => reorder}/rte_reorder.h |   0
 lib/{librte_reorder => reorder}/version.map   |   0
 lib/{librte_rib => rib}/meson.build           |   0
 lib/{librte_rib => rib}/rte_rib.c             |   0
 lib/{librte_rib => rib}/rte_rib.h             |   0
 lib/{librte_rib => rib}/rte_rib6.c            |   0
 lib/{librte_rib => rib}/rte_rib6.h            |   0
 lib/{librte_rib => rib}/version.map           |   0
 lib/ring/meson.build                          |  20 +
 lib/{librte_ring => ring}/rte_ring.c          |   0
 lib/{librte_ring => ring}/rte_ring.h          |   0
 lib/{librte_ring => ring}/rte_ring_c11_pvt.h  |   0
 lib/{librte_ring => ring}/rte_ring_core.h     |   0
 lib/{librte_ring => ring}/rte_ring_elem.h     |   0
 lib/{librte_ring => ring}/rte_ring_elem_pvt.h |   0
 .../rte_ring_generic_pvt.h                    |   0
 lib/{librte_ring => ring}/rte_ring_hts.h      |   0
 .../rte_ring_hts_elem_pvt.h                   |   0
 lib/{librte_ring => ring}/rte_ring_peek.h     |   0
 .../rte_ring_peek_elem_pvt.h                  |   0
 lib/{librte_ring => ring}/rte_ring_peek_zc.h  |   0
 lib/{librte_ring => ring}/rte_ring_rts.h      |   0
 .../rte_ring_rts_elem_pvt.h                   |   0
 lib/{librte_ring => ring}/version.map         |   0
 lib/{librte_sched => sched}/meson.build       |   8 +-
 lib/{librte_sched => sched}/rte_approx.c      |   0
 lib/{librte_sched => sched}/rte_approx.h      |   0
 lib/{librte_sched => sched}/rte_red.c         |   0
 lib/{librte_sched => sched}/rte_red.h         |   0
 lib/{librte_sched => sched}/rte_sched.c       |   0
 lib/{librte_sched => sched}/rte_sched.h       |   0
 .../rte_sched_common.h                        |   0
 lib/{librte_sched => sched}/version.map       |   0
 lib/{librte_security => security}/meson.build |   0
 .../rte_security.c                            |   0
 .../rte_security.h                            |   0
 .../rte_security_driver.h                     |   0
 lib/{librte_security => security}/version.map |   0
 lib/{librte_stack => stack}/meson.build       |   9 +-
 lib/{librte_stack => stack}/rte_stack.c       |   0
 lib/{librte_stack => stack}/rte_stack.h       |   0
 lib/{librte_stack => stack}/rte_stack_lf.c    |   0
 lib/{librte_stack => stack}/rte_stack_lf.h    |   0
 .../rte_stack_lf_c11.h                        |   0
 .../rte_stack_lf_generic.h                    |   0
 .../rte_stack_lf_stubs.h                      |   0
 lib/{librte_stack => stack}/rte_stack_std.c   |   0
 lib/{librte_stack => stack}/rte_stack_std.h   |   0
 lib/{librte_stack => stack}/stack_pvt.h       |   0
 lib/{librte_stack => stack}/version.map       |   0
 lib/table/meson.build                         |  40 ++
 lib/{librte_table => table}/rte_lru.h         |   0
 lib/{librte_table => table}/rte_lru_arm64.h   |   0
 lib/{librte_table => table}/rte_lru_x86.h     |   0
 lib/{librte_table => table}/rte_swx_table.h   |   0
 .../rte_swx_table_em.c                        |   0
 .../rte_swx_table_em.h                        |   0
 .../rte_swx_table_wm.c                        |   0
 .../rte_swx_table_wm.h                        |   0
 lib/{librte_table => table}/rte_table.h       |   0
 lib/{librte_table => table}/rte_table_acl.c   |   0
 lib/{librte_table => table}/rte_table_acl.h   |   0
 lib/{librte_table => table}/rte_table_array.c |   0
 lib/{librte_table => table}/rte_table_array.h |   0
 lib/{librte_table => table}/rte_table_hash.h  |   0
 .../rte_table_hash_cuckoo.c                   |   0
 .../rte_table_hash_cuckoo.h                   |   0
 .../rte_table_hash_ext.c                      |   0
 .../rte_table_hash_func.h                     |   0
 .../rte_table_hash_func_arm64.h               |   0
 .../rte_table_hash_key16.c                    |   0
 .../rte_table_hash_key32.c                    |   0
 .../rte_table_hash_key8.c                     |   0
 .../rte_table_hash_lru.c                      |   0
 lib/{librte_table => table}/rte_table_lpm.c   |   0
 lib/{librte_table => table}/rte_table_lpm.h   |   0
 .../rte_table_lpm_ipv6.c                      |   0
 .../rte_table_lpm_ipv6.h                      |   0
 lib/{librte_table => table}/rte_table_stub.c  |   0
 lib/{librte_table => table}/rte_table_stub.h  |   0
 lib/{librte_table => table}/version.map       |   0
 .../meson.build                               |   2 +-
 .../rte_telemetry.h                           |   0
 .../telemetry.c                               |   0
 .../telemetry_data.c                          |   0
 .../telemetry_data.h                          |   0
 .../telemetry_internal.h                      |   0
 .../telemetry_json.h                          |   0
 .../telemetry_legacy.c                        |   0
 .../version.map                               |   0
 lib/{librte_timer => timer}/meson.build       |   0
 lib/{librte_timer => timer}/rte_timer.c       |   0
 lib/{librte_timer => timer}/rte_timer.h       |   0
 lib/{librte_timer => timer}/version.map       |   0
 lib/{librte_vhost => vhost}/fd_man.c          |   0
 lib/{librte_vhost => vhost}/fd_man.h          |   0
 lib/{librte_vhost => vhost}/iotlb.c           |   0
 lib/{librte_vhost => vhost}/iotlb.h           |   0
 lib/vhost/meson.build                         |  37 +
 lib/{librte_vhost => vhost}/rte_vdpa.h        |   0
 lib/{librte_vhost => vhost}/rte_vdpa_dev.h    |   0
 lib/{librte_vhost => vhost}/rte_vhost.h       |   0
 lib/{librte_vhost => vhost}/rte_vhost_async.h |   0
 .../rte_vhost_crypto.h                        |   0
 lib/{librte_vhost => vhost}/socket.c          |   0
 lib/{librte_vhost => vhost}/vdpa.c            |   0
 lib/{librte_vhost => vhost}/version.map       |   0
 lib/{librte_vhost => vhost}/vhost.c           |   0
 lib/{librte_vhost => vhost}/vhost.h           |   0
 lib/{librte_vhost => vhost}/vhost_crypto.c    |   0
 lib/{librte_vhost => vhost}/vhost_user.c      |   0
 lib/{librte_vhost => vhost}/vhost_user.h      |   0
 lib/{librte_vhost => vhost}/virtio_crypto.h   |   0
 lib/{librte_vhost => vhost}/virtio_net.c      |   0
 license/exceptions.txt                        |   6 +-
 meson.build                                   |  94 +--
 meson_options.txt                             |  86 +--
 usertools/meson.build                         |  11 +-
 1120 files changed, 5023 insertions(+), 4784 deletions(-)
 rename lib/{librte_acl => acl}/acl.h (100%)
 rename lib/{librte_acl => acl}/acl_bld.c (100%)
 rename lib/{librte_acl => acl}/acl_gen.c (100%)
 rename lib/{librte_acl => acl}/acl_run.h (100%)
 rename lib/{librte_acl => acl}/acl_run_altivec.c (100%)
 rename lib/{librte_acl => acl}/acl_run_altivec.h (100%)
 rename lib/{librte_acl => acl}/acl_run_avx2.c (100%)
 rename lib/{librte_acl => acl}/acl_run_avx2.h (100%)
 rename lib/{librte_acl => acl}/acl_run_avx512.c (100%)
 rename lib/{librte_acl => acl}/acl_run_avx512_common.h (100%)
 rename lib/{librte_acl => acl}/acl_run_avx512x16.h (100%)
 rename lib/{librte_acl => acl}/acl_run_avx512x8.h (100%)
 rename lib/{librte_acl => acl}/acl_run_neon.c (100%)
 rename lib/{librte_acl => acl}/acl_run_neon.h (100%)
 rename lib/{librte_acl => acl}/acl_run_scalar.c (100%)
 rename lib/{librte_acl => acl}/acl_run_sse.c (100%)
 rename lib/{librte_acl => acl}/acl_run_sse.h (100%)
 rename lib/{librte_acl => acl}/acl_vect.h (100%)
 create mode 100644 lib/acl/meson.build
 rename lib/{librte_acl => acl}/rte_acl.c (100%)
 rename lib/{librte_acl => acl}/rte_acl.h (100%)
 rename lib/{librte_acl => acl}/rte_acl_osdep.h (100%)
 rename lib/{librte_acl => acl}/tb_mem.c (100%)
 rename lib/{librte_acl => acl}/tb_mem.h (100%)
 rename lib/{librte_acl => acl}/version.map (100%)
 rename lib/{librte_bbdev => bbdev}/meson.build (74%)
 rename lib/{librte_bbdev => bbdev}/rte_bbdev.c (100%)
 rename lib/{librte_bbdev => bbdev}/rte_bbdev.h (100%)
 rename lib/{librte_bbdev => bbdev}/rte_bbdev_op.h (100%)
 rename lib/{librte_bbdev => bbdev}/rte_bbdev_pmd.h (100%)
 rename lib/{librte_bbdev => bbdev}/version.map (100%)
 rename lib/{librte_bitratestats => bitratestats}/meson.build (100%)
 rename lib/{librte_bitratestats => bitratestats}/rte_bitrate.c (100%)
 rename lib/{librte_bitratestats => bitratestats}/rte_bitrate.h (100%)
 rename lib/{librte_bitratestats => bitratestats}/version.map (100%)
 rename lib/{librte_bpf => bpf}/bpf.c (100%)
 rename lib/{librte_bpf => bpf}/bpf_def.h (100%)
 rename lib/{librte_bpf => bpf}/bpf_exec.c (100%)
 rename lib/{librte_bpf => bpf}/bpf_impl.h (100%)
 rename lib/{librte_bpf => bpf}/bpf_jit_arm64.c (100%)
 rename lib/{librte_bpf => bpf}/bpf_jit_x86.c (100%)
 rename lib/{librte_bpf => bpf}/bpf_load.c (100%)
 rename lib/{librte_bpf => bpf}/bpf_load_elf.c (100%)
 rename lib/{librte_bpf => bpf}/bpf_pkt.c (100%)
 rename lib/{librte_bpf => bpf}/bpf_validate.c (100%)
 rename lib/{librte_bpf => bpf}/meson.build (52%)
 rename lib/{librte_bpf => bpf}/rte_bpf.h (100%)
 rename lib/{librte_bpf => bpf}/rte_bpf_ethdev.h (100%)
 rename lib/{librte_bpf => bpf}/version.map (100%)
 rename lib/{librte_cfgfile => cfgfile}/meson.build (100%)
 rename lib/{librte_cfgfile => cfgfile}/rte_cfgfile.c (100%)
 rename lib/{librte_cfgfile => cfgfile}/rte_cfgfile.h (100%)
 rename lib/{librte_cfgfile => cfgfile}/version.map (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_cirbuf.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_cirbuf.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_os_unix.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_os_windows.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_etheraddr.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_etheraddr.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_ipaddr.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_ipaddr.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_num.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_num.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_portlist.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_portlist.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_string.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_parse_string.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_private.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_rdline.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_rdline.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_socket.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_socket.h (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_vt100.c (100%)
 rename lib/{librte_cmdline => cmdline}/cmdline_vt100.h (100%)
 create mode 100644 lib/cmdline/meson.build
 rename lib/{librte_cmdline => cmdline}/version.map (100%)
 rename lib/{librte_compressdev => compressdev}/meson.build (58%)
 rename lib/{librte_compressdev => compressdev}/rte_comp.c (100%)
 rename lib/{librte_compressdev => compressdev}/rte_comp.h (100%)
 rename lib/{librte_compressdev => compressdev}/rte_compressdev.c (100%)
 rename lib/{librte_compressdev => compressdev}/rte_compressdev.h (100%)
 rename lib/{librte_compressdev => compressdev}/rte_compressdev_internal.h (100%)
 rename lib/{librte_compressdev => compressdev}/rte_compressdev_pmd.c (100%)
 rename lib/{librte_compressdev => compressdev}/rte_compressdev_pmd.h (100%)
 rename lib/{librte_compressdev => compressdev}/version.map (100%)
 rename lib/{librte_cryptodev => cryptodev}/cryptodev_trace_points.c (100%)
 rename lib/{librte_cryptodev => cryptodev}/meson.build (56%)
 rename lib/{librte_cryptodev => cryptodev}/rte_crypto.h (100%)
 rename lib/{librte_cryptodev => cryptodev}/rte_crypto_asym.h (100%)
 rename lib/{librte_cryptodev => cryptodev}/rte_crypto_sym.h (100%)
 rename lib/{librte_cryptodev => cryptodev}/rte_cryptodev.c (100%)
 rename lib/{librte_cryptodev => cryptodev}/rte_cryptodev.h (100%)
 rename lib/{librte_cryptodev => cryptodev}/rte_cryptodev_pmd.c (100%)
 rename lib/{librte_cryptodev => cryptodev}/rte_cryptodev_pmd.h (100%)
 rename lib/{librte_cryptodev => cryptodev}/rte_cryptodev_trace.h (100%)
 rename lib/{librte_cryptodev => cryptodev}/rte_cryptodev_trace_fp.h (100%)
 rename lib/{librte_cryptodev => cryptodev}/version.map (100%)
 rename lib/{librte_distributor => distributor}/distributor_private.h (100%)
 rename lib/{librte_distributor => distributor}/meson.build (68%)
 rename lib/{librte_distributor => distributor}/rte_distributor.c (100%)
 rename lib/{librte_distributor => distributor}/rte_distributor.h (100%)
 rename lib/{librte_distributor => distributor}/rte_distributor_match_generic.c (100%)
 rename lib/{librte_distributor => distributor}/rte_distributor_match_sse.c (100%)
 rename lib/{librte_distributor => distributor}/rte_distributor_single.c (100%)
 rename lib/{librte_distributor => distributor}/rte_distributor_single.h (100%)
 rename lib/{librte_distributor => distributor}/version.map (100%)
 create mode 100644 lib/eal/arm/include/meson.build
 rename lib/{librte_eal => eal}/arm/include/rte_atomic.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_atomic_32.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_atomic_64.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_byteorder.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_cpuflags.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_cpuflags_32.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_cpuflags_64.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_cycles.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_cycles_32.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_cycles_64.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_io.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_io_64.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_mcslock.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_memcpy.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_memcpy_32.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_memcpy_64.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_pause.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_pause_32.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_pause_64.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_pflock.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_power_intrinsics.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_prefetch.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_prefetch_32.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_prefetch_64.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_rwlock.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_spinlock.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_ticketlock.h (100%)
 rename lib/{librte_eal => eal}/arm/include/rte_vect.h (100%)
 rename lib/{librte_eal => eal}/arm/meson.build (51%)
 rename lib/{librte_eal => eal}/arm/rte_cpuflags.c (100%)
 rename lib/{librte_eal => eal}/arm/rte_cycles.c (100%)
 rename lib/{librte_eal => eal}/arm/rte_hypervisor.c (100%)
 rename lib/{librte_eal => eal}/arm/rte_power_intrinsics.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_bus.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_class.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_config.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_cpuflags.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_debug.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_dev.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_devargs.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_dynmem.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_errno.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_fbarray.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_hexdump.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_hypervisor.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_launch.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_lcore.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_log.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_mcfg.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_memalloc.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_memory.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_memzone.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_options.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_proc.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_string_fns.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_tailqs.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_thread.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_timer.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_trace.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_trace_ctf.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_trace_points.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_trace_utils.c (100%)
 rename lib/{librte_eal => eal}/common/eal_common_uuid.c (100%)
 rename lib/{librte_eal => eal}/common/eal_filesystem.h (100%)
 rename lib/{librte_eal => eal}/common/eal_hugepages.h (100%)
 rename lib/{librte_eal => eal}/common/eal_internal_cfg.h (100%)
 rename lib/{librte_eal => eal}/common/eal_log.h (100%)
 rename lib/{librte_eal => eal}/common/eal_memalloc.h (100%)
 rename lib/{librte_eal => eal}/common/eal_memcfg.h (100%)
 rename lib/{librte_eal => eal}/common/eal_options.h (100%)
 rename lib/{librte_eal => eal}/common/eal_private.h (100%)
 rename lib/{librte_eal => eal}/common/eal_thread.h (100%)
 rename lib/{librte_eal => eal}/common/eal_trace.h (100%)
 rename lib/{librte_eal => eal}/common/hotplug_mp.c (100%)
 rename lib/{librte_eal => eal}/common/hotplug_mp.h (100%)
 rename lib/{librte_eal => eal}/common/malloc_elem.c (100%)
 rename lib/{librte_eal => eal}/common/malloc_elem.h (100%)
 rename lib/{librte_eal => eal}/common/malloc_heap.c (100%)
 rename lib/{librte_eal => eal}/common/malloc_heap.h (100%)
 rename lib/{librte_eal => eal}/common/malloc_mp.c (100%)
 rename lib/{librte_eal => eal}/common/malloc_mp.h (100%)
 create mode 100644 lib/eal/common/meson.build
 rename lib/{librte_eal => eal}/common/rte_keepalive.c (100%)
 rename lib/{librte_eal => eal}/common/rte_malloc.c (100%)
 rename lib/{librte_eal => eal}/common/rte_random.c (100%)
 rename lib/{librte_eal => eal}/common/rte_reciprocal.c (100%)
 rename lib/{librte_eal => eal}/common/rte_service.c (100%)
 rename lib/{librte_eal => eal}/common/rte_version.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_alarm.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_alarm_private.h (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_cpuflags.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_debug.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_dev.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_hugepage_info.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_interrupts.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_lcore.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_memalloc.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_memory.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_thread.c (100%)
 rename lib/{librte_eal => eal}/freebsd/eal_timer.c (100%)
 rename lib/{librte_eal => eal}/freebsd/include/meson.build (100%)
 rename lib/{librte_eal => eal}/freebsd/include/rte_os.h (100%)
 rename lib/{librte_eal => eal}/freebsd/include/rte_os_shim.h (100%)
 create mode 100644 lib/eal/freebsd/meson.build
 rename lib/{librte_eal => eal}/include/generic/rte_atomic.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_byteorder.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_cpuflags.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_cycles.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_io.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_mcslock.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_memcpy.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_pause.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_pflock.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_power_intrinsics.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_prefetch.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_rwlock.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_spinlock.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_ticketlock.h (100%)
 rename lib/{librte_eal => eal}/include/generic/rte_vect.h (100%)
 create mode 100644 lib/eal/include/meson.build
 rename lib/{librte_eal => eal}/include/rte_alarm.h (100%)
 rename lib/{librte_eal => eal}/include/rte_bitmap.h (100%)
 rename lib/{librte_eal => eal}/include/rte_bitops.h (100%)
 rename lib/{librte_eal => eal}/include/rte_branch_prediction.h (100%)
 rename lib/{librte_eal => eal}/include/rte_bus.h (100%)
 rename lib/{librte_eal => eal}/include/rte_class.h (100%)
 rename lib/{librte_eal => eal}/include/rte_common.h (100%)
 rename lib/{librte_eal => eal}/include/rte_compat.h (100%)
 rename lib/{librte_eal => eal}/include/rte_debug.h (100%)
 rename lib/{librte_eal => eal}/include/rte_dev.h (100%)
 rename lib/{librte_eal => eal}/include/rte_devargs.h (100%)
 rename lib/{librte_eal => eal}/include/rte_eal.h (100%)
 rename lib/{librte_eal => eal}/include/rte_eal_interrupts.h (100%)
 rename lib/{librte_eal => eal}/include/rte_eal_memconfig.h (100%)
 rename lib/{librte_eal => eal}/include/rte_eal_paging.h (100%)
 rename lib/{librte_eal => eal}/include/rte_eal_trace.h (100%)
 rename lib/{librte_eal => eal}/include/rte_errno.h (100%)
 rename lib/{librte_eal => eal}/include/rte_fbarray.h (100%)
 rename lib/{librte_eal => eal}/include/rte_function_versioning.h (100%)
 rename lib/{librte_eal => eal}/include/rte_hexdump.h (100%)
 rename lib/{librte_eal => eal}/include/rte_hypervisor.h (100%)
 rename lib/{librte_eal => eal}/include/rte_interrupts.h (100%)
 rename lib/{librte_eal => eal}/include/rte_keepalive.h (100%)
 rename lib/{librte_eal => eal}/include/rte_launch.h (100%)
 rename lib/{librte_eal => eal}/include/rte_lcore.h (100%)
 rename lib/{librte_eal => eal}/include/rte_log.h (100%)
 rename lib/{librte_eal => eal}/include/rte_malloc.h (100%)
 rename lib/{librte_eal => eal}/include/rte_memory.h (100%)
 rename lib/{librte_eal => eal}/include/rte_memzone.h (100%)
 rename lib/{librte_eal => eal}/include/rte_pci_dev_feature_defs.h (100%)
 rename lib/{librte_eal => eal}/include/rte_pci_dev_features.h (100%)
 rename lib/{librte_eal => eal}/include/rte_per_lcore.h (100%)
 rename lib/{librte_eal => eal}/include/rte_random.h (100%)
 rename lib/{librte_eal => eal}/include/rte_reciprocal.h (100%)
 rename lib/{librte_eal => eal}/include/rte_service.h (100%)
 rename lib/{librte_eal => eal}/include/rte_service_component.h (100%)
 rename lib/{librte_eal => eal}/include/rte_string_fns.h (100%)
 rename lib/{librte_eal => eal}/include/rte_tailq.h (100%)
 rename lib/{librte_eal => eal}/include/rte_test.h (100%)
 rename lib/{librte_eal => eal}/include/rte_thread.h (100%)
 rename lib/{librte_eal => eal}/include/rte_time.h (100%)
 rename lib/{librte_eal => eal}/include/rte_trace.h (100%)
 rename lib/{librte_eal => eal}/include/rte_trace_point.h (100%)
 rename lib/{librte_eal => eal}/include/rte_trace_point_register.h (100%)
 rename lib/{librte_eal => eal}/include/rte_uuid.h (100%)
 rename lib/{librte_eal => eal}/include/rte_version.h (100%)
 rename lib/{librte_eal => eal}/include/rte_vfio.h (100%)
 rename lib/{librte_eal => eal}/linux/eal.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_alarm.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_cpuflags.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_debug.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_dev.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_hugepage_info.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_interrupts.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_lcore.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_log.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_memalloc.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_memory.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_thread.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_timer.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_vfio.c (100%)
 rename lib/{librte_eal => eal}/linux/eal_vfio.h (100%)
 rename lib/{librte_eal => eal}/linux/eal_vfio_mp_sync.c (100%)
 rename lib/{librte_eal => eal}/linux/include/meson.build (100%)
 rename lib/{librte_eal => eal}/linux/include/rte_os.h (100%)
 rename lib/{librte_eal => eal}/linux/include/rte_os_shim.h (100%)
 create mode 100644 lib/eal/linux/meson.build
 rename lib/{librte_eal => eal}/meson.build (78%)
 create mode 100644 lib/eal/ppc/include/meson.build
 rename lib/{librte_eal => eal}/ppc/include/rte_altivec.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_atomic.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_byteorder.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_cpuflags.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_cycles.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_io.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_mcslock.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_memcpy.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_pause.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_pflock.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_power_intrinsics.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_prefetch.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_rwlock.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_spinlock.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_ticketlock.h (100%)
 rename lib/{librte_eal => eal}/ppc/include/rte_vect.h (100%)
 rename lib/{librte_eal => eal}/ppc/meson.build (54%)
 rename lib/{librte_eal => eal}/ppc/rte_cpuflags.c (100%)
 rename lib/{librte_eal => eal}/ppc/rte_cycles.c (100%)
 rename lib/{librte_eal => eal}/ppc/rte_hypervisor.c (100%)
 rename lib/{librte_eal => eal}/ppc/rte_power_intrinsics.c (100%)
 rename lib/{librte_eal => eal}/unix/eal_file.c (100%)
 rename lib/{librte_eal => eal}/unix/eal_unix_memory.c (100%)
 rename lib/{librte_eal => eal}/unix/eal_unix_timer.c (100%)
 create mode 100644 lib/eal/unix/meson.build
 rename lib/{librte_eal => eal}/unix/rte_thread.c (100%)
 rename lib/{librte_eal => eal}/version.map (100%)
 rename lib/{librte_eal => eal}/windows/eal.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_alarm.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_debug.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_file.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_hugepages.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_interrupts.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_lcore.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_log.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_memalloc.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_memory.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_mp.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_thread.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_timer.c (100%)
 rename lib/{librte_eal => eal}/windows/eal_windows.h (100%)
 rename lib/{librte_eal => eal}/windows/fnmatch.c (100%)
 rename lib/{librte_eal => eal}/windows/getopt.c (100%)
 rename lib/{librte_eal => eal}/windows/include/dirent.h (100%)
 rename lib/{librte_eal => eal}/windows/include/fnmatch.h (100%)
 rename lib/{librte_eal => eal}/windows/include/getopt.h (100%)
 rename lib/{librte_eal => eal}/windows/include/meson.build (100%)
 rename lib/{librte_eal => eal}/windows/include/pthread.h (100%)
 rename lib/{librte_eal => eal}/windows/include/regex.h (100%)
 rename lib/{librte_eal => eal}/windows/include/rte_os.h (100%)
 rename lib/{librte_eal => eal}/windows/include/rte_os_shim.h (100%)
 rename lib/{librte_eal => eal}/windows/include/rte_virt2phys.h (100%)
 rename lib/{librte_eal => eal}/windows/include/rte_windows.h (100%)
 rename lib/{librte_eal => eal}/windows/include/sched.h (100%)
 rename lib/{librte_eal => eal}/windows/include/sys/queue.h (100%)
 rename lib/{librte_eal => eal}/windows/include/unistd.h (100%)
 create mode 100644 lib/eal/windows/meson.build
 rename lib/{librte_eal => eal}/windows/rte_thread.c (100%)
 create mode 100644 lib/eal/x86/include/meson.build
 rename lib/{librte_eal => eal}/x86/include/rte_atomic.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_atomic_32.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_atomic_64.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_byteorder.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_byteorder_32.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_byteorder_64.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_cpuflags.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_cycles.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_io.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_mcslock.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_memcpy.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_pause.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_pflock.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_power_intrinsics.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_prefetch.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_rtm.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_rwlock.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_spinlock.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_ticketlock.h (100%)
 rename lib/{librte_eal => eal}/x86/include/rte_vect.h (100%)
 create mode 100644 lib/eal/x86/meson.build
 rename lib/{librte_eal => eal}/x86/rte_cpuflags.c (100%)
 rename lib/{librte_eal => eal}/x86/rte_cpuid.h (100%)
 rename lib/{librte_eal => eal}/x86/rte_cycles.c (100%)
 rename lib/{librte_eal => eal}/x86/rte_hypervisor.c (100%)
 rename lib/{librte_eal => eal}/x86/rte_power_intrinsics.c (100%)
 rename lib/{librte_eal => eal}/x86/rte_spinlock.c (100%)
 rename lib/{librte_efd => efd}/meson.build (100%)
 rename lib/{librte_efd => efd}/rte_efd.c (100%)
 rename lib/{librte_efd => efd}/rte_efd.h (100%)
 rename lib/{librte_efd => efd}/rte_efd_arm64.h (100%)
 rename lib/{librte_efd => efd}/rte_efd_x86.h (100%)
 rename lib/{librte_efd => efd}/version.map (100%)
 rename lib/{librte_ethdev => ethdev}/ethdev_driver.h (100%)
 rename lib/{librte_ethdev => ethdev}/ethdev_pci.h (100%)
 rename lib/{librte_ethdev => ethdev}/ethdev_private.c (100%)
 rename lib/{librte_ethdev => ethdev}/ethdev_private.h (100%)
 rename lib/{librte_ethdev => ethdev}/ethdev_profile.c (100%)
 rename lib/{librte_ethdev => ethdev}/ethdev_profile.h (100%)
 rename lib/{librte_ethdev => ethdev}/ethdev_trace_points.c (100%)
 rename lib/{librte_ethdev => ethdev}/ethdev_vdev.h (100%)
 create mode 100644 lib/ethdev/meson.build
 rename lib/{librte_ethdev => ethdev}/rte_class_eth.c (100%)
 rename lib/{librte_ethdev => ethdev}/rte_dev_info.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_eth_ctrl.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_ethdev.c (100%)
 rename lib/{librte_ethdev => ethdev}/rte_ethdev.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_ethdev_core.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_ethdev_trace.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_ethdev_trace_fp.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_flow.c (100%)
 rename lib/{librte_ethdev => ethdev}/rte_flow.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_flow_driver.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_mtr.c (100%)
 rename lib/{librte_ethdev => ethdev}/rte_mtr.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_mtr_driver.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_tm.c (100%)
 rename lib/{librte_ethdev => ethdev}/rte_tm.h (100%)
 rename lib/{librte_ethdev => ethdev}/rte_tm_driver.h (100%)
 rename lib/{librte_ethdev => ethdev}/version.map (100%)
 rename lib/{librte_eventdev => eventdev}/eventdev_pmd.h (100%)
 rename lib/{librte_eventdev => eventdev}/eventdev_pmd_pci.h (100%)
 rename lib/{librte_eventdev => eventdev}/eventdev_pmd_vdev.h (100%)
 rename lib/{librte_eventdev => eventdev}/eventdev_trace_points.c (100%)
 create mode 100644 lib/eventdev/meson.build
 rename lib/{librte_eventdev => eventdev}/rte_event_crypto_adapter.c (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_crypto_adapter.h (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_eth_rx_adapter.c (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_eth_rx_adapter.h (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_eth_tx_adapter.c (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_eth_tx_adapter.h (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_ring.c (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_ring.h (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_timer_adapter.c (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_timer_adapter.h (100%)
 rename lib/{librte_eventdev => eventdev}/rte_event_timer_adapter_pmd.h (100%)
 rename lib/{librte_eventdev => eventdev}/rte_eventdev.c (100%)
 rename lib/{librte_eventdev => eventdev}/rte_eventdev.h (100%)
 rename lib/{librte_eventdev => eventdev}/rte_eventdev_trace.h (100%)
 rename lib/{librte_eventdev => eventdev}/rte_eventdev_trace_fp.h (100%)
 rename lib/{librte_eventdev => eventdev}/version.map (100%)
 rename lib/{librte_fib => fib}/dir24_8.c (100%)
 rename lib/{librte_fib => fib}/dir24_8.h (100%)
 rename lib/{librte_fib => fib}/dir24_8_avx512.c (100%)
 rename lib/{librte_fib => fib}/dir24_8_avx512.h (100%)
 create mode 100644 lib/fib/meson.build
 rename lib/{librte_fib => fib}/rte_fib.c (100%)
 rename lib/{librte_fib => fib}/rte_fib.h (100%)
 rename lib/{librte_fib => fib}/rte_fib6.c (100%)
 rename lib/{librte_fib => fib}/rte_fib6.h (100%)
 rename lib/{librte_fib => fib}/trie.c (100%)
 rename lib/{librte_fib => fib}/trie.h (100%)
 rename lib/{librte_fib => fib}/trie_avx512.c (100%)
 rename lib/{librte_fib => fib}/trie_avx512.h (100%)
 rename lib/{librte_fib => fib}/version.map (100%)
 rename lib/{librte_flow_classify => flow_classify}/meson.build (100%)
 rename lib/{librte_flow_classify => flow_classify}/rte_flow_classify.c (100%)
 rename lib/{librte_flow_classify => flow_classify}/rte_flow_classify.h (100%)
 rename lib/{librte_flow_classify => flow_classify}/rte_flow_classify_parse.c (100%)
 rename lib/{librte_flow_classify => flow_classify}/rte_flow_classify_parse.h (100%)
 rename lib/{librte_flow_classify => flow_classify}/version.map (100%)
 rename lib/{librte_graph => graph}/graph.c (100%)
 rename lib/{librte_graph => graph}/graph_debug.c (100%)
 rename lib/{librte_graph => graph}/graph_ops.c (100%)
 rename lib/{librte_graph => graph}/graph_populate.c (100%)
 rename lib/{librte_graph => graph}/graph_private.h (100%)
 rename lib/{librte_graph => graph}/graph_stats.c (100%)
 rename lib/{librte_graph => graph}/meson.build (50%)
 rename lib/{librte_graph => graph}/node.c (100%)
 rename lib/{librte_graph => graph}/rte_graph.h (100%)
 rename lib/{librte_graph => graph}/rte_graph_worker.h (100%)
 rename lib/{librte_graph => graph}/version.map (100%)
 rename lib/{librte_gro => gro}/gro_tcp4.c (100%)
 rename lib/{librte_gro => gro}/gro_tcp4.h (100%)
 rename lib/{librte_gro => gro}/gro_udp4.c (100%)
 rename lib/{librte_gro => gro}/gro_udp4.h (100%)
 rename lib/{librte_gro => gro}/gro_vxlan_tcp4.c (100%)
 rename lib/{librte_gro => gro}/gro_vxlan_tcp4.h (100%)
 rename lib/{librte_gro => gro}/gro_vxlan_udp4.c (100%)
 rename lib/{librte_gro => gro}/gro_vxlan_udp4.h (100%)
 create mode 100644 lib/gro/meson.build
 rename lib/{librte_gro => gro}/rte_gro.c (100%)
 rename lib/{librte_gro => gro}/rte_gro.h (100%)
 rename lib/{librte_gro => gro}/version.map (100%)
 rename lib/{librte_gso => gso}/gso_common.c (100%)
 rename lib/{librte_gso => gso}/gso_common.h (100%)
 rename lib/{librte_gso => gso}/gso_tcp4.c (100%)
 rename lib/{librte_gso => gso}/gso_tcp4.h (100%)
 rename lib/{librte_gso => gso}/gso_tunnel_tcp4.c (100%)
 rename lib/{librte_gso => gso}/gso_tunnel_tcp4.h (100%)
 rename lib/{librte_gso => gso}/gso_tunnel_udp4.c (100%)
 rename lib/{librte_gso => gso}/gso_tunnel_udp4.h (100%)
 rename lib/{librte_gso => gso}/gso_udp4.c (100%)
 rename lib/{librte_gso => gso}/gso_udp4.h (100%)
 create mode 100644 lib/gso/meson.build
 rename lib/{librte_gso => gso}/rte_gso.c (100%)
 rename lib/{librte_gso => gso}/rte_gso.h (100%)
 rename lib/{librte_gso => gso}/version.map (100%)
 rename lib/{librte_hash => hash}/meson.build (60%)
 rename lib/{librte_hash => hash}/rte_cmp_arm64.h (100%)
 rename lib/{librte_hash => hash}/rte_cmp_x86.h (100%)
 rename lib/{librte_hash => hash}/rte_crc_arm64.h (100%)
 rename lib/{librte_hash => hash}/rte_cuckoo_hash.c (100%)
 rename lib/{librte_hash => hash}/rte_cuckoo_hash.h (100%)
 rename lib/{librte_hash => hash}/rte_fbk_hash.c (100%)
 rename lib/{librte_hash => hash}/rte_fbk_hash.h (100%)
 rename lib/{librte_hash => hash}/rte_hash.h (100%)
 rename lib/{librte_hash => hash}/rte_hash_crc.h (100%)
 rename lib/{librte_hash => hash}/rte_jhash.h (100%)
 rename lib/{librte_hash => hash}/rte_thash.h (100%)
 rename lib/{librte_hash => hash}/version.map (100%)
 rename lib/{librte_ip_frag => ip_frag}/ip_frag_common.h (100%)
 rename lib/{librte_ip_frag => ip_frag}/ip_frag_internal.c (100%)
 create mode 100644 lib/ip_frag/meson.build
 rename lib/{librte_ip_frag => ip_frag}/rte_ip_frag.h (100%)
 rename lib/{librte_ip_frag => ip_frag}/rte_ip_frag_common.c (100%)
 rename lib/{librte_ip_frag => ip_frag}/rte_ipv4_fragmentation.c (100%)
 rename lib/{librte_ip_frag => ip_frag}/rte_ipv4_reassembly.c (100%)
 rename lib/{librte_ip_frag => ip_frag}/rte_ipv6_fragmentation.c (100%)
 rename lib/{librte_ip_frag => ip_frag}/rte_ipv6_reassembly.c (100%)
 rename lib/{librte_ip_frag => ip_frag}/version.map (100%)
 rename lib/{librte_ipsec => ipsec}/crypto.h (100%)
 rename lib/{librte_ipsec => ipsec}/esp_inb.c (100%)
 rename lib/{librte_ipsec => ipsec}/esp_outb.c (100%)
 rename lib/{librte_ipsec => ipsec}/iph.h (100%)
 rename lib/{librte_ipsec => ipsec}/ipsec_sad.c (100%)
 rename lib/{librte_ipsec => ipsec}/ipsec_sqn.h (100%)
 rename lib/{librte_ipsec => ipsec}/meson.build (100%)
 rename lib/{librte_ipsec => ipsec}/misc.h (100%)
 rename lib/{librte_ipsec => ipsec}/pad.h (100%)
 rename lib/{librte_ipsec => ipsec}/rte_ipsec.h (100%)
 rename lib/{librte_ipsec => ipsec}/rte_ipsec_group.h (100%)
 rename lib/{librte_ipsec => ipsec}/rte_ipsec_sa.h (100%)
 rename lib/{librte_ipsec => ipsec}/rte_ipsec_sad.h (100%)
 rename lib/{librte_ipsec => ipsec}/sa.c (100%)
 rename lib/{librte_ipsec => ipsec}/sa.h (100%)
 rename lib/{librte_ipsec => ipsec}/ses.c (100%)
 rename lib/{librte_ipsec => ipsec}/version.map (100%)
 rename lib/{librte_jobstats => jobstats}/meson.build (100%)
 rename lib/{librte_jobstats => jobstats}/rte_jobstats.c (100%)
 rename lib/{librte_jobstats => jobstats}/rte_jobstats.h (100%)
 rename lib/{librte_jobstats => jobstats}/version.map (100%)
 rename lib/{librte_kni => kni}/meson.build (79%)
 rename lib/{librte_kni => kni}/rte_kni.c (100%)
 rename lib/{librte_kni => kni}/rte_kni.h (100%)
 rename lib/{librte_kni => kni}/rte_kni_common.h (100%)
 rename lib/{librte_kni => kni}/rte_kni_fifo.h (100%)
 rename lib/{librte_kni => kni}/version.map (100%)
 rename lib/{librte_kvargs => kvargs}/meson.build (100%)
 rename lib/{librte_kvargs => kvargs}/rte_kvargs.c (100%)
 rename lib/{librte_kvargs => kvargs}/rte_kvargs.h (100%)
 rename lib/{librte_kvargs => kvargs}/version.map (100%)
 rename lib/{librte_latencystats => latencystats}/meson.build (100%)
 rename lib/{librte_latencystats => latencystats}/rte_latencystats.c (100%)
 rename lib/{librte_latencystats => latencystats}/rte_latencystats.h (100%)
 rename lib/{librte_latencystats => latencystats}/version.map (100%)
 delete mode 100644 lib/librte_acl/meson.build
 delete mode 100644 lib/librte_cmdline/meson.build
 delete mode 100644 lib/librte_eal/arm/include/meson.build
 delete mode 100644 lib/librte_eal/common/meson.build
 delete mode 100644 lib/librte_eal/freebsd/meson.build
 delete mode 100644 lib/librte_eal/include/meson.build
 delete mode 100644 lib/librte_eal/linux/meson.build
 delete mode 100644 lib/librte_eal/ppc/include/meson.build
 delete mode 100644 lib/librte_eal/unix/meson.build
 delete mode 100644 lib/librte_eal/windows/meson.build
 delete mode 100644 lib/librte_eal/x86/include/meson.build
 delete mode 100644 lib/librte_eal/x86/meson.build
 delete mode 100644 lib/librte_ethdev/meson.build
 delete mode 100644 lib/librte_eventdev/meson.build
 delete mode 100644 lib/librte_fib/meson.build
 delete mode 100644 lib/librte_gro/meson.build
 delete mode 100644 lib/librte_gso/meson.build
 delete mode 100644 lib/librte_ip_frag/meson.build
 delete mode 100644 lib/librte_mbuf/meson.build
 delete mode 100644 lib/librte_mempool/meson.build
 delete mode 100644 lib/librte_net/meson.build
 delete mode 100644 lib/librte_pipeline/meson.build
 delete mode 100644 lib/librte_port/meson.build
 delete mode 100644 lib/librte_power/meson.build
 delete mode 100644 lib/librte_ring/meson.build
 delete mode 100644 lib/librte_table/meson.build
 delete mode 100644 lib/librte_vhost/meson.build
 rename lib/{librte_lpm => lpm}/meson.build (71%)
 rename lib/{librte_lpm => lpm}/rte_lpm.c (100%)
 rename lib/{librte_lpm => lpm}/rte_lpm.h (100%)
 rename lib/{librte_lpm => lpm}/rte_lpm6.c (100%)
 rename lib/{librte_lpm => lpm}/rte_lpm6.h (100%)
 rename lib/{librte_lpm => lpm}/rte_lpm_altivec.h (100%)
 rename lib/{librte_lpm => lpm}/rte_lpm_neon.h (100%)
 rename lib/{librte_lpm => lpm}/rte_lpm_sse.h (100%)
 rename lib/{librte_lpm => lpm}/rte_lpm_sve.h (100%)
 rename lib/{librte_lpm => lpm}/version.map (100%)
 create mode 100644 lib/mbuf/meson.build
 rename lib/{librte_mbuf => mbuf}/rte_mbuf.c (100%)
 rename lib/{librte_mbuf => mbuf}/rte_mbuf.h (100%)
 rename lib/{librte_mbuf => mbuf}/rte_mbuf_core.h (100%)
 rename lib/{librte_mbuf => mbuf}/rte_mbuf_dyn.c (100%)
 rename lib/{librte_mbuf => mbuf}/rte_mbuf_dyn.h (100%)
 rename lib/{librte_mbuf => mbuf}/rte_mbuf_pool_ops.c (100%)
 rename lib/{librte_mbuf => mbuf}/rte_mbuf_pool_ops.h (100%)
 rename lib/{librte_mbuf => mbuf}/rte_mbuf_ptype.c (100%)
 rename lib/{librte_mbuf => mbuf}/rte_mbuf_ptype.h (100%)
 rename lib/{librte_mbuf => mbuf}/version.map (100%)
 rename lib/{librte_member => member}/meson.build (100%)
 rename lib/{librte_member => member}/rte_member.c (100%)
 rename lib/{librte_member => member}/rte_member.h (100%)
 rename lib/{librte_member => member}/rte_member_ht.c (100%)
 rename lib/{librte_member => member}/rte_member_ht.h (100%)
 rename lib/{librte_member => member}/rte_member_vbf.c (100%)
 rename lib/{librte_member => member}/rte_member_vbf.h (100%)
 rename lib/{librte_member => member}/rte_member_x86.h (100%)
 rename lib/{librte_member => member}/version.map (100%)
 rename lib/{librte_mempool => mempool}/mempool_trace_points.c (100%)
 create mode 100644 lib/mempool/meson.build
 rename lib/{librte_mempool => mempool}/rte_mempool.c (100%)
 rename lib/{librte_mempool => mempool}/rte_mempool.h (100%)
 rename lib/{librte_mempool => mempool}/rte_mempool_ops.c (100%)
 rename lib/{librte_mempool => mempool}/rte_mempool_ops_default.c (100%)
 rename lib/{librte_mempool => mempool}/rte_mempool_trace.h (100%)
 rename lib/{librte_mempool => mempool}/rte_mempool_trace_fp.h (100%)
 rename lib/{librte_mempool => mempool}/version.map (100%)
 rename lib/{librte_meter => meter}/meson.build (100%)
 rename lib/{librte_meter => meter}/rte_meter.c (100%)
 rename lib/{librte_meter => meter}/rte_meter.h (100%)
 rename lib/{librte_meter => meter}/version.map (100%)
 rename lib/{librte_metrics => metrics}/meson.build (83%)
 rename lib/{librte_metrics => metrics}/rte_metrics.c (100%)
 rename lib/{librte_metrics => metrics}/rte_metrics.h (100%)
 rename lib/{librte_metrics => metrics}/rte_metrics_telemetry.c (100%)
 rename lib/{librte_metrics => metrics}/rte_metrics_telemetry.h (100%)
 rename lib/{librte_metrics => metrics}/version.map (100%)
 create mode 100644 lib/net/meson.build
 rename lib/{librte_net => net}/net_crc.h (100%)
 rename lib/{librte_net => net}/net_crc_avx512.c (100%)
 rename lib/{librte_net => net}/net_crc_neon.c (100%)
 rename lib/{librte_net => net}/net_crc_sse.c (100%)
 rename lib/{librte_net => net}/rte_arp.c (100%)
 rename lib/{librte_net => net}/rte_arp.h (100%)
 rename lib/{librte_net => net}/rte_ecpri.h (100%)
 rename lib/{librte_net => net}/rte_esp.h (100%)
 rename lib/{librte_net => net}/rte_ether.c (100%)
 rename lib/{librte_net => net}/rte_ether.h (100%)
 rename lib/{librte_net => net}/rte_geneve.h (100%)
 rename lib/{librte_net => net}/rte_gre.h (100%)
 rename lib/{librte_net => net}/rte_gtp.h (100%)
 rename lib/{librte_net => net}/rte_higig.h (100%)
 rename lib/{librte_net => net}/rte_icmp.h (100%)
 rename lib/{librte_net => net}/rte_ip.h (100%)
 rename lib/{librte_net => net}/rte_mpls.h (100%)
 rename lib/{librte_net => net}/rte_net.c (100%)
 rename lib/{librte_net => net}/rte_net.h (100%)
 rename lib/{librte_net => net}/rte_net_crc.c (100%)
 rename lib/{librte_net => net}/rte_net_crc.h (100%)
 rename lib/{librte_net => net}/rte_sctp.h (100%)
 rename lib/{librte_net => net}/rte_tcp.h (100%)
 rename lib/{librte_net => net}/rte_udp.h (100%)
 rename lib/{librte_net => net}/rte_vxlan.h (100%)
 rename lib/{librte_net => net}/version.map (100%)
 rename lib/{librte_node => node}/ethdev_ctrl.c (100%)
 rename lib/{librte_node => node}/ethdev_rx.c (100%)
 rename lib/{librte_node => node}/ethdev_rx_priv.h (100%)
 rename lib/{librte_node => node}/ethdev_tx.c (100%)
 rename lib/{librte_node => node}/ethdev_tx_priv.h (100%)
 rename lib/{librte_node => node}/ip4_lookup.c (100%)
 rename lib/{librte_node => node}/ip4_lookup_neon.h (100%)
 rename lib/{librte_node => node}/ip4_lookup_sse.h (100%)
 rename lib/{librte_node => node}/ip4_rewrite.c (100%)
 rename lib/{librte_node => node}/ip4_rewrite_priv.h (100%)
 rename lib/{librte_node => node}/log.c (100%)
 rename lib/{librte_node => node}/meson.build (59%)
 rename lib/{librte_node => node}/node_private.h (100%)
 rename lib/{librte_node => node}/null.c (100%)
 rename lib/{librte_node => node}/pkt_cls.c (100%)
 rename lib/{librte_node => node}/pkt_cls_priv.h (100%)
 rename lib/{librte_node => node}/pkt_drop.c (100%)
 rename lib/{librte_node => node}/rte_node_eth_api.h (100%)
 rename lib/{librte_node => node}/rte_node_ip4_api.h (100%)
 rename lib/{librte_node => node}/version.map (100%)
 rename lib/{librte_pci => pci}/meson.build (100%)
 rename lib/{librte_pci => pci}/rte_pci.c (100%)
 rename lib/{librte_pci => pci}/rte_pci.h (100%)
 rename lib/{librte_pci => pci}/version.map (100%)
 rename lib/{librte_pdump => pdump}/meson.build (100%)
 rename lib/{librte_pdump => pdump}/rte_pdump.c (100%)
 rename lib/{librte_pdump => pdump}/rte_pdump.h (100%)
 rename lib/{librte_pdump => pdump}/version.map (100%)
 create mode 100644 lib/pipeline/meson.build
 rename lib/{librte_pipeline => pipeline}/rte_pipeline.c (100%)
 rename lib/{librte_pipeline => pipeline}/rte_pipeline.h (100%)
 rename lib/{librte_pipeline => pipeline}/rte_port_in_action.c (100%)
 rename lib/{librte_pipeline => pipeline}/rte_port_in_action.h (100%)
 rename lib/{librte_pipeline => pipeline}/rte_swx_ctl.c (100%)
 rename lib/{librte_pipeline => pipeline}/rte_swx_ctl.h (100%)
 rename lib/{librte_pipeline => pipeline}/rte_swx_extern.h (100%)
 rename lib/{librte_pipeline => pipeline}/rte_swx_pipeline.c (100%)
 rename lib/{librte_pipeline => pipeline}/rte_swx_pipeline.h (100%)
 rename lib/{librte_pipeline => pipeline}/rte_swx_pipeline_spec.c (100%)
 rename lib/{librte_pipeline => pipeline}/rte_table_action.c (100%)
 rename lib/{librte_pipeline => pipeline}/rte_table_action.h (100%)
 rename lib/{librte_pipeline => pipeline}/version.map (100%)
 create mode 100644 lib/port/meson.build
 rename lib/{librte_port => port}/rte_port.h (100%)
 rename lib/{librte_port => port}/rte_port_ethdev.c (100%)
 rename lib/{librte_port => port}/rte_port_ethdev.h (100%)
 rename lib/{librte_port => port}/rte_port_eventdev.c (100%)
 rename lib/{librte_port => port}/rte_port_eventdev.h (100%)
 rename lib/{librte_port => port}/rte_port_fd.c (100%)
 rename lib/{librte_port => port}/rte_port_fd.h (100%)
 rename lib/{librte_port => port}/rte_port_frag.c (100%)
 rename lib/{librte_port => port}/rte_port_frag.h (100%)
 rename lib/{librte_port => port}/rte_port_kni.c (100%)
 rename lib/{librte_port => port}/rte_port_kni.h (100%)
 rename lib/{librte_port => port}/rte_port_ras.c (100%)
 rename lib/{librte_port => port}/rte_port_ras.h (100%)
 rename lib/{librte_port => port}/rte_port_ring.c (100%)
 rename lib/{librte_port => port}/rte_port_ring.h (100%)
 rename lib/{librte_port => port}/rte_port_sched.c (100%)
 rename lib/{librte_port => port}/rte_port_sched.h (100%)
 rename lib/{librte_port => port}/rte_port_source_sink.c (100%)
 rename lib/{librte_port => port}/rte_port_source_sink.h (100%)
 rename lib/{librte_port => port}/rte_port_sym_crypto.c (100%)
 rename lib/{librte_port => port}/rte_port_sym_crypto.h (100%)
 rename lib/{librte_port => port}/rte_swx_port.h (100%)
 rename lib/{librte_port => port}/rte_swx_port_ethdev.c (100%)
 rename lib/{librte_port => port}/rte_swx_port_ethdev.h (100%)
 rename lib/{librte_port => port}/rte_swx_port_fd.c (100%)
 rename lib/{librte_port => port}/rte_swx_port_fd.h (100%)
 rename lib/{librte_port => port}/rte_swx_port_ring.c (100%)
 rename lib/{librte_port => port}/rte_swx_port_ring.h (100%)
 rename lib/{librte_port => port}/rte_swx_port_source_sink.c (100%)
 rename lib/{librte_port => port}/rte_swx_port_source_sink.h (100%)
 rename lib/{librte_port => port}/version.map (100%)
 rename lib/{librte_power => power}/guest_channel.c (100%)
 rename lib/{librte_power => power}/guest_channel.h (100%)
 create mode 100644 lib/power/meson.build
 rename lib/{librte_power => power}/power_acpi_cpufreq.c (100%)
 rename lib/{librte_power => power}/power_acpi_cpufreq.h (100%)
 rename lib/{librte_power => power}/power_common.c (100%)
 rename lib/{librte_power => power}/power_common.h (100%)
 rename lib/{librte_power => power}/power_kvm_vm.c (100%)
 rename lib/{librte_power => power}/power_kvm_vm.h (100%)
 rename lib/{librte_power => power}/power_pstate_cpufreq.c (100%)
 rename lib/{librte_power => power}/power_pstate_cpufreq.h (100%)
 rename lib/{librte_power => power}/rte_power.c (100%)
 rename lib/{librte_power => power}/rte_power.h (100%)
 rename lib/{librte_power => power}/rte_power_empty_poll.c (100%)
 rename lib/{librte_power => power}/rte_power_empty_poll.h (100%)
 rename lib/{librte_power => power}/rte_power_guest_channel.h (100%)
 rename lib/{librte_power => power}/rte_power_pmd_mgmt.c (100%)
 rename lib/{librte_power => power}/rte_power_pmd_mgmt.h (100%)
 rename lib/{librte_power => power}/version.map (100%)
 rename lib/{librte_rawdev => rawdev}/meson.build (100%)
 rename lib/{librte_rawdev => rawdev}/rte_rawdev.c (100%)
 rename lib/{librte_rawdev => rawdev}/rte_rawdev.h (100%)
 rename lib/{librte_rawdev => rawdev}/rte_rawdev_pmd.h (100%)
 rename lib/{librte_rawdev => rawdev}/version.map (100%)
 rename lib/{librte_rcu => rcu}/meson.build (100%)
 rename lib/{librte_rcu => rcu}/rcu_qsbr_pvt.h (100%)
 rename lib/{librte_rcu => rcu}/rte_rcu_qsbr.c (100%)
 rename lib/{librte_rcu => rcu}/rte_rcu_qsbr.h (100%)
 rename lib/{librte_rcu => rcu}/version.map (100%)
 rename lib/{librte_regexdev => regexdev}/meson.build (75%)
 rename lib/{librte_regexdev => regexdev}/rte_regexdev.c (100%)
 rename lib/{librte_regexdev => regexdev}/rte_regexdev.h (100%)
 rename lib/{librte_regexdev => regexdev}/rte_regexdev_core.h (100%)
 rename lib/{librte_regexdev => regexdev}/rte_regexdev_driver.h (100%)
 rename lib/{librte_regexdev => regexdev}/version.map (100%)
 rename lib/{librte_reorder => reorder}/meson.build (100%)
 rename lib/{librte_reorder => reorder}/rte_reorder.c (100%)
 rename lib/{librte_reorder => reorder}/rte_reorder.h (100%)
 rename lib/{librte_reorder => reorder}/version.map (100%)
 rename lib/{librte_rib => rib}/meson.build (100%)
 rename lib/{librte_rib => rib}/rte_rib.c (100%)
 rename lib/{librte_rib => rib}/rte_rib.h (100%)
 rename lib/{librte_rib => rib}/rte_rib6.c (100%)
 rename lib/{librte_rib => rib}/rte_rib6.h (100%)
 rename lib/{librte_rib => rib}/version.map (100%)
 create mode 100644 lib/ring/meson.build
 rename lib/{librte_ring => ring}/rte_ring.c (100%)
 rename lib/{librte_ring => ring}/rte_ring.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_c11_pvt.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_core.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_elem.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_elem_pvt.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_generic_pvt.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_hts.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_hts_elem_pvt.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_peek.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_peek_elem_pvt.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_peek_zc.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_rts.h (100%)
 rename lib/{librte_ring => ring}/rte_ring_rts_elem_pvt.h (100%)
 rename lib/{librte_ring => ring}/version.map (100%)
 rename lib/{librte_sched => sched}/meson.build (58%)
 rename lib/{librte_sched => sched}/rte_approx.c (100%)
 rename lib/{librte_sched => sched}/rte_approx.h (100%)
 rename lib/{librte_sched => sched}/rte_red.c (100%)
 rename lib/{librte_sched => sched}/rte_red.h (100%)
 rename lib/{librte_sched => sched}/rte_sched.c (100%)
 rename lib/{librte_sched => sched}/rte_sched.h (100%)
 rename lib/{librte_sched => sched}/rte_sched_common.h (100%)
 rename lib/{librte_sched => sched}/version.map (100%)
 rename lib/{librte_security => security}/meson.build (100%)
 rename lib/{librte_security => security}/rte_security.c (100%)
 rename lib/{librte_security => security}/rte_security.h (100%)
 rename lib/{librte_security => security}/rte_security_driver.h (100%)
 rename lib/{librte_security => security}/version.map (100%)
 rename lib/{librte_stack => stack}/meson.build (67%)
 rename lib/{librte_stack => stack}/rte_stack.c (100%)
 rename lib/{librte_stack => stack}/rte_stack.h (100%)
 rename lib/{librte_stack => stack}/rte_stack_lf.c (100%)
 rename lib/{librte_stack => stack}/rte_stack_lf.h (100%)
 rename lib/{librte_stack => stack}/rte_stack_lf_c11.h (100%)
 rename lib/{librte_stack => stack}/rte_stack_lf_generic.h (100%)
 rename lib/{librte_stack => stack}/rte_stack_lf_stubs.h (100%)
 rename lib/{librte_stack => stack}/rte_stack_std.c (100%)
 rename lib/{librte_stack => stack}/rte_stack_std.h (100%)
 rename lib/{librte_stack => stack}/stack_pvt.h (100%)
 rename lib/{librte_stack => stack}/version.map (100%)
 create mode 100644 lib/table/meson.build
 rename lib/{librte_table => table}/rte_lru.h (100%)
 rename lib/{librte_table => table}/rte_lru_arm64.h (100%)
 rename lib/{librte_table => table}/rte_lru_x86.h (100%)
 rename lib/{librte_table => table}/rte_swx_table.h (100%)
 rename lib/{librte_table => table}/rte_swx_table_em.c (100%)
 rename lib/{librte_table => table}/rte_swx_table_em.h (100%)
 rename lib/{librte_table => table}/rte_swx_table_wm.c (100%)
 rename lib/{librte_table => table}/rte_swx_table_wm.h (100%)
 rename lib/{librte_table => table}/rte_table.h (100%)
 rename lib/{librte_table => table}/rte_table_acl.c (100%)
 rename lib/{librte_table => table}/rte_table_acl.h (100%)
 rename lib/{librte_table => table}/rte_table_array.c (100%)
 rename lib/{librte_table => table}/rte_table_array.h (100%)
 rename lib/{librte_table => table}/rte_table_hash.h (100%)
 rename lib/{librte_table => table}/rte_table_hash_cuckoo.c (100%)
 rename lib/{librte_table => table}/rte_table_hash_cuckoo.h (100%)
 rename lib/{librte_table => table}/rte_table_hash_ext.c (100%)
 rename lib/{librte_table => table}/rte_table_hash_func.h (100%)
 rename lib/{librte_table => table}/rte_table_hash_func_arm64.h (100%)
 rename lib/{librte_table => table}/rte_table_hash_key16.c (100%)
 rename lib/{librte_table => table}/rte_table_hash_key32.c (100%)
 rename lib/{librte_table => table}/rte_table_hash_key8.c (100%)
 rename lib/{librte_table => table}/rte_table_hash_lru.c (100%)
 rename lib/{librte_table => table}/rte_table_lpm.c (100%)
 rename lib/{librte_table => table}/rte_table_lpm.h (100%)
 rename lib/{librte_table => table}/rte_table_lpm_ipv6.c (100%)
 rename lib/{librte_table => table}/rte_table_lpm_ipv6.h (100%)
 rename lib/{librte_table => table}/rte_table_stub.c (100%)
 rename lib/{librte_table => table}/rte_table_stub.h (100%)
 rename lib/{librte_table => table}/version.map (100%)
 rename lib/{librte_telemetry => telemetry}/meson.build (80%)
 rename lib/{librte_telemetry => telemetry}/rte_telemetry.h (100%)
 rename lib/{librte_telemetry => telemetry}/telemetry.c (100%)
 rename lib/{librte_telemetry => telemetry}/telemetry_data.c (100%)
 rename lib/{librte_telemetry => telemetry}/telemetry_data.h (100%)
 rename lib/{librte_telemetry => telemetry}/telemetry_internal.h (100%)
 rename lib/{librte_telemetry => telemetry}/telemetry_json.h (100%)
 rename lib/{librte_telemetry => telemetry}/telemetry_legacy.c (100%)
 rename lib/{librte_telemetry => telemetry}/version.map (100%)
 rename lib/{librte_timer => timer}/meson.build (100%)
 rename lib/{librte_timer => timer}/rte_timer.c (100%)
 rename lib/{librte_timer => timer}/rte_timer.h (100%)
 rename lib/{librte_timer => timer}/version.map (100%)
 rename lib/{librte_vhost => vhost}/fd_man.c (100%)
 rename lib/{librte_vhost => vhost}/fd_man.h (100%)
 rename lib/{librte_vhost => vhost}/iotlb.c (100%)
 rename lib/{librte_vhost => vhost}/iotlb.h (100%)
 create mode 100644 lib/vhost/meson.build
 rename lib/{librte_vhost => vhost}/rte_vdpa.h (100%)
 rename lib/{librte_vhost => vhost}/rte_vdpa_dev.h (100%)
 rename lib/{librte_vhost => vhost}/rte_vhost.h (100%)
 rename lib/{librte_vhost => vhost}/rte_vhost_async.h (100%)
 rename lib/{librte_vhost => vhost}/rte_vhost_crypto.h (100%)
 rename lib/{librte_vhost => vhost}/socket.c (100%)
 rename lib/{librte_vhost => vhost}/vdpa.c (100%)
 rename lib/{librte_vhost => vhost}/version.map (100%)
 rename lib/{librte_vhost => vhost}/vhost.c (100%)
 rename lib/{librte_vhost => vhost}/vhost.h (100%)
 rename lib/{librte_vhost => vhost}/vhost_crypto.c (100%)
 rename lib/{librte_vhost => vhost}/vhost_user.c (100%)
 rename lib/{librte_vhost => vhost}/vhost_user.h (100%)
 rename lib/{librte_vhost => vhost}/virtio_crypto.h (100%)
 rename lib/{librte_vhost => vhost}/virtio_net.c (100%)

--
2.27.0
  

Comments

Xueming Li April 18, 2021, 8:45 a.m. UTC | #1
Hi Bruce,

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Bruce Richardson
> Sent: Saturday, April 17, 2021 1:05 AM
> To: dev@dpdk.org
> Cc: Bruce Richardson <bruce.richardson@intel.com>
> Subject: [dpdk-dev] [PATCH 00/14] Build file updates
> 
> This RFC contains 5 changes/updates to the DPDK build and build files.
> 
> The changes in this set are:
> 1. Use "continue" keyword, new in 0.49 to shorten and reduce indentation levels
>    in the foreach loops when building library or driver components.
> 2. For libraries, drop support for header-only libraries, which was added just
>    for the "compat" lib which had a single header, and is now part of EAL. This
>    similarly reduces indentation levels and makes the code easier to follow
> 3. Since the larger blocks of meson code in our repo is seeing massive
>    whitespace changes, take the opportunity to switch our indentation style for
>    meson files from that of C-files using tabs, to Meson/Python style using
>    spaces. [More below on this for discussion]
> 4. Remove the "librte_" prefix from all our library directories. While as useful
>    cleanup, the main driver for this was that it simplifies the matching for #5
>    below.
> 5. Add a "disable_libs" build option to allow the user to optionally not build
>    certain components. Include in this an explicit list of libraries which are
>    "known safe" to disable in the build. For now this is a short list of three
>    libs, all of which are safe because they are not buildable on FreeBSD. More
>    work is needed to expand this list in future.

Great feature, very useful for PMD developer who only focus on some specific
class driver, most drivers and libs are not relevant, disable them will speed up
build process significantly, this always happen when switch release or rebase code.

Currently I collected a long disabled driver list for my minimal build, have to update
time to time as dpdk community grows quickly. An enable_list might be more efficient
here to allow minimal lib/drivers for net, vdpa etc.. plus specific pmd driver for NIC on hand.

Alternative way might be Linux ".config" file style which specifies module enable/disable states.

Not related this this patch set, off-topic discussion :)

Best Regards,
Xueming
  
Thomas Monjalon April 19, 2021, 12:20 a.m. UTC | #2
16/04/2021 19:04, Bruce Richardson:
> RFC -> V1:
> * rebased to current main branch
> * performed cleanup on many meson.build files to ensure correct formatting of
>   lists:
>    * split lists with >3 or >4 entries to be one per line
>    * first entry on own line
>    * last entry on own line with ","
>    * closing braces dedented to original indent level
>    * alphabetical ordering
>   Files in "lib" folder should be mostly ok now - files in the drivers
>   directory have not been done to the same level, as there are so many of
>   them to work on.
> * other general whitespace changes, including merging lines where possible,
>   since indent levels are reduced

There were 2 more suggestions in the RFC:
- ignore-rev file to avoid polluting git blame
- devtools script to convert patches for backport

For me they are must-have before merging.
  
Bruce Richardson April 19, 2021, 1:06 p.m. UTC | #3
On Sun, Apr 18, 2021 at 08:45:25AM +0000, Xueming(Steven) Li wrote:
> Hi Bruce,
> 
> > -----Original Message-----
> > From: dev <dev-bounces@dpdk.org> On Behalf Of Bruce Richardson
> > Sent: Saturday, April 17, 2021 1:05 AM
> > To: dev@dpdk.org
> > Cc: Bruce Richardson <bruce.richardson@intel.com>
> > Subject: [dpdk-dev] [PATCH 00/14] Build file updates
> > 
> > This RFC contains 5 changes/updates to the DPDK build and build files.
> > 
> > The changes in this set are:
> > 1. Use "continue" keyword, new in 0.49 to shorten and reduce indentation levels
> >    in the foreach loops when building library or driver components.
> > 2. For libraries, drop support for header-only libraries, which was added just
> >    for the "compat" lib which had a single header, and is now part of EAL. This
> >    similarly reduces indentation levels and makes the code easier to follow
> > 3. Since the larger blocks of meson code in our repo is seeing massive
> >    whitespace changes, take the opportunity to switch our indentation style for
> >    meson files from that of C-files using tabs, to Meson/Python style using
> >    spaces. [More below on this for discussion]
> > 4. Remove the "librte_" prefix from all our library directories. While as useful
> >    cleanup, the main driver for this was that it simplifies the matching for #5
> >    below.
> > 5. Add a "disable_libs" build option to allow the user to optionally not build
> >    certain components. Include in this an explicit list of libraries which are
> >    "known safe" to disable in the build. For now this is a short list of three
> >    libs, all of which are safe because they are not buildable on FreeBSD. More
> >    work is needed to expand this list in future.
> 
> Great feature, very useful for PMD developer who only focus on some specific
> class driver, most drivers and libs are not relevant, disable them will speed up
> build process significantly, this always happen when switch release or rebase code.
> 
> Currently I collected a long disabled driver list for my minimal build, have to update
> time to time as dpdk community grows quickly. An enable_list might be more efficient
> here to allow minimal lib/drivers for net, vdpa etc.. plus specific pmd driver for NIC on hand.
> 

Managing such a list should not be too much work if wildcards are used
appropriately. Here is the disable_drivers option I use which just enables
the necessary bus drivers, as well as intel NIC and rawdev drivers (or
rather NIC and rawdev drivers whose names start with "i" or "e". It does
enable a few extra drivers I don't care about, but not many!)

"base*/*,bus/[!pv]*,c*/*,event/*,net/[!ie]*,r*/[!i]*,vdpa/*"

/Bruce
  
Bruce Richardson April 19, 2021, 1:09 p.m. UTC | #4
On Mon, Apr 19, 2021 at 02:20:47AM +0200, Thomas Monjalon wrote:
> 16/04/2021 19:04, Bruce Richardson:
> > RFC -> V1: * rebased to current main branch * performed cleanup on many
> > meson.build files to ensure correct formatting of lists: * split lists
> > with >3 or >4 entries to be one per line * first entry on own line *
> > last entry on own line with "," * closing braces dedented to original
> > indent level * alphabetical ordering Files in "lib" folder should be
> > mostly ok now - files in the drivers directory have not been done to
> > the same level, as there are so many of them to work on.  * other
> > general whitespace changes, including merging lines where possible,
> > since indent levels are reduced
> 
> There were 2 more suggestions in the RFC: - ignore-rev file to avoid
> polluting git blame
From what I gather from reading the docs, an ignore-rev file can only be
created after the patches are applied and we have the correct commit-ids to
ignore. Therefore, I'm not sure what value there is in including one in
this set since it would have to be completely rewritten on apply.

> - devtools script to convert patches for backport
Such a script would be to convert the "lib/librte_X" paths to "lib/X" in
the patch files, correct? I can see about working on this for the next
revision.
  
Thomas Monjalon April 19, 2021, 1:47 p.m. UTC | #5
19/04/2021 15:09, Bruce Richardson:
> On Mon, Apr 19, 2021 at 02:20:47AM +0200, Thomas Monjalon wrote:
> > 16/04/2021 19:04, Bruce Richardson:
> > > RFC -> V1: * rebased to current main branch * performed cleanup on many
> > > meson.build files to ensure correct formatting of lists: * split lists
> > > with >3 or >4 entries to be one per line * first entry on own line *
> > > last entry on own line with "," * closing braces dedented to original
> > > indent level * alphabetical ordering Files in "lib" folder should be
> > > mostly ok now - files in the drivers directory have not been done to
> > > the same level, as there are so many of them to work on.  * other
> > > general whitespace changes, including merging lines where possible,
> > > since indent levels are reduced
> > 
> > There were 2 more suggestions in the RFC: - ignore-rev file to avoid
> > polluting git blame
> 
> From what I gather from reading the docs, an ignore-rev file can only be
> created after the patches are applied and we have the correct commit-ids to
> ignore. Therefore, I'm not sure what value there is in including one in
> this set since it would have to be completely rewritten on apply.

OK I don't know how it works.
> 
> > - devtools script to convert patches for backport
> 
> Such a script would be to convert the "lib/librte_X" paths to "lib/X" in
> the patch files, correct? I can see about working on this for the next
> revision.

Yes, thanks.
  
Bruce Richardson April 19, 2021, 2:23 p.m. UTC | #6
On Mon, Apr 19, 2021 at 03:47:49PM +0200, Thomas Monjalon wrote:
> 19/04/2021 15:09, Bruce Richardson:
> > On Mon, Apr 19, 2021 at 02:20:47AM +0200, Thomas Monjalon wrote:
> > > 16/04/2021 19:04, Bruce Richardson:
> > > > RFC -> V1: * rebased to current main branch * performed cleanup on many
> > > > meson.build files to ensure correct formatting of lists: * split lists
> > > > with >3 or >4 entries to be one per line * first entry on own line *
> > > > last entry on own line with "," * closing braces dedented to original
> > > > indent level * alphabetical ordering Files in "lib" folder should be
> > > > mostly ok now - files in the drivers directory have not been done to
> > > > the same level, as there are so many of them to work on.  * other
> > > > general whitespace changes, including merging lines where possible,
> > > > since indent levels are reduced
> > > 
> > > There were 2 more suggestions in the RFC: - ignore-rev file to avoid
> > > polluting git blame
> > 
> > From what I gather from reading the docs, an ignore-rev file can only be
> > created after the patches are applied and we have the correct commit-ids to
> > ignore. Therefore, I'm not sure what value there is in including one in
> > this set since it would have to be completely rewritten on apply.
> 
> OK I don't know how it works.

I didn't either until I started using google for it! 
@bluca, please correct me if I'm wrong in my understanding above, or
provide any advice about how to manage this?
  
Xueming Li April 21, 2021, 1:01 p.m. UTC | #7
> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Monday, April 19, 2021 9:06 PM
> To: Xueming(Steven) Li <xuemingl@nvidia.com>
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH 00/14] Build file updates
> 
> On Sun, Apr 18, 2021 at 08:45:25AM +0000, Xueming(Steven) Li wrote:
> > Hi Bruce,
> >
> > > -----Original Message-----
> > > From: dev <dev-bounces@dpdk.org> On Behalf Of Bruce Richardson
> > > Sent: Saturday, April 17, 2021 1:05 AM
> > > To: dev@dpdk.org
> > > Cc: Bruce Richardson <bruce.richardson@intel.com>
> > > Subject: [dpdk-dev] [PATCH 00/14] Build file updates
> > >
> > > This RFC contains 5 changes/updates to the DPDK build and build files.
> > >
> > > The changes in this set are:
> > > 1. Use "continue" keyword, new in 0.49 to shorten and reduce indentation levels
> > >    in the foreach loops when building library or driver components.
> > > 2. For libraries, drop support for header-only libraries, which was added just
> > >    for the "compat" lib which had a single header, and is now part of EAL. This
> > >    similarly reduces indentation levels and makes the code easier to
> > > follow 3. Since the larger blocks of meson code in our repo is seeing massive
> > >    whitespace changes, take the opportunity to switch our indentation style for
> > >    meson files from that of C-files using tabs, to Meson/Python style using
> > >    spaces. [More below on this for discussion] 4. Remove the
> > > "librte_" prefix from all our library directories. While as useful
> > >    cleanup, the main driver for this was that it simplifies the matching for #5
> > >    below.
> > > 5. Add a "disable_libs" build option to allow the user to optionally not build
> > >    certain components. Include in this an explicit list of libraries which are
> > >    "known safe" to disable in the build. For now this is a short list of three
> > >    libs, all of which are safe because they are not buildable on FreeBSD. More
> > >    work is needed to expand this list in future.
> >
> > Great feature, very useful for PMD developer who only focus on some
> > specific class driver, most drivers and libs are not relevant, disable
> > them will speed up build process significantly, this always happen when switch release or rebase code.
> >
> > Currently I collected a long disabled driver list for my minimal
> > build, have to update time to time as dpdk community grows quickly. An
> > enable_list might be more efficient here to allow minimal lib/drivers for net, vdpa etc.. plus specific pmd driver for NIC on hand.
> >
> 
> Managing such a list should not be too much work if wildcards are used appropriately. Here is the disable_drivers option I use which
> just enables the necessary bus drivers, as well as intel NIC and rawdev drivers (or rather NIC and rawdev drivers whose names start
> with "i" or "e". It does enable a few extra drivers I don't care about, but not many!)
> 
> "base*/*,bus/[!pv]*,c*/*,event/*,net/[!ie]*,r*/[!i]*,vdpa/*"

Thanks, wildcards here is a magic :)

> 
> /Bruce
  
Xueming Li April 21, 2021, 3:52 p.m. UTC | #8
> -----Original Message-----
> From: Xueming(Steven) Li
> Sent: Wednesday, April 21, 2021 9:02 PM
> To: 'Bruce Richardson' <bruce.richardson@intel.com>
> Cc: dev@dpdk.org
> Subject: RE: [dpdk-dev] [PATCH 00/14] Build file updates
> 
> 
> > -----Original Message-----
> > From: Bruce Richardson <bruce.richardson@intel.com>
> > Sent: Monday, April 19, 2021 9:06 PM
> > To: Xueming(Steven) Li <xuemingl@nvidia.com>
> > Cc: dev@dpdk.org
> > Subject: Re: [dpdk-dev] [PATCH 00/14] Build file updates
> >
> > On Sun, Apr 18, 2021 at 08:45:25AM +0000, Xueming(Steven) Li wrote:
> > > Hi Bruce,
> > >
> > > > -----Original Message-----
> > > > From: dev <dev-bounces@dpdk.org> On Behalf Of Bruce Richardson
> > > > Sent: Saturday, April 17, 2021 1:05 AM
> > > > To: dev@dpdk.org
> > > > Cc: Bruce Richardson <bruce.richardson@intel.com>
> > > > Subject: [dpdk-dev] [PATCH 00/14] Build file updates
> > > >
> > > > This RFC contains 5 changes/updates to the DPDK build and build files.
> > > >
> > > > The changes in this set are:
> > > > 1. Use "continue" keyword, new in 0.49 to shorten and reduce indentation levels
> > > >    in the foreach loops when building library or driver components.
> > > > 2. For libraries, drop support for header-only libraries, which was added just
> > > >    for the "compat" lib which had a single header, and is now part of EAL. This
> > > >    similarly reduces indentation levels and makes the code easier
> > > > to follow 3. Since the larger blocks of meson code in our repo is seeing massive
> > > >    whitespace changes, take the opportunity to switch our indentation style for
> > > >    meson files from that of C-files using tabs, to Meson/Python style using
> > > >    spaces. [More below on this for discussion] 4. Remove the
> > > > "librte_" prefix from all our library directories. While as useful
> > > >    cleanup, the main driver for this was that it simplifies the matching for #5
> > > >    below.
> > > > 5. Add a "disable_libs" build option to allow the user to optionally not build
> > > >    certain components. Include in this an explicit list of libraries which are
> > > >    "known safe" to disable in the build. For now this is a short list of three
> > > >    libs, all of which are safe because they are not buildable on FreeBSD. More
> > > >    work is needed to expand this list in future.
> > >
> > > Great feature, very useful for PMD developer who only focus on some
> > > specific class driver, most drivers and libs are not relevant,
> > > disable them will speed up build process significantly, this always happen when switch release or rebase code.
> > >
> > > Currently I collected a long disabled driver list for my minimal
> > > build, have to update time to time as dpdk community grows quickly.
> > > An enable_list might be more efficient here to allow minimal lib/drivers for net, vdpa etc.. plus specific pmd driver for NIC on hand.
> > >
> >
> > Managing such a list should not be too much work if wildcards are used
> > appropriately. Here is the disable_drivers option I use which just
> > enables the necessary bus drivers, as well as intel NIC and rawdev
> > drivers (or rather NIC and rawdev drivers whose names start with "i"
> > or "e". It does enable a few extra drivers I don't care about, but not
> > many!)
> >
> > "base*/*,bus/[!pv]*,c*/*,event/*,net/[!ie]*,r*/[!i]*,vdpa/*"
> 
> Thanks, wildcards here is a magic :)

Just update, seems white list support already there, below wildcards works:
  -Denable_drivers= */mlx5,net/virtio

> 
> >
> > /Bruce