From patchwork Tue Apr 9 10:55:35 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 52464 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E287A5398; Tue, 9 Apr 2019 12:55:57 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 506E52BD8 for ; Tue, 9 Apr 2019 12:55:56 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Apr 2019 03:55:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,329,1549958400"; d="scan'208";a="160043782" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.222.236]) by fmsmga004.fm.intel.com with ESMTP; 09 Apr 2019 03:55:54 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: bluca@debian.org, david.marchand@redhat.com, Bruce Richardson Date: Tue, 9 Apr 2019 11:55:35 +0100 Message-Id: <20190409105539.61460-2-bruce.richardson@intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190409105539.61460-1-bruce.richardson@intel.com> References: <20190409105539.61460-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 1/5] build: simplify subdirectory detection for EAL X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Reviewed-by: David Marchand Acked-by: Luca Boccassi --- 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 /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 From patchwork Tue Apr 9 10:55:36 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 52465 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C308F5592; Tue, 9 Apr 2019 12:56:01 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 9AB652BD8 for ; Tue, 9 Apr 2019 12:55:57 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Apr 2019 03:55:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,329,1549958400"; d="scan'208";a="160043788" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.222.236]) by fmsmga004.fm.intel.com with ESMTP; 09 Apr 2019 03:55:56 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: bluca@debian.org, david.marchand@redhat.com, Bruce Richardson Date: Tue, 9 Apr 2019 11:55:36 +0100 Message-Id: <20190409105539.61460-3-bruce.richardson@intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190409105539.61460-1-bruce.richardson@intel.com> References: <20190409105539.61460-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 2/5] build: increase readability via shortcut variables X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Reviewed-by: David Marchand Acked-by: Luca Boccassi --- 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 -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 -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] From patchwork Tue Apr 9 10:55:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 52466 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A4FBD568A; Tue, 9 Apr 2019 12:56:05 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 851BB2BD8 for ; Tue, 9 Apr 2019 12:55:59 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Apr 2019 03:55:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,329,1549958400"; d="scan'208";a="160043797" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.222.236]) by fmsmga004.fm.intel.com with ESMTP; 09 Apr 2019 03:55:58 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: bluca@debian.org, david.marchand@redhat.com, Bruce Richardson , David Hunt Date: Tue, 9 Apr 2019 11:55:37 +0100 Message-Id: <20190409105539.61460-4-bruce.richardson@intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190409105539.61460-1-bruce.richardson@intel.com> References: <20190409105539.61460-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 3/5] distributor: skip building if power library not found X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Reviewed-by: David Marchand Acked-by: David Hunt Acked-by: Luca Boccassi --- 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' From patchwork Tue Apr 9 10:55:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 52467 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0D6235942; Tue, 9 Apr 2019 12:56:10 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 615705323; Tue, 9 Apr 2019 12:56:01 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Apr 2019 03:56:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,329,1549958400"; d="scan'208";a="160043803" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.222.236]) by fmsmga004.fm.intel.com with ESMTP; 09 Apr 2019 03:55:59 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: bluca@debian.org, david.marchand@redhat.com, Bruce Richardson , stable@dpdk.org Date: Tue, 9 Apr 2019 11:55:38 +0100 Message-Id: <20190409105539.61460-5-bruce.richardson@intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190409105539.61460-1-bruce.richardson@intel.com> References: <20190409105539.61460-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 4/5] examples/l2fwd-cat: fix build on FreeBSD X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Reviewed-by: David Marchand Acked-by: Luca Boccassi --- 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); From patchwork Tue Apr 9 10:55:39 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 52468 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 678395B20; Tue, 9 Apr 2019 12:56:12 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id F04065323 for ; Tue, 9 Apr 2019 12:56:02 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Apr 2019 03:56:02 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,329,1549958400"; d="scan'208";a="160043816" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.222.236]) by fmsmga004.fm.intel.com with ESMTP; 09 Apr 2019 03:56:01 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: bluca@debian.org, david.marchand@redhat.com, Bruce Richardson Date: Tue, 9 Apr 2019 11:55:39 +0100 Message-Id: <20190409105539.61460-6-bruce.richardson@intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190409105539.61460-1-bruce.richardson@intel.com> References: <20190409105539.61460-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 5/5] devtools/test-meson-builds: fix support for FreeBSD X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Reviewed-by: David Marchand Acked-by: Luca Boccassi --- 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}