headers: Fix compile warning: EnumResourceNames redefined

Warning is:

    In file included from mingw-w64-headers/include/windows.h:70,
                     from crt/crtexewin.c:6,
                     from crt/ucrtexewin.c:14:
    mingw-w64-headers/include/winbase.h:2084: warning: "EnumResourceNames" redefined
     #define EnumResourceNames __MINGW_NAME_AW(EnumResourceNames)

    In file included from mingw-w64-headers/include/winbase.h:24,
                     from mingw-w64-headers/include/windows.h:70,
                     from crt/crtexewin.c:6,
                     from crt/ucrtexewin.c:14:
    mingw-w64-headers/include/libloaderapi.h:80: note: this is the location of the previous definition
     #define EnumResourceNames EnumResourceNamesW

Fix it by conditionally defining EnumResourceNames in winbase.h directly as
EnumResourceNamesA for non-UNICODE builds and let libloaderapi.h to define
EnumResourceNames as EnumResourceNamesW for UNICODE builds.

libloaderapi.h is automatically included in winbase.h, so caller of
winbase.h would have definition of EnumResourceNames for both UNICODE and
non-UNICODE builds.

Caller of libloaderapi.h would have only UNICODE definition of
EnumResourceNames because api-ms-win-core-libraryloader-l1-2-2.def and
kernel32_onecore.def do not provide non-UNICODE EnumResourceNamesA symbol.

Signed-off-by: LIU Hao <lh_mouse@126.com>
1 file changed