From patchwork Wed Feb 6 17:08:44 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 50149 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 E93461B3AF; Wed, 6 Feb 2019 18:08:58 +0100 (CET) Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by dpdk.org (Postfix) with ESMTP id E5B4C1B3AE for ; Wed, 6 Feb 2019 18:08:57 +0100 (CET) Received: by mail-wr1-f65.google.com with SMTP id p4so8425883wrt.7 for ; Wed, 06 Feb 2019 09:08:57 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jbOPMZL9GH9UROtm++9rpn0BNrVshHNy0zIfPYwu5WI=; b=PxiThAp26SOYb2tdIebrgcjI1Vr/lqjnpZtfXR+g3ZXBbz/3OynPo64hd2jV8HnDut 8tsi2pO7gVFCGD7EGWGYkv2dTRdjU7l+7k5nZ9l/EZdl0K+g9jrWKixW3CkA6l6aF2pf XDyZiT2Dmzind70kNrVdL2cMHSJ6D69hXQj1fbjPMgiB00LPyxgm9qme2H6KA+o8NLkY gLuvhPbIiOhE4rmOFmzLgggtDhJNRe3nsvfuuHaLVGmwohg3eqCNCKzFJgQEl+n0z3iB 0M/6y6ZA/AHSKpgJTpZEHAWMZQvG1vOMXNL1mVgwiZ6qNq2pveKVM2iEp+gJDNyxo7zW sTRQ== X-Gm-Message-State: AHQUAub8d7vWNLD6bmUlvCB34TSWa2jdIMimN8RSxoFLmtvzI0rNcZfm 0hJNSfoEQp68fi8Kf7uwmv9nhEfu X-Google-Smtp-Source: AHgI3IamUgUubs9TO4aQQJeSgOnXceUJ3MrGptLpOI9TbRLOGSgJTKWrSWPaLXDUWNjq/fK8kX1W3w== X-Received: by 2002:adf:a28d:: with SMTP id s13mr9238722wra.100.1549472937009; Wed, 06 Feb 2019 09:08:57 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:b833:9472:a517:a18f]) by smtp.gmail.com with ESMTPSA id 126sm15398315wmd.1.2019.02.06.09.08.55 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 06 Feb 2019 09:08:55 -0800 (PST) From: Luca Boccassi To: dev@dpdk.org Cc: bruce.richardson@intel.com, Luca Boccassi Date: Wed, 6 Feb 2019 17:08:44 +0000 Message-Id: <20190206170848.19059-1-bluca@debian.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190103175725.5836-1-bluca@debian.org> References: <20190103175725.5836-1-bluca@debian.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v6 1/5] build: bump minimum Meson version to 0.47.1 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" Meson 0.47.1 fixed a bug that is difficult to work around, which causes the linker flag of dependencies to be repeated dozens of times, which causes issues especially when using the built-in dependency() API. Bump the minimum version and remove obsolete version checks. Signed-off-by: Luca Boccassi Acked-by: Bruce Richardson --- v2: bump meson minimum version to 0.47.1 to avoid meson bug v3: split away first independent patch from series v4: add acked-by drivers/meson.build | 5 +---- kernel/linux/meson.build | 6 +----- meson.build | 35 +++++++++++++++-------------------- 3 files changed, 17 insertions(+), 29 deletions(-) diff --git a/drivers/meson.build b/drivers/meson.build index c3c66bbc0..e37d4fe2b 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -148,8 +148,5 @@ foreach class:driver_classes endif # build endforeach - if meson.version().version_compare('>=0.47') - # prior to 0.47, set_variable can't take array params - set_variable(class + '_drivers', class_drivers) - endif + set_variable(class + '_drivers', class_drivers) endforeach diff --git a/kernel/linux/meson.build b/kernel/linux/meson.build index 5b7ec06e1..d751d939f 100644 --- a/kernel/linux/meson.build +++ b/kernel/linux/meson.build @@ -27,11 +27,7 @@ else make_returncode = run_command('make', '-sC', kernel_dir, 'kernelversion').returncode() if make_returncode != 0 - if meson.version().version_compare('>=0.44') - warning(WARN_NO_HEADERS) - else - message('WARNING: ' + WARN_NO_HEADERS) - endif + warning(WARN_NO_HEADERS) else # returncode == 0 # DO ACTUAL MODULE BUILDING diff --git a/meson.build b/meson.build index 7f5e8674b..e9793b127 100644 --- a/meson.build +++ b/meson.build @@ -5,7 +5,7 @@ project('DPDK', 'C', version: '19.05.0-rc0', license: 'BSD', default_options: ['buildtype=release', 'default_library=static'], - meson_version: '>= 0.41' + meson_version: '>= 0.47.1' ) # set up some global vars for compiler, platform, configuration, etc. @@ -105,23 +105,18 @@ foreach lib:enabled_libs endforeach message(output_message + '\n') - -# prior to 0.47 set_variable didn't work with arrays, so we can't -# track driver lists easily -if meson.version().version_compare('>=0.47') - output_message = '\n===============\nDrivers Enabled\n===============\n' - foreach class:driver_classes - class_drivers = get_variable(class + '_drivers') - output_message += '\n' + class + ':\n\t' - output_count = 0 - foreach drv:class_drivers - output_message += drv + ', ' - output_count += 1 - if output_count == 8 - output_message += '\n\t' - output_count = 0 - endif - endforeach +output_message = '\n===============\nDrivers Enabled\n===============\n' +foreach class:driver_classes + class_drivers = get_variable(class + '_drivers') + output_message += '\n' + class + ':\n\t' + output_count = 0 + foreach drv:class_drivers + output_message += drv + ', ' + output_count += 1 + if output_count == 8 + output_message += '\n\t' + output_count = 0 + endif endforeach - message(output_message + '\n') -endif +endforeach +message(output_message + '\n') From patchwork Wed Feb 6 17:08:45 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 50150 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 59D8D1B453; Wed, 6 Feb 2019 18:09:01 +0100 (CET) Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by dpdk.org (Postfix) with ESMTP id 699361B42F for ; Wed, 6 Feb 2019 18:08:59 +0100 (CET) Received: by mail-wm1-f41.google.com with SMTP id p6so3638037wmc.1 for ; Wed, 06 Feb 2019 09:08:59 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=inMEIubLkwmeqh31hz8HoCWHZGoEwUaR3sIuOL8rzSw=; b=RajvbbQAficmaCGBJQTC8v7zNiZQZXlx49uO7EtAERb/7vf+f3d0Z7QEYSuSIB+IQf Yix+48h+0bnWGmMC7lnHrSmOvY66ZxFvUF6QFyHEk+IdPsrS/Hm5EqoAgJ8lMD26HIQ+ /3ZF5WlQ7xklowHt5nOy94EXfFDs54BevcYvV5o2tUi+uWeH9Tu+qotHg2G6Rg+JsfIn wSK0MgUa/Dk0NQ8VuO5erSdi77gQawP7AZT00kUm/z2JviMQqLDbG3q9B+RkIML8ESry fgwqKt+dLmVTqigTRujWKAe9XhG1vzYxSMkp7OnyYTXbSb6wixQe2oCQMrpNiPVuQqts Eybw== X-Gm-Message-State: AHQUAuZPTcU6Ar7b2ekNaqd2GgYT5bXTShZyUb5Yf6KeAbL03VcJwMt9 60H/XfUgp8PH16/DRtHEEeMyPkhP X-Google-Smtp-Source: AHgI3IawJejbva5CaomnaDyCEz2hL92fsAzovcY3iboODwMA11Mjs+YkjjWlIYhmbbmrQbOcuOPyGg== X-Received: by 2002:a1c:e10a:: with SMTP id y10mr3959999wmg.73.1549472938430; Wed, 06 Feb 2019 09:08:58 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:b833:9472:a517:a18f]) by smtp.gmail.com with ESMTPSA id w18sm30922246wru.54.2019.02.06.09.08.57 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 06 Feb 2019 09:08:57 -0800 (PST) From: Luca Boccassi To: dev@dpdk.org Cc: bruce.richardson@intel.com, Luca Boccassi Date: Wed, 6 Feb 2019 17:08:45 +0000 Message-Id: <20190206170848.19059-2-bluca@debian.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190206170848.19059-1-bluca@debian.org> References: <20190103175725.5836-1-bluca@debian.org> <20190206170848.19059-1-bluca@debian.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v6 2/5] build: use dependency() instead of find_library() 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" Whenever possible (if the library ships a pkg-config file) use meson's dependency() function to look for it, as it will automatically add it to the Requires.private list if needed, to allow for static builds to succeed for reverse dependencies of DPDK. Otherwise the recursive dependencies are not parsed, and users doing static builds have to resolve them manually by themselves. When using this API avoid additional checks that are superfluous and take extra time, and avoid adding the linker flag manually which causes it to be duplicated. Signed-off-by: Luca Boccassi Acked-by: Bruce Richardson --- v2: split libbsd change in a separate commit, remove CC to stable as a meson bump will be required v4: update comment in drivers/meson.build to clarify role of pkgconfig_extra_libs v5: remove -lz from drivers/compress/zlib drivers/compress/zlib/meson.build | 1 - drivers/crypto/ccp/meson.build | 1 - drivers/crypto/openssl/meson.build | 1 - drivers/crypto/qat/meson.build | 1 - drivers/meson.build | 9 +++++---- drivers/net/bnx2x/meson.build | 2 +- drivers/net/mlx4/meson.build | 6 +++--- drivers/net/mlx5/meson.build | 6 +++--- drivers/net/pcap/meson.build | 5 ++--- lib/librte_bpf/meson.build | 4 ++-- lib/librte_telemetry/meson.build | 2 +- 11 files changed, 17 insertions(+), 21 deletions(-) diff --git a/drivers/compress/zlib/meson.build b/drivers/compress/zlib/meson.build index 7748de2df..b036703c7 100644 --- a/drivers/compress/zlib/meson.build +++ b/drivers/compress/zlib/meson.build @@ -9,6 +9,5 @@ endif deps += 'bus_vdev' sources = files('zlib_pmd.c', 'zlib_pmd_ops.c') ext_deps += dep -pkgconfig_extra_libs += '-lz' allow_experimental_apis = true diff --git a/drivers/crypto/ccp/meson.build b/drivers/crypto/ccp/meson.build index e43b00591..915c4c854 100644 --- a/drivers/crypto/ccp/meson.build +++ b/drivers/crypto/ccp/meson.build @@ -18,4 +18,3 @@ sources = files('rte_ccp_pmd.c', 'ccp_pmd_ops.c') ext_deps += dep -pkgconfig_extra_libs += '-lcrypto' diff --git a/drivers/crypto/openssl/meson.build b/drivers/crypto/openssl/meson.build index 77a6596d7..d56a32366 100644 --- a/drivers/crypto/openssl/meson.build +++ b/drivers/crypto/openssl/meson.build @@ -9,4 +9,3 @@ allow_experimental_apis = true deps += 'bus_vdev' sources = files('rte_openssl_pmd.c', 'rte_openssl_pmd_ops.c') ext_deps += dep -pkgconfig_extra_libs += '-lcrypto' diff --git a/drivers/crypto/qat/meson.build b/drivers/crypto/qat/meson.build index 9cc98d2c2..21f969735 100644 --- a/drivers/crypto/qat/meson.build +++ b/drivers/crypto/qat/meson.build @@ -13,6 +13,5 @@ if dep.found() 'qat_sym.c', 'qat_sym_session.c') qat_ext_deps += dep - pkgconfig_extra_libs += '-lcrypto' qat_cflags += '-DBUILD_QAT_SYM' endif diff --git a/drivers/meson.build b/drivers/meson.build index e37d4fe2b..69d0556d3 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -46,10 +46,11 @@ foreach class:driver_classes # set up internal deps. Drivers can append/override as necessary deps = std_deps # ext_deps: Stores external library dependency got - # using dependency() or cc.find_library(). For most cases, we - # probably also need to specify the "-l" flags in - # pkgconfig_extra_libs variable too, so that it can be reflected - # in the pkgconfig output for static builds + # using dependency() (preferred) or find_library(). + # For the find_library() case (but not with dependency()) we also + # need to specify the "-l" flags in pkgconfig_extra_libs variable + # too, so that it can be reflected in the pkgconfig output for + # static builds. ext_deps = [] pkgconfig_extra_libs = [] diff --git a/drivers/net/bnx2x/meson.build b/drivers/net/bnx2x/meson.build index e3c688869..dd189ffc4 100644 --- a/drivers/net/bnx2x/meson.build +++ b/drivers/net/bnx2x/meson.build @@ -1,7 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Intel Corporation -dep = cc.find_library('z', required: false) +dep = dependency('zlib', required: false) build = dep.found() ext_deps += dep cflags += '-DZLIB_CONST' diff --git a/drivers/net/mlx4/meson.build b/drivers/net/mlx4/meson.build index 4bccd68e0..b4f9672e7 100644 --- a/drivers/net/mlx4/meson.build +++ b/drivers/net/mlx4/meson.build @@ -14,9 +14,9 @@ if pmd_dlopen ] endif libs = [ - cc.find_library('mnl', required:false), - cc.find_library('mlx4', required:false), - cc.find_library('ibverbs', required:false), + dependency('libmnl', required:false), + dependency('libmlx4', required:false), + dependency('libibverbs', required:false), ] build = true foreach lib:libs diff --git a/drivers/net/mlx5/meson.build b/drivers/net/mlx5/meson.build index 4540c455b..0cf2f0873 100644 --- a/drivers/net/mlx5/meson.build +++ b/drivers/net/mlx5/meson.build @@ -14,9 +14,9 @@ if pmd_dlopen ] endif libs = [ - cc.find_library('mnl', required:false), - cc.find_library('mlx5', required:false), - cc.find_library('ibverbs', required:false), + dependency('libmnl', required:false), + dependency('libmlx5', required:false), + dependency('libibverbs', required:false), ] build = true foreach lib:libs diff --git a/drivers/net/pcap/meson.build b/drivers/net/pcap/meson.build index 0c4e0201a..89c9d7a74 100644 --- a/drivers/net/pcap/meson.build +++ b/drivers/net/pcap/meson.build @@ -1,12 +1,11 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation -pcap_dep = cc.find_library('pcap', required: false) -if pcap_dep.found() and cc.has_header('pcap.h', dependencies: pcap_dep) +pcap_dep = dependency('pcap', required: false) +if pcap_dep.found() build = true else build = false endif sources = files('rte_eth_pcap.c') ext_deps += pcap_dep -pkgconfig_extra_libs += '-lpcap' diff --git a/lib/librte_bpf/meson.build b/lib/librte_bpf/meson.build index bc0cd78f9..c3b1f698e 100644 --- a/lib/librte_bpf/meson.build +++ b/lib/librte_bpf/meson.build @@ -18,8 +18,8 @@ install_headers = files('bpf_def.h', deps += ['mbuf', 'net', 'ethdev'] -dep = cc.find_library('elf', required: false) -if dep.found() == true and cc.has_header('libelf.h', dependencies: dep) +dep = dependency('libelf', required: false) +if dep.found() sources += files('bpf_load_elf.c') ext_deps += dep endif diff --git a/lib/librte_telemetry/meson.build b/lib/librte_telemetry/meson.build index 9492f544e..cafb26f08 100644 --- a/lib/librte_telemetry/meson.build +++ b/lib/librte_telemetry/meson.build @@ -6,7 +6,7 @@ headers = files('rte_telemetry.h', 'rte_telemetry_internal.h', 'rte_telemetry_pa deps += ['metrics', 'ethdev'] cflags += '-DALLOW_EXPERIMENTAL_API' -jansson = cc.find_library('jansson', required: false) +jansson = dependency('jansson', required: false) if jansson.found() ext_deps += jansson dpdk_app_link_libraries += ['telemetry'] From patchwork Wed Feb 6 17:08:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 50151 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 BDFE21B462; Wed, 6 Feb 2019 18:09:02 +0100 (CET) Received: from mail-wm1-f66.google.com (mail-wm1-f66.google.com [209.85.128.66]) by dpdk.org (Postfix) with ESMTP id AF5501B452 for ; Wed, 6 Feb 2019 18:09:00 +0100 (CET) Received: by mail-wm1-f66.google.com with SMTP id y8so3622260wmi.4 for ; Wed, 06 Feb 2019 09:09:00 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=hziV0D/BvXsblTxSacrM3LCmBdT6iCh79mtbc659TL8=; b=PDGlXFI9JdVd48P9zifcTJDM8dUfzrEorZ1WEMAlITXy2evprcqQbMXrQd3Qj/SU9R oUAytnWg7vBZKkyTRpXpyesLFelQEkLXIczB2isn1WX+PbXUunAGYzFSd3lTRnCcW6Ii lOo/bidzMnB9+MFZEN7KBYEVEOVikfWvkldpky4brcC0+3uajbyymN1bZPUJK+QfdZsO vqP/lwJwxrlQ3g+QxiWB9fUG9DaAABG14Zm6XZV0VDsQgTngmi4fQhEQ3v1778nQ45dF eQ0c5qXmG3Zuva34QRMHRumlL7GPwlipyGc5Vlax/+ywPrKLIPyrhWZwikKVVw/RUeRq ZW0A== X-Gm-Message-State: AHQUAuYV8eAmbmU9FNOOdg41cZ5tBZPp7Yha1QCAZ3jSTiJC4DQr9a1f 5HVPc8ZlSfZgjpEK8vfQAWMKh2BP X-Google-Smtp-Source: AHgI3Ia2lH9DyT9hpCqVBVGdAGbh3pO5aF2JOOOzXe5wORannhhQjlgU35qnoq0ATN1D+wLNpl8Q8A== X-Received: by 2002:a1c:834a:: with SMTP id f71mr2834518wmd.47.1549472940021; Wed, 06 Feb 2019 09:09:00 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:b833:9472:a517:a18f]) by smtp.gmail.com with ESMTPSA id q12sm19536871wrx.31.2019.02.06.09.08.58 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 06 Feb 2019 09:08:58 -0800 (PST) From: Luca Boccassi To: dev@dpdk.org Cc: bruce.richardson@intel.com, Luca Boccassi Date: Wed, 6 Feb 2019 17:08:46 +0000 Message-Id: <20190206170848.19059-3-bluca@debian.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190206170848.19059-1-bluca@debian.org> References: <20190103175725.5836-1-bluca@debian.org> <20190206170848.19059-1-bluca@debian.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v6 3/5] build: reorder libraries and build eal before cmdline 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" Most libraries and PMDs depend on eal, and eal depends only on kvargs, so reorder the list in Meson to reflect this and take advantage of this dependency chain. Signed-off-by: Luca Boccassi Acked-by: Bruce Richardson --- v3: added this patch to let the next just update librte_eal instead of also having to update rte_cmdline v4: add acked-by lib/meson.build | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/meson.build b/lib/meson.build index e8b40f546..074a8b8b4 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -9,9 +9,10 @@ # given as a dep, no need to mention ring. This is especially true for the # core libs which are widely reused, so their deps are kept to a minimum. libraries = [ 'compat', # just a header, used for versioning - 'cmdline', # ethdev depends on cmdline for parsing functions 'kvargs', # eal depends on kvargs - 'eal', 'ring', 'mempool', 'mbuf', 'net', 'meter', 'ethdev', 'pci', # core + 'eal', # everything depends on eal + 'cmdline', # ethdev depends on cmdline for parsing functions + 'ring', 'mempool', 'mbuf', 'net', 'meter', 'ethdev', 'pci', # core 'metrics', # bitrate/latency stats depends on this 'hash', # efd depends on this 'timer', # eventdev depends on this From patchwork Wed Feb 6 17:08:47 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 50152 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 D29A61B469; Wed, 6 Feb 2019 18:09:03 +0100 (CET) Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by dpdk.org (Postfix) with ESMTP id 6D1D41B45B for ; Wed, 6 Feb 2019 18:09:02 +0100 (CET) Received: by mail-wm1-f68.google.com with SMTP id y8so3622345wmi.4 for ; Wed, 06 Feb 2019 09:09:02 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=8uOzixkrhEJ9ZPXa3KBmNIC4zvODpqVOv1d+SZ+B96o=; b=aO8rxGuK8AYSTpVe/CaurAixn5VFH3pp8APw8ztrDNUBq3CDHgDntTB4pPXE/Uwckv Q8vWcuVu7D+U/nHVfPt9eEFZ32WEjRLJFkaN1yNewMXJJLaho3QT8EGnY7o/X+gPskP2 vLSeFSRwFfApu/4fAs8JRcfgvOQClxo5ip8y+5q8eEeBp52yB9BzoN9GoHQhnudvwCu6 pJCBNAAb/Wf/I0Y229lddt92dymDseL2nWl6XqSIkBc6ibE6Sm32IXI2wGrZpRz7CzuJ f9V/L+QjjsjiIHxJUoH/RK/sOAA3x1nsQOlLJX+4ScPAufDf4l+PWsOwIYARdMrW5YIn g5qQ== X-Gm-Message-State: AHQUAuY62W8YhYEf7/Dbi5naujB97MpBdOSULmYGQ6cmKKDxMPkCrhU0 lOEVKjcV56KCE5I5X1QpY6JtQ2Ul X-Google-Smtp-Source: AHgI3Ia8ioTuje24WZeF7NsCk+PBgh6jevfqMM8L2f1JE2I8Esem7FRpwUwXHHAXGP3dXtJe/oNhuQ== X-Received: by 2002:a1c:6607:: with SMTP id a7mr3802875wmc.129.1549472941422; Wed, 06 Feb 2019 09:09:01 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:b833:9472:a517:a18f]) by smtp.gmail.com with ESMTPSA id v9sm17589602wrt.82.2019.02.06.09.09.00 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 06 Feb 2019 09:09:00 -0800 (PST) From: Luca Boccassi To: dev@dpdk.org Cc: bruce.richardson@intel.com, Luca Boccassi Date: Wed, 6 Feb 2019 17:08:47 +0000 Message-Id: <20190206170848.19059-4-bluca@debian.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190206170848.19059-1-bluca@debian.org> References: <20190103175725.5836-1-bluca@debian.org> <20190206170848.19059-1-bluca@debian.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v6 4/5] build: use dependency() for libbsd instead of manual append to ldflags 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" Move libbsd inclusion to librte_eal, so that all other libraries and PMDs will inherit it. Signed-off-by: Luca Boccassi Acked-by: Bruce Richardson --- v3: only add dependency to librte_eal and let it propagate from there v4: add acked-by config/meson.build | 10 +++++----- lib/librte_eal/meson.build | 3 +++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/config/meson.build b/config/meson.build index db32499b3..e1af468ee 100644 --- a/config/meson.build +++ b/config/meson.build @@ -74,11 +74,11 @@ if numa_dep.found() and cc.has_header('numaif.h') endif # check for strlcpy -if host_machine.system() == 'linux' and cc.find_library('bsd', - required: false).found() and cc.has_header('bsd/string.h') - dpdk_conf.set('RTE_USE_LIBBSD', 1) - add_project_link_arguments('-lbsd', language: 'c') - dpdk_extra_ldflags += '-lbsd' +if host_machine.system() == 'linux' + libbsd = dependency('libbsd', required: false) + if libbsd.found() + dpdk_conf.set('RTE_USE_LIBBSD', 1) + endif endif # add -include rte_config to cflags diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build index a18f3a826..fa60736c9 100644 --- a/lib/librte_eal/meson.build +++ b/lib/librte_eal/meson.build @@ -25,6 +25,9 @@ version = 9 # the version of the EAL API allow_experimental_apis = true deps += 'compat' deps += 'kvargs' +if dpdk_conf.has('RTE_USE_LIBBSD') + ext_deps += libbsd +endif sources = common_sources + env_sources objs = common_objs + env_objs headers = common_headers + env_headers From patchwork Wed Feb 6 17:08:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 50153 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 EE44E1B472; Wed, 6 Feb 2019 18:09:04 +0100 (CET) Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by dpdk.org (Postfix) with ESMTP id 6F2FB1B466 for ; Wed, 6 Feb 2019 18:09:03 +0100 (CET) Received: by mail-wm1-f67.google.com with SMTP id m22so3647071wml.3 for ; Wed, 06 Feb 2019 09:09:03 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JJC2DbbXGFL2uscJHedy+33GFoyuMHYoegwrv5nngaI=; b=ORQMlKxqK6dnYhEcea29TCiUcDD8QDX63vdn0NyVzT3hq3zgwD91RRiWPOiIU9GA4M rojWKDZzRtbpzBnojWwHvC7omFIfP7XNdETcuNsJ1pU8Qp7FTpkLnxQ8gAHyJVtw1kDZ Vld2S3Hj6QMp0EvaKQIU5DLlKIpBeuo1go+BvEBw0zGW+c3W/DppGHKEXTXkoa+SgrTc d1vq38/FthNAeE4MIecO+aPxdhFNZxSJTQBthoPpG1ZgK+VPSvRiTDgrrFHZT0E5g5NE 2W9Cy7jkCYIOHbHcwCBJJ4rBjCgjZYUl4/vFPj8FaROAsRAA1ezL9Qakmc6K6c5GmV54 ZVbQ== X-Gm-Message-State: AHQUAuY7zc5CjUwDrCGHF3WYShZxnheLsApHAjOieyx3cfH7fdSv/taE JqIo4wKssElaB0Mbq5KQtJ0xQJGR X-Google-Smtp-Source: AHgI3IZVJhxMXyPLf/hufaBorULsuZ8NmVwk9IdL+92Y+v1GW2BJsD9jmD0VsXMmc3V9flXtchSYdw== X-Received: by 2002:a1c:e913:: with SMTP id q19mr4011826wmc.55.1549472942774; Wed, 06 Feb 2019 09:09:02 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:b833:9472:a517:a18f]) by smtp.gmail.com with ESMTPSA id u10sm15545580wrr.33.2019.02.06.09.09.01 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 06 Feb 2019 09:09:02 -0800 (PST) From: Luca Boccassi To: dev@dpdk.org Cc: bruce.richardson@intel.com, Luca Boccassi Date: Wed, 6 Feb 2019 17:08:48 +0000 Message-Id: <20190206170848.19059-5-bluca@debian.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190206170848.19059-1-bluca@debian.org> References: <20190103175725.5836-1-bluca@debian.org> <20190206170848.19059-1-bluca@debian.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v6 5/5] build: use integers for numerical options 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" Now that the minimum Meson version has been bumped past 0.45 we can use integer as an option type directly. Signed-off-by: Luca Boccassi Acked-by: Bruce Richardson --- v6: added following Bruce's suggestion meson_options.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meson_options.txt b/meson_options.txt index 574054597..4e178178f 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -18,9 +18,9 @@ option('lib_musdk_dir', type: 'string', value: '', description: 'path to the MUSDK library installation directory') option('machine', type: 'string', value: 'native', description: 'set the target machine type') -option('max_lcores', type: 'string', value: '128', +option('max_lcores', type: 'integer', value: 128, description: 'maximum number of cores/threads supported by EAL') -option('max_numa_nodes', type: 'string', value: '4', +option('max_numa_nodes', type: 'integer', value: 4, description: 'maximum number of NUMA nodes supported by EAL') option('per_library_versions', type: 'boolean', value: true, description: 'true: each lib gets its own version number, false: DPDK version used for each lib')