On Mon, Sep 30, 2019 at 11:19 PM Pallavi Kadam <pallavi.ka...@intel.com> wrote:
>
> Hi Jerin,
>
> On 9/27/2019 12:58 AM, Jerin Jacob wrote:
>
> On Fri, Sep 27, 2019 at 2:24 AM Pallavi Kadam <pallavi.ka...@intel.com> wrote:
>
> Adding dlfcn.h on Windows to support common code.
>
> Adding eal_filesystem.h to support functions and
> path defines for files and directories on Windows.
>
> Adding getopt.h to support parsing options on Windows.
>
> Adding rte_vect.h as Windows fails to compile:
> \common\include\arch\x86\rte_vect.h.
>
> Signed-off-by: Antara Ganesh Kolar <antara.ganesh.ko...@intel.com>
> Signed-off-by: Pallavi Kadam <pallavi.ka...@intel.com>
> Reviewed-by: Ranjit Menon <ranjit.me...@intel.com>
> Reviewed-by: Keith Wiles <keith.wi...@intel.com>
> ---
> diff --git a/lib/librte_eal/windows/eal/include/rte_vect.h 
> b/lib/librte_eal/windows/eal/include/rte_vect.h
> new file mode 100644
> index 000000000..630473e28
> --- /dev/null
> +++ b/lib/librte_eal/windows/eal/include/rte_vect.h
> @@ -0,0 +1,9 @@
> +/* SPDX-License-Identifier: BSD-3-Clause
> + * Copyright(c) 2019 Intel Corporation
> + */
> +
> +#pragma once
> +
> +#define __ICC  1600
> +
> +#include "..\..\common\include\arch\x86\rte_vect.h"
>
> I understand there is a compilation error with generic rte_vect.h with
> windows from the git commit.
> But above hardcoding to x86 will create an issue for another arch.
> Please fix the compilation
> for generic rte_vect.h or introduce vect.h as OS-specific and have
> implementation for Linux and FreeBSD.
>
> The error is due to conflict types in the compilers. Clang compiler and 
> Windows SDK
>
> both declare _m_prefetchw() in x86intrin.h file which is included from 
> generic rte_vect.h.
>
> Error is as below:
>
> C:\Program Files\LLVM\lib\clang\8.0.0\include\prfchwintrin.h:64:1: error: 
> conflicting types for '_m_prefetchw'
>
> _m_prefetchw(void *__P)
>
> ^
>
> C:\Program Files (x86)\Windows 
> Kits\10\include\10.0.17763.0\um\winnt.h:3275:1: note: previous declaration is 
> here
>
> _m_prefetchw (
>
> ^
>
>
> Is it ok to include #ifdef for other architectures in the above file itself?


If I understand it correctly, after completing the "make config"
stage, ./lib/librte_eal/common/include/arch/x86/rte_vect.h will be
mapped as build/include/rte_vect.h.
The application will build/include/rte_vect.h and it internally
include ./lib/librte_eal/common/include/generic/rte_vect.h.
If ./lib/librte_eal/common/include/arch/x86/rte_vect.h has compilation
issue, we can have #ifdef fix in arch/x86/rte_vect.h



>
>
>
>
> --
> 2.18.0.windows.1
>

Reply via email to