summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/windows/winmain.h
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2009-02-28 22:10:06 +0000
committer Aaron Giles <aaron@aarongiles.com>2009-02-28 22:10:06 +0000
commite2757c60d2fa5e74909eff1e7a48ce5841ad47e5 (patch)
treeb30bddf750ef14f54e147b8d214d693af27f5d33 /src/osd/windows/winmain.h
parent42004cf3baf9c0307775c43096df36c1d5884bf4 (diff)
Modified the makefile to support experimental optional C++
compilation: - new option CPP_COMPILE to trigger this (off by default) - split CFLAGS into common, C-only, and C++-only flags - when enabled, CPP_COMPILE causes 'pp' to be appended to the target name NOTE THAT THE SYSTEM CANNOT ACTUALLY BE COMPILED THIS WAY YET. IT IS JUST AN EXPERIMENT. Modified lib.mak to always build zlib/expat as C regardless of CPP_COMPILE. Modified windows.mak to fix warnings with MAXOPT=1, and to leverage the new CFLAGs definitions. Modified vconv.c to do appropriate conversions for new C++ options. Updated sources so that libutil, libocore (Windows), and libosd (Windows) can be cleanly compiled as C or C++. This was mostly adding some casts against void *. Fixed a few more general obvious problems at random locations in the source: - device->class is now device->devclass - TYPES_COMPATIBLE uses typeid() when compiled for C++ - some functions with reserved names ('xor' in particular) were renamed - nested enums and structs were pulled out into separate definitions (under C++ these would need to be scoped to be referenced) - TOKEN_VALUE cannot use .field=x initialization in C++ :(
Diffstat (limited to 'src/osd/windows/winmain.h')
-rw-r--r--src/osd/windows/winmain.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/osd/windows/winmain.h b/src/osd/windows/winmain.h
index 7a601c051ae..790f7d276e7 100644
--- a/src/osd/windows/winmain.h
+++ b/src/osd/windows/winmain.h
@@ -82,6 +82,18 @@
//============================================================
+// MACROS
+//============================================================
+
+#ifdef __cplusplus
+#define WRAP_REFIID(x) x
+#else
+#define WRAP_REFIID(x) &x
+#endif
+
+
+
+//============================================================
// GLOBAL VARIABLES
//============================================================