get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 76425,
    "url": "http://patches.dpdk.org/api/patches/76425/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20200903152717.42095-15-ciara.power@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": "<20200903152717.42095-15-ciara.power@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200903152717.42095-15-ciara.power@intel.com",
    "date": "2020-09-03T15:26:54",
    "name": "[v3,14/37] devtools: remove use of make in scripts",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "41746250946d4900669ed84da2fcabb87344da91",
    "submitter": {
        "id": 978,
        "url": "http://patches.dpdk.org/api/people/978/?format=api",
        "name": "Power, Ciara",
        "email": "ciara.power@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/20200903152717.42095-15-ciara.power@intel.com/mbox/",
    "series": [
        {
            "id": 11929,
            "url": "http://patches.dpdk.org/api/series/11929/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=11929",
            "date": "2020-09-03T15:26:40",
            "name": "remove make support in DPDK",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/11929/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/76425/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/76425/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 B70DEA04BF;\n\tThu,  3 Sep 2020 17:31:50 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 3601A1C1A3;\n\tThu,  3 Sep 2020 17:28:50 +0200 (CEST)",
            "from mga18.intel.com (mga18.intel.com [134.134.136.126])\n by dpdk.org (Postfix) with ESMTP id 3FCC71C124\n for <dev@dpdk.org>; Thu,  3 Sep 2020 17:28:46 +0200 (CEST)",
            "from orsmga006.jf.intel.com ([10.7.209.51])\n by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 03 Sep 2020 08:28:45 -0700",
            "from silpixa00399953.ir.intel.com (HELO\n silpixa00399953.ger.corp.intel.com) ([10.237.222.53])\n by orsmga006.jf.intel.com with ESMTP; 03 Sep 2020 08:28:44 -0700"
        ],
        "IronPort-SDR": [
            "\n rCvrYpCf07bzzivrk4pxuauo6hN1B4OutEpKUUZjGX4wAuWO9daS3Rq1N/xuhzgVRK/Y8k23V4\n nIFTqa4EbfKw==",
            "\n +2unOA2okG/yj6UlNbOMWV57sIdg+3EhHRvzhXbZbqtTyYYzqX6KELX5SaR7QFjb5JZA3T4H2f\n xS+Dmqz62NZQ=="
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6000,8403,9733\"; a=\"145290582\"",
            "E=Sophos;i=\"5.76,387,1592895600\"; d=\"scan'208\";a=\"145290582\"",
            "E=Sophos;i=\"5.76,387,1592895600\"; d=\"scan'208\";a=\"302243977\""
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "From": "Ciara Power <ciara.power@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "Ciara Power <ciara.power@intel.com>, Thomas Monjalon <thomas@monjalon.net>",
        "Date": "Thu,  3 Sep 2020 16:26:54 +0100",
        "Message-Id": "<20200903152717.42095-15-ciara.power@intel.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20200903152717.42095-1-ciara.power@intel.com>",
        "References": "<20200807123009.21266-1-ciara.power@intel.com>\n <20200903152717.42095-1-ciara.power@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v3 14/37] devtools: remove use of make in scripts",
        "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": "Make is no longer supported, the test script for make builds is no\nlonger required. Uses of make in other tool scripts are replaced.\n\nSigned-off-by: Ciara Power <ciara.power@intel.com>\n---\n MAINTAINERS                |   1 -\n devtools/build-tags.sh     |  14 +-\n devtools/check-includes.sh |   3 +-\n devtools/git-log-fixes.sh  |   2 +-\n devtools/test-build.sh     | 315 -------------------------------------\n 5 files changed, 4 insertions(+), 331 deletions(-)\n delete mode 100755 devtools/test-build.sh",
    "diff": "diff --git a/MAINTAINERS b/MAINTAINERS\nindex 392150fc3b..0fec96558e 100644\n--- a/MAINTAINERS\n+++ b/MAINTAINERS\n@@ -90,7 +90,6 @@ F: devtools/checkpatches.sh\n F: devtools/get-maintainer.sh\n F: devtools/git-log-fixes.sh\n F: devtools/load-devel-config\n-F: devtools/test-build.sh\n F: devtools/test-meson-builds.sh\n F: devtools/words-case.txt\n F: license/\ndiff --git a/devtools/build-tags.sh b/devtools/build-tags.sh\nindex 276fff647b..614ce4c3a4 100755\n--- a/devtools/build-tags.sh\n+++ b/devtools/build-tags.sh\n@@ -19,8 +19,8 @@ arm_64=true\n print_usage()\n {\n \techo \"Usage: $(basename $0) [-h] [-v] tags|cscope|gtags|etags [config]\"\n-\techo \"Valid configs are:\"\n-\tmake showconfigs | sed 's,^,\\t,'\n+\techo \"Examples of valid configs are: \"\n+\techo \"x86_64-native-linux-gcc, arm64-armv8a-linux-gcc, ppc_64-power8-linux-gcc\"\n }\n \n # Move to the root of the git tree\n@@ -125,17 +125,7 @@ ppc_64_sources()\n \tfind_sources \"$source_dirs\" '*altivec*.[chS]'\n }\n \n-check_valid_target()\n-{\n-\tif [ ! -f \"config/defconfig_$1\" ] ; then\n-\t\techo \"Invalid config: $1\"\n-\t\tprint_usage\n-\t\texit 0\n-\tfi\n-}\n-\n if [ -n \"$2\" ]; then\n-\tcheck_valid_target $2\n \n \techo $2 | grep -q \"linux\" || linux=false\n \techo $2 | grep -q \"bsd\" || bsd=false\ndiff --git a/devtools/check-includes.sh b/devtools/check-includes.sh\nindex 749b9b26d2..15594f08a3 100755\n--- a/devtools/check-includes.sh\n+++ b/devtools/check-includes.sh\n@@ -17,8 +17,7 @@\n #\n # SUMMARY=1 is the same as -s.\n #\n-# CC, CPPFLAGS, CFLAGS, EXTRA_CPPFLAGS, EXTRA_CFLAGS, CXX, CXXFLAGS and\n-# EXTRA_CXXFLAGS are taken into account.\n+# CC, CPPFLAGS, CFLAGS, CXX, CXXFLAGS are taken into account.\n #\n # PEDANTIC_CFLAGS, PEDANTIC_CXXFLAGS and PEDANTIC_CPPFLAGS provide strict\n # C/C++ compilation flags.\ndiff --git a/devtools/git-log-fixes.sh b/devtools/git-log-fixes.sh\nindex 6d468d6731..210c8dcf25 100755\n--- a/devtools/git-log-fixes.sh\n+++ b/devtools/git-log-fixes.sh\n@@ -50,7 +50,7 @@ commit_version () # <hash>\n \t\thead -n1)\n \tif [ -z \"$tag\" ] ; then\n \t\t# before -rc1 tag of release in progress\n-\t\tmake showversion | cut -d'.' -f-2\n+\t\tcat VERSION | cut -d'.' -f-2\n \telse\n \t\techo $tag | sed 's,^v,,' | sed 's,-rc.*,,'\n \tfi\ndiff --git a/devtools/test-build.sh b/devtools/test-build.sh\ndeleted file mode 100755\nindex f013656024..0000000000\n--- a/devtools/test-build.sh\n+++ /dev/null\n@@ -1,315 +0,0 @@\n-#! /bin/sh -e\n-# SPDX-License-Identifier: BSD-3-Clause\n-# Copyright 2015 6WIND S.A.\n-\n-default_path=$PATH\n-\n-# Load config options:\n-# - ARMV8_CRYPTO_LIB_PATH\n-# - DPDK_ABI_REF_DIR\n-# - DPDK_ABI_REF_VERSION\n-# - DPDK_BUILD_TEST_CONFIGS (defconfig1+option1+option2 defconfig2)\n-# - DPDK_BUILD_TEST_DIR\n-# - DPDK_DEP_ARCHIVE\n-# - DPDK_DEP_BPF (y/[n])\n-# - DPDK_DEP_CFLAGS\n-# - DPDK_DEP_ELF (y/[n])\n-# - DPDK_DEP_FDT (y/[n])\n-# - DPDK_DEP_ISAL (y/[n])\n-# - DPDK_DEP_JSON (y/[n])\n-# - DPDK_DEP_LDFLAGS\n-# - DPDK_DEP_MLX (y/[n])\n-# - DPDK_DEP_NFB (y/[n])\n-# - DPDK_DEP_NUMA ([y]/n)\n-# - DPDK_DEP_PCAP (y/[n])\n-# - DPDK_DEP_SSL (y/[n])\n-# - DPDK_DEP_IPSEC_MB (y/[n])\n-# - DPDK_DEP_SZE (y/[n])\n-# - DPDK_DEP_ZLIB (y/[n])\n-# - DPDK_MAKE_JOBS (int)\n-# - DPDK_NOTIFY (notify-send)\n-# - FLEXRAN_SDK\n-# - LIBMUSDK_PATH\n-devtools_dir=$(dirname $(readlink -f $0))\n-. $devtools_dir/load-devel-config\n-\n-print_usage () {\n-\techo \"usage: $(basename $0) [-h] [-jX] [-s] [config1 [config2] ...]]\"\n-}\n-\n-print_help () {\n-\techo 'Test building several targets with different options'\n-\techo\n-\tprint_usage\n-\tcat <<- END_OF_HELP\n-\n-\toptions:\n-\t        -h    this help\n-\t        -jX   use X parallel jobs in \"make\"\n-\t        -s    short test only first config without tests|examples|doc\n-\t        -v    verbose build\n-\n-\tconfig: defconfig[[~][+]option1[[~][+]option2...]]\n-\t        Example: x86_64-native-linux-gcc+debug~RXTX_CALLBACKS\n-\t        The lowercase options are defined inside $(basename $0).\n-\t        The uppercase options can be the end of a defconfig option\n-\t        to enable if prefixed with '+' or to disable if prefixed with '~'.\n-\t        Default is to automatically enable most of the options.\n-\t        The external dependencies are setup with DPDK_DEP_* variables.\n-\t        If no config on command line, DPDK_BUILD_TEST_CONFIGS is used.\n-\tEND_OF_HELP\n-}\n-\n-[ -z $MAKE ] && command -v gmake > /dev/null && MAKE=gmake\n-[ -z $MAKE ] && command -v make > /dev/null && MAKE=make\n-[ -z $MAKE ] && echo \"Cannot find make or gmake\" && exit 1\n-\n-J=$DPDK_MAKE_JOBS\n-builds_dir=${DPDK_BUILD_TEST_DIR:-.}\n-short=false\n-unset verbose\n-while getopts hj:sv ARG ; do\n-\tcase $ARG in\n-\t\tj ) J=$OPTARG ;;\n-\t\ts ) short=true ;;\n-\t\tv ) verbose='V=1' ;;\n-\t\th ) print_help ; exit 0 ;;\n-\t\t? ) print_usage ; exit 1 ;;\n-\tesac\n-done\n-shift $(($OPTIND - 1))\n-configs=${*:-$DPDK_BUILD_TEST_CONFIGS}\n-\n-success=false\n-on_exit ()\n-{\n-\tif $success ; then\n-\t\t[ \"$DPDK_NOTIFY\" != notify-send ] || \\\n-\t\t\tnotify-send -u low --icon=dialog-information 'DPDK build' 'finished'\n-\telif [ -z \"$signal\" ] ; then\n-\t\t[ -z \"$dir\" ] || echo \"failed to build $dir\" >&2\n-\t\t[ \"$DPDK_NOTIFY\" != notify-send ] || \\\n-\t\t\tnotify-send -u low --icon=dialog-error 'DPDK build' 'failed'\n-\tfi\n-}\n-# catch manual interrupt to ignore notification\n-trap \"signal=INT ; trap - INT ; kill -INT $$\" INT\n-# notify result on exit\n-trap on_exit EXIT\n-\n-cd $devtools_dir/..\n-\n-reset_env ()\n-{\n-\texport PATH=$default_path\n-\tunset CROSS\n-\tunset DPDK_DEP_ARCHIVE\n-\tunset DPDK_DEP_BPF\n-\tunset DPDK_DEP_CFLAGS\n-\tunset DPDK_DEP_ELF\n-\tunset DPDK_DEP_FDT\n-\tunset DPDK_DEP_ISAL\n-\tunset DPDK_DEP_JSON\n-\tunset DPDK_DEP_LDFLAGS\n-\tunset DPDK_DEP_MLX\n-\tunset DPDK_DEP_NFB\n-\tunset DPDK_DEP_NUMA\n-\tunset DPDK_DEP_PCAP\n-\tunset DPDK_DEP_SSL\n-\tunset DPDK_DEP_IPSEC_MB\n-\tunset DPDK_DEP_SZE\n-\tunset DPDK_DEP_ZLIB\n-\tunset ARMV8_CRYPTO_LIB_PATH\n-\tunset FLEXRAN_SDK\n-\tunset LIBMUSDK_PATH\n-\tunset PQOS_INSTALL_PATH\n-}\n-\n-config () # <directory> <target> <options>\n-{\n-\treconfig=false\n-\tif git rev-parse 2>&- && [ -n \"$(git diff HEAD~ -- config)\" ] ; then\n-\t\techo 'Default config may have changed'\n-\t\treconfig=true\n-\tfi\n-\tif [ ! -e $1/.config ] || $reconfig ; then\n-\t\techo \"================== Configure $1\"\n-\t\t${MAKE} T=$2 O=$1 config\n-\n-\t\techo 'Customize configuration'\n-\t\t# Built-in options (lowercase)\n-\t\t! echo $3 | grep -q '+default' || \\\n-\t\tsed -ri=\"\" 's,(RTE_MACHINE=\")native,\\1default,' $1/.config\n-\t\t! echo $3 | grep -q '+kmods' || \\\n-\t\tsed -ri=\"\" 's,(IGB_UIO=|KNI_KMOD=)n,\\1y,' $1/.config\n-\t\techo $3 | grep -q '+next' || \\\n-\t\tsed -ri=\"\"           's,(NEXT_ABI=)y,\\1n,' $1/.config\n-\t\t! echo $3 | grep -q '+shared' || \\\n-\t\tsed -ri=\"\"         's,(SHARED_LIB=)n,\\1y,' $1/.config\n-\t\t! echo $3 | grep -q '+debug' || ( \\\n-\t\tsed -ri=\"\"  's,(RTE_LOG_DP_LEVEL=).*,\\1RTE_LOG_DEBUG,' $1/.config\n-\t\tsed -ri=\"\"           's,(_DEBUG.*=)n,\\1y,' $1/.config\n-\t\tsed -ri=\"\"  's,(_STAT)([S_].*=|=)n,\\1\\2y,' $1/.config\n-\t\tsed -ri=\"\" 's,(TEST_PMD_RECORD_.*=)n,\\1y,' $1/.config )\n-\n-\t\t# Automatic configuration\n-\t\t! echo $2 | grep -q 'arm64' || \\\n-\t\tsed -ri=\"\"        's,(ARM_USE_WFE=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_NUMA\" != n || \\\n-\t\tsed -ri=\"\"             's,(NUMA.*=)y,\\1n,' $1/.config\n-\t\tsed -ri=\"\"    's,(LIBRTE_IEEE1588=)n,\\1y,' $1/.config\n-\t\tsed -ri=\"\"             's,(BYPASS=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_ARCHIVE\" != y || \\\n-\t\tsed -ri=\"\"       's,(RESOURCE_TAR=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_BPF\" != y || \\\n-\t\tsed -ri=\"\"         's,(PMD_AF_XDP=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_FDT\" != y || \\\n-\t\tsed -ri=\"\"   's,(PMD_IFPGA_RAWDEV=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_FDT\" != y || \\\n-\t\tsed -ri=\"\"         's,(IPN3KE_PMD=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_ISAL\" != y || \\\n-\t\tsed -ri=\"\"           's,(PMD_ISAL=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_MLX\" != y || \\\n-\t\tsed -ri=\"\"          's,(MLX.*_PMD=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_NFB\" != y || \\\n-\t\tsed -ri=\"\"            's,(NFB_PMD=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_SZE\" != y || \\\n-\t\tsed -ri=\"\"       's,(PMD_SZEDATA2=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_ZLIB\" != y || \\\n-\t\tsed -ri=\"\"          's,(BNX2X_PMD=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_ZLIB\" != y || \\\n-\t\tsed -ri=\"\"           's,(PMD_ZLIB=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_ZLIB\" != y || \\\n-\t\tsed -ri=\"\"   's,(COMPRESSDEV_TEST=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_PCAP\" != y || \\\n-\t\tsed -ri=\"\"               's,(PCAP=)n,\\1y,' $1/.config\n-\t\ttest -z \"$ARMV8_CRYPTO_LIB_PATH\" || \\\n-\t\tsed -ri=\"\"   's,(PMD_ARMV8_CRYPTO=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_IPSEC_MB\" != y || \\\n-\t\tsed -ri=\"\"       's,(PMD_AESNI_MB=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_IPSEC_MB\" != y || \\\n-\t\tsed -ri=\"\"      's,(PMD_AESNI_GCM=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_IPSEC_MB\" != y || \\\n-\t\tsed -ri=\"\"            's,(PMD_ZUC=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_IPSEC_MB\" != y || \\\n-\t\tsed -ri=\"\"         's,(PMD_KASUMI=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_IPSEC_MB\" != y || \\\n-\t\tsed -ri=\"\"         's,(PMD_SNOW3G=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_SSL\" != y || \\\n-\t\tsed -ri=\"\"            's,(PMD_CCP=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_SSL\" != y || \\\n-\t\tsed -ri=\"\"        's,(PMD_OPENSSL=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_SSL\" != y || \\\n-\t\tsed -ri=\"\"            's,(QAT_SYM=)n,\\1y,' $1/.config\n-\t\ttest -z \"$FLEXRAN_SDK\" || \\\n-\t\tsed -ri=\"\"     's,(BBDEV_TURBO_SW=)n,\\1y,' $1/.config\n-\t\tsed -ri=\"\"           's,(SCHED_.*=)n,\\1y,' $1/.config\n-\t\ttest -z \"$LIBMUSDK_PATH\" || \\\n-\t\tsed -ri=\"\"   's,(PMD_MVSAM_CRYPTO=)n,\\1y,' $1/.config\n-\t\ttest -z \"$LIBMUSDK_PATH\" || \\\n-\t\tsed -ri=\"\"          's,(MVPP2_PMD=)n,\\1y,' $1/.config\n-\t\ttest -z \"$LIBMUSDK_PATH\" || \\\n-\t\tsed -ri=\"\"         's,(MVNETA_PMD=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_ELF\" != y || \\\n-\t\tsed -ri=\"\"            's,(BPF_ELF=)n,\\1y,' $1/.config\n-\t\ttest \"$DPDK_DEP_JSON\" != y || \\\n-\t\tsed -ri=\"\"          's,(TELEMETRY=)n,\\1y,' $1/.config\n-\t\tbuild_config_hook $1 $2 $3\n-\n-\t\t# Explicit enabler/disabler (uppercase)\n-\t\tfor option in $(echo $3 | sed 's,[~+], &,g') ; do\n-\t\t\tpattern=$(echo $option | cut -c2-)\n-\t\t\tif echo $option | grep -q '^~' ; then\n-\t\t\t\tsed -ri=\"\" \"s,($pattern=)y,\\1n,\" $1/.config\n-\t\t\telif echo $option | grep -q '^+' ; then\n-\t\t\t\tsed -ri=\"\" \"s,($pattern=)n,\\1y,\" $1/.config\n-\t\t\tfi\n-\t\tdone\n-\tfi\n-}\n-\n-# default empty hook to override in devel config\n-build_config_hook () # <directory> <target> <options>\n-{\n-\t:\n-}\n-\n-for conf in $configs ; do\n-\ttarget=$(echo $conf | sed 's,[~+].*,,')\n-\t# reload config with DPDK_TARGET set\n-\tDPDK_TARGET=$target\n-\treset_env\n-\t. $devtools_dir/load-devel-config\n-\n-\toptions=$(echo $conf | sed 's,[^~+]*,,')\n-\tdir=$builds_dir/$conf\n-\tconfig $dir $target $options\n-\n-\techo \"================== Build $conf\"\n-\t${MAKE} -j$J EXTRA_CFLAGS=\"-Wfatal-errors -g $DPDK_DEP_CFLAGS\" \\\n-\t\tEXTRA_LDFLAGS=\"$DPDK_DEP_LDFLAGS\" $verbose O=$dir\n-\t! $short || break\n-\texport RTE_TARGET=$target\n-\trm -rf $dir/install\n-\t${MAKE} install O=$dir DESTDIR=$dir/install prefix=\n-\techo \"================== Build examples for $conf\"\n-\texport RTE_SDK=$(readlink -f $dir)/install/share/dpdk\n-\tln -sTf $(pwd)/lib $RTE_SDK/lib # workaround for vm_power_manager\n-\tgrep -q 'SHARED_LIB=n' $dir/.config || # skip examples with static libs\n-\t${MAKE} -j$J -sC examples \\\n-\t\tEXTRA_LDFLAGS=\"$DPDK_DEP_LDFLAGS\" $verbose \\\n-\t\tO=$(readlink -f $dir)/examples\n-\tunset RTE_TARGET\n-\tgrep -q 'SHARED_LIB=n' $dir/.config || # skip ABI check with static libs\n-\tif [ -n \"$DPDK_ABI_REF_VERSION\" ]; then\n-\t\tabirefdir=${DPDK_ABI_REF_DIR:-reference}/$DPDK_ABI_REF_VERSION\n-\t\tif [ ! -d $abirefdir/$conf ]; then\n-\t\t\t# clone current sources\n-\t\t\tif [ ! -d $abirefdir/src ]; then\n-\t\t\t\tgit clone --local --no-hardlinks \\\n-\t\t\t\t\t--single-branch \\\n-\t\t\t\t\t-b $DPDK_ABI_REF_VERSION \\\n-\t\t\t\t\t$(pwd) $abirefdir/src\n-\t\t\tfi\n-\n-\t\t\tcd $abirefdir/src\n-\n-\t\t\trm -rf $abirefdir/build\n-\t\t\tconfig $abirefdir/build $target $options\n-\n-\t\t\techo -n \"================== Build $conf \"\n-\t\t\techo \"($DPDK_ABI_REF_VERSION)\"\n-\t\t\t${MAKE} -j$J \\\n-\t\t\t\tEXTRA_CFLAGS=\"-Wno-error -g $DPDK_DEP_CFLAGS\" \\\n-\t\t\t\tEXTRA_LDFLAGS=\"$DPDK_DEP_LDFLAGS\" $verbose \\\n-\t\t\t\tO=$abirefdir/build\n-\t\t\texport RTE_TARGET=$target\n-\t\t\t${MAKE} install O=$abirefdir/build \\\n-\t\t\t\tDESTDIR=$abirefdir/$conf \\\n-\t\t\t\tprefix=\n-\t\t\tunset RTE_TARGET\n-\t\t\t$devtools_dir/gen-abi.sh $abirefdir/$conf\n-\n-\t\t\t# back to current workdir\n-\t\t\tcd $devtools_dir/..\n-\t\tfi\n-\n-\t\techo \"================== Check ABI $conf\"\n-\t\t$devtools_dir/gen-abi.sh $dir/install\n-\t\t$devtools_dir/check-abi.sh $abirefdir/$conf $dir/install\n-\tfi\n-\techo \"################## $conf done.\"\n-\tunset dir\n-done\n-\n-if ! $short ; then\n-\tmkdir -p .check\n-\techo \"================== Build doxygen HTML API\"\n-\t${MAKE} doc-api-html >/dev/null 2>.check/doc.txt\n-\techo \"================== Build sphinx HTML guides\"\n-\t${MAKE} doc-guides-html >/dev/null 2>>.check/doc.txt\n-\techo \"================== Check docs\"\n-\tdiff -u /dev/null .check/doc.txt\n-fi\n-\n-success=true\n",
    "prefixes": [
        "v3",
        "14/37"
    ]
}