get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 53856,
    "url": "http://patches.dpdk.org/api/patches/53856/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20190529163958.30796-3-i.maximets@samsung.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": "<20190529163958.30796-3-i.maximets@samsung.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20190529163958.30796-3-i.maximets@samsung.com",
    "date": "2019-05-29T16:39:58",
    "name": "[2/2] meson: make build configurable",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "d2d71bf51398c70adf6ae0f8fe469bc3943ba1ab",
    "submitter": {
        "id": 323,
        "url": "http://patches.dpdk.org/api/people/323/?format=api",
        "name": "Ilya Maximets",
        "email": "i.maximets@samsung.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20190529163958.30796-3-i.maximets@samsung.com/mbox/",
    "series": [
        {
            "id": 4814,
            "url": "http://patches.dpdk.org/api/series/4814/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=4814",
            "date": "2019-05-29T16:39:56",
            "name": "Make meson configurable.",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/4814/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/53856/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/53856/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id CB79C1B99C;\n\tWed, 29 May 2019 18:40:13 +0200 (CEST)",
            "from mailout2.w1.samsung.com (mailout2.w1.samsung.com\n\t[210.118.77.12]) by dpdk.org (Postfix) with ESMTP id 010C21B994\n\tfor <dev@dpdk.org>; Wed, 29 May 2019 18:40:11 +0200 (CEST)",
            "from eucas1p2.samsung.com (unknown [182.198.249.207])\n\tby mailout2.w1.samsung.com (KnoxPortal) with ESMTP id\n\t20190529164011euoutp023607183e2d4bcd0b60772f9b16c2d317~jNNsL9YxP2164321643euoutp02C\n\tfor <dev@dpdk.org>; Wed, 29 May 2019 16:40:11 +0000 (GMT)",
            "from eusmges3new.samsung.com (unknown [203.254.199.245]) by\n\teucas1p2.samsung.com (KnoxPortal) with ESMTP id\n\t20190529164010eucas1p2458fe03b290038e1216190dd470edfe8~jNNq8OwBK1121311213eucas1p2U;\n\tWed, 29 May 2019 16:40:10 +0000 (GMT)",
            "from eucas1p1.samsung.com ( [182.198.249.206]) by\n\teusmges3new.samsung.com (EUCPMTA) with SMTP id E0.80.04325.9E5BEEC5;\n\tWed, 29 May 2019 17:40:09 +0100 (BST)",
            "from eusmtrp2.samsung.com (unknown [182.198.249.139]) by\n\teucas1p2.samsung.com (KnoxPortal) with ESMTPA id\n\t20190529164009eucas1p289f1dcf87012ecf049efc8eee2c2ea9d~jNNqFODH71120411204eucas1p2U;\n\tWed, 29 May 2019 16:40:09 +0000 (GMT)",
            "from eusmgms1.samsung.com (unknown [182.198.249.179]) by\n\teusmtrp2.samsung.com (KnoxPortal) with ESMTP id\n\t20190529164008eusmtrp2dc469d9276c4b48c9b8ea238facc0ae0~jNNp1vYcc1254912549eusmtrp2i;\n\tWed, 29 May 2019 16:40:08 +0000 (GMT)",
            "from eusmtip2.samsung.com ( [203.254.199.222]) by\n\teusmgms1.samsung.com (EUCPMTA) with SMTP id 9E.65.04146.8E5BEEC5;\n\tWed, 29 May 2019 17:40:08 +0100 (BST)",
            "from imaximets.rnd.samsung.ru (unknown [106.109.129.180]) by\n\teusmtip2.samsung.com (KnoxPortal) with ESMTPA id\n\t20190529164008eusmtip208b8aaf7d54673b673e4c592397fe5eb~jNNpXSenF2645126451eusmtip2o;\n\tWed, 29 May 2019 16:40:08 +0000 (GMT)"
        ],
        "DKIM-Filter": "OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com\n\t20190529164011euoutp023607183e2d4bcd0b60772f9b16c2d317~jNNsL9YxP2164321643euoutp02C",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;\n\ts=mail20170921; t=1559148011;\n\tbh=s+IvAWSFy+yuXI1GJG2F084KT+yo7LE/hJpPZX8UYrY=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=LPxcvdLYqDbPQU9TDLAYqorUtxMXINXcS72Lb1y1kVPTbzZrEY77rKQ4a9944tlB8\n\tksbjstfi+uOlYcdlqgGXQ+Ky814iP5lMALdSc6QrrWUvH9wpiRpAEh62ivcsFVdHaf\n\t3HBhV3XvVMDGoZtevvmXeefVaqUfRo/QiZUI8i+4=",
        "X-AuditID": "cbfec7f5-b8fff700000010e5-c3-5ceeb5e964a5",
        "From": "Ilya Maximets <i.maximets@samsung.com>",
        "To": "dev@dpdk.org, Thomas Monjalon <thomas@monjalon.net>",
        "Cc": "Bruce Richardson <bruce.richardson@intel.com>, Aaron Conole\n\t<aconole@redhat.com>, Kevin Traynor <ktraynor@redhat.com>, Ilya Maximets\n\t<i.maximets@samsung.com>",
        "Date": "Wed, 29 May 2019 19:39:58 +0300",
        "Message-Id": "<20190529163958.30796-3-i.maximets@samsung.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20190529163958.30796-1-i.maximets@samsung.com>",
        "X-Brightmail-Tracker": [
            "H4sIAAAAAAAAA+NgFvrEIsWRmVeSWpSXmKPExsWy7djPc7ovt76LMTjar2Px680Ddosbq+wt\n\t3n3azmRxpf0nu8XaQx/YLT49OMHiwObxa8FSVo/Fe14yeRy7OY3d4/2+q2wefVtWMQawRnHZ\n\tpKTmZJalFunbJXBlXPy+k6VgakLF42dlDYzH/LoYOTkkBEwkFv/fy97FyMUhJLCCUeLXvJlM\n\tEM4XRokDH5ZCOZ8ZJf4eusMO09Kx5h5Uy3JGidUfj7CCJIQEfjBKNE7kBbHZBHQkTq0+wghi\n\tiwiYS0yc0MkK0sAssJRRYvv6N8xdjBwcwgLGEnsWsIHUsAioSqy+cJINJMwrYC3xqtEKYpe8\n\txOoNB5hBbE4BG4nG9hlsIGMkBJ6zScyfv5gJpF5CwEVi42sLiHphiVfHt0DdKSPxf+d8Jgi7\n\tXuJ+y0tGiN4ORonph/5BJewltrw+xw4yh1lAU2L9Ln2IkY4SM7vdIUw+iRtvBUGKmYHMSdum\n\tM0OEeSU62oQgZqhI/D64nBnClpK4+e4z1AEeEvuWr4QGVD+jRF/bZJYJjPKzEHYtYGRcxSie\n\tWlqcm55abJyXWq5XnJhbXJqXrpecn7uJEZgSTv87/nUH474/SYcYBTgYlXh4J+S/ixFiTSwr\n\trsw9xCjBwawkwvtzOVCINyWxsiq1KD++qDQntfgQozQHi5I4bzXDg2ghgfTEktTs1NSC1CKY\n\tLBMHp1QDI4/HzC0fAiJl5hvPFq/vuHK47c6mS8pJp4qmGerdqt1yvFn23zSWa5dufZxtrzr5\n\txnUJR295E0PrhV/+BGq+PM15PHb5NVX+1+VHOgwfqCrs3lV6jy2PT3L57vOeutq+i6+HTb3j\n\t++LBpP9F5ova7962ZWW+41lqv2jBAp3sV6x78v+orbw14a0SS3FGoqEWc1FxIgCE8yj/BQMA\n\tAA==",
            "H4sIAAAAAAAAA+NgFrrGLMWRmVeSWpSXmKPExsVy+t/xe7ovtr6LMTj7z9ji15sH7BY3Vtlb\n\tvPu0ncniSvtPdou1hz6wW3x6cILFgc3j14KlrB6L97xk8jh2cxq7x/t9V9k8+rasYgxgjdKz\n\tKcovLUlVyMgvLrFVija0MNIztLTQMzKx1DM0No+1MjJV0rezSUnNySxLLdK3S9DLuPh9J0vB\n\t1ISKx8/KGhiP+XUxcnJICJhIdKy5x97FyMUhJLCUUeLr/j+sEAkpiR+/LkDZwhJ/rnWxQRR9\n\tY5TY9qGXGSTBJqAjcWr1EUYQW0TAUuLRiY+sIEXMAssZJXYd+QnUwcEhLGAssWcBG0gNi4Cq\n\txOoLJ8HCvALWEq8arSDmy0us3nAAbCSngI1EY/sMsHIhoJKGHfuYJzDyLWBkWMUoklpanJue\n\tW2yoV5yYW1yal66XnJ+7iREYptuO/dy8g/HSxuBDjAIcjEo8vBPy38UIsSaWFVfmHmKU4GBW\n\tEuH9uRwoxJuSWFmVWpQfX1Sak1p8iNEU6KaJzFKiyfnAGMoriTc0NTS3sDQ0NzY3NrNQEuft\n\tEDgYIySQnliSmp2aWpBaBNPHxMEp1cAoVXnLy8Hi+N3I1gerbm5edH32xRfyf9dUO8YvFZFd\n\t3zi58Hja2oX5PbrvuK8nzpXhPfkhptl566vLttEuXKfuBC7NnX6ueZfDUQmrxYe+s18SuGzw\n\tYPGHlB4Gw2lFSe3HXBryGR7mJ9duedn0NylSTEual0lgw8tbnY78gVfPS6m7vDFZ0fpaiaU4\n\tI9FQi7moOBEAjyvVTGkCAAA="
        ],
        "X-CMS-MailID": "20190529164009eucas1p289f1dcf87012ecf049efc8eee2c2ea9d",
        "X-Msg-Generator": "CA",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "X-RootMTR": "20190529164009eucas1p289f1dcf87012ecf049efc8eee2c2ea9d",
        "X-EPHeader": "CA",
        "CMS-TYPE": "201P",
        "X-CMS-RootMailID": "20190529164009eucas1p289f1dcf87012ecf049efc8eee2c2ea9d",
        "References": "<20190529163958.30796-1-i.maximets@samsung.com>\n\t<CGME20190529164009eucas1p289f1dcf87012ecf049efc8eee2c2ea9d@eucas1p2.samsung.com>",
        "Subject": "[dpdk-dev] [PATCH 2/2] meson: make build configurable",
        "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "The first thing many developers do before start building DPDK is\ndisabling all the not needed divers and libraries. This happens\njust because more than a half of DPDK dirvers and libraries are not\nneeded for the particular reason. For example, you don't need\ndpaa*, octeon*, various croypto devices, eventdev, etc. if you're\nonly want to build OVS for x86_64 with static linking.\n\nBy disabling everything you don't need, build speeds up literally 10x\ntimes. This is important for CI systems. For example, TravisCI wastes\n10 minutes for the default DPDK build just to check linking with OVS.\n\nAnother thing is the binary size. Number of DPDK libraries and,\nas a result, size of resulted statically linked application decreases\nsignificantly.\n\nImportant thing also that you're able to not install some dependencies\nif you don't have them on a target platform. Just disable libs/drivers\nthat depends on it. Similar thing for the glibc version mismatch\nbetween build and target platforms.\n\nAlso, I have to note that less code means less probability of\nfailures and less number of attack vectors.\n\nThis patch gives 'meson' the power of configurability that we\nhave with 'make'. Using new options it's possible to enable just\nwhat you need and nothing more.\n\nFor example, following cmdline could be used to build almost minimal\nset of DPDK libs and drivers to check OVS build:\n\n  $ meson build -Dexamples='' -Dtests=false -Denable_kmods=false \\\n                -Ddrivers_bus=pci,vdev          \\\n                -Ddrivers_mempool=ring          \\\n                -Ddrivers_net=null,virtio,ring  \\\n                -Ddrivers_crypto=virtio         \\\n                -Ddrivers_compress=none         \\\n                -Ddrivers_event=none            \\\n                -Ddrivers_baseband=none         \\\n                -Ddrivers_raw=none              \\\n                -Ddrivers_common=none           \\\n                -Dlibs=kvargs,eal,cmdline,ring,mempool,mbuf,net,meter,\\\n                       ethdev,pci,hash,cryptodev,pdump,vhost \\\n                -Dapps=none\n\nAdding a few real net drivers will give configuration that can be used\nin production environment.\n\nLooks not very pretty, but this could be moved to a script.\n\nBuild details:\n\n  Build targets in project: 57\n\n  $ time ninja\n  real    0m11,528s\n  user    1m4,137s\n  sys     0m4,935s\n\n  $ du -sh ../dpdk_meson_install/\n  3,5M    ../dpdk_meson_install/\n\nTo compare with what we have without these options:\n\n  $ meson build -Dexamples='' -Dtests=false -Denable_kmods=false\n  Build targets in project: 434\n\n  $ time ninja\n  real    1m38,963s\n  user    10m18,624s\n  sys     0m45,478s\n\n  $ du -sh ../dpdk_meson_install/\n  27M     ../dpdk_meson_install/\n\n10x speed up for the user time.\n7.7 times size decrease.\n\nThis is probably not much user-friendly because it's not a Kconfig\nand dependency tracking in meson is really poor, so it requires\nusually few iterations to pick correct set of libraries to satisfy\nall dependencies. However, it's not a big deal. Options intended\nfor a proficient users who knows what they need.\n\nSigned-off-by: Ilya Maximets <i.maximets@samsung.com>\n---\n app/meson.build              |  5 +++++\n drivers/baseband/meson.build |  5 +++++\n drivers/bus/meson.build      |  6 ++++++\n drivers/common/meson.build   |  6 ++++++\n drivers/compress/meson.build |  5 +++++\n drivers/crypto/meson.build   |  5 +++++\n drivers/event/meson.build    |  6 ++++++\n drivers/mempool/meson.build  |  6 ++++++\n drivers/net/meson.build      |  6 ++++++\n drivers/raw/meson.build      |  6 ++++++\n lib/meson.build              |  5 +++++\n meson_options.txt            | 22 ++++++++++++++++++++++\n 12 files changed, 83 insertions(+)",
    "diff": "diff --git a/app/meson.build b/app/meson.build\nindex 2b9fdef74..48972954c 100644\n--- a/app/meson.build\n+++ b/app/meson.build\n@@ -17,6 +17,11 @@ apps = [\n \t'test-pipeline',\n \t'test-pmd']\n \n+enabled_apps = get_option('apps')\n+if enabled_apps != 'all'\n+\tapps = (enabled_apps == 'none') ? [] : enabled_apps.split(',')\n+endif\n+\n # for BSD only\n lib_execinfo = cc.find_library('execinfo', required: false)\n \ndiff --git a/drivers/baseband/meson.build b/drivers/baseband/meson.build\nindex 52489df35..fabc80fc2 100644\n--- a/drivers/baseband/meson.build\n+++ b/drivers/baseband/meson.build\n@@ -3,5 +3,10 @@\n \n drivers = ['null']\n \n+enabled_drivers = get_option('drivers_baseband')\n+if enabled_drivers != 'all'\n+\tdrivers = (enabled_drivers == 'none') ? [] : enabled_drivers.split(',')\n+endif\n+\n config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'\n driver_name_fmt = 'rte_pmd_@0@'\ndiff --git a/drivers/bus/meson.build b/drivers/bus/meson.build\nindex 80de2d91d..d1400ff28 100644\n--- a/drivers/bus/meson.build\n+++ b/drivers/bus/meson.build\n@@ -2,6 +2,12 @@\n # Copyright(c) 2017 Intel Corporation\n \n drivers = ['dpaa', 'fslmc', 'ifpga', 'pci', 'vdev', 'vmbus']\n+\n+enabled_drivers = get_option('drivers_bus')\n+if enabled_drivers != 'all'\n+\tdrivers = (enabled_drivers == 'none') ? [] : enabled_drivers.split(',')\n+endif\n+\n std_deps = ['eal']\n config_flag_fmt = 'RTE_LIBRTE_@0@_BUS'\n driver_name_fmt = 'rte_bus_@0@'\ndiff --git a/drivers/common/meson.build b/drivers/common/meson.build\nindex a50934108..311511365 100644\n--- a/drivers/common/meson.build\n+++ b/drivers/common/meson.build\n@@ -3,5 +3,11 @@\n \n std_deps = ['eal']\n drivers = ['cpt', 'dpaax', 'mvep', 'octeontx', 'qat']\n+\n+enabled_drivers = get_option('drivers_common')\n+if enabled_drivers != 'all'\n+\tdrivers = (enabled_drivers == 'none') ? [] : enabled_drivers.split(',')\n+endif\n+\n config_flag_fmt = 'RTE_LIBRTE_@0@_COMMON'\n driver_name_fmt = 'rte_common_@0@'\ndiff --git a/drivers/compress/meson.build b/drivers/compress/meson.build\nindex 817ef3be4..5585ec537 100644\n--- a/drivers/compress/meson.build\n+++ b/drivers/compress/meson.build\n@@ -3,6 +3,11 @@\n \n drivers = ['isal', 'octeontx', 'qat', 'zlib']\n \n+enabled_drivers = get_option('drivers_compress')\n+if enabled_drivers != 'all'\n+\tdrivers = (enabled_drivers == 'none') ? [] : enabled_drivers.split(',')\n+endif\n+\n std_deps = ['compressdev'] # compressdev pulls in all other needed deps\n config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'\n driver_name_fmt = 'rte_pmd_@0@'\ndiff --git a/drivers/crypto/meson.build b/drivers/crypto/meson.build\nindex 83e78860e..7b1363f23 100644\n--- a/drivers/crypto/meson.build\n+++ b/drivers/crypto/meson.build\n@@ -5,6 +5,11 @@ drivers = ['aesni_gcm', 'aesni_mb', 'caam_jr', 'ccp', 'dpaa_sec', 'dpaa2_sec',\n \t'kasumi', 'mvsam', 'null', 'octeontx', 'openssl', 'qat', 'scheduler',\n \t'snow3g', 'virtio', 'zuc']\n \n+enabled_drivers = get_option('drivers_crypto')\n+if enabled_drivers != 'all'\n+\tdrivers = (enabled_drivers == 'none') ? [] : enabled_drivers.split(',')\n+endif\n+\n std_deps = ['cryptodev'] # cryptodev pulls in all other needed deps\n config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'\n driver_name_fmt = 'rte_pmd_@0@'\ndiff --git a/drivers/event/meson.build b/drivers/event/meson.build\nindex fb723f727..14e0c68ac 100644\n--- a/drivers/event/meson.build\n+++ b/drivers/event/meson.build\n@@ -6,6 +6,12 @@ if not (toolchain == 'gcc' and cc.version().version_compare('<4.8.6') and\n \tdpdk_conf.has('RTE_ARCH_ARM64'))\n \tdrivers += 'octeontx'\n endif\n+\n+enabled_drivers = get_option('drivers_event')\n+if enabled_drivers != 'all'\n+\tdrivers = (enabled_drivers == 'none') ? [] : enabled_drivers.split(',')\n+endif\n+\n std_deps = ['eventdev', 'kvargs']\n config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD'\n driver_name_fmt = 'rte_pmd_@0@_event'\ndiff --git a/drivers/mempool/meson.build b/drivers/mempool/meson.build\nindex 4527d9806..cfacedd1b 100644\n--- a/drivers/mempool/meson.build\n+++ b/drivers/mempool/meson.build\n@@ -2,6 +2,12 @@\n # Copyright(c) 2017 Intel Corporation\n \n drivers = ['bucket', 'dpaa', 'dpaa2', 'octeontx', 'ring', 'stack']\n+\n+enabled_drivers = get_option('drivers_mempool')\n+if enabled_drivers != 'all'\n+\tdrivers = (enabled_drivers == 'none') ? [] : enabled_drivers.split(',')\n+endif\n+\n std_deps = ['mempool']\n config_flag_fmt = 'RTE_LIBRTE_@0@_MEMPOOL'\n driver_name_fmt = 'rte_mempool_@0@'\ndiff --git a/drivers/net/meson.build b/drivers/net/meson.build\nindex ed99896c3..901be5eac 100644\n--- a/drivers/net/meson.build\n+++ b/drivers/net/meson.build\n@@ -42,6 +42,12 @@ drivers = ['af_packet',\n \t'virtio',\n \t'vmxnet3',\n ]\n+\n+enabled_drivers = get_option('drivers_net')\n+if enabled_drivers != 'all'\n+\tdrivers = (enabled_drivers == 'none') ? [] : enabled_drivers.split(',')\n+endif\n+\n std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc\n std_deps += ['bus_pci']         # very many PMDs depend on PCI, so make std\n std_deps += ['bus_vdev']        # same with vdev bus\ndiff --git a/drivers/raw/meson.build b/drivers/raw/meson.build\nindex a61cdccef..ca98e92f0 100644\n--- a/drivers/raw/meson.build\n+++ b/drivers/raw/meson.build\n@@ -2,6 +2,12 @@\n # Copyright 2018 NXP\n \n drivers = ['skeleton_rawdev', 'dpaa2_cmdif', 'dpaa2_qdma', 'ifpga_rawdev']\n+\n+enabled_drivers = get_option('drivers_raw')\n+if enabled_drivers != 'all'\n+\tdrivers = (enabled_drivers == 'none') ? [] : enabled_drivers.split(',')\n+endif\n+\n std_deps = ['rawdev']\n config_flag_fmt = 'RTE_LIBRTE_PMD_@0@_RAWDEV'\n driver_name_fmt = 'rte_pmd_@0@'\ndiff --git a/lib/meson.build b/lib/meson.build\nindex e067ce5ea..384867926 100644\n--- a/lib/meson.build\n+++ b/lib/meson.build\n@@ -34,6 +34,11 @@ if is_windows\n \tlibraries = ['kvargs','eal'] # only supported libraries for windows\n endif\n \n+enabled_libs = get_option('libs')\n+if enabled_libs != 'all'\n+\tlibraries = (enabled_libs == 'none') ? [] : enabled_libs.split(',')\n+endif\n+\n default_cflags = machine_args\n if cc.has_argument('-Wno-format-truncation')\n \tdefault_cflags += '-Wno-format-truncation'\ndiff --git a/meson_options.txt b/meson_options.txt\nindex 16d9f92c6..5184917b0 100644\n--- a/meson_options.txt\n+++ b/meson_options.txt\n@@ -2,6 +2,26 @@\n \n option('allow_invalid_socket_id', type: 'boolean', value: false,\n \tdescription: 'allow out-of-range NUMA socket id\\'s for platforms that don\\'t report the value correctly')\n+option('apps', type: 'string', value: 'all',\n+\tdescription: 'List of applications to build. Defaults to all')\n+option('drivers_baseband', type: 'string', value: 'all',\n+\tdescription: 'List of baseband drivers to build. Defaults to all')\n+option('drivers_bus', type: 'string', value: 'all',\n+\tdescription: 'List of bus drivers to build. Defaults to all')\n+option('drivers_common', type: 'string', value: 'all',\n+\tdescription: 'List of common drivers to build. Defaults to all')\n+option('drivers_compress', type: 'string', value: 'all',\n+\tdescription: 'List of compress drivers to build. Defaults to all')\n+option('drivers_crypto', type: 'string', value: 'all',\n+\tdescription: 'List of crypto drivers to build. Defaults to all')\n+option('drivers_event', type: 'string', value: 'all',\n+\tdescription: 'List of event drivers to build. Defaults to all')\n+option('drivers_mempool', type: 'string', value: 'all',\n+\tdescription: 'List of mempool drivers to build. Defaults to all')\n+option('drivers_net', type: 'string', value: 'all',\n+\tdescription: 'List of net drivers to build. Defaults to all')\n+option('drivers_raw', type: 'string', value: 'all',\n+\tdescription: 'List of rawdev drivers to build. Defaults to all')\n option('drivers_install_subdir', type: 'string', value: 'dpdk/pmds-<VERSION>',\n \tdescription: 'Subdirectory of libdir where to install PMDs. Defaults to using a versioned subdirectory.')\n option('enable_docs', type: 'boolean', value: false,\n@@ -16,6 +36,8 @@ option('include_subdir_arch', type: 'string', value: '',\n \tdescription: 'subdirectory where to install arch-dependent headers')\n option('kernel_dir', type: 'string', value: '',\n \tdescription: 'path to the kernel for building kernel modules, they will be installed in $DEST_DIR/$kernel_dir/../extra/dpdk')\n+option('libs', type: 'string', value: 'all',\n+\tdescription: 'List of libraries to build. Defaults to all')\n option('lib_musdk_dir', type: 'string', value: '',\n \tdescription: 'path to the MUSDK library installation directory')\n option('machine', type: 'string', value: 'native',\n",
    "prefixes": [
        "2/2"
    ]
}