I have implemented some basic WRL functionality. This is the first patch
that just adds placeholder files and deals with required build system
changes. More will follow.

---
 mingw-w64-headers/Makefile.am                      |  6 ++++++
 mingw-w64-headers/configure.ac                     |  4 ++++
 mingw-w64-headers/include/wrl.h                    | 15 ++++++++++++++
 mingw-w64-headers/include/wrl/client.h             | 18 +++++++++++++++++
 mingw-w64-headers/include/wrl/internal.h           | 12 +++++++++++
 mingw-w64-headers/include/wrl/module.h             | 23
++++++++++++++++++++++
 .../include/wrl/wrappers/corewrappers.h            | 18 +++++++++++++++++
 7 files changed, 96 insertions(+)
 create mode 100644 mingw-w64-headers/include/wrl.h
 create mode 100644 mingw-w64-headers/include/wrl/client.h
 create mode 100644 mingw-w64-headers/include/wrl/internal.h
 create mode 100644 mingw-w64-headers/include/wrl/module.h
 create mode 100644 mingw-w64-headers/include/wrl/wrappers/corewrappers.h


diff --git a/mingw-w64-headers/Makefile.am b/mingw-w64-headers/Makefile.am
index f2981de..e0f60fa 100644
--- a/mingw-w64-headers/Makefile.am
+++ b/mingw-w64-headers/Makefile.am
@@ -5,6 +5,8 @@ secheaddir = $(baseheaddir)/sec_api
 secsysheaddir = $(baseheaddir)/sec_api/sys
 glheaddir = $(baseheaddir)/GL
 gdiplusheaddir = $(baseheaddir)/gdiplus
+wrlheaddir = $(baseheaddir)/wrl
+wrlwrappersheaddir = $(baseheaddir)/wrl/wrappers
 mingwhelperheaddir = $(baseheaddir)/psdk_inc
 sdksheaddir = $(baseheaddir)/sdks
 
@@ -14,6 +16,8 @@ sechead_HEADERS = @SECHEAD_LIST@
 secsyshead_HEADERS = @SECSYSHEAD_LIST@
 glhead_HEADERS = @GLHEAD_LIST@
 gdiplushead_HEADERS = @GDIPLUSHEAD_LIST@
+wrlhead_HEADERS = @WRLHEAD_LIST@
+wrlwrappershead_HEADERS = @WRLWRAPPERSHEAD_LIST@
 mingwhelperhead_HEADERS = @MINGWHELPERHEAD_LIST@
 nodist_sdkshead_HEADERS = _mingw_directx.h _mingw_ddk.h
 noinst_HEADERS = crt/sdks/_mingw_directx.h.in crt/sdks/_mingw_ddk.h.in
@@ -47,6 +51,8 @@ EXTRA_HEADERS = \
   include/GL/*.h \
   include/psdk_inc/*.h \
   include/gdiplus/*.h \
+  include/wrl/*.h \
+  include/wrl/wrappers/*.h \
   crt/*.h \
   crt/*.inl \
   crt/sys/*.h \
diff --git a/mingw-w64-headers/configure.ac b/mingw-w64-headers/configure.ac
index 7e3863d..60473b1 100644
--- a/mingw-w64-headers/configure.ac
+++ b/mingw-w64-headers/configure.ac
@@ -76,10 +76,14 @@ AS_VAR_IF([enable_crt],[yes],[
   SECSYSHEAD_LIST=$srcdir/crt/sec_api/sys/*.h
 ])
 GDIPLUSHEAD_LIST=$srcdir/include/gdiplus/*.h
+WRLHEAD_LIST=$srcdir/include/wrl/*.h
+WRLWRAPPERSHEAD_LIST=$srcdir/include/wrl/wrappers/*.h
 GLHEAD_LIST=$srcdir/include/GL/*.h
 MINGWHELPERHEAD_LIST=$srcdir/include/psdk_inc/*.h
 AC_SUBST([BASEHEAD_LIST])
 AC_SUBST([GDIPLUSHEAD_LIST])
+AC_SUBST([WRLHEAD_LIST])
+AC_SUBST([WRLWRAPPERSHEAD_LIST])
 AC_SUBST([GLHEAD_LIST])
 AC_SUBST([MINGWHELPERHEAD_LIST])
 AC_SUBST([SYSHEAD_LIST])
diff --git a/mingw-w64-headers/include/wrl.h b/mingw-w64-headers/include/wrl.h
new file mode 100644
index 0000000..be147fe
--- /dev/null
+++ b/mingw-w64-headers/include/wrl.h
@@ -0,0 +1,15 @@
+/**
+ * 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_H_
+#define _WRL_H_
+
+#include <wrl/client.h>
+/* #include <wrl/implements.h> */
+#include <wrl/module.h>
+/* #include <wrl/event.h> */
+
+#endif
diff --git a/mingw-w64-headers/include/wrl/client.h b/mingw-w64-headers/include/wrl/client.h
new file mode 100644
index 0000000..3cc2685
--- /dev/null
+++ b/mingw-w64-headers/include/wrl/client.h
@@ -0,0 +1,18 @@
+/**
+ * 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_CLIENT_H_
+#define _WRL_CLIENT_H_
+
+#include <stddef.h>
+#include <unknwn.h>
+/* #include <weakreference.h> */
+#include <roapi.h>
+
+/* #include <wrl/def.h> */
+#include <wrl/internal.h>
+
+#endif
diff --git a/mingw-w64-headers/include/wrl/internal.h b/mingw-w64-headers/include/wrl/internal.h
new file mode 100644
index 0000000..81bf347
--- /dev/null
+++ b/mingw-w64-headers/include/wrl/internal.h
@@ -0,0 +1,12 @@
+/**
+ * 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>
+
+#endif
diff --git a/mingw-w64-headers/include/wrl/module.h b/mingw-w64-headers/include/wrl/module.h
new file mode 100644
index 0000000..4ac93ca
--- /dev/null
+++ b/mingw-w64-headers/include/wrl/module.h
@@ -0,0 +1,23 @@
+/**
+ * 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_MODULE_H_
+#define _WRL_MODULE_H_
+
+#include <roapi.h>
+#include <activation.h>
+#include <winstring.h>
+#include <intrin.h>
+#include <winapifamily.h>
+
+/* #include <wrl/def.h> */
+#include <wrl/internal.h>
+#include <wrl/client.h>
+/* #include <wrl/implements.h> */
+/* #include <wrl/ftm.h> */
+#include <wrl/wrappers/corewrappers.h>
+
+#endif
diff --git a/mingw-w64-headers/include/wrl/wrappers/corewrappers.h b/mingw-w64-headers/include/wrl/wrappers/corewrappers.h
new file mode 100644
index 0000000..e63d5e9
--- /dev/null
+++ b/mingw-w64-headers/include/wrl/wrappers/corewrappers.h
@@ -0,0 +1,18 @@
+/**
+ * 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_COREWRAPPERS_H_
+#define _WRL_COREWRAPPERS_H_
+
+#include <windows.h>
+/* #include <intsafe.h> */
+#include <winstring.h>
+#include <roapi.h>
+
+/* #include <wrl/def.h> */
+#include <wrl/internal.h>
+
+#endif

------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to