Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/91656/?format=api
http://patches.dpdk.org/api/patches/91656/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20210416170458.50188-15-bruce.richardson@intel.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20210416170458.50188-15-bruce.richardson@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20210416170458.50188-15-bruce.richardson@intel.com", "date": "2021-04-16T17:04:58", "name": "[14/14] lib: allow disabling optional libraries", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "0837860d0776473bbfb8c387f4c1b745e935a925", "submitter": { "id": 20, "url": "http://patches.dpdk.org/api/people/20/?format=api", "name": "Bruce Richardson", "email": "bruce.richardson@intel.com" }, "delegate": { "id": 1, "url": "http://patches.dpdk.org/api/users/1/?format=api", "username": "tmonjalo", "first_name": "Thomas", "last_name": "Monjalon", "email": "thomas@monjalon.net" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20210416170458.50188-15-bruce.richardson@intel.com/mbox/", "series": [ { "id": 16449, "url": "http://patches.dpdk.org/api/series/16449/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=16449", "date": "2021-04-16T17:04:44", "name": "Build file updates", "version": 1, "mbox": "http://patches.dpdk.org/series/16449/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/91656/comments/", "check": "fail", "checks": "http://patches.dpdk.org/api/patches/91656/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 9081FA0C41;\n\tFri, 16 Apr 2021 19:07:17 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 2BB05161AEA;\n\tFri, 16 Apr 2021 19:05:47 +0200 (CEST)", "from mga05.intel.com (mga05.intel.com [192.55.52.43])\n by mails.dpdk.org (Postfix) with ESMTP id E9325161A54\n for <dev@dpdk.org>; Fri, 16 Apr 2021 19:05:24 +0200 (CEST)", "from orsmga006.jf.intel.com ([10.7.209.51])\n by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 16 Apr 2021 10:05:24 -0700", "from silpixa00399126.ir.intel.com ([10.237.223.116])\n by orsmga006.jf.intel.com with ESMTP; 16 Apr 2021 10:05:23 -0700" ], "IronPort-SDR": [ "\n DTFTe1jp1FCrcxiCYeYrcIMu4pwRKp3a+k3PNasn26T6himUP3Cg5f6wdbR4L8bW1pbU/pOFiK\n bbXuFK8vehMg==", "\n tLU4psKv/iB9KD+xSMavoKEcmXjMQLYM9vqGusq7bG2DJ+PL1OFzh7e7COkhfmimnNwfb6lNLG\n 5VD8AM3aaBaQ==" ], "X-IronPort-AV": [ "E=McAfee;i=\"6200,9189,9956\"; a=\"280388289\"", "E=Sophos;i=\"5.82,226,1613462400\"; d=\"scan'208\";a=\"280388289\"", "E=Sophos;i=\"5.82,226,1613462400\"; d=\"scan'208\";a=\"384375932\"" ], "X-ExtLoop1": "1", "From": "Bruce Richardson <bruce.richardson@intel.com>", "To": "dev@dpdk.org", "Cc": "Bruce Richardson <bruce.richardson@intel.com>", "Date": "Fri, 16 Apr 2021 18:04:58 +0100", "Message-Id": "<20210416170458.50188-15-bruce.richardson@intel.com>", "X-Mailer": "git-send-email 2.27.0", "In-Reply-To": "<20210416170458.50188-1-bruce.richardson@intel.com>", "References": "<20210401115009.1063844-1-bruce.richardson@intel.com>\n <20210416170458.50188-1-bruce.richardson@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[dpdk-dev] [PATCH 14/14] lib: allow disabling optional libraries", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "Add support for the disable_libs option, to allow disabling the build of\nparticular libraries. As part of this, maintain a list of what libraries\ncan safely be disabled, without breaking the build - for now this list is\nsolely those libraries which are not built on FreeBSD, kni, power and\nvhost. This list can be expanded by future patches.\n\nSigned-off-by: Bruce Richardson <bruce.richardson@intel.com>\n---\n lib/meson.build | 24 +++++++++++++++++++++++-\n meson_options.txt | 2 ++\n 2 files changed, 25 insertions(+), 1 deletion(-)", "diff": "diff --git a/lib/meson.build b/lib/meson.build\nindex 3a9a6c3be..c9a20f65b 100644\n--- a/lib/meson.build\n+++ b/lib/meson.build\n@@ -81,6 +81,23 @@ if is_windows\n ] # only supported libraries for windows\n endif\n \n+optional_libs = [\n+ 'kni',\n+ 'power',\n+ 'vhost',\n+]\n+\n+disabled_libs = []\n+opt_disabled_libs = run_command(list_dir_globs, get_option('disable_libs')).stdout().split()\n+foreach l:opt_disabled_libs\n+ if not optional_libs.contains(l)\n+ warning('Cannot disable mandatory library \"@0@\"'.format(l))\n+ continue\n+ endif\n+ disabled_libs += l\n+endforeach\n+\n+\n default_cflags = machine_args\n default_cflags += ['-DALLOW_EXPERIMENTAL_API']\n default_cflags += ['-DALLOW_INTERNAL_API']\n@@ -114,7 +131,12 @@ foreach l:libraries\n deps += ['eal']\n endif\n \n- subdir(l)\n+ if disabled_libs.contains(l)\n+ build = false\n+ reason = 'explicitly disabled via build config'\n+ else\n+ subdir(l)\n+ endif\n if name != l\n warning('Library name, \"@0@\", and directory name, \"@1@\", do not match'.format(name, l))\n endif\ndiff --git a/meson_options.txt b/meson_options.txt\nindex 530fcddfa..9d73fd541 100644\n--- a/meson_options.txt\n+++ b/meson_options.txt\n@@ -6,6 +6,8 @@ option('developer_mode', type: 'feature', description:\n 'turn on additional build checks relevant for DPDK developers')\n option('disable_drivers', type: 'string', value: '', description:\n 'Comma-separated list of drivers to explicitly disable.')\n+option('disable_libs', type: 'string', value: '', description:\n+ 'Comma-separated list of libraries to explicitly disable. [NOTE: not all libs can be disabled]')\n option('drivers_install_subdir', type: 'string', value: 'dpdk/pmds-<VERSION>', description:\n 'Subdirectory of libdir where to install PMDs. Defaults to using a versioned subdirectory.')\n option('enable_docs', type: 'boolean', value: false, description:\n", "prefixes": [ "14/14" ] }{ "id": 91656, "url": "