Commit 54a0245b70b01b8725de24794ae5049a66a1be1e

Sam Lantinga 2017-11-01T17:41:25

Fixed bug 3926 - SDL_main export e_pluschauskas I noticed that after updating SDL to 2.0.6 my application now exports SDL_main. At GitHub SDL mirror (branch 2.0.5) SDL_main prototyped as extern C_LINKAGE int SDL_main(int argc, char *argv[]); but at branch 2.0.6 prototype is extern C_LINKAGE DECLSPEC int SDL_main(int argc, char *argv[]);

diff --git a/include/SDL_main.h b/include/SDL_main.h
index 2af3236..9d1cb0a 100644
--- a/include/SDL_main.h
+++ b/include/SDL_main.h
@@ -63,10 +63,13 @@
 /* On Android SDL provides a Java class in SDLActivity.java that is the
    main activity entry point.
 
-   See README-android.md for more details on extending that class.
+   See docs/README-android.md for more details on extending that class.
  */
 #define SDL_MAIN_NEEDED
 
+/* We need to export SDL_main so it can be launched from Java */
+#define SDLMAIN_DECLSPEC    DECLSPEC
+
 #elif defined(__NACL__)
 /* On NACL we use ppapi_simple to set up the application helper code,
    then wait for the first PSE_INSTANCE_DIDCHANGEVIEW event before 
@@ -85,6 +88,10 @@
 #define C_LINKAGE
 #endif /* __cplusplus */
 
+#ifndef SDLMAIN_DECLSPEC
+#define SDLMAIN_DECLSPEC
+#endif
+
 /**
  *  \file SDL_main.h
  *
@@ -107,7 +114,7 @@
 /**
  *  The prototype for the application's main() function
  */
-extern C_LINKAGE DECLSPEC int SDL_main(int argc, char *argv[]);
+extern C_LINKAGE SDLMAIN_DECLSPEC int SDL_main(int argc, char *argv[]);
 
 
 #include "begin_code.h"