]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/defs.h
added DLL exports
[wxWidgets.git] / include / wx / defs.h
index c842b7f779206b368f9ce7f3308a766dd02dc9eb..e7c77c366c4e9f0a6f9285fed6a5b94561a3d211 100644 (file)
 #define _WX_DEFS_H_
 
 #ifdef __GNUG__
-#pragma interface "defs.h"
+    #pragma interface "defs.h"
 #endif
 
-#include <stddef.h>
-
-#include "wx/setup.h"
-
-#ifdef PACKAGE
-  #undef PACKAGE
-#endif
-#ifdef VERSION
-  #undef VERSION
-#endif
-
-#include "wx/version.h"
-
 // ----------------------------------------------------------------------------
 // compiler and OS identification
 // ----------------------------------------------------------------------------
@@ -39,9 +26,7 @@
     defined(__hpux) || defined(sun) || defined(__SUN__) || defined(_AIX) || \
     defined(__EMX__)
 
-    #ifndef __UNIX__
-        #define __UNIX__
-    #endif // Unix
+    #define __UNIX_LIKE__
 
     // Helps SGI compilation, apparently
     #ifdef __SGI__
@@ -78,7 +63,9 @@
     #ifndef __WXPM__
         #define __WXPM__
     #endif
+
     // Place other OS/2 compiler environment defines here
+    #define LINKAGEMODE _Optlink
 #else   // Windows
     #ifndef __WINDOWS__
         #define __WINDOWS__
     #endif  // compiler
 #endif  // OS
 
+// LINKAGEMODE mode is empty for everyting except OS/2
+#ifndef LINKAGEMODE
+    #define LINKAGEMODE
+#endif // LINKAGEMODE
+
 // suppress some Visual C++ warnings
 #ifdef __VISUALC__
 #   pragma warning(disable:4244)    // conversion from double to float
     #error "No Target! Use -D[__WXMOTIF__|__WXGTK__|__WXMSW__|__WXMAC__|__WXQT__|__WXPM__|__WXSTUBS__]"
 #endif
 
+// ----------------------------------------------------------------------------
+// wxWindows options
+// ----------------------------------------------------------------------------
+
+#include <stddef.h>
+
+#include "wx/setup.h"
+
+// just in case they were defined in setup.h
+#undef PACKAGE
+#undef VERSION
+
+// if we're on a Unixsystem but didn't use configure (so that setup.h didn't
+// define __UNIX__), do define __UNIX__ now
+#if !defined(__UNIX__) && defined(__UNIX_LIKE__)
+    #define __UNIX__
+#endif // Unix
+
+#include "wx/version.h"
+
 // ============================================================================
 // non portable C++ features
 // ============================================================================
@@ -1420,6 +1432,27 @@ typedef void *          WXDRAWITEMSTRUCT;
 typedef void *          WXMEASUREITEMSTRUCT;
 typedef void *          WXLPCREATESTRUCT;
 
+#if defined(__WXPM__)
+typedef unsigned long   WXMPARAM;
+typedef unsigned long   WXMSGID;
+typedef void*           WXRESULT;
+typedef int             (*WXFARPROC)();
+// some windows handles not defined by PM
+typedef unsigned long   HANDLE;
+typedef unsigned long   HICON;
+typedef unsigned long   HFONT;
+typedef unsigned long   HMENU;
+typedef unsigned long   HPEN;
+typedef unsigned long   HBRUSH;
+typedef unsigned long   HPALETTE;
+typedef unsigned long   HCURSOR;
+typedef unsigned long   HINSTANCE;
+typedef unsigned long   HIMAGELIST;
+typedef unsigned long   HGLOBAL;
+typedef unsigned long   DWORD;
+typedef unsigned short  WORD;
+#endif
+
 #if defined(__GNUWIN32__) || defined(__WXWINE__)
     typedef int (*WXFARPROC)();
 #elif defined(__WIN32__)