From patchwork Wed Feb 13 11:54: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: 50299 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 7A7F61B1F1; Wed, 13 Feb 2019 12:55:38 +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 6B8BF1B163 for ; Wed, 13 Feb 2019 12:55:37 +0100 (CET) Received: by mail-wr1-f66.google.com with SMTP id v16so2131100wrn.11 for ; Wed, 13 Feb 2019 03:55:37 -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=dDjlrJxrb3sNr8qi68OJTdFUbmlYGAnAxFGlhkNuHeJiJAUZLj8mT678hoL5S/j8Pp +LsYgH+zRjFrfcHhnABheV2T3Qxb9pWa1/lb7bkHiu8LDu+/5SkySiK3pXM0pdNbM2th cdMT14/4y+uec0bM9Fw3lPhM8gM8ZWCzdx92/NynDlrDthvnrwU4Lq3PRR7dCHxFudAb zv5UG7Lrfo12L3QDV+CsPJpRG78r75smIWIFsJ238uq3P5uj9kSAX6dblogmONsOd9/t gEcthX1V7OpX229MtEXq++VNFIxKVU4e4VC7Rhlw/0hksIzsUPIiHlG9c6slsIHjzkQr cpjQ== X-Gm-Message-State: AHQUAuYKVoHtuoh02KbzuNUGt3F5MJjusjROIeMQITebh+RrpBSMhbrd I5dtTCejKiK6KGdyqzXoCz10/NUq X-Google-Smtp-Source: AHgI3IZ+3irBBIW4EqONjN8CfLJBTLiiFeoihz/HQJSDN8oZX+AoHt1I4fb6H6yTtY8Yn1qzYc5SFg== X-Received: by 2002:adf:a104:: with SMTP id o4mr103692wro.244.1550058936670; Wed, 13 Feb 2019 03:55:36 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:c934:57a:5587:ac0c]) by smtp.gmail.com with ESMTPSA id a1sm5392410wrq.96.2019.02.13.03.55.35 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 13 Feb 2019 03:55:35 -0800 (PST) From: Luca Boccassi To: dev@dpdk.org Cc: bruce.richardson@intel.com, Luca Boccassi Date: Wed, 13 Feb 2019 11:54:48 +0000 Message-Id: <20190213115452.2264-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 v7 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 13 11:54:49 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 50300 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 C80B41B1FC; Wed, 13 Feb 2019 12:55:39 +0100 (CET) Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) by dpdk.org (Postfix) with ESMTP id EDE7C1B1F6 for ; Wed, 13 Feb 2019 12:55:38 +0100 (CET) Received: by mail-wr1-f53.google.com with SMTP id v13so2160453wrw.5 for ; Wed, 13 Feb 2019 03:55:38 -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=G2jYxDf1RLUhGPGCJvIERRwESAQ+En1EoS+NbfOJP9w=; b=fOx5noLvxm+5rTPK4+r+YR0th8UnnYMJgttVfzdwOrE/OHS40PbgnPbX7hah9sPlk6 kCpxJu6eqpONFoNV6f9iGyPirdZ+E3E1UpGLeWQ2+SA2iQAIJZmLzRvdoE2F5TB9UlmA pK4hn/XB2xcnXODruCeEjj1Ej8A8Kuhw1w1GakcTpd9fB1k6Jwcko4ir5+nVqmINbV2z kV+4kqEfPgDU/mZUVF0UAb1eDbzyDZG+CO/Jh20WtzdJyjC/RVp55fTWXFtqF04eamzG xJdc1sl8iDEete01nv+4dte6Yn4BDQ2H2xPTk9aonnIxbHJshC2HYFfGWIDtFMCN2LqT xaSw== X-Gm-Message-State: AHQUAuaDeJakHzD/JH0fXFDY53/1cMDqDJ3y1gMHTP87jNrfzowU8aQF adifiZrz7uuESOi31aaPHegF/BMA X-Google-Smtp-Source: AHgI3IYug6xLwbVm47p1qQWWYQjwIRTNIJ2jDMhEH8iJwY4kVLgIdpPtRq8Qe9hGhKe+I5W1V9Q0bQ== X-Received: by 2002:a5d:68c9:: with SMTP id p9mr114234wrw.172.1550058938130; Wed, 13 Feb 2019 03:55:38 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:c934:57a:5587:ac0c]) by smtp.gmail.com with ESMTPSA id k20sm3716601wre.41.2019.02.13.03.55.36 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 13 Feb 2019 03:55:37 -0800 (PST) From: Luca Boccassi To: dev@dpdk.org Cc: bruce.richardson@intel.com, Luca Boccassi Date: Wed, 13 Feb 2019 11:54:49 +0000 Message-Id: <20190213115452.2264-2-bluca@debian.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190213115452.2264-1-bluca@debian.org> References: <20190103175725.5836-1-bluca@debian.org> <20190213115452.2264-1-bluca@debian.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v7 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 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 Wed Feb 13 11:54:50 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 50301 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 F219B1B202; Wed, 13 Feb 2019 12:55:41 +0100 (CET) Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by dpdk.org (Postfix) with ESMTP id E97BE1B201 for ; Wed, 13 Feb 2019 12:55:40 +0100 (CET) Received: by mail-wm1-f65.google.com with SMTP id a62so2137910wmh.4 for ; Wed, 13 Feb 2019 03:55:40 -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=dARqeCnElGQkxt0zCQl465SNWmMGv8PpM7k7SW7VLM6krojQaSVRuViGkl8+aiY4D4 1M/vW/iyQPuGumwWMGd5SFcuOxqat6Il5XZcXr6U7XbRpcC0nKIOqTEf1qT4Ch2sRKb1 u16uC2YvyMvm7Flx8xfySY2V5bwZLDI9e3ueaKHOaCbFyQaWd7RVfwPHHHtfpWDFHwuN IuBnpIvq882WQOquav0IkIyXQqBUP8idUeN2B796rqNpTnU9Gj8L76NagwaRkNQY5GQ0 KDSPmeM4Q37LllU2GQoriEcg8O4i4f5Dt1cGvrBnRg6w+6Vdkdj+YSPkFK0yRg3sbSi2 3PHQ== X-Gm-Message-State: AHQUAuZVdwGfhQRoPszM6EiODpld/Zl14QY22UF7N1JQ6lUSSCnhs2cC e4+gVeHDMS+sHP7CboXPL7e+JxKn X-Google-Smtp-Source: AHgI3IasJ65W9qrSYQ4pQGwSzcHgaFrHeVoLm/OQeksWZ/oTm474Jy3lgaO15OAxfNj/Sj0oKlEduQ== X-Received: by 2002:a05:600c:2:: with SMTP id g2mr67368wmc.109.1550058940197; Wed, 13 Feb 2019 03:55:40 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:c934:57a:5587:ac0c]) by smtp.gmail.com with ESMTPSA id f13sm1730611wmh.41.2019.02.13.03.55.38 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 13 Feb 2019 03:55:38 -0800 (PST) From: Luca Boccassi To: dev@dpdk.org Cc: bruce.richardson@intel.com, Luca Boccassi Date: Wed, 13 Feb 2019 11:54:50 +0000 Message-Id: <20190213115452.2264-3-bluca@debian.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190213115452.2264-1-bluca@debian.org> References: <20190103175725.5836-1-bluca@debian.org> <20190213115452.2264-1-bluca@debian.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v7 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 13 11:54:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 50302 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 64D291B21A; Wed, 13 Feb 2019 12:55:44 +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 A70EC1B20A for ; Wed, 13 Feb 2019 12:55:42 +0100 (CET) Received: by mail-wm1-f68.google.com with SMTP id q21so2101564wmc.5 for ; Wed, 13 Feb 2019 03:55:42 -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=aH8Q8OQowoe8O2xF3NB0DY6KBQyYVeVF+K7r2Wjm8oA+Y4D7Xkh3VEurD8p6mpqhv5 JitgpXpdJ18rUOhkxyNV7kma+AbY4PZHs9A8WFQdCUM4kwOpJdAJDMbBq15IqbYJYc6/ N/GBvgE2loBgmgv4Z3M0jeL3O9tDEbGiHXLhxTxpGBzxSAMUhpA1Ntr7xg4AhjcQq5Ix 6zkZm4UzHpyP25UptD6k6pwKaT2pGJHPWtqMMS5o+2m3O3Nkhdh41I0QHE4evhuU7Pj0 52bq14dIsJ9EIt6gZWGJ9x4jROgANsRNmeb8TBbHDN5knUFYsEAuqw6AH1ofsIgJ2ubP GakQ== X-Gm-Message-State: AHQUAuY2LzuEShFSkoP478Do02gwy/uTzCBHlEND3VIAsyUPjJ5hRNA7 ZoSxlU/EzgjU6RT1P21utZWvCrsP X-Google-Smtp-Source: AHgI3Ia1kLqXrnSKpy8SWGucHjCwX7JOumIVa4/CBy7khr+BpzOQ0Bvauy0bif5pgqS+RJWbGIlBvg== X-Received: by 2002:a1c:a6c9:: with SMTP id p192mr37579wme.58.1550058941935; Wed, 13 Feb 2019 03:55:41 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:c934:57a:5587:ac0c]) by smtp.gmail.com with ESMTPSA id i10sm22640850wrx.54.2019.02.13.03.55.40 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 13 Feb 2019 03:55:40 -0800 (PST) From: Luca Boccassi To: dev@dpdk.org Cc: bruce.richardson@intel.com, Luca Boccassi Date: Wed, 13 Feb 2019 11:54:51 +0000 Message-Id: <20190213115452.2264-4-bluca@debian.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190213115452.2264-1-bluca@debian.org> References: <20190103175725.5836-1-bluca@debian.org> <20190213115452.2264-1-bluca@debian.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v7 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 13 11:54:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 50303 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 ACDC71B276; Wed, 13 Feb 2019 12:55:45 +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 3BA1A1B216 for ; Wed, 13 Feb 2019 12:55:44 +0100 (CET) Received: by mail-wm1-f68.google.com with SMTP id d15so2138849wmb.3 for ; Wed, 13 Feb 2019 03:55:44 -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=8ksYVVckPkKJ3gkRlTQQmUCKjq7y9zMPZwnk/GOVLpk=; b=oSJp5y2LZrl8k0uLNot1gxguKzt9eVldncEaQVn2VHX9TnvdF11s1RviUEbrORQSuz A9P9o8v6ipGFdfIhYn/AEzRnHYDhrDuRjaAoDVfJnQZZQTAi6IOUNf+QiTCNoVdwPtMl bAX4ePT0plOs/EDeL/JWEQmP8hlESAy4jjGLYjbWq37q36EBxB0ISsVFTy8yqQtxJ8OB mJ5w9upXpU+sXnCGEH1LV3wnFktEyjicN0CWsvGEg2Jk4zYqn1gB5G2T9e76dlM2X71W KTcghYNL8dbtFUY5nxcN6eTFdGoo3ssf8dsNOxLce5+3mscLb6DO1C6ULdb+p4j2uuqE WZjw== X-Gm-Message-State: AHQUAuY7mB6LbFsadgLj8/1AgmOxGqhJN0hFm4Imq2kWYVEGafeJZWiO kMyjv7XtG99EHU8fKnJvdjWtnnuq X-Google-Smtp-Source: AHgI3IYkZkUywL6XWb4EIeM12dwzweYEt0BbPKmLTJy7tzoDrAKxOb7H1Vmwk+7n/1aRQBZVGSR/LQ== X-Received: by 2002:a7b:cb9a:: with SMTP id m26mr33666wmi.68.1550058943571; Wed, 13 Feb 2019 03:55:43 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:c934:57a:5587:ac0c]) by smtp.gmail.com with ESMTPSA id o18sm30713489wrg.40.2019.02.13.03.55.42 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 13 Feb 2019 03:55:42 -0800 (PST) From: Luca Boccassi To: dev@dpdk.org Cc: bruce.richardson@intel.com, Luca Boccassi Date: Wed, 13 Feb 2019 11:54:52 +0000 Message-Id: <20190213115452.2264-5-bluca@debian.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190213115452.2264-1-bluca@debian.org> References: <20190103175725.5836-1-bluca@debian.org> <20190213115452.2264-1-bluca@debian.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v7 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 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')