From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0058.outbound.protection.outlook.com [104.47.36.58]) by dpdk.org (Postfix) with ESMTP id 12C7A1B1BD for ; Fri, 19 Jan 2018 14:06:32 +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=qMzRZH2ZbMqZoHLWNsoH892ZB31nrIX/55ydK5VrihA=; b=WpVR9d1bukPnOkOZaC/izSOdyyUE7+gsHmfS/dyZ+t4cOGk4AQSaGtdKoEsD7o3Kn1ho40zsi14uCH3LqgvOinI7gTZ+w05T++pToy3iVOiF5LqGe57aVDJPOHdKna8RysEdXTJYFwVcrf0CfLX1AD0cGItCWufRc57deIDfZ14= Received: from Pavan-LT.caveonetworks.com (111.93.218.67) by CY4PR07MB3463.namprd07.prod.outlook.com (10.171.252.144) 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 13:06:29 +0000 From: Pavan Nikhilesh To: jerin.jacob@caviumnetworks.com, bruce.richardson@intel.com, harry.van.haaren@intel.com Cc: dev@dpdk.org, Pavan Nikhilesh Date: Fri, 19 Jan 2018 18:35:57 +0530 Message-Id: <20180119130558.6719-1-pbhagavatula@caviumnetworks.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171219105338.198727-1-bruce.richardson@intel.com> References: <20171219105338.198727-1-bruce.richardson@intel.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: YTOPR0101CA0059.CANPRD01.PROD.OUTLOOK.COM (52.132.42.36) To CY4PR07MB3463.namprd07.prod.outlook.com (10.171.252.144) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 39692dfa-93f0-4c9f-2901-08d55f3d75af X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:CY4PR07MB3463; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3463; 3:YKBjsx2qrE4jj2HR2JTME94j2Ip6iQcx48rcJi3jprP3cBctpauM/AhJdCDirGwtZVJwy7721FHN6OaeAF5U90z7ef3Y7CWcyrg8wSYniv05qM4GpOJ6YI8dzAocxl7pnxXV4hGHo0Y3pzdikmJBjKaF8lfeMgE48qtPA0Eh/uENQrYXSN9xRDdI34RNVcHnNMMCzk9kU8Rbz3KNQXroEui76o+EInJLtoTFOGx3XvgAIeVb4A581cB+Wcz/O1PL; 25:aAeEkvbVBNZG5Xnf9+6bNwXxqyzuiJIuslPQD07rqYEJJ65hfwI26xOi9JGMqwZ9g8nV99Zp+PR7vRMHiN661TWQNs3pTYw7NJ4xuAomZfZJjyQf5cdiy5YA1bqS5+goxsOh8ed4XOJAODu9fM1sYwW5kHxjQcE/m9NUT3GC5v5xNdNWi7TPg+tTdzGShxYykKwwHI8aX+VXdPtT9dM5HKGfrZJ7xqanB93rKfBkRHtWYbroD383iFMeYG7G74cEPncLyYYXzqv3256lSMwuTxR5pW8OEUP/VdzeE9Dt9Me2AotXBKwQIG4LO4GD04jam97I63de2IaFzUaLFh6tBQ==; 31:1FSQ713Ff/N13LxIGDN0jgC2fhngFk2+J/K6rLEbWO0yyTMGBoPOKwW+n9d2RNew+SAZODIGTrvkT88NDyt3KYORqHtQwIuSnunddqzK/42Lkpi53zTCwdmJIXDyXZdeby7e+1Ql7UqEAjZcq6WYyF8bF5Btg1FjQ9BkFL++yOODqTmQ9pqbdxFe0AY7vKW15JnEjK3ONO3YtHwmHpLrGIERD7NK8t7prymutowugto= X-MS-TrafficTypeDiagnostic: CY4PR07MB3463: X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3463; 20:FVO2XAJhFW1bdLM4fOjwszhZf09Za3Ci++phwqMQc7J8gvxLOCoeveOjpzWVC5qQESM1LZ/slt73HmRlU6LLGv1ISQdNcLuq1KEALkg2kkn/LQdfp4r8DvQwrKKj4XAgx5yT4Am+f9NlUChw5aPdce2zlnM0+UuvcXltnadilOubV44xVPOs+qgRkwDoVNBv6MNUQo04aNKiMY/NZXSiOvcNNCpqoa+E3kHar6fpjs0Rl22beK3eL0UN4tyeQ/HLn6XIS4gUC3PAPHZ090fnDwhsQNg0EvalmU35sG41+IEqATlOoFwdvc4gOIrNzeh2/+X3HsusYC1si948x30eHkdOIr5tsYpZTEzIJNo78u0tl2AJN2NsS1DqVoTrip5fBOPsM+ubY3+8+smkuUI1y7bt9RK2l2jqrNagr+hKEt3d6QJ+RoBKAz3603arcwkS1hgX9bjL6u+wdUapQLBS0lwGZ6BogQpyScWcSOfxvLfv6swk4v+yox0RaZeWjFbZhZ6GzWjRnZaxPOzj+uoh+VNHx/xJ7LE1ViuPLdqilBBAEsEq2tduiEN4zlaHuV6c0hSbtRwHqZlOAkLj14RglLq86bW7uI00gELKMMMoDK0=; 4:7ixCRWTquvXnjBGS2KENTByAXP9uUb5uqPY0EGjoxQxK/Obbj/U2QYKSN04uGOn/bB4kfgoDUeePRma1BEuaXes4DSTIFNovJsdr7hVPsVL1vxRCPI4i0O97s6DNqmHwBX62fvGiS4YxFxI2Oz2UCK7SmhO1BL3zZ4q1bVZyVuAktRMteDuGC6Pgd3aX5AHKEblABW13YyMOIENTGTPx2Sspr5r/DQQrRxF2tnds06m+DUoLXLRZpD3epgK9Sy9Ww7s+tj1qDyjO60e9MtqOo46KMQ9qB3M5p2Gxmm8H0LmYmI6UjvUbcmx6uqXxBCqv X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040495)(2401047)(8121501046)(5005006)(3231023)(2400077)(944501161)(3002001)(10201501046)(93006095)(6041282)(20161123560045)(20161123564045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(6072148)(201708071742011); SRVR:CY4PR07MB3463; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:CY4PR07MB3463; X-Forefront-PRVS: 0557CBAD84 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39860400002)(346002)(39380400002)(396003)(376002)(366004)(189003)(199004)(53416004)(4326008)(16586007)(81156014)(8676002)(6512007)(8936002)(6486002)(36756003)(53936002)(316002)(105586002)(50226002)(68736007)(81166006)(16526018)(25786009)(7736002)(97736004)(107886003)(69596002)(106356001)(48376002)(76176011)(50466002)(305945005)(6346003)(6116002)(3846002)(1076002)(6506007)(5009440100003)(386003)(2906002)(66066001)(47776003)(72206003)(5660300001)(59450400001)(51416003)(26005)(2950100002)(42882006)(478600001)(6666003)(52116002)(42262002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3463; H:Pavan-LT.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pavan.Bhagavatula@cavium.com; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3463; 23:CTTEKEopioD4B4btfd6GvEPgbEjjlXJr9/ECGhpsc?= =?us-ascii?Q?jnQRILL2Azc8Hv91IcAnhAHtRCKIK21kWiP6uVThrWNDlNe7Q/6qiBmK0jF7?= =?us-ascii?Q?wzdyExTuyTcnL8IdI6vpTkdKeQJNNNwrXFVBqiIKRnO57xubGCPPjQD/BQwQ?= =?us-ascii?Q?hVC+h9UgudTme0nzFJFal4RR/RVnqwQtTeIdE++69He2EtcbRbpUsxVUTT+k?= =?us-ascii?Q?gtNAbkPHLjXVwsJHe/StVXeiFlXb2iB3vW7Uey6AntCCUMQNx0XCK4fRMYoq?= =?us-ascii?Q?YEI53KQ9/dBd3MXPmPAcRPekrGRUpAAr22iSqHt9DSsXe0mexcQ7nplAHAAI?= =?us-ascii?Q?81o/LzDbgW5wWuKbJJiu1vhkuP9lFV1J6bdua98v+73/1eJlpMO/me6XnZTU?= =?us-ascii?Q?43biGeoGtoCYTimptxV9FMNUdoiqZAD/99kOKEn09LwVAsGNRV35o3tMI8X9?= =?us-ascii?Q?B9tcsGQ94aI1cD7anN2p4WrPLg1lnRGnM3lJ9JG0MfyaPnr76GB7MWGO8xLP?= =?us-ascii?Q?lWYhmgqfwo8/uV9ciwulj1FTa1iZSwPCr1KRzfzxpDxTYCdhPAl35v23Qpdn?= =?us-ascii?Q?4kjDN4WqsscT5xa2Oh5EPZbH6iMSR/BEOPwNMnEtpWUYSIFAD73Qr0vrxR9L?= =?us-ascii?Q?qeP2/Whw0sqi/ZZKZsagHOuH5tXOF/C+81J51PZJStPHJG4P7cJ+JHemmp9q?= =?us-ascii?Q?iPwp4NEoCYRnpHooe6U2txbziT7u4UuehTrcV+ljtQyJ7CC2vFdlxcXjUFZ/?= =?us-ascii?Q?Odq2sV2OdcZphyJ1Ar+3z9lS4AwONDZe0PxG2NTZ28jQY2YxRnQfsjZedATm?= =?us-ascii?Q?yD542x5Sw1xMHDv3m10ElkTu3XX3iK5F154B/KS16X4e/cS/yEK39Vv6stzB?= =?us-ascii?Q?ppmNbF2RTVGYqrNqUZ0dPNiM269hQE5HbIj98fxm4/H2ValVmtrg6ppWwv7s?= =?us-ascii?Q?OfS8NFDFmJ+Eailmc1CoAfUFhgLVYIshCrdsI5+rO2SbSgHAg6vZr3SiOcDo?= =?us-ascii?Q?ytjbO5LW2+YiZ3bjYHiaH/QQk/bfB84cDAVKBR6hp1dzPMD0cTvqjheEOTQn?= =?us-ascii?Q?cPumZO/RyY7OzrfR+Rytmhgm5i0Sh1sEDr3Og2+J0AZp0GebwFgvgF5LnoZk?= =?us-ascii?Q?9vbJSFBxfsD/Rqxsoi/T7VxKd2LIKb5pWW/5gcKlgwbkgTFT9Jj8YMYTV95s?= =?us-ascii?Q?dzzSxIqnaPnAPFvVMSwjai30yV07xJdSBd4o/5ssJmuxIfecw0MtKqH/3yn3?= =?us-ascii?Q?yXOod1en5vU00ZBzlL2iEHH4dLSJ+K7mL4OLcaA?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3463; 6:+nF2n+Iw2ULpUpbHc0NPoiNLDA2wDkl/lwBot80hXvKY5yWxhzUmFM2YTj15dLFLUYV/0khugy9vqSvWiIgOosy0OD6xRYI4pLr0teZeBoEN13ru8JFgc8VGibYFESg0ADMz7GNKhfeTHLwqwW7f2XX4Z4x9EnuNxYnycycR+/XyAnedV85n0d6BnU58M92lWCOKN9WqFrzDCPSAab85/ifd/wM3sDTdlhTV1sRpRaLytrO5XFJXAYE3HyU31KYMpPEyUmtmLmXfpULtaOcTw1lj72s2HYMWjThLYsR/O6ueaUQQ6M7/L6DnnPBZltw2IDuyM3xPUCYNLrMEA3pUpNWydRshifaF3zJkiC7eBA4=; 5:96wuKu6FmmSpVc6MwrUMxzk67uKFxaLkApTaFk/dpT2M7kvsxeeb5PJ9MmGR49SeQ/9TDQfmfP3zozRaRFmvFhbMxEt+toGp55kvfLmh0Q65O9B6cDceCTIby0dDc9FYh5WmbU2IGMR/Ac9gIPpalb2O7DXLgVLHWSacZ/PLL4A=; 24:aZKM4oGs+cnaa6KNbq29Jm7CF/uq2FLP8/BUdSM0fXj9W1NWKi5ndIh2zX/b3Nd8g1xELSJ+95wuvSBEQJWFTgOMvvdlrfLG47eTvA7fKhg=; 7:qv13jAuLY81AV8rUnWR5uWhjmu7zBNEchc4MRVAKl5q2UHxruFJ1ehTfMWbsThZZJc8mpdsgvFVkQpsogjFGGoAPUWuKdf2eSJY1t3hVw68TrhOtnh17qxC2PjJ6mX8MAvnAA0OQa9oXnXWrffRY3kdvGhwgkDI9l7kqXWfFtKXrK3+L80dhrlIB6jI3u+Xc+4B2CzfhZYLY8RggiQtEDEU8FKDjZn1s8lraH7Pqfxbh5kNk87VEL9BgpMDlmHzB SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2018 13:06:29.5880 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 39692dfa-93f0-4c9f-2901-08d55f3d75af X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3463 Subject: [dpdk-dev] [PATCH v2 1/2] build: add support for ARM builds 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 13:06:33 -0000 From: Bruce Richardson Add files to enable compiling for ARM cross builds. This can be tested by doing a cross-compile for armv8-a type using the linaro gcc toolchain. meson arm-build --cross-file aarch64_cross.txt ninja -C arm-build where aarch64_cross.txt contained the following [binaries] c = 'aarch64-linux-gnu-gcc' cpp = 'aarch64-linux-gnu-cpp' ar = 'aarch64-linux-gnu-ar' [host_machine] system = 'linux' cpu_family = 'aarch64' cpu = 'armv8-a' endian = 'little' Signed-off-by: Bruce Richardson Signed-off-by: Pavan Nikhilesh --- v2 Changes: - Merged RFC patch. - Added framework to easily other vendor specific flags - renamed machine_arg to machine_args config/arm/meson.build | 63 ++++++++++++++++++++++ config/meson.build | 4 +- lib/librte_eal/common/arch/arm/meson.build | 33 ++++++++++++ lib/librte_eal/common/include/arch/arm/meson.build | 57 ++++++++++++++++++++ 4 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 config/arm/meson.build create mode 100644 lib/librte_eal/common/arch/arm/meson.build create mode 100644 lib/librte_eal/common/include/arch/arm/meson.build diff --git a/config/arm/meson.build b/config/arm/meson.build new file mode 100644 index 000000000..0c2e57657 --- /dev/null +++ b/config/arm/meson.build @@ -0,0 +1,63 @@ +# BSD LICENSE +# +# Copyright(c) 2017 Intel Corporation. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Intel Corporation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# for checking defines we need to use the correct compiler flags +march_opt = '-march=@0@'.format(machine) + +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 + dpdk_conf.set('RTE_CACHE_LINE_SIZE', 64) + dpdk_conf.set('RTE_ARCH_ARM', 1) + dpdk_conf.set('RTE_ARCH_ARMv7', 1) +endif + +if cc.get_define('__ARM_NEON', args: march_opt) != '' + 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) != '' + 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) != '' + dpdk_conf.set('RTE_MACHINE_CPUFLAG_AES', 1) + dpdk_conf.set('RTE_MACHINE_CPUFLAG_PMULL', 1) + dpdk_conf.set('RTE_MACHINE_CPUFLAG_SHA1', 1) + dpdk_conf.set('RTE_MACHINE_CPUFLAG_SHA2', 1) + compile_time_cpuflags += ['RTE_CPUFLAG_AES', 'RTE_CPUFLAG_PMULL', + 'RTE_CPUFLAG_SHA1', 'RTE_CPUFLAG_SHA2'] +endif diff --git a/config/meson.build b/config/meson.build index 95223042f..fa55c53a5 100644 --- a/config/meson.build +++ b/config/meson.build @@ -56,8 +56,10 @@ endforeach compile_time_cpuflags = [] if host_machine.cpu_family().startswith('x86') arch_subdir = 'x86' - subdir(arch_subdir) +elif host_machine.cpu_family().startswith('arm') or host_machine.cpu_family().startswith('aarch') + arch_subdir = 'arm' endif +subdir(arch_subdir) dpdk_conf.set('RTE_COMPILE_TIME_CPUFLAGS', ','.join(compile_time_cpuflags)) # set the install path for the drivers diff --git a/lib/librte_eal/common/arch/arm/meson.build b/lib/librte_eal/common/arch/arm/meson.build new file mode 100644 index 000000000..57158271d --- /dev/null +++ b/lib/librte_eal/common/arch/arm/meson.build @@ -0,0 +1,33 @@ +# BSD LICENSE +# +# Copyright(c) 2017 Intel Corporation. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Intel Corporation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +eal_common_arch_sources = files('rte_cpuflags.c', + 'rte_cycles.c') diff --git a/lib/librte_eal/common/include/arch/arm/meson.build b/lib/librte_eal/common/include/arch/arm/meson.build new file mode 100644 index 000000000..c5d399bf1 --- /dev/null +++ b/lib/librte_eal/common/include/arch/arm/meson.build @@ -0,0 +1,57 @@ +# BSD LICENSE +# +# Copyright(c) 2017 Intel Corporation. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Intel Corporation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +install_headers( + 'rte_atomic_32.h', + 'rte_atomic_64.h', + 'rte_atomic.h', + 'rte_byteorder.h', + 'rte_cpuflags_32.h', + 'rte_cpuflags_64.h', + 'rte_cpuflags.h', + 'rte_cycles_32.h', + 'rte_cycles_64.h', + 'rte_cycles.h', + 'rte_io_64.h', + 'rte_io.h', + 'rte_memcpy_32.h', + 'rte_memcpy_64.h', + 'rte_memcpy.h', + 'rte_pause_32.h', + 'rte_pause_64.h', + 'rte_pause.h', + 'rte_prefetch_32.h', + 'rte_prefetch_64.h', + 'rte_prefetch.h', + 'rte_rwlock.h', + 'rte_spinlock.h', + 'rte_vect.h', + subdir: get_option('include_subdir_arch')) -- 2.14.1