From patchwork Fri Jan 11 16:26:05 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 49732 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 BF9921B6F0; Fri, 11 Jan 2019 17:26:23 +0100 (CET) Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by dpdk.org (Postfix) with ESMTP id 673B91B6CB for ; Fri, 11 Jan 2019 17:26:22 +0100 (CET) Received: by mail-wr1-f68.google.com with SMTP id x10so15787502wrs.8 for ; Fri, 11 Jan 2019 08:26:22 -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=ChbYtjB/A3026VkSeuvuz995yFMojyRysFe975Zk7fc=; b=Df21d3jpRImvuYcPY5dQ2axma7eBFAVNzitEbpOopY2RpeepInuoa7z6v/olqXKdAN 1wwA75ooATXx1/s40753PvsNvI2sa+iOx1SZVo8N9HQ0FvQqfk2CJuZuayno/zOs8+KY saGvF5c2Y1wAjbY0QDVtYKSsCijjTHliQLi2MOpBSjDKX1JsSF6EVygAvFF2rdxXfZaV 2lStvAyn78O+eHsv+GQ6WDK53gMZmu33vchiZkdE8QdYZIvgPfd89ZPKyn6p0CxsDgQm 3cLHVnVC8SIlVWV2v7HVWvs7/E8j7vVytjK9juNypKAoMZq6wRAuHGpMJyuxwk3fS7np S29w== X-Gm-Message-State: AJcUukfe5hJ2KW1Rg4ggmzT4L3Ww4j0YNT6+ezTTBqyDgP/Ac/1mgL9M 8JaSammgf7403fszcQUOS6Wb1zwPw8U= X-Google-Smtp-Source: ALg8bN4V5jcquFA+Rkg+z/m5Sy4GKoTgOyEAr8spA44WcgSHJJ4+QneSm3cJP0aS1NrMNdjJ+e547g== X-Received: by 2002:adf:f9cb:: with SMTP id w11mr13859075wrr.201.1547223981722; Fri, 11 Jan 2019 08:26:21 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id k23sm16110595wmj.32.2019.01.11.08.26.20 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 11 Jan 2019 08:26:20 -0800 (PST) From: Luca Boccassi To: dev@dpdk.org Cc: bruce.richardson@intel.com, Luca Boccassi Date: Fri, 11 Jan 2019 16:26:05 +0000 Message-Id: <20190111162608.13162-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 v3 1/4] 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 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 d500507c5..d0534dc0d 100644 --- a/meson.build +++ b/meson.build @@ -5,7 +5,7 @@ project('DPDK', 'C', version: '19.02.0-rc1', 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 Fri Jan 11 16:26:06 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 49733 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 975771B8BE; Fri, 11 Jan 2019 17:26:27 +0100 (CET) Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by dpdk.org (Postfix) with ESMTP id 34C9B1B714 for ; Fri, 11 Jan 2019 17:26:24 +0100 (CET) Received: by mail-wr1-f68.google.com with SMTP id t27so15812563wra.6 for ; Fri, 11 Jan 2019 08:26:24 -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=LrQd86+TwFau6feVZrgwExNMjFUM6R4wYvHg+HrcloA=; b=cAUsFMTFRcs7U9t8rUi6M0XWlx4qLh5nNqoVh8XBCEvpLzoxkMrBd3kuxG6wP2I7YW vXu8st2Lq8/bv9V2pdsXb8kuW9Me5lsCHTImEKEQ3urJfxD6cCH0i9INqeaSy2D0MurL kPQQyssax2xmp2gsBpr08yj71oTni5IaQZkaAzeN8im42fFlUlXgY1i/ER6mic7DrGgF icTvG+KDPlLAeEJoQuZWDy+uXgfOQ0N+iSfR+wAwTN/fG94EbjFYHRULCqiJI6wrAhkw 2013/+UzBzLK8sEy9JGCPirdfNLHs5+Uby6BwoJvI/zUiwZSsXP1IWMgJITWJX0KPp2b prHQ== X-Gm-Message-State: AJcUukdpCkULshv8zszyf5KVdTAckO0oo/9qY2j2VaAC73rwKYRwrsUx 3357QtCSk705gW3cm/MyzpTgEChN8xg= X-Google-Smtp-Source: ALg8bN4Qu/HLetOq3BW9Km3t7d6ZR2euk4fbKCCwt8LhhrNI9KNORjtMi+2uyzd1MObZdnLtbigLpw== X-Received: by 2002:a5d:528e:: with SMTP id c14mr14046214wrv.236.1547223983406; Fri, 11 Jan 2019 08:26:23 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id h16sm138936271wrb.62.2019.01.11.08.26.22 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 11 Jan 2019 08:26:22 -0800 (PST) From: Luca Boccassi To: dev@dpdk.org Cc: bruce.richardson@intel.com, Luca Boccassi Date: Fri, 11 Jan 2019 16:26:06 +0000 Message-Id: <20190111162608.13162-2-bluca@debian.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190111162608.13162-1-bluca@debian.org> References: <20190103175725.5836-1-bluca@debian.org> <20190111162608.13162-1-bluca@debian.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 2/4] 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 superfluos and take extra time, and avoid adding the linker flag manually which causes it to be duplicated. Signed-off-by: Luca Boccassi --- v2: split libbsd change in a separate commit, remove CC to stable as a meson bump will be required drivers/crypto/ccp/meson.build | 1 - drivers/crypto/openssl/meson.build | 1 - drivers/crypto/qat/meson.build | 1 - drivers/meson.build | 2 +- 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 +- 10 files changed, 13 insertions(+), 17 deletions(-) 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 c2a0dd8ba..80e5e8835 100644 --- a/drivers/crypto/openssl/meson.build +++ b/drivers/crypto/openssl/meson.build @@ -8,4 +8,3 @@ endif 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..d17ca76eb 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -46,7 +46,7 @@ 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 + # using dependency() (preferred) or 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 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 7de571e2a..4ba4e93b6 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 8ba19e818..161c5641f 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 Fri Jan 11 16:26:07 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 49734 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 7E5B91B90A; Fri, 11 Jan 2019 17:26:29 +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 A2ED31B82F for ; Fri, 11 Jan 2019 17:26:25 +0100 (CET) Received: by mail-wm1-f66.google.com with SMTP id d15so2962062wmb.3 for ; Fri, 11 Jan 2019 08:26:25 -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=JKqQqv9vVE4mNjBaqF9icoQ8BhIllyDkdu6sy1kX6w8=; b=b+U4DbXhoGfLtlTeWbSwYX/Ay+jGADW6AUBflsDsjH+62c6jgybrIGJ4J//CejsBRu 91y+F2eQTZDjU4EtTSjcDBvPYNbCEGkeT51tvtOBMHF1KtPDnw/qvdg8w9vvXne3s81j nMJ2iGrkux9UlE4KQE93xlUhZsy5f1Q9aZsgEp88pIZQCf10TT5HydgluNLeWvoo9Fq5 elaCB9hPk5s4gn+E+rGp1mZylFEnLCj8JO6+Uyk0cxq2y6obFMBh08NT6FpuM1KqU27h TKJM2mWhoLXqc8OWsixcjOdl0O1wn94H2+mP4YlSBM90xVyzy5oJE81Pdn/0VvKBfo3G YMIw== X-Gm-Message-State: AJcUukdtbXV6i4xAJjuN8QZNNRWQY09vyuvgjSDtpNtKznxlsVLTDRWl l6kJMgmzgGSGz1gPICxG/pKT71KQYdo= X-Google-Smtp-Source: ALg8bN5SapMRbkYCMigXggljFz7pRz+xYvH7qPrm3Aq7QDlT4Ps4Eo1PeT/w8s5hv71ewumsmUHwTw== X-Received: by 2002:a1c:a9d4:: with SMTP id s203mr2808786wme.132.1547223984891; Fri, 11 Jan 2019 08:26:24 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id l14sm143416868wrp.55.2019.01.11.08.26.23 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 11 Jan 2019 08:26:24 -0800 (PST) From: Luca Boccassi To: dev@dpdk.org Cc: bruce.richardson@intel.com, Luca Boccassi Date: Fri, 11 Jan 2019 16:26:07 +0000 Message-Id: <20190111162608.13162-3-bluca@debian.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190111162608.13162-1-bluca@debian.org> References: <20190103175725.5836-1-bluca@debian.org> <20190111162608.13162-1-bluca@debian.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 3/4] 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 lib/meson.build | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/meson.build b/lib/meson.build index a2dd52e17..bf8417c6d 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 Fri Jan 11 16:26:08 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 49735 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 4F0951B8FD; Fri, 11 Jan 2019 17:26:33 +0100 (CET) Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by dpdk.org (Postfix) with ESMTP id 1B6D71B8BA for ; Fri, 11 Jan 2019 17:26:27 +0100 (CET) Received: by mail-wr1-f68.google.com with SMTP id z5so15786124wrt.11 for ; Fri, 11 Jan 2019 08:26:27 -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=gH9SyqXKqIl3NY8VWy7vAxkHkYypH62ndDkUyx++lVg=; b=DcN7BPj/6dhQ2YM06gL3c/7kiGCKGfSbIkoFsbZxKIqMqwm/0vI3aGXvZrTAjDK/W9 zgWXnrrYnXANvnN2k8zS3ZjAqOAnOfeDcX+YMMlwAr/sRGmqu/sULbEvtj7RZQU+qfTP mVLd51pQY+JbcYtnWHq0cbd1LRyrmQfsmbGftgYUGGY3WZd20ehClAGRCIwWoIELkHoV IL8lI5Fs8yuada+dmhe9Ep2e7LT7Zb0pjabz+ND4DNy4tRTQjpJdwdRaYhouucFP2lXP JiXxGeT+mjStLO2qvm0rRq2xc8OdWZpw253fTbGXjF6ww7QyBti2PTf6YXymj6nw8RyA aiEQ== X-Gm-Message-State: AJcUukcWb+fRkuaRhZIj3qVVySJAHvMDQt7xNPXLuSW5s3Tsjas2ZXlZ 1xjWyYRxqHqoUYlu8GVOFAagn1Yw510= X-Google-Smtp-Source: ALg8bN4+vFBqHq/mL7Hw9V3kCIgjaRm0IkSYsrgCWYgek944GSFdDLA8vhYpOmPc3AfsBxqkI/h53w== X-Received: by 2002:a5d:45d0:: with SMTP id b16mr13536312wrs.86.1547223986418; Fri, 11 Jan 2019 08:26:26 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id n6sm20437753wmk.9.2019.01.11.08.26.25 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 11 Jan 2019 08:26:25 -0800 (PST) From: Luca Boccassi To: dev@dpdk.org Cc: bruce.richardson@intel.com, Luca Boccassi Date: Fri, 11 Jan 2019 16:26:08 +0000 Message-Id: <20190111162608.13162-4-bluca@debian.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190111162608.13162-1-bluca@debian.org> References: <20190103175725.5836-1-bluca@debian.org> <20190111162608.13162-1-bluca@debian.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 4/4] 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 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