All of lore.kernel.org
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH v2 0/5] small cleanup and fixes
@ 2019-04-09 10:55 Bruce Richardson
  2019-04-09 10:55 ` [dpdk-dev] [PATCH v2 1/5] build: simplify subdirectory detection for EAL Bruce Richardson
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Bruce Richardson @ 2019-04-09 10:55 UTC (permalink / raw)
  To: dev; +Cc: bluca, david.marchand, Bruce Richardson

Made some small changes to meson to shorten the code and increase
readability. While testing, found a number of issues on FreeBSD builds,
which are fixed in this set too.

Bruce Richardson (5):
  build: simplify subdirectory detection for EAL
  build: increase readability via shortcut variables
  distributor: skip building if power library not found
  examples/l2fwd-cat: fix build on FreeBSD
  devtools/test-meson-builds: fix support for FreeBSD

 app/meson.build                          |  2 +-
 buildtools/meson.build                   |  2 +-
 config/meson.build                       | 21 +++++++++++++++++----
 config/x86/meson.build                   |  2 +-
 devtools/test-meson-builds.sh            |  5 ++++-
 doc/guides/contributing/coding_style.rst |  2 +-
 drivers/bus/dpaa/meson.build             |  2 +-
 drivers/bus/fslmc/meson.build            |  2 +-
 drivers/bus/pci/meson.build              |  2 +-
 drivers/bus/vmbus/meson.build            |  2 +-
 drivers/common/dpaax/meson.build         |  2 +-
 drivers/crypto/caam_jr/meson.build       |  2 +-
 drivers/crypto/ccp/meson.build           |  2 +-
 drivers/crypto/dpaa2_sec/meson.build     |  2 +-
 drivers/crypto/dpaa_sec/meson.build      |  2 +-
 drivers/crypto/octeontx/meson.build      |  2 +-
 drivers/event/dpaa/meson.build           |  2 +-
 drivers/event/dpaa2/meson.build          |  2 +-
 drivers/mempool/dpaa/meson.build         |  2 +-
 drivers/mempool/dpaa2/meson.build        |  2 +-
 drivers/meson.build                      |  2 +-
 drivers/net/af_packet/meson.build        |  2 +-
 drivers/net/avp/meson.build              |  2 +-
 drivers/net/axgbe/meson.build            |  2 +-
 drivers/net/dpaa/meson.build             |  2 +-
 drivers/net/dpaa2/meson.build            |  2 +-
 drivers/net/enetc/meson.build            |  2 +-
 drivers/net/failsafe/meson.build         |  2 +-
 drivers/net/nfp/meson.build              |  2 +-
 drivers/net/softnic/meson.build          |  2 +-
 drivers/net/tap/meson.build              |  2 +-
 drivers/net/vdev_netvsc/meson.build      |  2 +-
 drivers/net/virtio/meson.build           |  2 +-
 examples/distributor/meson.build         |  3 +++
 examples/l2fwd-cat/cat.c                 |  2 +-
 examples/l3fwd-power/meson.build         |  2 +-
 examples/meson.build                     |  2 +-
 examples/tep_termination/meson.build     |  2 +-
 examples/vdpa/meson.build                |  4 ++--
 examples/vhost/meson.build               |  2 +-
 examples/vhost_scsi/meson.build          |  2 +-
 kernel/meson.build                       |  2 +-
 lib/librte_eal/meson.build               | 17 ++---------------
 lib/librte_eventdev/meson.build          |  2 +-
 lib/librte_kni/meson.build               |  2 +-
 lib/librte_power/meson.build             |  2 +-
 lib/librte_vhost/meson.build             |  2 +-
 lib/meson.build                          |  4 ++--
 48 files changed, 72 insertions(+), 66 deletions(-)

-- 
2.20.1


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

* [dpdk-dev] [PATCH v2 1/5] build: simplify subdirectory detection for EAL
  2019-04-09 10:55 [dpdk-dev] [PATCH v2 0/5] small cleanup and fixes Bruce Richardson
@ 2019-04-09 10:55 ` Bruce Richardson
  2019-04-09 10:58   ` Luca Boccassi
  2019-04-09 10:55 ` [dpdk-dev] [PATCH v2 2/5] build: increase readability via shortcut variables Bruce Richardson
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 10+ messages in thread
From: Bruce Richardson @ 2019-04-09 10:55 UTC (permalink / raw)
  To: dev; +Cc: bluca, david.marchand, Bruce Richardson

Within EAL we had a series of if statements for selecting the EAL directory
to use. Now that the directory names match those of the OS's they are for
we can instead just use a generated subdirectory name, shortening the code.
To avoid strange errors, we still need to check for unsupported OS's, but
do this check up-front in the config meson.build file.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
---
 config/meson.build         |  7 +++++++
 lib/librte_eal/meson.build | 17 ++---------------
 2 files changed, 9 insertions(+), 15 deletions(-)

diff --git a/config/meson.build b/config/meson.build
index 483139b10..ce6af2595 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -1,6 +1,13 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017-2019 Intel Corporation
 
+# check the OS is supported, rather than going any further
+supported_exec_envs = ['freebsd', 'linux', 'windows']
+exec_env = host_machine.system()
+if not supported_exec_envs.contains(exec_env)
+	error('unsupported system type "@0@"'.format(exec_env))
+endif
+
 # set the major version, which might be used by drivers and libraries
 # depending on the configuration options
 pver = meson.project_version().split('.')
diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build
index 1863622c0..fa36b20e0 100644
--- a/lib/librte_eal/meson.build
+++ b/lib/librte_eal/meson.build
@@ -9,21 +9,8 @@ subdir('common') # defines common_sources, common_objs, etc.
 
 # Now do OS/exec-env specific settings, including building kernel modules
 # The <exec-env>/eal/meson.build file should define env_sources, etc.
-if host_machine.system() == 'linux'
-	dpdk_conf.set('RTE_EXEC_ENV_LINUX', 1)
-	subdir('linux/eal')
-
-elif host_machine.system() == 'freebsd'
-	dpdk_conf.set('RTE_EXEC_ENV_FREEBSD', 1)
-	subdir('freebsd/eal')
-
-elif host_machine.system() == 'windows'
-	dpdk_conf.set('RTE_EXEC_ENV_WINDOWS', 1)
-	subdir('windows/eal')
-
-else
-	error('unsupported system type "@0@"'.format(host_machine.system()))
-endif
+dpdk_conf.set('RTE_EXEC_ENV_' + exec_env.to_upper(), 1)
+subdir(exec_env + '/eal')
 
 version = 10  # the version of the EAL API
 allow_experimental_apis = true
-- 
2.20.1


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

* [dpdk-dev] [PATCH v2 2/5] build: increase readability via shortcut variables
  2019-04-09 10:55 [dpdk-dev] [PATCH v2 0/5] small cleanup and fixes Bruce Richardson
  2019-04-09 10:55 ` [dpdk-dev] [PATCH v2 1/5] build: simplify subdirectory detection for EAL Bruce Richardson
@ 2019-04-09 10:55 ` Bruce Richardson
  2019-04-09 10:55 ` [dpdk-dev] [PATCH v2 3/5] distributor: skip building if power library not found Bruce Richardson
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: Bruce Richardson @ 2019-04-09 10:55 UTC (permalink / raw)
  To: dev; +Cc: bluca, david.marchand, Bruce Richardson

Define variables for "is_linux", "is_freebsd" and "is_windows"
to make the code shorter for comparisons and more readable.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 app/meson.build                          |  2 +-
 buildtools/meson.build                   |  2 +-
 config/meson.build                       | 14 ++++++++++----
 config/x86/meson.build                   |  2 +-
 doc/guides/contributing/coding_style.rst |  2 +-
 drivers/bus/dpaa/meson.build             |  2 +-
 drivers/bus/fslmc/meson.build            |  2 +-
 drivers/bus/pci/meson.build              |  2 +-
 drivers/bus/vmbus/meson.build            |  2 +-
 drivers/common/dpaax/meson.build         |  2 +-
 drivers/crypto/caam_jr/meson.build       |  2 +-
 drivers/crypto/ccp/meson.build           |  2 +-
 drivers/crypto/dpaa2_sec/meson.build     |  2 +-
 drivers/crypto/dpaa_sec/meson.build      |  2 +-
 drivers/crypto/octeontx/meson.build      |  2 +-
 drivers/event/dpaa/meson.build           |  2 +-
 drivers/event/dpaa2/meson.build          |  2 +-
 drivers/mempool/dpaa/meson.build         |  2 +-
 drivers/mempool/dpaa2/meson.build        |  2 +-
 drivers/meson.build                      |  2 +-
 drivers/net/af_packet/meson.build        |  2 +-
 drivers/net/avp/meson.build              |  2 +-
 drivers/net/axgbe/meson.build            |  2 +-
 drivers/net/dpaa/meson.build             |  2 +-
 drivers/net/dpaa2/meson.build            |  2 +-
 drivers/net/enetc/meson.build            |  2 +-
 drivers/net/failsafe/meson.build         |  2 +-
 drivers/net/nfp/meson.build              |  2 +-
 drivers/net/softnic/meson.build          |  2 +-
 drivers/net/tap/meson.build              |  2 +-
 drivers/net/vdev_netvsc/meson.build      |  2 +-
 drivers/net/virtio/meson.build           |  2 +-
 examples/l3fwd-power/meson.build         |  2 +-
 examples/meson.build                     |  2 +-
 examples/tep_termination/meson.build     |  2 +-
 examples/vdpa/meson.build                |  4 ++--
 examples/vhost/meson.build               |  2 +-
 examples/vhost_scsi/meson.build          |  2 +-
 kernel/meson.build                       |  2 +-
 lib/librte_eventdev/meson.build          |  2 +-
 lib/librte_kni/meson.build               |  2 +-
 lib/librte_power/meson.build             |  2 +-
 lib/librte_vhost/meson.build             |  2 +-
 lib/meson.build                          |  4 ++--
 44 files changed, 55 insertions(+), 49 deletions(-)

diff --git a/app/meson.build b/app/meson.build
index e949624b7..2b9fdef74 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017-2019 Intel Corporation
 
-if host_machine.system() == 'windows'
+if is_windows
 	subdir_done()
 endif
 
diff --git a/buildtools/meson.build b/buildtools/meson.build
index 0209bec8f..0d3a42c01 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017-2019 Intel Corporation
 
-if host_machine.system() == 'windows'
+if is_windows
 	subdir_done()
 endif
 
diff --git a/config/meson.build b/config/meson.build
index ce6af2595..f8aded6ed 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -8,6 +8,12 @@ if not supported_exec_envs.contains(exec_env)
 	error('unsupported system type "@0@"'.format(exec_env))
 endif
 
+# define a handy variable for checking which OS we have.
+# gives us "is_windows", "is_freebsd" and "is_linux"
+foreach env:supported_exec_envs
+	set_variable('is_' + env, exec_env == env)
+endforeach
+
 # set the major version, which might be used by drivers and libraries
 # depending on the configuration options
 pver = meson.project_version().split('.')
@@ -95,9 +101,9 @@ if cc.find_library('libm', required : false).found()
 endif
 
 # for linux link against dl, for bsd execinfo
-if host_machine.system() == 'linux'
+if is_linux
 	link_lib = 'dl'
-elif host_machine.system() == 'freebsd'
+elif is_freebsd
 	link_lib = 'execinfo'
 else
 	link_lib = ''
@@ -120,7 +126,7 @@ if numa_dep.found() and cc.has_header('numaif.h')
 endif
 
 # check for strlcpy
-if host_machine.system() == 'linux'
+if is_linux
 	libbsd = dependency('libbsd', required: false)
 	if libbsd.found()
 		dpdk_conf.set('RTE_USE_LIBBSD', 1)
@@ -175,4 +181,4 @@ dpdk_conf.set_quoted('RTE_EAL_PMD_PATH', eal_pmd_path)
 install_headers('rte_config.h', subdir: get_option('include_subdir_arch'))
 
 # enable VFIO only if it is linux OS
-dpdk_conf.set('RTE_EAL_VFIO', host_machine.system() == 'linux')
+dpdk_conf.set('RTE_EAL_VFIO', is_linux)
diff --git a/config/x86/meson.build b/config/x86/meson.build
index 558edfda9..2b2d06281 100644
--- a/config/x86/meson.build
+++ b/config/x86/meson.build
@@ -5,7 +5,7 @@
 march_opt = ['-march=@0@'.format(machine)]
 
 # get binutils version for the workaround of Bug 97
-if host_machine.system() != 'windows'
+if not is_windows
 	ldver = run_command('ld', '-v').stdout().strip()
 	if ldver.contains('2.30')
 		if cc.has_argument('-mno-avx512f')
diff --git a/doc/guides/contributing/coding_style.rst b/doc/guides/contributing/coding_style.rst
index 656563dde..a5d5897f3 100644
--- a/doc/guides/contributing/coding_style.rst
+++ b/doc/guides/contributing/coding_style.rst
@@ -856,7 +856,7 @@ build
 
 .. code-block:: python
 
-	if host_machine.system() != 'linux'
+	if not is_linux
 	        build = false
 	endif
 
diff --git a/drivers/bus/dpaa/meson.build b/drivers/bus/dpaa/meson.build
index 1fcb4e913..1c8ca8c9a 100644
--- a/drivers/bus/dpaa/meson.build
+++ b/drivers/bus/dpaa/meson.build
@@ -3,7 +3,7 @@
 
 version = 2
 
-if host_machine.system() != 'linux'
+if not is_linux
         build = false
 endif
 
diff --git a/drivers/bus/fslmc/meson.build b/drivers/bus/fslmc/meson.build
index 4b0521577..04624c363 100644
--- a/drivers/bus/fslmc/meson.build
+++ b/drivers/bus/fslmc/meson.build
@@ -3,7 +3,7 @@
 
 version = 2
 
-if host_machine.system() != 'linux'
+if not is_linux
         build = false
 endif
 
diff --git a/drivers/bus/pci/meson.build b/drivers/bus/pci/meson.build
index a3140ff97..a312ecc03 100644
--- a/drivers/bus/pci/meson.build
+++ b/drivers/bus/pci/meson.build
@@ -8,7 +8,7 @@ install_headers('rte_bus_pci.h')
 sources = files('pci_common.c',
 	'pci_common_uio.c',
 	'pci_params.c')
-if host_machine.system() == 'linux'
+if is_linux
 	sources += files('linux/pci.c',
 			'linux/pci_uio.c',
 			'linux/pci_vfio.c')
diff --git a/drivers/bus/vmbus/meson.build b/drivers/bus/vmbus/meson.build
index 0e4d058ee..9fd430dae 100644
--- a/drivers/bus/vmbus/meson.build
+++ b/drivers/bus/vmbus/meson.build
@@ -11,7 +11,7 @@ sources = files('vmbus_common.c',
 		'vmbus_bufring.c',
 		'vmbus_common_uio.c')
 
-if host_machine.system() == 'linux'
+if is_linux
 	sources += files('linux/vmbus_bus.c',
 			'linux/vmbus_uio.c')
 	includes += include_directories('linux')
diff --git a/drivers/common/dpaax/meson.build b/drivers/common/dpaax/meson.build
index 98a1bdd48..78378e2a6 100644
--- a/drivers/common/dpaax/meson.build
+++ b/drivers/common/dpaax/meson.build
@@ -3,7 +3,7 @@
 
 allow_experimental_apis = true
 
-if host_machine.system() != 'linux'
+if not is_linux
         build = false
 endif
 
diff --git a/drivers/crypto/caam_jr/meson.build b/drivers/crypto/caam_jr/meson.build
index 99b71aef1..e61a13c25 100644
--- a/drivers/crypto/caam_jr/meson.build
+++ b/drivers/crypto/caam_jr/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright 2018 NXP
 
-if host_machine.system() != 'linux'
+if not is_linux
         build = false
 endif
 
diff --git a/drivers/crypto/ccp/meson.build b/drivers/crypto/ccp/meson.build
index 915c4c854..071ccc5e7 100644
--- a/drivers/crypto/ccp/meson.build
+++ b/drivers/crypto/ccp/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Advanced Micro Devices, Inc. All rights reserved.
 
-if host_machine.system() != 'linux'
+if not is_linux
         build = false
 endif
 dep = dependency('libcrypto', required: false)
diff --git a/drivers/crypto/dpaa2_sec/meson.build b/drivers/crypto/dpaa2_sec/meson.build
index 8fa4827ed..d197cda1a 100644
--- a/drivers/crypto/dpaa2_sec/meson.build
+++ b/drivers/crypto/dpaa2_sec/meson.build
@@ -3,7 +3,7 @@
 
 version = 2
 
-if host_machine.system() != 'linux'
+if not is_linux
         build = false
 endif
 
diff --git a/drivers/crypto/dpaa_sec/meson.build b/drivers/crypto/dpaa_sec/meson.build
index 8a5709846..134af88da 100644
--- a/drivers/crypto/dpaa_sec/meson.build
+++ b/drivers/crypto/dpaa_sec/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright 2018 NXP
 
-if host_machine.system() != 'linux'
+if not is_linux
         build = false
 endif
 
diff --git a/drivers/crypto/octeontx/meson.build b/drivers/crypto/octeontx/meson.build
index 423737ee1..a9f2d3157 100644
--- a/drivers/crypto/octeontx/meson.build
+++ b/drivers/crypto/octeontx/meson.build
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Cavium, Inc
-if host_machine.system() != 'linux'
+if not is_linux
 	build = false
 endif
 
diff --git a/drivers/event/dpaa/meson.build b/drivers/event/dpaa/meson.build
index 0914f858e..11b1fe669 100644
--- a/drivers/event/dpaa/meson.build
+++ b/drivers/event/dpaa/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright 2018 NXP
 
-if host_machine.system() != 'linux'
+if not is_linux
 	build = false
 endif
 deps += ['pmd_dpaa']
diff --git a/drivers/event/dpaa2/meson.build b/drivers/event/dpaa2/meson.build
index a0db6fc21..a94bc5643 100644
--- a/drivers/event/dpaa2/meson.build
+++ b/drivers/event/dpaa2/meson.build
@@ -3,7 +3,7 @@
 
 version = 2
 
-if host_machine.system() != 'linux'
+if not is_linux
 	build = false
 endif
 deps += ['bus_vdev', 'pmd_dpaa2', 'pmd_dpaa2_sec']
diff --git a/drivers/mempool/dpaa/meson.build b/drivers/mempool/dpaa/meson.build
index 9163b3db3..c4c8ebc09 100644
--- a/drivers/mempool/dpaa/meson.build
+++ b/drivers/mempool/dpaa/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright 2018 NXP
 
-if host_machine.system() != 'linux'
+if not is_linux
         build = false
 endif
 
diff --git a/drivers/mempool/dpaa2/meson.build b/drivers/mempool/dpaa2/meson.build
index 6b6ead617..9a8b28d7c 100644
--- a/drivers/mempool/dpaa2/meson.build
+++ b/drivers/mempool/dpaa2/meson.build
@@ -3,7 +3,7 @@
 
 version = 2
 
-if host_machine.system() != 'linux'
+if not is_linux
         build = false
 endif
 
diff --git a/drivers/meson.build b/drivers/meson.build
index 7520a16e3..4c444f495 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017-2019 Intel Corporation
 
-if host_machine.system() == 'windows'
+if is_windows
 	subdir_done()
 endif
 
diff --git a/drivers/net/af_packet/meson.build b/drivers/net/af_packet/meson.build
index 92f6a9715..92c306c73 100644
--- a/drivers/net/af_packet/meson.build
+++ b/drivers/net/af_packet/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-if host_machine.system() != 'linux'
+if not is_linux
 	build = false
 endif
 sources = files('rte_eth_af_packet.c')
diff --git a/drivers/net/avp/meson.build b/drivers/net/avp/meson.build
index b7ffdfc80..8138cb22d 100644
--- a/drivers/net/avp/meson.build
+++ b/drivers/net/avp/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation
 
-if host_machine.system() != 'linux'
+if not is_linux
         build = false
 endif
 sources = files('avp_ethdev.c')
diff --git a/drivers/net/axgbe/meson.build b/drivers/net/axgbe/meson.build
index 548ffff7a..6decb25d4 100644
--- a/drivers/net/axgbe/meson.build
+++ b/drivers/net/axgbe/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved.
 
-if host_machine.system() != 'linux'
+if not is_linux
 	build = false
 endif
 
diff --git a/drivers/net/dpaa/meson.build b/drivers/net/dpaa/meson.build
index 62dec7b04..8e5418bd6 100644
--- a/drivers/net/dpaa/meson.build
+++ b/drivers/net/dpaa/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright 2018 NXP
 
-if host_machine.system() != 'linux'
+if not is_linux
 	build = false
 endif
 deps += ['mempool_dpaa']
diff --git a/drivers/net/dpaa2/meson.build b/drivers/net/dpaa2/meson.build
index 53e1d8189..a0ea99238 100644
--- a/drivers/net/dpaa2/meson.build
+++ b/drivers/net/dpaa2/meson.build
@@ -3,7 +3,7 @@
 
 version = 2
 
-if host_machine.system() != 'linux'
+if not is_linux
         build = false
 endif
 
diff --git a/drivers/net/enetc/meson.build b/drivers/net/enetc/meson.build
index 733156bbf..7d0c2ffe7 100644
--- a/drivers/net/enetc/meson.build
+++ b/drivers/net/enetc/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright 2018 NXP
 
-if host_machine.system() != 'linux'
+if not is_linux
 	build = false
 endif
 
diff --git a/drivers/net/failsafe/meson.build b/drivers/net/failsafe/meson.build
index a249ff4af..dfd4067cb 100644
--- a/drivers/net/failsafe/meson.build
+++ b/drivers/net/failsafe/meson.build
@@ -5,7 +5,7 @@ cflags += '-std=gnu99'
 cflags += '-D_DEFAULT_SOURCE'
 cflags += '-D_XOPEN_SOURCE=700'
 cflags += '-pedantic'
-if host_machine.system() == 'linux'
+if is_linux
 	cflags += '-DLINUX'
 else
 	cflags += '-DBSD'
diff --git a/drivers/net/nfp/meson.build b/drivers/net/nfp/meson.build
index ba6a22e8b..ea51ac3c3 100644
--- a/drivers/net/nfp/meson.build
+++ b/drivers/net/nfp/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation
 
-if host_machine.system() != 'linux'
+if not is_linux
         build = false
 endif
 sources = files('nfpcore/nfp_cpp_pcie_ops.c',
diff --git a/drivers/net/softnic/meson.build b/drivers/net/softnic/meson.build
index da249c068..dd1d610ea 100644
--- a/drivers/net/softnic/meson.build
+++ b/drivers/net/softnic/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation
 
-if host_machine.system() != 'linux'
+if not is_linux
         build = false
 endif
 allow_experimental_apis = true
diff --git a/drivers/net/tap/meson.build b/drivers/net/tap/meson.build
index 9cb7142a0..c407a1f35 100644
--- a/drivers/net/tap/meson.build
+++ b/drivers/net/tap/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright 2018 Luca Boccassi <bluca@debian.org>
 
-if host_machine.system() != 'linux'
+if not is_linux
         build = false
 endif
 sources = files(
diff --git a/drivers/net/vdev_netvsc/meson.build b/drivers/net/vdev_netvsc/meson.build
index d3ada878a..6655859f8 100644
--- a/drivers/net/vdev_netvsc/meson.build
+++ b/drivers/net/vdev_netvsc/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
 
-if host_machine.system() != 'linux'
+if not is_linux
         build = false
 endif
 sources = files('vdev_netvsc.c')
diff --git a/drivers/net/virtio/meson.build b/drivers/net/virtio/meson.build
index e43ce6bbc..794905401 100644
--- a/drivers/net/virtio/meson.build
+++ b/drivers/net/virtio/meson.build
@@ -15,7 +15,7 @@ elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64')
 	sources += files('virtio_rxtx_simple_neon.c')
 endif
 
-if host_machine.system() == 'linux'
+if is_linux
 	dpdk_conf.set('RTE_VIRTIO_USER', 1)
 
 	sources += files('virtio_user_ethdev.c',
diff --git a/examples/l3fwd-power/meson.build b/examples/l3fwd-power/meson.build
index a3c5c2f14..2c84123b6 100644
--- a/examples/l3fwd-power/meson.build
+++ b/examples/l3fwd-power/meson.build
@@ -6,7 +6,7 @@
 # To build this example as a standalone application with an already-installed
 # DPDK instance, use 'make'
 
-if host_machine.system() != 'linux'
+if not is_linux
 	build = false
 endif
 allow_experimental_apis = true
diff --git a/examples/meson.build b/examples/meson.build
index d72382fca..e4babf6bf 100644
--- a/examples/meson.build
+++ b/examples/meson.build
@@ -36,7 +36,7 @@ foreach example: examples
 	ext_deps = [execinfo]
 	includes = [include_directories(example)]
 	deps = ['eal', 'mempool', 'net', 'mbuf', 'ethdev', 'cmdline']
-	if host_machine.system() == 'windows'
+	if is_windows
 		deps = ['eal'] # only supported lib on Windows currently
 	endif
 	subdir(example)
diff --git a/examples/tep_termination/meson.build b/examples/tep_termination/meson.build
index 6d3636243..a75cc7100 100644
--- a/examples/tep_termination/meson.build
+++ b/examples/tep_termination/meson.build
@@ -6,7 +6,7 @@
 # To build this example as a standalone application with an already-installed
 # DPDK instance, use 'make'
 
-if host_machine.system() != 'linux'
+if not is_linux
 	build = false
 endif
 deps += ['hash', 'vhost']
diff --git a/examples/vdpa/meson.build b/examples/vdpa/meson.build
index 2e38a069f..73f129cd9 100644
--- a/examples/vdpa/meson.build
+++ b/examples/vdpa/meson.build
@@ -6,11 +6,11 @@
 # To build this example as a standalone application with an already-installed
 # DPDK instance, use 'make'
 
-if host_machine.system() != 'linux'
+if not is_linux
 	build = false
 endif
 deps += 'vhost'
 allow_experimental_apis = true
 sources = files(
 	'main.c'
-)
\ No newline at end of file
+)
diff --git a/examples/vhost/meson.build b/examples/vhost/meson.build
index 7b498076c..872d51153 100644
--- a/examples/vhost/meson.build
+++ b/examples/vhost/meson.build
@@ -6,7 +6,7 @@
 # To build this example as a standalone application with an already-installed
 # DPDK instance, use 'make'
 
-if host_machine.system() != 'linux'
+if not is_linux
 	build = false
 endif
 deps += 'vhost'
diff --git a/examples/vhost_scsi/meson.build b/examples/vhost_scsi/meson.build
index ca1248023..2e9339aa7 100644
--- a/examples/vhost_scsi/meson.build
+++ b/examples/vhost_scsi/meson.build
@@ -6,7 +6,7 @@
 # To build this example as a standalone application with an already-installed
 # DPDK instance, use 'make'
 
-if host_machine.system() != 'linux'
+if not is_linux
 	build = false
 endif
 
diff --git a/kernel/meson.build b/kernel/meson.build
index 2c8fa76d0..b247e2df4 100644
--- a/kernel/meson.build
+++ b/kernel/meson.build
@@ -1,4 +1,4 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-subdir(host_machine.system())
+subdir(exec_env)
diff --git a/lib/librte_eventdev/meson.build b/lib/librte_eventdev/meson.build
index 6becfe86d..6cfe60e1f 100644
--- a/lib/librte_eventdev/meson.build
+++ b/lib/librte_eventdev/meson.build
@@ -4,7 +4,7 @@
 version = 6
 allow_experimental_apis = true
 
-if host_machine.system() == 'linux'
+if is_linux
 	cflags += '-DLINUX'
 else
 	cflags += '-DBSD'
diff --git a/lib/librte_kni/meson.build b/lib/librte_kni/meson.build
index 055ae1227..400af9a4d 100644
--- a/lib/librte_kni/meson.build
+++ b/lib/librte_kni/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-if host_machine.system() != 'linux' or not dpdk_conf.get('RTE_ARCH_64')
+if not is_linux or not dpdk_conf.get('RTE_ARCH_64')
 	build = false
 endif
 version = 2
diff --git a/lib/librte_power/meson.build b/lib/librte_power/meson.build
index 02e0337ce..cc6c30075 100644
--- a/lib/librte_power/meson.build
+++ b/lib/librte_power/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-if host_machine.system() != 'linux'
+if not is_linux
 	build = false
 endif
 sources = files('rte_power.c', 'power_acpi_cpufreq.c',
diff --git a/lib/librte_vhost/meson.build b/lib/librte_vhost/meson.build
index e33e6fc16..3090bbe08 100644
--- a/lib/librte_vhost/meson.build
+++ b/lib/librte_vhost/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017-2018 Intel Corporation
 
-if host_machine.system() != 'linux'
+if not is_linux
 	build = false
 endif
 if has_libnuma == 1
diff --git a/lib/meson.build b/lib/meson.build
index 595314d7d..a379dd682 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -30,7 +30,7 @@ libraries = [
 	# flow_classify lib depends on pkt framework table lib
 	'flow_classify', 'bpf', 'telemetry']
 
-if host_machine.system() == 'windows'
+if is_windows
 	libraries = ['kvargs','eal'] # only supported libraries for windows
 endif
 
@@ -123,7 +123,7 @@ foreach l:libraries
 					meson.current_source_dir(), dir_name, name)
 			exports = []
 			implib = dir_name + '.dll.a'
-			if host_machine.system() == 'windows'
+			if is_windows
 				exports = '@0@/@1@/rte_@2@_exports.def'.format(
 					meson.current_source_dir(), dir_name, name)
 				lk_args = ['-Wl,/def:' + exports, '-Wl,/implib:lib\\' + implib]
-- 
2.20.1


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

* [dpdk-dev] [PATCH v2 3/5] distributor: skip building if power library not found
  2019-04-09 10:55 [dpdk-dev] [PATCH v2 0/5] small cleanup and fixes Bruce Richardson
  2019-04-09 10:55 ` [dpdk-dev] [PATCH v2 1/5] build: simplify subdirectory detection for EAL Bruce Richardson
  2019-04-09 10:55 ` [dpdk-dev] [PATCH v2 2/5] build: increase readability via shortcut variables Bruce Richardson
@ 2019-04-09 10:55 ` Bruce Richardson
  2019-04-09 10:55 ` [dpdk-dev] [PATCH v2 4/5] examples/l2fwd-cat: fix build on FreeBSD Bruce Richardson
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 10+ messages in thread
From: Bruce Richardson @ 2019-04-09 10:55 UTC (permalink / raw)
  To: dev; +Cc: bluca, david.marchand, Bruce Richardson, David Hunt

The power library is not built on non-Linux systems, so skip the
distributor sample if it's not found, as it's a mandatory dependency.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Acked-by: David Hunt <david.hunt@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 examples/distributor/meson.build | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/examples/distributor/meson.build b/examples/distributor/meson.build
index 8cf2ca1da..26f108d65 100644
--- a/examples/distributor/meson.build
+++ b/examples/distributor/meson.build
@@ -6,6 +6,9 @@
 # To build this example as a standalone application with an already-installed
 # DPDK instance, use 'make'
 
+# require the power library
+build = dpdk_conf.has('RTE_LIBRTE_POWER')
+
 deps += ['distributor', 'power']
 sources = files(
 	'main.c'
-- 
2.20.1


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

* [dpdk-dev] [PATCH v2 4/5] examples/l2fwd-cat: fix build on FreeBSD
  2019-04-09 10:55 [dpdk-dev] [PATCH v2 0/5] small cleanup and fixes Bruce Richardson
                   ` (2 preceding siblings ...)
  2019-04-09 10:55 ` [dpdk-dev] [PATCH v2 3/5] distributor: skip building if power library not found Bruce Richardson
@ 2019-04-09 10:55 ` Bruce Richardson
  2019-04-09 10:55 ` [dpdk-dev] [PATCH v2 5/5] devtools/test-meson-builds: fix support for FreeBSD Bruce Richardson
  2019-04-17 16:17 ` [dpdk-dev] [PATCH v2 0/5] small cleanup and fixes Thomas Monjalon
  5 siblings, 0 replies; 10+ messages in thread
From: Bruce Richardson @ 2019-04-09 10:55 UTC (permalink / raw)
  To: dev; +Cc: bluca, david.marchand, Bruce Richardson, stable

The definition of CPU_AND differs from Linux to BSD, so we need to use
RTE_CPU_AND instead.

Fixes: f6baccbc2b3b ("examples/l2fwd-cat: add sample application for PQoS CAT and CDP")
Cc: stable@dpdk.org

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>

---
Note: for backporting to stable, this relies on c3568ea37670 also being
backported to the release in question
---
 examples/l2fwd-cat/cat.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/l2fwd-cat/cat.c b/examples/l2fwd-cat/cat.c
index a6081e676..502c6b327 100644
--- a/examples/l2fwd-cat/cat.c
+++ b/examples/l2fwd-cat/cat.c
@@ -345,7 +345,7 @@ check_cpus_overlapping(void)
 
 	for (i = 0; i < m_config_count; i++) {
 		for (j = i + 1; j < m_config_count; j++) {
-			CPU_AND(&mask,
+			RTE_CPU_AND(&mask,
 				&m_config[i].cpumask,
 				&m_config[j].cpumask);
 
-- 
2.20.1


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

* [dpdk-dev] [PATCH v2 5/5] devtools/test-meson-builds: fix support for FreeBSD
  2019-04-09 10:55 [dpdk-dev] [PATCH v2 0/5] small cleanup and fixes Bruce Richardson
                   ` (3 preceding siblings ...)
  2019-04-09 10:55 ` [dpdk-dev] [PATCH v2 4/5] examples/l2fwd-cat: fix build on FreeBSD Bruce Richardson
@ 2019-04-09 10:55 ` Bruce Richardson
  2019-04-17 16:17   ` Thomas Monjalon
  2019-04-17 16:17 ` [dpdk-dev] [PATCH v2 0/5] small cleanup and fixes Thomas Monjalon
  5 siblings, 1 reply; 10+ messages in thread
From: Bruce Richardson @ 2019-04-09 10:55 UTC (permalink / raw)
  To: dev; +Cc: bluca, david.marchand, Bruce Richardson

The pipefile option does not seem to exist on FreeBSD, giving an error
when running the script.

Fixes: 5d9176673008 ("devtools: fix meson build test to exit on failure")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>

---
V2: change "==" to "=" in comparison
---
 devtools/test-meson-builds.sh | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index b3b5cfbb5..dce9a3d89 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -7,7 +7,10 @@
 # * if a build-directory already exists we assume it was properly configured
 # Run ninja after configuration is done.
 
-set -o pipefail
+# this option gives an error on BSD
+if [ "`uname`" = "Linux" ] ; then
+	set -o pipefail
+fi
 
 srcdir=$(dirname $(readlink -f $0))/..
 MESON=${MESON:-meson}
-- 
2.20.1


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

* Re: [dpdk-dev] [PATCH v2 1/5] build: simplify subdirectory detection for EAL
  2019-04-09 10:55 ` [dpdk-dev] [PATCH v2 1/5] build: simplify subdirectory detection for EAL Bruce Richardson
@ 2019-04-09 10:58   ` Luca Boccassi
  0 siblings, 0 replies; 10+ messages in thread
From: Luca Boccassi @ 2019-04-09 10:58 UTC (permalink / raw)
  To: Bruce Richardson, dev; +Cc: david.marchand

On Tue, 2019-04-09 at 11:55 +0100, Bruce Richardson wrote:
> Within EAL we had a series of if statements for selecting the EAL
> directory
> to use. Now that the directory names match those of the OS's they are
> for
> we can instead just use a generated subdirectory name, shortening the
> code.
> To avoid strange errors, we still need to check for unsupported OS's,
> but
> do this check up-front in the config meson.build file.
> 
> Signed-off-by: Bruce Richardson <
> bruce.richardson@intel.com
> >
> Reviewed-by: David Marchand <
> david.marchand@redhat.com
> >
> ---
>  config/meson.build         |  7 +++++++
>  lib/librte_eal/meson.build | 17 ++---------------
>  2 files changed, 9 insertions(+), 15 deletions(-)

Acked-by: Luca Boccassi <bluca@debian.org>

-- 
Kind regards,
Luca Boccassi

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

* Re: [dpdk-dev] [PATCH v2 5/5] devtools/test-meson-builds: fix support for FreeBSD
  2019-04-09 10:55 ` [dpdk-dev] [PATCH v2 5/5] devtools/test-meson-builds: fix support for FreeBSD Bruce Richardson
@ 2019-04-17 16:17   ` Thomas Monjalon
  2019-04-17 16:30     ` Bruce Richardson
  0 siblings, 1 reply; 10+ messages in thread
From: Thomas Monjalon @ 2019-04-17 16:17 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, bluca, david.marchand

09/04/2019 12:55, Bruce Richardson:
> --- a/devtools/test-meson-builds.sh
> +++ b/devtools/test-meson-builds.sh
> -set -o pipefail
> +# this option gives an error on BSD
> +if [ "`uname`" = "Linux" ] ; then
> +	set -o pipefail
> +fi

I think this is a bash option.
We may require bash at the top of this script as a workaround.
Or we can revert the inital patch piping to cat for verbose mode.




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

* Re: [dpdk-dev] [PATCH v2 0/5] small cleanup and fixes
  2019-04-09 10:55 [dpdk-dev] [PATCH v2 0/5] small cleanup and fixes Bruce Richardson
                   ` (4 preceding siblings ...)
  2019-04-09 10:55 ` [dpdk-dev] [PATCH v2 5/5] devtools/test-meson-builds: fix support for FreeBSD Bruce Richardson
@ 2019-04-17 16:17 ` Thomas Monjalon
  5 siblings, 0 replies; 10+ messages in thread
From: Thomas Monjalon @ 2019-04-17 16:17 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, bluca, david.marchand

09/04/2019 12:55, Bruce Richardson:
> Made some small changes to meson to shorten the code and increase
> readability. While testing, found a number of issues on FreeBSD builds,
> which are fixed in this set too.
> 
> Bruce Richardson (5):
>   build: simplify subdirectory detection for EAL
>   build: increase readability via shortcut variables
>   distributor: skip building if power library not found
>   examples/l2fwd-cat: fix build on FreeBSD
>   devtools/test-meson-builds: fix support for FreeBSD

Applied without last patch, thanks.




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

* Re: [dpdk-dev] [PATCH v2 5/5] devtools/test-meson-builds: fix support for FreeBSD
  2019-04-17 16:17   ` Thomas Monjalon
@ 2019-04-17 16:30     ` Bruce Richardson
  0 siblings, 0 replies; 10+ messages in thread
From: Bruce Richardson @ 2019-04-17 16:30 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, bluca, david.marchand

On Wed, Apr 17, 2019 at 06:17:06PM +0200, Thomas Monjalon wrote:
> 09/04/2019 12:55, Bruce Richardson:
> > --- a/devtools/test-meson-builds.sh
> > +++ b/devtools/test-meson-builds.sh
> > -set -o pipefail
> > +# this option gives an error on BSD
> > +if [ "`uname`" = "Linux" ] ; then
> > +	set -o pipefail
> > +fi
> 
> I think this is a bash option.
> We may require bash at the top of this script as a workaround.
> Or we can revert the inital patch piping to cat for verbose mode.
> 
Probably best to do the latter, I think. No real need to have two verbose
modes, just one. Let me see what I can do, if there may be any other
options.

/Bruce

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

end of thread, other threads:[~2019-04-17 16:30 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-09 10:55 [dpdk-dev] [PATCH v2 0/5] small cleanup and fixes Bruce Richardson
2019-04-09 10:55 ` [dpdk-dev] [PATCH v2 1/5] build: simplify subdirectory detection for EAL Bruce Richardson
2019-04-09 10:58   ` Luca Boccassi
2019-04-09 10:55 ` [dpdk-dev] [PATCH v2 2/5] build: increase readability via shortcut variables Bruce Richardson
2019-04-09 10:55 ` [dpdk-dev] [PATCH v2 3/5] distributor: skip building if power library not found Bruce Richardson
2019-04-09 10:55 ` [dpdk-dev] [PATCH v2 4/5] examples/l2fwd-cat: fix build on FreeBSD Bruce Richardson
2019-04-09 10:55 ` [dpdk-dev] [PATCH v2 5/5] devtools/test-meson-builds: fix support for FreeBSD Bruce Richardson
2019-04-17 16:17   ` Thomas Monjalon
2019-04-17 16:30     ` Bruce Richardson
2019-04-17 16:17 ` [dpdk-dev] [PATCH v2 0/5] small cleanup and fixes Thomas Monjalon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.