From 37ea7e3788fc6217f855fed5344b45eb36e946df Mon Sep 17 00:00:00 2001 From: /dev/humancontroller Date: Thu, 13 Apr 2017 11:30:00 +0000 Subject: export symbols required for gamelogic shared libraries --- src/cgame/cg_main.c | 2 +- src/cgame/cg_syscalls.c | 2 +- src/game/g_main.c | 2 +- src/game/g_syscalls.c | 2 +- src/qcommon/q_shared.h | 10 ++++++++++ src/ui/ui_main.c | 2 +- src/ui/ui_syscalls.c | 2 +- 7 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/cgame/cg_main.c b/src/cgame/cg_main.c index d303b30..17505d1 100644 --- a/src/cgame/cg_main.c +++ b/src/cgame/cg_main.c @@ -43,7 +43,7 @@ This is the only way control passes into the module. This must be the very first function compiled into the .q3vm file ================ */ -intptr_t vmMain( int command, int arg0, int arg1, int arg2, int arg3, +Q_EXPORT intptr_t vmMain( int command, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11 ) { diff --git a/src/cgame/cg_syscalls.c b/src/cgame/cg_syscalls.c index 43afc2c..1239165 100644 --- a/src/cgame/cg_syscalls.c +++ b/src/cgame/cg_syscalls.c @@ -30,7 +30,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA static intptr_t (QDECL *syscall)( intptr_t arg, ... ) = (intptr_t (QDECL *)( intptr_t, ...))-1; -void dllEntry( intptr_t (QDECL *syscallptr)( intptr_t arg,... ) ) +Q_EXPORT void dllEntry( intptr_t (QDECL *syscallptr)( intptr_t arg,... ) ) { syscall = syscallptr; } diff --git a/src/game/g_main.c b/src/game/g_main.c index 732fecd..1d0e419 100644 --- a/src/game/g_main.c +++ b/src/game/g_main.c @@ -546,7 +546,7 @@ This is the only way control passes into the module. This must be the very first function compiled into the .q3vm file ================ */ -intptr_t vmMain( int command, int arg0, int arg1, int arg2, int arg3, int arg4, +Q_EXPORT intptr_t vmMain( int command, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11 ) { diff --git a/src/game/g_syscalls.c b/src/game/g_syscalls.c index cb4ceb6..6e3dc26 100644 --- a/src/game/g_syscalls.c +++ b/src/game/g_syscalls.c @@ -29,7 +29,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA static intptr_t (QDECL *syscall)( intptr_t arg, ... ) = (intptr_t (QDECL *)( intptr_t, ...))-1; -void dllEntry( intptr_t (QDECL *syscallptr)( intptr_t arg,... ) ) +Q_EXPORT void dllEntry( intptr_t (QDECL *syscallptr)( intptr_t arg,... ) ) { syscall = syscallptr; } diff --git a/src/qcommon/q_shared.h b/src/qcommon/q_shared.h index 0b3cb1d..14f68c4 100644 --- a/src/qcommon/q_shared.h +++ b/src/qcommon/q_shared.h @@ -72,6 +72,16 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #endif #endif +#if (defined _MSC_VER) +#define Q_EXPORT __declspec(dllexport) +#elif (defined __SUNPRO_C) +#define Q_EXPORT __global +#elif ((__GNUC__ >= 3) && (!__EMX__) && (!sun)) +#define Q_EXPORT __attribute__((visibility("default"))) +#else +#define Q_EXPORT +#endif + /********************************************************************** VM Considerations diff --git a/src/ui/ui_main.c b/src/ui/ui_main.c index b193f4f..addbccd 100644 --- a/src/ui/ui_main.c +++ b/src/ui/ui_main.c @@ -159,7 +159,7 @@ void _UI_KeyEvent( int key, qboolean down ); void _UI_MouseEvent( int dx, int dy ); void _UI_Refresh( int realtime ); qboolean _UI_IsFullscreen( void ); -intptr_t vmMain( int command, int arg0, int arg1, int arg2, int arg3, +Q_EXPORT intptr_t vmMain( int command, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11 ) { switch ( command ) { diff --git a/src/ui/ui_syscalls.c b/src/ui/ui_syscalls.c index 528658e..a27e573 100644 --- a/src/ui/ui_syscalls.c +++ b/src/ui/ui_syscalls.c @@ -28,7 +28,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA static intptr_t (QDECL *syscall)( intptr_t arg, ... ) = (intptr_t (QDECL *)( intptr_t, ...))-1; -void dllEntry( intptr_t (QDECL *syscallptr)( intptr_t arg,... ) ) { +Q_EXPORT void dllEntry( intptr_t (QDECL *syscallptr)( intptr_t arg,... ) ) { syscall = syscallptr; } -- cgit