get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/79556/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 79556,
    "url": "http://patches.dpdk.org/api/patches/79556/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20201002155855.622456-4-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": "<20201002155855.622456-4-bruce.richardson@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20201002155855.622456-4-bruce.richardson@intel.com",
    "date": "2020-10-02T15:58:50",
    "name": "[RFC,v2,3/8] build: add defines for compatibility with make build",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "e88cd69b3e659529dcc5e4a23bf258d7c4a803f1",
    "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/20201002155855.622456-4-bruce.richardson@intel.com/mbox/",
    "series": [
        {
            "id": 12672,
            "url": "http://patches.dpdk.org/api/series/12672/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=12672",
            "date": "2020-10-02T15:58:47",
            "name": "Rework build macros",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/12672/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/79556/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/79556/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 7085EA04BA;\n\tFri,  2 Oct 2020 18:01:10 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 8CA4E1DABA;\n\tFri,  2 Oct 2020 17:59:39 +0200 (CEST)",
            "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n by dpdk.org (Postfix) with ESMTP id 1E9131D9F6;\n Fri,  2 Oct 2020 17:59:33 +0200 (CEST)",
            "from orsmga003.jf.intel.com ([10.7.209.27])\n by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 02 Oct 2020 08:59:33 -0700",
            "from silpixa00399126.ir.intel.com ([10.237.222.4])\n by orsmga003.jf.intel.com with ESMTP; 02 Oct 2020 08:59:31 -0700"
        ],
        "IronPort-SDR": [
            "\n Kr15ELYtdTAN9irvAzDXWoygON2mOqfRKoh3g1PURt4W2GaDnbZk96VIb9AajYnErjqDEZlYGg\n hHcw6f6OlPtA==",
            "\n hMn3DcsizgvHPgyWkFLg29n2FlDhVhXuwL/pxGbEmhJo/fODOFixo8nU6pwIE1pPSBuo6W3FOe\n 7+9EN2YnlxKg=="
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6000,8403,9762\"; a=\"163115261\"",
            "E=Sophos;i=\"5.77,328,1596524400\"; d=\"scan'208\";a=\"163115261\"",
            "E=Sophos;i=\"5.77,328,1596524400\"; d=\"scan'208\";a=\"309069006\""
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "From": "Bruce Richardson <bruce.richardson@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "david.marchand@redhat.com, arybchenko@solarflare.com,\n ferruh.yigit@intel.com, thomas@monjalon.net,\n Bruce Richardson <bruce.richardson@intel.com>, stable@dpdk.org",
        "Date": "Fri,  2 Oct 2020 16:58:50 +0100",
        "Message-Id": "<20201002155855.622456-4-bruce.richardson@intel.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20201002155855.622456-1-bruce.richardson@intel.com>",
        "References": "<20200916164429.244847-1-bruce.richardson@intel.com>\n <20201002155855.622456-1-bruce.richardson@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [RFC PATCH v2 3/8] build: add defines for compatibility\n\twith make build",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "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": "The defines used to indicate what crypto, compression and eventdev drivers\nwere being built were different to those used in the make build, with meson\ndefining them with \"_PMD\" at the end, while make defined them with \"_PMD\"\nin the middle and the specific driver name at the end. This might cause\ncompatibility issues for applications which used the older defines, which\nswitching to build against new DPDK releases.\n\nAs well as changing the default to match that of make, meson also\nspecial-cases the crypto/compression/event drivers to have both defines\nprovided. This ensures compatibility for these macros with both meson and\nmake from older versions.\n\nFor a selection of other libraries and drivers, there were other\nincompatibilities between the meson and make-defined macros which were not\npreviously highlighted in a deprecation notice, so we add per-macro\ncompatibility defines for these to ease the transition from make to meson.\n\nFixes: 5b9656b157d3 (\"lib: build with meson\")\nFixes: 9314afb68a53 (\"drivers: add infrastructure for meson build\")\nFixes: dcadbbde8e61 (\"crypto/null: build with meson\")\nFixes: 3c32e89f68e1 (\"compress/isal: add skeleton ISA-L compression PMD\")\nFixes: eca504f318db (\"drivers/event: build skeleton and SW drivers with meson\")\n\nCc: stable@dpdk.org\n\nSigned-off-by: Bruce Richardson <bruce.richardson@intel.com>\n---\n config/meson.build                 |   3 +-\n config/rte_compatibility_defines.h | 129 +++++++++++++++++++++++++++++\n config/rte_config.h                |   1 +\n drivers/compress/meson.build       |   2 +-\n drivers/crypto/meson.build         |   2 +-\n drivers/event/meson.build          |   2 +-\n drivers/meson.build                |  15 ++++\n 7 files changed, 150 insertions(+), 4 deletions(-)\n create mode 100644 config/rte_compatibility_defines.h",
    "diff": "diff --git a/config/meson.build b/config/meson.build\nindex 69f2aeb605..3a36d9dd4c 100644\n--- a/config/meson.build\n+++ b/config/meson.build\n@@ -254,7 +254,8 @@ dpdk_conf.set('RTE_COMPILE_TIME_CPUFLAGS', ','.join(compile_time_cpuflags))\n # set the install path for the drivers\n dpdk_conf.set_quoted('RTE_EAL_PMD_PATH', eal_pmd_path)\n \n-install_headers('rte_config.h', subdir: get_option('include_subdir_arch'))\n+install_headers(['rte_config.h', 'rte_compatibility_defines.h'],\n+\t\tsubdir: get_option('include_subdir_arch'))\n \n # enable VFIO only if it is linux OS\n dpdk_conf.set('RTE_EAL_VFIO', is_linux)\ndiff --git a/config/rte_compatibility_defines.h b/config/rte_compatibility_defines.h\nnew file mode 100644\nindex 0000000000..47600052b6\n--- /dev/null\n+++ b/config/rte_compatibility_defines.h\n@@ -0,0 +1,129 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright(c) 2017 Intel Corporation\n+ */\n+\n+#ifndef _RTE_CONFIG_H_\n+#error \"This file should only be included via rte_config.h\"\n+#endif\n+\n+/*\n+ * NOTE: these defines are for compatibility only and will be removed in a\n+ * future DPDK release.\n+ */\n+\n+#ifdef RTE_LIBRTE_BITRATESTATS\n+#define RTE_LIBRTE_BITRATE\n+#endif\n+\n+#ifdef RTE_LIBRTE_LATENCYSTATS\n+#define RTE_LIBRTE_LATENCY_STATS\n+#endif\n+\n+#ifdef RTE_LIBRTE_DPAAX_COMMON\n+#define RTE_LIBRTE_COMMON_DPAAX\n+#endif\n+\n+#ifdef RTE_LIBRTE_VMBUS_BUS\n+#define RTE_LIBRTE_VMBUS\n+#endif\n+\n+#ifdef RTE_LIBRTE_BUCKET_MEMPOOL\n+#define RTE_DRIVER_MEMPOOL_BUCKET\n+#endif\n+\n+#ifdef RTE_LIBRTE_RING_MEMPOOL\n+#define RTE_DRIVER_MEMPOOL_RING\n+#endif\n+\n+#ifdef RTE_LIBRTE_STACK_MEMPOOL\n+#define RTE_DRIVER_MEMPOOL_STACK\n+#endif\n+\n+#ifdef RTE_LIBRTE_AF_PACKET_PMD\n+#define RTE_LIBRTE_PMD_AF_PACKET\n+#endif\n+\n+#ifdef RTE_LIBRTE_AF_XDP_PMD\n+#define RTE_LIBRTE_PMD_AF_XDP\n+#endif\n+\n+#ifdef RTE_LIBRTE_BOND_PMD\n+#define RTE_LIBRTE_PMD_BOND\n+#endif\n+\n+#ifdef RTE_LIBRTE_E1000_PMD\n+#define RTE_LIBRTE_EM_PMD\n+#endif\n+\n+#ifdef RTE_LIBRTE_E1000_PMD\n+#define RTE_LIBRTE_IGB_PMD\n+#endif\n+\n+#ifdef RTE_LIBRTE_FAILSAFE_PMD\n+#define RTE_LIBRTE_PMD_FAILSAFE\n+#endif\n+\n+#ifdef RTE_LIBRTE_KNI_PMD\n+#define RTE_LIBRTE_PMD_KNI\n+#endif\n+\n+#ifdef RTE_LIBRTE_LIQUIDIO_PMD\n+#define RTE_LIBRTE_LIO_PMD\n+#endif\n+\n+#ifdef RTE_LIBRTE_MEMIF_PMD\n+#define RTE_LIBRTE_PMD_MEMIF\n+#endif\n+\n+#ifdef RTE_LIBRTE_NULL_PMD\n+#define RTE_LIBRTE_PMD_NULL\n+#endif\n+\n+#ifdef RTE_LIBRTE_PCAP_PMD\n+#define RTE_LIBRTE_PMD_PCAP\n+#endif\n+\n+#ifdef RTE_LIBRTE_RING_PMD\n+#define RTE_LIBRTE_PMD_RING\n+#endif\n+\n+#ifdef RTE_LIBRTE_SFC_PMD\n+#define RTE_LIBRTE_SFC_EFX_PMD\n+#endif\n+\n+#ifdef RTE_LIBRTE_SOFTNIC_PMD\n+#define RTE_LIBRTE_PMD_SOFTNIC\n+#endif\n+\n+#ifdef RTE_LIBRTE_SZEDATA2_PMD\n+#define RTE_LIBRTE_PMD_SZEDATA2\n+#endif\n+\n+#ifdef RTE_LIBRTE_TAP_PMD\n+#define RTE_LIBRTE_PMD_TAP\n+#endif\n+\n+#ifdef RTE_LIBRTE_THUNDERX_PMD\n+#define RTE_LIBRTE_THUNDERX_NICVF_PMD\n+#endif\n+\n+#ifdef RTE_LIBRTE_VHOST_PMD\n+#define RTE_LIBRTE_PMD_VHOST\n+#endif\n+\n+#ifdef RTE_LIBRTE_PMD_ARMV8\n+#define RTE_LIBRTE_PMD_ARMV8_CRYPTO\n+#endif\n+\n+#ifdef RTE_LIBRTE_PMD_MVSAM\n+#define RTE_LIBRTE_PMD_MVSAM_CRYPTO\n+#endif\n+\n+#ifdef RTE_LIBRTE_PMD_OCTEONTX_COMPRESS\n+#define RTE_LIBRTE_PMD_OCTEONTX_ZIPVF\n+#endif\n+\n+#ifdef RTE_LIBRTE_PMD_OCTEONTX_EVENTDEV\n+#define RTE_LIBRTE_PMD_OCTEONTX_SSOVF\n+#endif\n+\ndiff --git a/config/rte_config.h b/config/rte_config.h\nindex 0bae630fd9..cacc1837cf 100644\n--- a/config/rte_config.h\n+++ b/config/rte_config.h\n@@ -13,6 +13,7 @@\n #define _RTE_CONFIG_H_\n \n #include <rte_build_config.h>\n+#include <rte_compatibility_defines.h>\n \n /* legacy defines */\n #ifdef RTE_EXEC_ENV_LINUX\ndiff --git a/drivers/compress/meson.build b/drivers/compress/meson.build\nindex ee883c3f9f..bea1720a0b 100644\n--- a/drivers/compress/meson.build\n+++ b/drivers/compress/meson.build\n@@ -8,5 +8,5 @@ endif\n drivers = ['isal', 'octeontx', 'qat', 'zlib']\n \n std_deps = ['compressdev'] # compressdev pulls in all other needed deps\n-config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'\n+config_flag_fmt = 'RTE_LIBRTE_PMD_@0@'\n driver_name_fmt = 'rte_pmd_@0@'\ndiff --git a/drivers/crypto/meson.build b/drivers/crypto/meson.build\nindex a2423507ad..25b99c19cb 100644\n--- a/drivers/crypto/meson.build\n+++ b/drivers/crypto/meson.build\n@@ -26,5 +26,5 @@ drivers = ['aesni_gcm',\n \t   'zuc']\n \n std_deps = ['cryptodev'] # cryptodev pulls in all other needed deps\n-config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'\n+config_flag_fmt = 'RTE_LIBRTE_PMD_@0@'\n driver_name_fmt = 'rte_pmd_@0@'\ndiff --git a/drivers/event/meson.build b/drivers/event/meson.build\nindex ebe76a75c4..f2a3431472 100644\n--- a/drivers/event/meson.build\n+++ b/drivers/event/meson.build\n@@ -11,5 +11,5 @@ if not (toolchain == 'gcc' and cc.version().version_compare('<4.8.6') and\n \tdrivers += 'octeontx'\n endif\n std_deps = ['eventdev', 'kvargs']\n-config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD'\n+config_flag_fmt = 'RTE_LIBRTE_PMD_@0@_EVENTDEV'\n driver_name_fmt = 'rte_pmd_@0@_event'\ndiff --git a/drivers/meson.build b/drivers/meson.build\nindex 5f95265573..b5ac483d31 100644\n--- a/drivers/meson.build\n+++ b/drivers/meson.build\n@@ -117,6 +117,21 @@ foreach subpath:subdirs\n \t\t\t\tfmt_name = name\n \t\t\tendif\n \t\t\tdpdk_conf.set(config_flag_fmt.format(fmt_name.to_upper()),1)\n+\t\t\t# for driver compatibility, since we changed the\n+\t\t\t# default to match that of make. Remove in future release\n+\t\t\t# after following deprecation process\n+\t\t\tif config_flag_fmt.contains('_PMD_@0@') and (class == 'crypto'\n+\t\t\t\t\tor class == 'compress'\n+\t\t\t\t\tor class == 'event')\n+\t\t\t\talt_flag_fmt = '_@0@_PMD'.join(\n+\t\t\t\t\t\tconfig_flag_fmt.split('_PMD_@0@'))\n+\t\t\t\tif config_flag_fmt.contains('EVENTDEV')\n+\t\t\t\t\talt_flag_fmt = '_@0@_EVENTDEV_PMD'.join(\n+\t\t\t\t\t\tconfig_flag_fmt.split('_PMD_@0@_EVENTDEV'))\n+\t\t\t\tendif\n+\t\t\t\tdpdk_conf.set(alt_flag_fmt.format(\n+\t\t\t\t\t\tfmt_name.to_upper()), 1)\n+\t\t\tendif\n \t\t\tlib_name = driver_name_fmt.format(fmt_name)\n \n \t\t\tdpdk_extra_ldflags += pkgconfig_extra_libs\n",
    "prefixes": [
        "RFC",
        "v2",
        "3/8"
    ]
}