Add a couple msys2 updated mingw headers to winsdk-override to support linux cross-compile with stock mingw-w64 (nw)

This commit is contained in:
Brad Hughes 2016-07-02 16:03:01 -04:00
parent d348747601
commit f37865b329
3 changed files with 132 additions and 5 deletions

93
3rdparty/compat/winsdk-override/roapi.h vendored Normal file
View File

@ -0,0 +1,93 @@
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef __ROAPI_H__
#define __ROAPI_H__
#include <winapifamily.h>
#include <windows.h>
#include <sdkddkver.h>
#include <hstring.h>
#include <inspectable.h>
#include <activation.h>
typedef enum RO_INIT_TYPE {
#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
RO_INIT_SINGLETHREADED = 0,
#endif
RO_INIT_MULTITHREADED = 1
} RO_INIT_TYPE;
typedef struct { } *RO_REGISTRATION_COOKIE;
typedef HRESULT (WINAPI *PFNGETACTIVATIONFACTORY)(HSTRING, IActivationFactory **);
#ifdef __cplusplus
extern "C" {
#endif
HRESULT WINAPI RoActivateInstance(HSTRING activatableClassId, IInspectable **instance);
HRESULT WINAPI RoGetActivationFactory(HSTRING activatableClassId, REFIID iid, void **factory);
HRESULT WINAPI RoGetApartmentIdentifier(UINT64 *apartmentIdentifier);
HRESULT WINAPI RoInitialize(RO_INIT_TYPE initType);
HRESULT WINAPI RoRegisterActivationFactories(HSTRING *activatableClassIds, PFNGETACTIVATIONFACTORY *activationFactoryCallbacks, UINT32 count, RO_REGISTRATION_COOKIE *cookie);
void WINAPI RoRevokeActivationFactories(RO_REGISTRATION_COOKIE cookie);
void WINAPI RoUninitialize(void);
typedef interface IApartmentShutdown IApartmentShutdown;
DECLARE_HANDLE (APARTMENT_SHUTDOWN_REGISTRATION_COOKIE);
HRESULT WINAPI RoRegisterForApartmentShutdown (IApartmentShutdown *callbackObj, UINT64 *apartmentId, APARTMENT_SHUTDOWN_REGISTRATION_COOKIE *regCookie);
HRESULT WINAPI RoUnregisterForApartmentShutdown (APARTMENT_SHUTDOWN_REGISTRATION_COOKIE regCookie);
HRESULT WINAPI RoGetApartmentIdentifier (UINT64 *apartmentId);
#ifdef __cplusplus
} /* extern "C" */
namespace Windows {
namespace Foundation {
__inline HRESULT Initialize (RO_INIT_TYPE it
#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
= RO_INIT_SINGLETHREADED
#endif
) { return RoInitialize (it); }
__inline void Uninitialize ()
{ RoUninitialize (); }
template<class T> __inline HRESULT GetActivationFactory(HSTRING classid, T **factory) {
return RoGetActivationFactory(classid, IID_INS_ARGS(factory));
}
}
}
namespace ABI {
namespace Windows {
namespace Foundation {
__inline HRESULT Initialze (RO_INIT_TYPE it
#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
= RO_INIT_SINGLETHREADED
#endif
) { return RoInitialize (it); }
__inline void Uninitialize ()
{ RoUninitialize (); }
}
template<class T> __inline HRESULT GetActivationFactory(HSTRING classid, T **factory) {
return RoGetActivationFactory(classid, IID_INS_ARGS(factory));
}
}
}
#endif
#endif

View File

@ -0,0 +1,36 @@
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef _WRL_INTERNAL_H_
#define _WRL_INTERNAL_H_
#include <windows.h>
namespace Microsoft {
namespace WRL {
namespace Details {
struct BoolStruct {
int Member;
};
typedef int BoolStruct::* BoolType;
inline void DECLSPEC_NORETURN RaiseException(HRESULT hr, DWORD flags = EXCEPTION_NONCONTINUABLE) throw() {
::RaiseException(static_cast<DWORD>(hr), flags, 0, NULL);
}
template <bool b, typename T = void>
struct EnableIf {};
template <typename T>
struct EnableIf<true, T> {
typedef T type;
};
}
}
}
#endif

View File

@ -121,11 +121,9 @@ function osdmodulesbuild()
MAME_DIR .. "3rdparty/compat/mingw",
}
if _OPTIONS["MODERN_WIN_API"]~="1" then
includedirs {
MAME_DIR .. "3rdparty/compat/winsdk-override",
}
end
includedirs {
MAME_DIR .. "3rdparty/compat/winsdk-override",
}
end
if _OPTIONS["NO_OPENGL"]=="1" then