summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author/dev/humancontroller <devhc@example.com>2017-04-13 11:30:00 +0000
committer/dev/humancontroller <devhc@example.com>2017-04-15 12:15:45 +0200
commit37ea7e3788fc6217f855fed5344b45eb36e946df (patch)
treeef05dcf9d495d494c443b344e5492f7e80532814
parentac19d3b9c2fb3299b3f32485a17b21905d6dc363 (diff)
export symbols required for gamelogic shared libraries
-rw-r--r--src/cgame/cg_main.c2
-rw-r--r--src/cgame/cg_syscalls.c2
-rw-r--r--src/game/g_main.c2
-rw-r--r--src/game/g_syscalls.c2
-rw-r--r--src/qcommon/q_shared.h10
-rw-r--r--src/ui/ui_main.c2
-rw-r--r--src/ui/ui_syscalls.c2
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;
}