From patchwork Tue Feb 26 17:46:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 50519 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 002852C39; Tue, 26 Feb 2019 18:46:54 +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 912AC2BF5 for ; Tue, 26 Feb 2019 18:46:53 +0100 (CET) Received: by mail-wm1-f67.google.com with SMTP id g20so2379724wmh.5 for ; Tue, 26 Feb 2019 09:46:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=k0qUqoLMmCpk5mlfbV+EUaoPkaKMVYG/nwLu03x/nkk=; b=qJJfF6Z8FmhNGDj6xtZlNe1iUzWpY/eUV4XrDL/hgPricyTR1lUXDVxdkgEVSWag6v VwifSeS1TIYdAFtya83BnXw7PVg3YIHz9yPR/q3sDjHFBiXAkVC5X7qPnzvYA2FB5huk A+AEifGMOi6H0HpD+ggKwAz/XbarPMYk3RMSZCiYfbackymiyOUJWYGUt4j+OOGizHE+ RLp2l73XrJmsqT0Ft+P6Fcir5c5CZ5dNUxF8SBVeQYG8Mvxfapx6xYdEJ8wNOF7pWmjm WTXc9mzplXD0JQXUb3rwQG01tWYEj65Kufjpxk5BTToaBnzKYTmtdE/22OFJxl/F0+5F qwMQ== 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=k0qUqoLMmCpk5mlfbV+EUaoPkaKMVYG/nwLu03x/nkk=; b=euu9KdM2/r3mc3IKYGwmYz9gTlZuhZ1NCc8YL43sQWCD6EwB3wTHfVWs5hKnPDA9Jz 2Zf1dcQcegBEaadHAEQugQ/0ha3ZacLF8Y/yf3Uhaha135z77nt4Gu6A2c8WAaDyHkRQ Z9s+oyTKB0AxKan6BUkhvWhOJiERqLCWv+5O8XcXoXiok/zcTbt5pNe0HSBFG2DSru3Q HCJ/Ut5/EarHK0aZGtsleJ3Ye2TGrQSVyduiIkNe1VOFxigWpUZjIUXQ/go+Sg8GR6VV J3wTAVecz1U6waEclKeaHImLRS0p++023H9rpz10LUA8eCoZ63KsGPAWK3BFCf1bVt+I 2oiw== X-Gm-Message-State: AHQUAubaZSIkwB+jgLhjDDrLfwFREf+4jFWxOxYq/UXAXP/Wrfc2HNoD VqHmbQVmLO/Vgmvj5JG5MWfCieXl X-Google-Smtp-Source: AHgI3IY2uMikHYi0PR1OOhRKOFZPrWPRFRvMKtt2cWlOvUaBQnmfEpkBmmkpCTKmQKUTXa6sogvbAA== X-Received: by 2002:a1c:5fc5:: with SMTP id t188mr3358288wmb.86.1551203212745; Tue, 26 Feb 2019 09:46:52 -0800 (PST) Received: from localhost ([88.98.246.218]) by smtp.gmail.com with ESMTPSA id a1sm18180134wrq.96.2019.02.26.09.46.51 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 26 Feb 2019 09:46:51 -0800 (PST) From: luca.boccassi@gmail.com To: dev@dpdk.org Cc: bruce.richardson@intel.com, thomas@monjalon.net Date: Tue, 26 Feb 2019 17:46:32 +0000 Message-Id: <20190226174637.27452-1-luca.boccassi@gmail.com> 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 v8 1/6] 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" From: Luca Boccassi 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 2bbd42bc8..69833de82 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. @@ -104,23 +104,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 Tue Feb 26 17:46:33 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 50520 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 92D97375B; Tue, 26 Feb 2019 18:46:56 +0100 (CET) Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by dpdk.org (Postfix) with ESMTP id 7FC4B326D for ; Tue, 26 Feb 2019 18:46:55 +0100 (CET) Received: by mail-wr1-f66.google.com with SMTP id g12so2865984wrm.5 for ; Tue, 26 Feb 2019 09:46:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=IsCcp/eLlNez05HaPFUgJTn2OhKNsyZcXaV1hTH9siM=; b=YxDia6aiPTLlOvHrDTd0XHnkglgU1gFWun9MKezCHU+WXYEQcLCScvFw3QQT/kP1ZX 03/rqj3+/onvZwfKie5Pb0/VYBV+xclGaT+jgE4duWkljW7bO0evreKQ6MwgqjSUOebX df0YjtWEvMZzxrN+8ETnaLJp9JThem6oZlqGP2nfGPKtPlM5GMpv0PPUVA/r8DXUcjgD h2uUwO2pvAES5u26aNOBobcftt84yFl3KGW4CcVZTN9Owvk7wNa1zHlfqNcQcPCoe/nk Ct1vsgp6QtON47MCjN5DGMTVZkMBM45i9TZ/8PhH9j2l/9TIspXnoVqZgn/EFjwrukMS xOzA== 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=IsCcp/eLlNez05HaPFUgJTn2OhKNsyZcXaV1hTH9siM=; b=njuLQZtgaORNAqmxPrCyaJlqM+r2IYPWPDKtES5ODdL0TEkqHriJSBnmW8nen9YpTe boK4opmBwwNaTyni84vfgp4/x4ADoo0oddFD6TLW3qyb/FPlzTa+zJIzInOWwCo7a1f+ YxU4M7VXtbW1bY/y4Vmu2EycMhOB/mdEOWXX5i8yCsu+oc2mLgfvOKJzSosgXsfEDwQF fxFZbeVRj2Xayy5wD7Z4z1ZYp1uxaIohUZHgq1bQKdQO0kodhwvbbzt9KTm6NUnBZyB5 sdqWtHrHTP4I0nKwY1bBo/yEhZQ8qm8MSnI3idk9zFjvVIbACcJJIED0Cipiynm2cGa0 PQag== X-Gm-Message-State: AHQUAuaQtrSdbpJvt8EQunPqYsmqJGj4nMe3qdyP5CiMPS5JZqgdQUgM Xvtz9B0sU/I44419Ha9v6dU2DKKq X-Google-Smtp-Source: AHgI3IYEYUU/59Q2YVcADZeyBVDvwBWFsNluKo0uEGRhNrOXu5Q26UndRc5Oe6T5C/NfbXEQIRPG8A== X-Received: by 2002:adf:e487:: with SMTP id i7mr16902562wrm.202.1551203214497; Tue, 26 Feb 2019 09:46:54 -0800 (PST) Received: from localhost ([88.98.246.218]) by smtp.gmail.com with ESMTPSA id d21sm39690378wrc.44.2019.02.26.09.46.53 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 26 Feb 2019 09:46:53 -0800 (PST) From: luca.boccassi@gmail.com To: dev@dpdk.org Cc: bruce.richardson@intel.com, thomas@monjalon.net Date: Tue, 26 Feb 2019 17:46:33 +0000 Message-Id: <20190226174637.27452-2-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190226174637.27452-1-luca.boccassi@gmail.com> References: <20190103175725.5836-1-bluca@debian.org> <20190226174637.27452-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v8 2/6] 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" From: Luca Boccassi 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 Tested-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 v7: remove change from pcap pmd, as it's causing issues with cross-compilation due to missing pkg-config file 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 +++--- lib/librte_bpf/meson.build | 4 ++-- lib/librte_telemetry/meson.build | 2 +- 10 files changed, 15 insertions(+), 18 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/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 Tue Feb 26 17:46:34 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 50521 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 1793A37AF; Tue, 26 Feb 2019 18:46:59 +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 842A637A2 for ; Tue, 26 Feb 2019 18:46:57 +0100 (CET) Received: by mail-wm1-f67.google.com with SMTP id q187so3296148wme.5 for ; Tue, 26 Feb 2019 09:46:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=zP/kS/hqoO0WE80nduQR5h/4f55GXiWZ5jgrvOmuFb4=; b=C6PGh7aN/Qt8WvBgPMOMklqDsCCYwRfShqeOumf90cALBaiE3CNck/nQZZVBXJUvEG pOpPFNVh6QD7+6WrUiLwTpviSfzfJxE4Z2r+Q7mXFZnnbxF8P7EuBTVKw6aLdUM/kFbB 8MqVmffhUrRoL4nSd9bPsZZGUcLLRe70d0vWTrhFvMM14DlbFI09S4Ghd0iffHoF/SAx ArJX7Lj6dhK0SGeE4sa5sMAE13Ut6qxMlhd0WwLRRNJfCwJ7fbgK8fUQVCz2d4C0qyCy OUwXvOyzRorUMlhi69Y/Fr/652F5Qbn4bUGy1i5z8UaSVQoqP50MCE7R4VTPH9ZF6hm1 zr4A== 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=zP/kS/hqoO0WE80nduQR5h/4f55GXiWZ5jgrvOmuFb4=; b=kq3bFkEaqgE4GX3+yfiJ4WL7Wx6QgMzO7BC9vft6Ce5mJdMZE1huNyOEfy/p8Zggou /TlHV38/7eagTdDKH82wGram68A9FQPHngeETZPWkvTw2Kkn4WG84jGM1fqkHly9jEy1 CwNLMiLrRk4abcoOT2Re+rvi4UEU5GtkPGD1tGvEkKxMszm95pLsD3KbjV6xDi1aKkxX S1c6mijhLAzHMFWX1vO6k00c2laaoRgkPoYvwJE0fq49yD+BJDtIKSQ7POw7I2yzSFhb VOtIb1zf8aNxacUfk0P2PAB0vpbXZQY/u5p2Fq7xB/CvbUxCCs/KWCWWs/DBfgS0NaxV mGyg== X-Gm-Message-State: AHQUAuYlk4S+PSx2xLDKv73/Uuhjio2zu3BZE41AvgoPuzKvA8R1xhRK EwcRnECe4fLvAYCVttPlZCTP/UFwGNE= X-Google-Smtp-Source: AHgI3Iawz0hhggZxvXZLyNAM1bQSET9yRWxxrgz6Jmk3CvPRSagxrH0v0jFRjrIlo0a1GMRft+GO5w== X-Received: by 2002:a1c:4889:: with SMTP id v131mr3385165wma.146.1551203216144; Tue, 26 Feb 2019 09:46:56 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:b00c:66c8:99df:336]) by smtp.gmail.com with ESMTPSA id w10sm17642914wru.5.2019.02.26.09.46.55 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 26 Feb 2019 09:46:55 -0800 (PST) From: luca.boccassi@gmail.com To: dev@dpdk.org Cc: bruce.richardson@intel.com, thomas@monjalon.net Date: Tue, 26 Feb 2019 17:46:34 +0000 Message-Id: <20190226174637.27452-3-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190226174637.27452-1-luca.boccassi@gmail.com> References: <20190103175725.5836-1-bluca@debian.org> <20190226174637.27452-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v8 3/6] 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" From: Luca Boccassi 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 v8: rebased on latest master to fix merge conflict lib/meson.build | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/meson.build b/lib/meson.build index edcccdcb6..99957ba7d 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 = [ - '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 Tue Feb 26 17:46:35 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 50522 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 A4F094C6C; Tue, 26 Feb 2019 18:47:00 +0100 (CET) Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by dpdk.org (Postfix) with ESMTP id 33D9D397D for ; Tue, 26 Feb 2019 18:46:59 +0100 (CET) Received: by mail-wr1-f66.google.com with SMTP id i12so14973138wrw.0 for ; Tue, 26 Feb 2019 09:46:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HOIljby3nNDoKKXEOr/1uJP25V6rlQJZlSTGsNdi2Ws=; b=hPfsPpDlAd1dzh7L220H1TDSYxIZ6EmVZeWn+yRb+eGT7r3IP4REeeK9XnJu29QNOg zJmtAh2ykil3Wt5idFwiebqOFT4pa7CnEHRL1DIEM7b5mNBZbpOg0tuflZJ9EcuvigV2 KB+PgpPIz/NtGBJzMcSzaYWifBzqD0I4DLDAJMAwo3mbEaRpnKODAI47jLuVslm4Gsde V4iArOaCy9HHM+p4QZVuDA4KkRgf/aNGEOWDxFjaJjiSWdjoedcEeOGLM6IFP9gy+F5i RFefBwFewKZSAe/S21g7HfgxfGabVzerAe1Rxr4v0Xy3QB16PVG3oMLCdBzz1jA0PGw+ dnQg== 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=HOIljby3nNDoKKXEOr/1uJP25V6rlQJZlSTGsNdi2Ws=; b=Orm2jrA/xx7M7c0EhTQBlZNC/2eNWLwdNBeeCupT14Y3p3YnEtpvKtwTsva0VGv8rJ ntWny/ieJmqjbw30ixWD0Ubwd8aNuGU1A7IIef7T/XqC6rTua3WAOxDiiMaOQmv54MBz NAf8J+EBqxh6A9Fg/G91uWjMuGhPsdrc/wp7cJKWNdbCvz6HNmXt1OZ9ZU3WezgeR1rj /gthjKqIXP2XGyQbcaGoge5IgqTifgsRt926KzUdNExPIBQUex09VabqkeMrVDsv0xxH uEy2Pu+ibGsOqfwdiQs0DakyLf36TsvjijCkvAep6wsnGYWIxhnepo/mqoSQFH/v26Nv MkOQ== X-Gm-Message-State: AHQUAuYttZwaiKqwyD4XDF6IQWkmJu+7sewabAsj8Cm0308Jk0KKiUdK DEGNv18XKepiKBKjCH224JX7A9uSg4Q= X-Google-Smtp-Source: AHgI3IbR6iZDWlMjYwJbLPO3Sfibi4LSgX/u5j7QRgf8sAard/owS+Y5aEzi8YqwIHH+OyIyYo548g== X-Received: by 2002:adf:fa47:: with SMTP id y7mr17416729wrr.301.1551203218397; Tue, 26 Feb 2019 09:46:58 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:b00c:66c8:99df:336]) by smtp.gmail.com with ESMTPSA id d1sm8208559wrs.13.2019.02.26.09.46.56 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 26 Feb 2019 09:46:57 -0800 (PST) From: luca.boccassi@gmail.com To: dev@dpdk.org Cc: bruce.richardson@intel.com, thomas@monjalon.net Date: Tue, 26 Feb 2019 17:46:35 +0000 Message-Id: <20190226174637.27452-4-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190226174637.27452-1-luca.boccassi@gmail.com> References: <20190103175725.5836-1-bluca@debian.org> <20190226174637.27452-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v8 4/6] 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" From: Luca Boccassi 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 64d857a4a..98c1d1f31 100644 --- a/lib/librte_eal/meson.build +++ b/lib/librte_eal/meson.build @@ -24,6 +24,9 @@ endif version = 9 # the version of the EAL API allow_experimental_apis = true 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 Tue Feb 26 17:46:36 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 50523 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 41C0847CE; Tue, 26 Feb 2019 18:47: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 0A90E4C88 for ; Tue, 26 Feb 2019 18:47:01 +0100 (CET) Received: by mail-wm1-f67.google.com with SMTP id a62so3299535wmh.4 for ; Tue, 26 Feb 2019 09:47:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=bB9ry5edZYtFSxwQbb1j77ohGxBZm1rSmAdhjP8qPYY=; b=WhJLqSczaP5XdA8tK54IuRgbEcv7DiaWDrIhqDdSg5jf60UhLRhS35fpOo92APmybE Ljo4YA7uLMhS0cHs7nHJhXVBMBA84ptk7DirD+t9Y7UHKL6NWTCa5OULJppkxuKrrOlL zn2WgESE9saezIeS2Ngat6n4P5WT0heqXDXGnyCIY/o8FhNfGN3944mFIyxBdUKVR30i 4iPKYkfl3yD0RoLa/2rODn/GRw9YXTH73IkyDObWvJqMS6QISKexZi98uQo+yHQ5GsaO C+KaCK9rXIMc15xa+URoI28E8PnQ75hwQYTDF1vNKrvnPAZbtm3ApfNl04iXp/sFD99M rZwA== 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=bB9ry5edZYtFSxwQbb1j77ohGxBZm1rSmAdhjP8qPYY=; b=I3BWKpoDjURirtQ6B18xJy8MVta8t1EIbO/0zWHXOD5CpTCkuBymS1uX6NUz5M+Gz8 aRjZQnOyAMLS1zH3SPdv93ooe8hl2aDPjVi0TvOX+/xBiMglYuG7w7zeqs6moAUK81NJ OE+zlabs3qRuHlCSajYJRjtXJZjOBSEOeWOa20fXKCTID/n/YtcOImi4hz7AUpbdqk7R 0xlS6q8g8NgFEzIbrT3ZIQDemmAkds3IPg/KKdIVbCFXEAp1CtgwF6crPq1KA8ktaCn3 +kTVn5JDw1NXequ/sviRkChlpfq3cxX+sKiSjWBECqFR+M3J5vOSB/F/c+6CoxMf41Sz JLjA== X-Gm-Message-State: AHQUAuYF2kRmRuHjw3DkOedH/sMa2Rjbfq5oMsPAapLnszzPPsrKClTi Hsl6U361AABGbX65eH7fqUY+hWdHd70= X-Google-Smtp-Source: AHgI3IYHGv0u7AH2IXbkXxE+16ArGUzrOVQbJd0ayUXnnsjeZk7GBkJs5vZHF7Q+IVFTl/FsWtFiqQ== X-Received: by 2002:a1c:44:: with SMTP id 65mr3192572wma.127.1551203220293; Tue, 26 Feb 2019 09:47:00 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:b00c:66c8:99df:336]) by smtp.gmail.com with ESMTPSA id f6sm16803429wrt.87.2019.02.26.09.46.58 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 26 Feb 2019 09:46:59 -0800 (PST) From: luca.boccassi@gmail.com To: dev@dpdk.org Cc: bruce.richardson@intel.com, thomas@monjalon.net Date: Tue, 26 Feb 2019 17:46:36 +0000 Message-Id: <20190226174637.27452-5-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190226174637.27452-1-luca.boccassi@gmail.com> References: <20190103175725.5836-1-bluca@debian.org> <20190226174637.27452-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v8 5/6] 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" From: Luca Boccassi 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 v7: add acked-by 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') From patchwork Tue Feb 26 17:46:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 50524 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 A860C4C93; Tue, 26 Feb 2019 18:47:05 +0100 (CET) Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by dpdk.org (Postfix) with ESMTP id 893A42BF5 for ; Tue, 26 Feb 2019 18:47:02 +0100 (CET) Received: by mail-wr1-f67.google.com with SMTP id i12so14973321wrw.0 for ; Tue, 26 Feb 2019 09:47:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=M3bfXYkriF6V+9Eq5VxG7MBFN7RXgaCA0a7LvsOSQZo=; b=E14gI+8zCKj7LUr/XTTPVuBnUS1tU7GsudboDs6wobj8S0hb+eUzdYBvdjsACoA+ZQ M+lmkkQv0pBYkZIhMi+Uplc90GMKU/SFopwryqtjS6IirAl9NTTqEtCYLCrWK6HMxwMA y7RZ5lKugwQMvCT8ihNHcagXe0o+r1NXmJ5jCKumcevno2weRoPZYBlulATSrTb+yuy1 BQ8TedF25ab4sr9ByFMumzXmqs2bFte8IS1ndO2hngkH5QQhvFN9wNEAU8Qg2rUXi/ZR xXfAEPOOsI5/7tQsDImbXuRTxGIJ98AeHx85GD13vj1YomSH35tWbzXbyCmcUwjHgAGc r4+Q== 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=M3bfXYkriF6V+9Eq5VxG7MBFN7RXgaCA0a7LvsOSQZo=; b=o8R6ExqMFubpYwXAU1PRp68koHUqXoFCEtDS/g1awKXPZ0oMMzvc+hTvL1zdlgXOr2 oonuB+TjHW+kHhuN5sYD4JYXqLKw4NLd5im0OrExSZ++2RhZdluud0SHEIlMsunP/aE7 2zkGHy/jhf1cGxGWRqrER4S5ljBUFTTBy+vICWaiTJnzJ2B+8jaBupvOxb6iv5endxLy jvl29g0XCFc6wzYlCyvazfHHYs1c2h18XY1ZKQJ4MgBcrHhzuUURAow2ybGp4wMQ+FEs +GzlbGsyzlNDtAhhCRsuSqLBYr51JFGzZjqvAI2Cx2d4Ic7N2qNooDhL3v5O/d2oFk4O CziA== X-Gm-Message-State: AHQUAuZqotmbR9Ew7xbjTAVKXtcy5YBir+1PcXLkZVx9Lgd9Hdnw8qGn dy1LLJbIeddlqAgoz3R87cPZnsuga0c= X-Google-Smtp-Source: AHgI3IYJ1AFxUMsaribnnirGpHdMR75VwyLOEmM+byWqx0PnB2BbkzZawBy1yyca007F+GofC4/RSw== X-Received: by 2002:adf:eac2:: with SMTP id o2mr17029015wrn.0.1551203221829; Tue, 26 Feb 2019 09:47:01 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:b00c:66c8:99df:336]) by smtp.gmail.com with ESMTPSA id p1sm83911wmi.9.2019.02.26.09.47.00 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 26 Feb 2019 09:47:01 -0800 (PST) From: luca.boccassi@gmail.com To: dev@dpdk.org Cc: bruce.richardson@intel.com, thomas@monjalon.net Date: Tue, 26 Feb 2019 17:46:37 +0000 Message-Id: <20190226174637.27452-6-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190226174637.27452-1-luca.boccassi@gmail.com> References: <20190103175725.5836-1-bluca@debian.org> <20190226174637.27452-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v8 6/6] build: use dependency for pcap and fallback to 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" From: Luca Boccassi pcap has historically shipped a custom pcap-config binary tool which does the job of pkg-config. It was never compatible with cross compilation. Meson uses it when using dependency(), which then means cross compilation fails. Set pcap-config to empty in the meson cross compilation files so that Meson will not use it, and add a fallback in case dependency() fails. libpcap 1.9.0 finally ships a pkg-config file so everything will work out of the box in the future. Signed-off-by: Luca Boccassi --- v8: added back pcap change separately. Tested with bootlin cross-compilation toolchain, everything seems to work. config/arm/arm64_armv8_linuxapp_gcc | 1 + config/arm/arm64_dpaa2_linuxapp_gcc | 1 + config/arm/arm64_dpaa_linuxapp_gcc | 1 + config/arm/arm64_thunderx_linuxapp_gcc | 1 + drivers/net/pcap/meson.build | 16 ++++++++++++---- 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/config/arm/arm64_armv8_linuxapp_gcc b/config/arm/arm64_armv8_linuxapp_gcc index 987c02fbb..513760917 100644 --- a/config/arm/arm64_armv8_linuxapp_gcc +++ b/config/arm/arm64_armv8_linuxapp_gcc @@ -3,6 +3,7 @@ c = 'aarch64-linux-gnu-gcc' cpp = 'aarch64-linux-gnu-cpp' ar = 'aarch64-linux-gnu-gcc-ar' strip = 'aarch64-linux-gnu-strip' +pcap-config = '' [host_machine] system = 'linux' diff --git a/config/arm/arm64_dpaa2_linuxapp_gcc b/config/arm/arm64_dpaa2_linuxapp_gcc index 7ec74ec4b..0df8c8f7d 100644 --- a/config/arm/arm64_dpaa2_linuxapp_gcc +++ b/config/arm/arm64_dpaa2_linuxapp_gcc @@ -4,6 +4,7 @@ cpp = 'aarch64-linux-gnu-cpp' ar = 'aarch64-linux-gnu-ar' as = 'aarch64-linux-gnu-as' strip = 'aarch64-linux-gnu-strip' +pcap-config = '' [host_machine] system = 'linux' diff --git a/config/arm/arm64_dpaa_linuxapp_gcc b/config/arm/arm64_dpaa_linuxapp_gcc index 73a8f0b81..f4b85a84b 100644 --- a/config/arm/arm64_dpaa_linuxapp_gcc +++ b/config/arm/arm64_dpaa_linuxapp_gcc @@ -4,6 +4,7 @@ cpp = 'aarch64-linux-gnu-cpp' ar = 'aarch64-linux-gnu-ar' as = 'aarch64-linux-gnu-as' strip = 'aarch64-linux-gnu-strip' +pcap-config = '' [host_machine] system = 'linux' diff --git a/config/arm/arm64_thunderx_linuxapp_gcc b/config/arm/arm64_thunderx_linuxapp_gcc index 967d9d46d..14b801998 100644 --- a/config/arm/arm64_thunderx_linuxapp_gcc +++ b/config/arm/arm64_thunderx_linuxapp_gcc @@ -3,6 +3,7 @@ c = 'aarch64-linux-gnu-gcc' cpp = 'aarch64-linux-gnu-cpp' ar = 'aarch64-linux-gnu-gcc-ar' strip = 'aarch64-linux-gnu-strip' +pcap-config = '' [host_machine] system = 'linux' diff --git a/drivers/net/pcap/meson.build b/drivers/net/pcap/meson.build index 0c4e0201a..2c2fd11e4 100644 --- a/drivers/net/pcap/meson.build +++ b/drivers/net/pcap/meson.build @@ -1,12 +1,20 @@ # 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 + # pcap got a pkg-config file only in 1.9.0 and before that meson uses + # an internal pcap-config finder, which is not compatible with + # cross-compilation, so try to fallback to find_library + pcap_dep = cc.find_library('pcap', required: false) + if pcap_dep.found() and cc.has_header('pcap.h', dependencies: pcap_dep) + build = true + pkgconfig_extra_libs += '-lpcap' + else + build = false + endif endif sources = files('rte_eth_pcap.c') ext_deps += pcap_dep -pkgconfig_extra_libs += '-lpcap'