]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/app.h
*** empty log message ***
[wxWidgets.git] / include / wx / app.h
index 0a6bccac707fbee8683b86670e1d64df24cfedf2..4b586b74ad30337576e0fd7b0db72a6e4b938c21 100644 (file)
 #ifndef __APPH_BASE__
 #define __APPH_BASE__
 
-/*
+#ifndef __GTK__
 class WXDLLEXPORT wxApp;
 typedef wxApp* (*wxAppInitializerFunction) (void);
-*/
+#endif
 
 #include "wx/object.h"
 
+#ifdef __GTK
 typedef wxObject* (*wxAppInitializerFunction) (void);  // returning wxApp* won't work with gcc
+#endif
 
 #if defined(__WINDOWS__)
 #include "wx/msw/app.h"
@@ -44,14 +46,22 @@ public:
        }
 };
 
+// Here's a macro you can use if your compiler
+// really, really wants main() to be in your main program
+// (e.g. hello.cpp).
+// Now IMPLEMENT_APP should add this code if required.
+
+#if defined(AIX) || defined(AIX4) /* || defined(____HPUX__) */
+#define IMPLEMENT_WXWIN_MAIN int main(int argc, char *argv[]) { return wxEntry(argc, argv); }
+#else
+#define IMPLEMENT_WXWIN_MAIN
+#endif
+
 #define IMPLEMENT_APP(appname)                          \
         wxApp *wxCreateApp(void) { return new appname; }      \
                wxAppInitializer wxTheAppInitializer((wxAppInitializerFunction) wxCreateApp); \
         appname& wxGetApp(void) { return *(appname *)wxTheApp; } \
-\
-        extern int wxEntry( int argc, char *argv[] ); \
-        int main(int argc, char *argv[]) { return wxEntry(argc, argv); }
-
+        IMPLEMENT_WXWIN_MAIN
 
 #define DECLARE_APP(appname) \
        extern appname& wxGetApp(void) ;