[quake3-commits] r1609 - in trunk: . code/cgame code/game code/q3_ui code/qcommon code/ui
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Mon Sep 14 22:48:17 EDT 2009
Author: icculus
Date: 2009-09-14 22:48:17 -0400 (Mon, 14 Sep 2009)
New Revision: 1609
Modified:
trunk/Makefile
trunk/code/cgame/cg_main.c
trunk/code/cgame/cg_syscalls.c
trunk/code/game/g_main.c
trunk/code/game/g_syscalls.c
trunk/code/q3_ui/ui_main.c
trunk/code/qcommon/q_shared.h
trunk/code/ui/ui_main.c
trunk/code/ui/ui_syscalls.c
Log:
Enable -fvisibility=hidden on Linux.
This will prevent further symbol clashes, and makes the shared libraries
10 to 20 percent smaller.
We should enable this on other platforms, too, if we can guarantee they'll
use gcc 4.0 or later and the platform supports it.
Modified: trunk/Makefile
===================================================================
--- trunk/Makefile 2009-09-15 01:48:58 UTC (rev 1608)
+++ trunk/Makefile 2009-09-15 02:48:17 UTC (rev 1609)
@@ -304,7 +304,7 @@
endif
SHLIBEXT=so
- SHLIBCFLAGS=-fPIC
+ SHLIBCFLAGS=-fPIC -fvisibility=hidden
SHLIBLDFLAGS=-shared $(LDFLAGS)
THREAD_LIBS=-lpthread
Modified: trunk/code/cgame/cg_main.c
===================================================================
--- trunk/code/cgame/cg_main.c 2009-09-15 01:48:58 UTC (rev 1608)
+++ trunk/code/cgame/cg_main.c 2009-09-15 02:48:17 UTC (rev 1609)
@@ -43,7 +43,7 @@
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, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11 ) {
+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 ) {
case CG_INIT:
Modified: trunk/code/cgame/cg_syscalls.c
===================================================================
--- trunk/code/cgame/cg_syscalls.c 2009-09-15 01:48:58 UTC (rev 1608)
+++ trunk/code/cgame/cg_syscalls.c 2009-09-15 02:48:17 UTC (rev 1609)
@@ -31,7 +31,7 @@
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;
}
Modified: trunk/code/game/g_main.c
===================================================================
--- trunk/code/game/g_main.c 2009-09-15 01:48:58 UTC (rev 1608)
+++ trunk/code/game/g_main.c 2009-09-15 02:48:17 UTC (rev 1609)
@@ -198,7 +198,7 @@
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, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11 ) {
+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 ) {
case GAME_INIT:
G_InitGame( arg0, arg1, arg2 );
Modified: trunk/code/game/g_syscalls.c
===================================================================
--- trunk/code/game/g_syscalls.c 2009-09-15 01:48:58 UTC (rev 1608)
+++ trunk/code/game/g_syscalls.c 2009-09-15 02:48:17 UTC (rev 1609)
@@ -31,7 +31,7 @@
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;
}
Modified: trunk/code/q3_ui/ui_main.c
===================================================================
--- trunk/code/q3_ui/ui_main.c 2009-09-15 01:48:58 UTC (rev 1608)
+++ trunk/code/q3_ui/ui_main.c 2009-09-15 02:48:17 UTC (rev 1609)
@@ -40,7 +40,7 @@
This must be the very first function compiled into the .qvm file
================
*/
-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 ) {
+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 ) {
case UI_GETAPIVERSION:
return UI_API_VERSION;
Modified: trunk/code/qcommon/q_shared.h
===================================================================
--- trunk/code/qcommon/q_shared.h 2009-09-15 01:48:58 UTC (rev 1608)
+++ trunk/code/qcommon/q_shared.h 2009-09-15 02:48:17 UTC (rev 1609)
@@ -81,6 +81,16 @@
#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
Modified: trunk/code/ui/ui_main.c
===================================================================
--- trunk/code/ui/ui_main.c 2009-09-15 01:48:58 UTC (rev 1608)
+++ trunk/code/ui/ui_main.c 2009-09-15 02:48:17 UTC (rev 1609)
@@ -164,7 +164,7 @@
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, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11 ) {
+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 ) {
case UI_GETAPIVERSION:
return UI_API_VERSION;
Modified: trunk/code/ui/ui_syscalls.c
===================================================================
--- trunk/code/ui/ui_syscalls.c 2009-09-15 01:48:58 UTC (rev 1608)
+++ trunk/code/ui/ui_syscalls.c 2009-09-15 02:48:17 UTC (rev 1609)
@@ -30,7 +30,7 @@
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;
}
More information about the quake3-commits
mailing list