From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0044.outbound.protection.outlook.com [104.47.42.44]) by dpdk.org (Postfix) with ESMTP id AA9151B35E for ; Fri, 19 Jan 2018 19:25:25 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=kczxhxLo3BJQ+WvBAw2j0i0XPFXZ/GuLkn6wRsc6ntk=; b=ZV8GKo5QF9evU8Zm/N8VhWVN4KYkeSaBvUoKQWO61iduUWObeqbnGSomYLw3PSwTLxC3YfBp5zE4Z2eaY9ES1Ge6wJyIeAE4K/PFr4SoBgdP9zdNnTOpK64Bx8O9HpnyyM/HRnanRS15T44maNU8VFrc2ShSTjHEjD0SL2u4bDw= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pavan.Bhagavatula@cavium.com; Received: from localhost.localdomain (111.93.218.67) by CY4PR07MB3464.namprd07.prod.outlook.com (10.171.252.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.428.17; Fri, 19 Jan 2018 18:25:20 +0000 From: Pavan Nikhilesh To: jerin.jacob@caviumnetworks.com, bruce.richardson@intel.com, harry.van.haaren@intel.com, herbert.guan@arm.com, hemant.agrawal@nxp.com Cc: dev@dpdk.org, Pavan Nikhilesh Date: Fri, 19 Jan 2018 23:53:49 +0530 Message-Id: <20180119182349.21935-2-pbhagavatula@caviumnetworks.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180119182349.21935-1-pbhagavatula@caviumnetworks.com> References: <20171219105338.198727-1-bruce.richardson@intel.com> <20180119182349.21935-1-pbhagavatula@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: SG2PR06CA0105.apcprd06.prod.outlook.com (10.170.138.31) To CY4PR07MB3464.namprd07.prod.outlook.com (10.171.252.145) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4be4e2ee-9b8d-461b-d4b4-08d55f6a0137 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:CY4PR07MB3464; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3464; 3:dgVGF1w+RtgybAFdXkdMFSSAdPJ9lCZdwj/PNScBMt0AAoNMOuxp/B43p2TMTsOYKWYcLTSSSQg2GJOB4dwEmoTA4jX1GdGYFFDTyTI3ZYbsl9R1u+x6TbVn/pvV5kwB2qfGRSudy50W3w8+jhzsUlejCqN9SpaAmzw0L9FZBeH0T1vcOpb714E1sJuK7kN6BVlibEAN9ZXEOjorDXU4s17sR02Er4XQYFa6hnYmDQG9RqhZAt8s8gMAtNrsXXZC; 25:TMf45kTPg6vdr+qMMMUJBdjh5PXKv0387N8B8NkJqKr1dFGhhocOr3cySRGoeVtUeu9zYox+rHEvBULYFiyLS6MptYbbwBjgRCYU18cbqWIGyzCl3AdjSPSVQF14fJ67XiWbeWHnJGEl7uJZSHAZVVfbRuLLhWg85NAER3w2DBVyvKlm1NSOIBL1rEBpQn1tY6Y4ee/gFQ1ndCmF9mzPGKqnGA6b0+YQCpi1dyrAzu7yAoNuqTXs8z45aEXM8LqintPLmzVsV8Pu5Hn2jkFLLVh1T9zC9OuAGzw4Idzdig5rI2YYd9+geGRDkgYhZyScSzqjX6TIxW2GxEL1FMVhzw==; 31:9k8sQJlCezc8HPMfuYPlw+kgb7ktjXNLOYhue7eD/hHCs4jPfudlDdxzV4Z2ZMoCEreQkkuWqRds6Tk148rhPWRKgX6Gv4Yh3r8USg/utDtNgoxKZc8mFx3MnPFgG8+OqD4YFF7FEkSfGTSwkam3IQ5nC9FaxjCYWuvFpvdwbSGruUO3+rOgd4ShaQh32iBmuFMIEhMwyZENCJvpqU/kj2OmsOYAgVimhUMVH4+YSVc= X-MS-TrafficTypeDiagnostic: CY4PR07MB3464: X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3464; 20:2PGZeGJob0i5L2n561dnmcTqxjRW1L8Cw6bgIG2zrHzE0BrluhmTL05YanzkwTFWTH/9wWTCxFlxLn+UcIP11roNiDcLsIt/VlSm1O5VCpRo7eLRckm240baI+IYn3EcaXRd1eOHZBU+5kmt535QCgfIeLXxxO5uRFNWnhpVNQUkYjyvR93OueALXeHl8pbWRTU7jI+TyzyIrh/K2qH6JD75Oi0m0tz0Rwj+F/gI0OWJguAtqDv0BIlYt2AluHjp3kf54ySLPmkyHScP0PMlun8rP4nWRPMc+ogkcLcp85/ZOwufDxB8LU0TC9rX8b53RxGDPlskgDMy+0pN2r8Kj6k42YL/HqtSarTaO9YNEnK4xdg9rTH70R8r47qH+GzwNHaQwvqU65yCI1Nx3DC55JnViwDMjh3D7BzMFvUaqQxyp624YQXORmDx8lij18IZu8Uv5OnC9rHLTiy+tx8U6dpC87qs1nKcttgD7By7iAMW6KkNGJ8paKrQhQXsgPXs5lsKFkfLi/8bBadH4/iYcRHI73+/qwKCgVDRAXAHus4pnjFaM2xdJxrK1WknY0AxQZMNMMHBwsye0tGLt3UGrp3o0uqONZlEroYmRmE9PyU=; 4:SRkMSgucPIBxOxqcBGeRD4m0JkFLZl0KvR5m8H2ehTIClizcDIA2mfR6QQnzBgEsk1ciZ9CDheJXVRSSAnoM6d9EuI2OC+7xdZFrDXXby8+ERGzaOSZ5i7WVxa/twYi2zPEqzunP+O9ceoPA3riG+v+XDTo/vfvxqRS3Gx2ZzJC0AFjrDqn380luQPhkWCM3Kfca4PFMrnwxoMsdJTfExkG3yLpTb7joFKNxw62wRKxtFL4hLWL54U/PEuYgksHUvQgoS0et4jMI2lnCiqRlFg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(10201501046)(3231023)(2400081)(944501161)(3002001)(93006095)(6041268)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123558120)(6072148)(201708071742011); SRVR:CY4PR07MB3464; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:CY4PR07MB3464; X-Forefront-PRVS: 0557CBAD84 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(39380400002)(39850400004)(396003)(376002)(346002)(366004)(199004)(189003)(5009440100003)(2906002)(107886003)(68736007)(50466002)(50226002)(81166006)(8936002)(4326008)(48376002)(66066001)(25786009)(26005)(575784001)(72206003)(8676002)(81156014)(42882006)(2950100002)(6666003)(51416003)(6486002)(52116002)(53936002)(6512007)(386003)(16526018)(47776003)(478600001)(316002)(6506007)(305945005)(5660300001)(6116002)(3846002)(1076002)(7736002)(76176011)(97736004)(36756003)(106356001)(105586002)(8656006)(16586007)(59450400001)(42262002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3464; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3464; 23:9nloBW4KvA8C90bYhzUZTWG+br7CKaKE2fQegl9UZ?= =?us-ascii?Q?wxkVrry9WNXZagvXcdgd6Oi/mRbpnXEvuoiK3bYy2KXZ2P6AsUm8KPgXSiR6?= =?us-ascii?Q?gxcm7N7a90w61+I2KVtnvXVQ6pCMVGskxSLSObZgkMb+yqIvOizTeCDaI20E?= =?us-ascii?Q?PXJ8us2bybj9TLcLBBL+3MUMSOhLh7pwrRfU7QGFYq3HYiH4WMDsn6Pf26Nl?= =?us-ascii?Q?Ij1+zYYJAYNgmf+qCkvDH7BtfcDgP3NI5HnauOUDq0QXzQdBESwxvkq7HXcp?= =?us-ascii?Q?623dOXEGrREF8sD0Rw7eoQNf4hOlLpao3I1syESl2AlySPW/YBVcx4ISSUM3?= =?us-ascii?Q?nTpqzMHdiAqWTl7YfUWi96eevRQbibspMfKHANSUbniy+kwohCUZXxJwSjpx?= =?us-ascii?Q?k4DRpPWoB7WXtxG2G3R6F7Oluqe73TrkpRuM3gQWyJWODu/r9FvDiGhXaM/3?= =?us-ascii?Q?QrNfKoTqUVI6RVvN9TETEz2TJjA6ZDCRRziAb1iORM7Lf7AjzVUPlld2ox0f?= =?us-ascii?Q?e/RhpGV1oDvqm7gRDNiUSO5wuL/4nKHPgT4bNcN+dnoHUdA4dC8miuCZWGPF?= =?us-ascii?Q?IXQEnACrX2pzW/OTQJSmZ/IsY0QTAsvpdWXeKy9O4Qt91Ya6aq8cMGZ/XA/P?= =?us-ascii?Q?bJHnRNUUQWyMyhlRJlcbTnRTGPdbpE9ijxM8/Qk/uR6YwBoZtSuaSvuwOhRd?= =?us-ascii?Q?sOFE2Px2NsXhEVuDJUNDmHPswt3ymMmx2hmn4ykxb1tEo0jQJ5O3yWqjOtyG?= =?us-ascii?Q?Vx907pfP8UVxP/2iHPFu5zDr0y2rtL+HZtsYjRSC1xOx+GnWaw0Imi94QGBK?= =?us-ascii?Q?bbdOfuMWM8+QtAZ5sdGg7JQarcC+OVZ64/T9EF/dQBkY75NsSIfzKUVHRyZr?= =?us-ascii?Q?t0+3lcnYNZPcgxF4Ih/habqsSffeMKX1VrSD5rzekEar4BMt3HntVRpae88q?= =?us-ascii?Q?CzKDBtmDY8G1R50V2lQ7wINZrdhH4OcAMUh4wbdAX8tBshQnismgR2uyhcbl?= =?us-ascii?Q?cWYjtm0dSGG48GP9eUUF2nUukWVdzm9d9qZU/BhJkgE5496Ik42P4ff7WYK0?= =?us-ascii?Q?w4YuJcnB9ap688UL/eGWBk+hy/5gR/vvGktULC0l58XHthcwISDq3caV3hlY?= =?us-ascii?Q?77103Hc67o2SbNKcbJKU3RN1kO9++3OLQzXHnsw8ZaiJX06BxGtPngLnrJnc?= =?us-ascii?Q?DvFpnieWKwqFPdv0Rwy6yLCkAUogROCggFRBzdXR9IsZsfpDvWprwMu9h/k7?= =?us-ascii?Q?QIH6RaztqHmuRONLZTgqFsMOtejoEdIt5jXGGP9?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3464; 6:H8ik55w9MySvPSyN0NzpgDJ52Ys3uNGXfKcsVFIFWrT8vqFLyKXqSECoB8BFX2i1klN9xoLx8CQH3VU71s9DINErmLcFYCab3agSBxTiVSGL+z7+URoiDb3m9aD8FrmMjHt+Mka8lC/BNwhdTUHzaRHCF50sQVcK2y6SnyNdoVgzIGLvqWRDPYG1ZmcU6IrevGDwOFt0Xs/PY6UI3oR6/SGypcJpHDrTBamSqiSs1QfXkXJXKP8+BQ022AJt5kJquo/3h9ADzatDwrVJ9v3w/uMIFdFsYGz0pVjwp1jDlV2hA34S53qzY0njRkn2n3+XhGzgh+XDWA3yLm2dvfvhCsqvJnEeaNAk1dahYsi/rgM=; 5:bxiK2KYRwMCGOB65Lpfd0aGEIAb8T2zHAekXhn6rBh4KC3+Mkr8pO4T2ocDdtkKrESMnnGym5P7PtS6hqNIQ6m8o9QA/U/mmzZhmmR1/ZeT6daIZOvZEmMCU2LMi3vUe/SgqoFmBast5+Q5CGwp0/IttKbUqGvtpXGPvyIXtASo=; 24:wyvn1F4e67DgwFQJMNdJUfZMFJ9fuASsFYSPKjuKut/Q0zVc4uMkm4Jpe3Cy6Tigu8B72uJ5ixTfXcykga+RqByif6fJpR9e4C86XjBQ6fs=; 7:SfwzNUEBBhDEbhxUUN6XjxtlF0nc88EtnuqPxPGfbGJTqYjWk2NHIP2AUpqiaHsrTuOGo33IoAcAxULAVfDug5ETxYhBxbX6ONXNyd1gN2HcJ0KT6SmZQdkfUZGhJ7+OQ/aFRNHxkBgeY6jDKinxbVPn0k1xnUYegyYkDtiCKmwGdPLU8QZcCuD0HklmsI3lzbgIvD2uSuKAwF2M/jV45/83/MtVMFdpV/Noez0G0YoPx+ZPlN8m/Rw20cFog4ZR SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2018 18:25:20.9713 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4be4e2ee-9b8d-461b-d4b4-08d55f6a0137 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3464 Subject: [dpdk-dev] [PATCH v4 2/2] build: add support for detecting march on ARM 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: , X-List-Received-Date: Fri, 19 Jan 2018 18:25:26 -0000 Added support for detecting march and mcpu by reading midr_el1 register. The implementer, primary part number values read can be used to figure out the underlying arm cpu. Signed-off-by: Pavan Nikhilesh --- app/test-pmd/meson.build | 2 +- config/arm/armv8_machine.py | 18 +++++++++++ config/arm/meson.build | 76 ++++++++++++++++++++++++++++++++++++++++----- config/meson.build | 19 ++++++------ drivers/meson.build | 2 +- examples/meson.build | 2 +- lib/meson.build | 2 +- meson.build | 2 +- test/test/meson.build | 2 +- 9 files changed, 102 insertions(+), 23 deletions(-) create mode 100755 config/arm/armv8_machine.py diff --git a/app/test-pmd/meson.build b/app/test-pmd/meson.build index e819677a5..2a3f0ba1f 100644 --- a/app/test-pmd/meson.build +++ b/app/test-pmd/meson.build @@ -45,7 +45,7 @@ endif executable('dpdk-testpmd', sources, - c_args: machine_arg, + c_args: machine_args, link_whole: link_libs, dependencies: dep_objs, install_rpath: join_paths(get_option('prefix'), driver_install_path), diff --git a/config/arm/armv8_machine.py b/config/arm/armv8_machine.py new file mode 100755 index 000000000..404866d2f --- /dev/null +++ b/config/arm/armv8_machine.py @@ -0,0 +1,18 @@ +#!/usr/bin/python +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2017 Cavium, Inc + +ident = [] +fname = '/sys/devices/system/cpu/cpu0/regs/identification/midr_el1' +with open(fname) as f: + content = f.read() + +midr_el1 = (int(content.rstrip('\n'), 16)) + +ident.append(hex((midr_el1 >> 24) & 0xFF)) # Implementer +ident.append(hex((midr_el1 >> 20) & 0xF)) # Variant +ident.append(hex((midr_el1 >> 16) & 0XF)) # Architecture +ident.append(hex((midr_el1 >> 4) & 0xFFF)) # Primary Part number +ident.append(hex(midr_el1 & 0xF)) # Revision + +print(' '.join(ident)) diff --git a/config/arm/meson.build b/config/arm/meson.build index f05de4c2c..1bed82236 100644 --- a/config/arm/meson.build +++ b/config/arm/meson.build @@ -5,28 +5,88 @@ # for checking defines we need to use the correct compiler flags march_opt = '-march=@0@'.format(machine) +machine_args_cavium = [ + ['default', ['-march=armv8-a+crc+crypto','-mcpu=thunderx']], + ['0xa1', ['-mcpu=thunderxt88']], + ['0xa2', ['-mcpu=thunderxt81']], + ['0xa3', ['-mcpu=thunderxt83']]] + +flags_cavium = [ + ['RTE_MACHINE', '"thunderx"'], + ['RTE_CACHE_LINE_SIZE', 128], + ['RTE_MAX_NUMA_NODES', 2], + ['RTE_MAX_LCORE', 96], + ['RTE_MAX_VFIO_GROUPS', 128], + ['RTE_RING_USE_C11_MEM_MODEL', false]] + +impl_0x43 = ['Cavium', flags_cavium, machine_args_cavium] + +dpdk_conf.set_quoted('RTE_TOOLCHAIN', 'gcc') +dpdk_conf.set('RTE_TOOLCHAIN_GCC', 1) dpdk_conf.set('RTE_FORCE_INTRINSICS', 1) -if cc.sizeof('void *') == 8 - dpdk_conf.set('RTE_CACHE_LINE_SIZE', 128) - dpdk_conf.set('RTE_ARCH_ARM64', 1) - dpdk_conf.set('RTE_ARCH_64', 1) -else + +if cc.sizeof('void *') != 8 dpdk_conf.set('RTE_CACHE_LINE_SIZE', 64) dpdk_conf.set('RTE_ARCH_ARM', 1) dpdk_conf.set('RTE_ARCH_ARMv7', 1) +else + dpdk_conf.set('RTE_CACHE_LINE_SIZE', 128) + dpdk_conf.set('RTE_ARCH_ARM64', 1) + dpdk_conf.set('RTE_ARCH_64', 1) + + if not meson.is_cross_build() + # The script returns ['Implementor', 'Variant', 'Architecture', + # 'Primary Part number', 'Revision'] + detect_vendor = find_program(join_paths( + meson.current_source_dir(), 'armv8_machine.py')) + cmd = run_command(detect_vendor.path()) + if cmd.returncode() != 0 + message('Using default armv8 config') + else + machine_args = [] # Clear previous machine args + cmd_output = cmd.stdout().strip().split(' ') + machine = get_variable('impl_' + cmd_output[0]) + message('Implementor : ' + machine[0]) + + foreach flag: machine[1] + dpdk_conf.set(flag[0], flag[1]) + endforeach + + # Primary part number based mcpu flags are supported + # for gcc versions > 7 + if cc.version().version_compare('<7.0') + foreach marg: machine[2] + if marg[0] == 'default' + foreach f: marg[1] + machine_args += f + endforeach + endif + endforeach + else + foreach marg: machine[2] + if marg[0] == cmd_output[3] + foreach f: marg[1] + machine_args += f + endforeach + endif + endforeach + endif + endif + endif endif +message(machine_args) -if cc.get_define('__ARM_NEON', args: march_opt) != '' +if cc.get_define('__ARM_NEON', args: machine_args) != '' dpdk_conf.set('RTE_MACHINE_CPUFLAG_NEON', 1) compile_time_cpuflags += ['RTE_CPUFLAG_NEON'] endif -if cc.get_define('__ARM_FEATURE_CRC32', args: march_opt) != '' +if cc.get_define('__ARM_FEATURE_CRC32', args: machine_args) != '' dpdk_conf.set('RTE_MACHINE_CPUFLAG_CRC32', 1) compile_time_cpuflags += ['RTE_CPUFLAG_CRC32'] endif -if cc.get_define('__ARM_FEATURE_CRYPTO', args: march_opt) != '' +if cc.get_define('__ARM_FEATURE_CRYPTO', args: machine_args) != '' dpdk_conf.set('RTE_MACHINE_CPUFLAG_AES', 1) dpdk_conf.set('RTE_MACHINE_CPUFLAG_PMULL', 1) dpdk_conf.set('RTE_MACHINE_CPUFLAG_SHA1', 1) diff --git a/config/meson.build b/config/meson.build index fa55c53a5..f8c67578d 100644 --- a/config/meson.build +++ b/config/meson.build @@ -8,7 +8,8 @@ else machine = get_option('machine') endif dpdk_conf.set('RTE_MACHINE', machine) -machine_arg = '-march=' + machine +machine_args = [] +machine_args += '-march=' + machine # use pthreads add_project_link_arguments('-pthread', language: 'c') @@ -53,6 +54,14 @@ foreach arg: warning_flags endif endforeach +# set other values pulled from the build options +dpdk_conf.set('RTE_MAX_LCORE', get_option('max_lcores')) +dpdk_conf.set('RTE_MAX_NUMA_NODES', get_option('max_numa_nodes')) +dpdk_conf.set('RTE_LIBEAL_USE_HPET', get_option('use_hpet')) +dpdk_conf.set('RTE_EAL_ALLOW_INV_SOCKET_ID', get_option('allow_invalid_socket_id')) +# values which have defaults which may be overridden +dpdk_conf.set('RTE_MAX_VFIO_GROUPS', 64) + compile_time_cpuflags = [] if host_machine.cpu_family().startswith('x86') arch_subdir = 'x86' @@ -65,12 +74,4 @@ dpdk_conf.set('RTE_COMPILE_TIME_CPUFLAGS', ','.join(compile_time_cpuflags)) # set the install path for the drivers dpdk_conf.set_quoted('RTE_EAL_PMD_PATH', eal_pmd_path) -# set other values pulled from the build options -dpdk_conf.set('RTE_MAX_LCORE', get_option('max_lcores')) -dpdk_conf.set('RTE_MAX_NUMA_NODES', get_option('max_numa_nodes')) -dpdk_conf.set('RTE_LIBEAL_USE_HPET', get_option('use_hpet')) -dpdk_conf.set('RTE_EAL_ALLOW_INV_SOCKET_ID', get_option('allow_invalid_socket_id')) -# values which have defaults which may be overridden -dpdk_conf.set('RTE_MAX_VFIO_GROUPS', 64) - install_headers('rte_config.h', subdir: get_option('include_subdir_arch')) diff --git a/drivers/meson.build b/drivers/meson.build index 9b5039847..1d6430bfe 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -22,7 +22,7 @@ foreach class:driver_classes version = 1 sources = [] objs = [] - cflags = [machine_arg] + cflags = machine_args includes = [include_directories(drv_path)] # set up internal deps. Drivers can append/override as necessary deps = std_deps diff --git a/examples/meson.build b/examples/meson.build index 0abed7169..b3f997242 100644 --- a/examples/meson.build +++ b/examples/meson.build @@ -9,7 +9,7 @@ endif foreach example: get_option('examples').split(',') name = example sources = [] - cflags = [machine_arg] + cflags = machine_args ext_deps = [] includes = [include_directories(example)] deps = ['eal', 'mempool', 'net', 'mbuf', 'ethdev', 'cmdline'] diff --git a/lib/meson.build b/lib/meson.build index 0c94d74b9..b9ea6f61b 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -31,7 +31,7 @@ foreach l:libraries sources = [] headers = [] includes = [] - cflags = [machine_arg] + cflags = machine_args objs = [] # other object files to link against, used e.g. for # instruction-set optimized versions of code diff --git a/meson.build b/meson.build index 3dce8579e..326fbc7d1 100644 --- a/meson.build +++ b/meson.build @@ -66,5 +66,5 @@ pkg.generate(name: meson.project_name(), ['-Wl,-Bdynamic'] + dpdk_extra_ldflags, description: 'The Data Plane Development Kit (DPDK)', subdirs: [get_option('include_subdir_arch'), '.'], - extra_cflags: ['-include "rte_config.h"', machine_arg] + extra_cflags: ['-include "rte_config.h"'] + machine_args ) diff --git a/test/test/meson.build b/test/test/meson.build index 1863c603c..873efbc07 100644 --- a/test/test/meson.build +++ b/test/test/meson.build @@ -204,7 +204,7 @@ if get_option('tests') test_sources, link_whole: link_libs, dependencies: test_dep_objs, - c_args: machine_arg, + c_args: machine_args, install_rpath: driver_install_path, install: false) -- 2.15.1