00001
00002
00003
00004
00005
00006 #ifndef XMOG_CONFIG_INC
00007 #define XMOG_CONFIG_INC
00008
00009
00010 #if defined(_AIX) || defined(__TOS_AIX__) || defined(__xlC__)
00011 # define XMOG_AIX 1
00012 # include "xmog-config-aix.h"
00013 #else // AIX
00014 # define XMOG_AIX 0
00015 # endif // !AIX
00016
00017 #if defined(hpux) || defined(__hpux) || defined(_HPUX_SOURCE)
00018 # define XMOG_HPUX 1
00019 # include "xmog-config-hpux.h"
00020 #else // HPUX
00021 # define XMOG_HPUX 0
00022 # endif // !HPUX
00023
00024 #if defined(__sgi) && defined(__mips)
00025 # define XMOG_IRIX 1
00026 # include "xmog-config-irix.h"
00027 #else // IRIX
00028 # define XMOG_IRIX 0
00029 # endif // !IRIX
00030
00031 #if defined(linux) || defined(__linux)
00032 # define XMOG_LINUX 1
00033 # include "xmog-config-linux.h"
00034 #else // LINUX
00035 # define XMOG_LINUX 0
00036 # endif // !LINUX
00037
00038 #if defined(__macos) || defined(DARWIN) || defined(__MACOSX__) || defined(__APPLE__)
00039 # define XMOG_DARWIN 1
00040 # include "xmog-config-darwin.h"
00041 #else // DARWIN
00042 # define XMOG_DARWIN 0
00043 # endif // !DARWIN
00044
00045 #if defined(sun) || defined(__sun__) || defined(__sun) || defined(__sunos) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
00046 # define XMOG_SUNOS 1
00047 # include "xmog-config-sunos.h"
00048 #else // SUNOS
00049 # define XMOG_SUNOS 0
00050 # endif // !SUNOS
00051
00052 #if defined(WIN32) || defined(WIN64) || defined(_WINDOWS) || defined(WINDOWS) || defined(_MSC_VER)
00053 # define XMOG_WINDOWS 1
00054 # include "xmog-config-windows.h"
00055 #else // WINDOWS
00056 # define XMOG_WINDOWS 0
00057 #endif // !WINDOWS
00058
00059 #if defined(__CYGWIN__)
00060 # define XMOG_CYGWIN 1
00061 # include "xmog-config-cygwin.h"
00062 #else // CYGWIN
00063 # define XMOG_CYGWIN 0
00064 #endif // !CYGWIN
00065
00066 #if defined(__MINGW32__)
00067 # define XMOG_MINGW32 1
00068 # include "xmog-config-mingw32.h"
00069 #else // MINGW32
00070 # define XMOG_MINGW32 0
00071 #endif // !MINGW32
00072
00073
00074 #if !defined(XMOG_DUMMY_JNI)
00075 # define XMOG_DUMMY_JNI 0
00076 #endif
00077
00078
00079 #if !defined(XMOG_USE_EXTERNAL_JNI_DEFINITIONS)
00080 # define XMOG_USE_EXTERNAL_JNI_DEFINITIONS 0
00081 #endif
00082
00083
00084 #if !defined(XMOG_SUPPORTS_JNI_11)
00085 # define XMOG_SUPPORTS_JNI_11 1
00086 #endif
00087
00088
00089 #if !defined(XMOG_BUILD_XMOG)
00090 # define XMOG_BUILD_XMOG 0
00091 #endif
00092
00093
00094 #if !defined(XMOG_PRE_3_0_SUPPORT)
00095 # define XMOG_PRE_3_0_SUPPORT 1
00096 #endif
00097
00098
00099 #define XMOG_JOBJECT_HOLDER xmog_atomic_pointer
00100 #define XMOG_JOBJECT_VALUE(x) (x.value())
00101 #define XMOG_JOBJECT_XCHG(x,y) x = y
00102
00103
00104 #if !defined(XMOG_BUILD_STATIC_LIBS)
00105 # define XMOG_BUILD_STATIC_LIBS 0
00106 #endif
00107
00108
00109
00110
00111 #if (XMOG_BUILD_STATIC_LIBS!=0 || XMOG_WINDOWS!=1)
00112 # if !defined(XMOG_DECLSPEC)
00113 # define XMOG_DECLSPEC
00114 # endif
00115 #elif !defined(XMOG_DECLSPEC)
00116 # if (XMOG_BUILD_XMOG==1)
00117 # define XMOG_DECLSPEC __declspec(dllexport)
00118 # else
00119 # define XMOG_DECLSPEC __declspec(dllimport)
00120 # endif
00121 #endif
00122
00123
00124 #if !defined(XMOG_DYNAMICALLY_LOADS_JVM)
00125 # define XMOG_DYNAMICALLY_LOADS_JVM 1
00126 #endif
00127
00128
00129
00130
00131 #if !defined(XMOG_PUBLISHES_INVOCATION_INTERFACE)
00132 # if (XMOG_DYNAMICALLY_LOADS_JVM==0)
00133 # define XMOG_PUBLISHES_INVOCATION_INTERFACE 0
00134 # else
00135 # define XMOG_PUBLISHES_INVOCATION_INTERFACE 1
00136 # endif
00137 #endif
00138
00139
00140
00141 #if !defined(XMOG_IMPLEMENTS_REMOTE)
00142 # define XMOG_IMPLEMENTS_REMOTE 1
00143 #endif
00144
00145 #if (XMOG_IMPLEMENTS_REMOTE==1)
00146
00147 # if !defined(XMOG_IMPLEMENTS_REMOTE_CLIENT)
00148 # define XMOG_IMPLEMENTS_REMOTE_CLIENT 1
00149 # endif
00150
00151 # if !defined(XMOG_IMPLEMENTS_REMOTE_SERVER)
00152 # define XMOG_IMPLEMENTS_REMOTE_SERVER 1
00153 # endif
00154
00155 #else
00156
00157 # define XMOG_IMPLEMENTS_REMOTE_CLIENT 0
00158 # define XMOG_IMPLEMENTS_REMOTE_SERVER 0
00159
00160 #endif
00161
00162 #if (XMOG_IMPLEMENTS_REMOTE_CLIENT==1)
00163
00164 # if !defined(XMOG_IMPLEMENTS_REMOTE_IPV4_CLIENT)
00165 # define XMOG_IMPLEMENTS_REMOTE_IPV4_CLIENT 1
00166 # endif
00167
00168 # if !defined(XMOG_IMPLEMENTS_REMOTE_LSOCK_CLIENT)
00169 # define XMOG_IMPLEMENTS_REMOTE_LSOCK_CLIENT 1
00170 # endif
00171
00172 # if !defined(XMOG_IMPLEMENTS_REMOTE_SHMEM_CLIENT)
00173 # define XMOG_IMPLEMENTS_REMOTE_SHMEM_CLIENT 1
00174 # endif
00175
00176 # define XMOG_REMOTE_CLIENT_OPTIONS_INH , public xmog_remote_client_options
00177 # define XMOG_REMOTE_CLIENT_OPTIONS_IMPL1(x) , xmog_remote_client_options( x )
00178 # define XMOG_REMOTE_CLIENT_OPTIONS_IMPL2(x,y) , xmog_remote_client_options( x, y )
00179 # define XMOG_REMOTE_CLIENT_OPTIONS_IMPL3(x,y,z) , xmog_remote_client_options( x, y, z )
00180 # define XMOG_REMOTE_CLIENT_OPTIONS_IMPL4(x,y,z,u) , xmog_remote_client_options( x, y, z, u )
00181 # define XMOG_REMOTE_CLIENT_OPTIONS_IMPL5(x,y,z,u,v) , xmog_remote_client_options( x, y, z, u, v )
00182
00183 #else
00184
00185 # define XMOG_IMPLEMENTS_REMOTE_IPV4_CLIENT 0
00186 # define XMOG_IMPLEMENTS_REMOTE_SHMEM_CLIENT 0
00187 # define XMOG_IMPLEMENTS_REMOTE_LSOCK_CLIENT 0
00188
00189 # define XMOG_REMOTE_CLIENT_OPTIONS_INH
00190 # define XMOG_REMOTE_CLIENT_OPTIONS_IMPL1
00191 # define XMOG_REMOTE_CLIENT_OPTIONS_IMPL2
00192 # define XMOG_REMOTE_CLIENT_OPTIONS_IMPL3
00193 # define XMOG_REMOTE_CLIENT_OPTIONS_IMPL4
00194 # define XMOG_REMOTE_CLIENT_OPTIONS_IMPL5
00195
00196 #endif
00197
00198 #if (XMOG_IMPLEMENTS_REMOTE_SERVER==1)
00199
00200 # if !defined(XMOG_IMPLEMENTS_REMOTE_IPV4_SERVER)
00201 # define XMOG_IMPLEMENTS_REMOTE_IPV4_SERVER 1
00202 # endif
00203
00204 # if !defined(XMOG_IMPLEMENTS_REMOTE_LSOCK_SERVER)
00205 # define XMOG_IMPLEMENTS_REMOTE_LSOCK_SERVER 1
00206 # endif
00207
00208 # if !defined(XMOG_IMPLEMENTS_REMOTE_SHMEM_SERVER)
00209 # define XMOG_IMPLEMENTS_REMOTE_SHMEM_SERVER 1
00210 # endif
00211
00212 # define XMOG_REMOTE_SERVER_OPTIONS_INH , public xmog_remote_server_options
00213 # define XMOG_REMOTE_SERVER_OPTIONS_IMPL1(x) , xmog_remote_server_options( x )
00214 # define XMOG_REMOTE_SERVER_OPTIONS_IMPL2(x,y) , xmog_remote_server_options( x, y )
00215 # define XMOG_REMOTE_SERVER_OPTIONS_IMPL3(x,y,z) , xmog_remote_server_options( x, y, z )
00216 # define XMOG_REMOTE_SERVER_OPTIONS_IMPL4(x,y,z,u) , xmog_remote_server_options( x, y, z, u )
00217 # define XMOG_REMOTE_SERVER_OPTIONS_IMPL5(x,y,z,u,v) , xmog_remote_server_options( x, y, z, u, v )
00218
00219 #else
00220
00221 # define XMOG_IMPLEMENTS_REMOTE_IPV4_SERVER 0
00222 # define XMOG_IMPLEMENTS_REMOTE_SHMEM_SERVER 0
00223 # define XMOG_IMPLEMENTS_REMOTE_LSOCK_SERVER 0
00224
00225 # define XMOG_REMOTE_SERVER_OPTIONS_INH
00226 # define XMOG_REMOTE_SERVER_OPTIONS_IMPL1(x)
00227 # define XMOG_REMOTE_SERVER_OPTIONS_IMPL2(x,y)
00228 # define XMOG_REMOTE_SERVER_OPTIONS_IMPL3(x,y,z)
00229 # define XMOG_REMOTE_SERVER_OPTIONS_IMPL4(x,y,z,u)
00230 # define XMOG_REMOTE_SERVER_OPTIONS_IMPL5(x,y,z,u,v)
00231
00232 #endif
00233
00234
00238 typedef XMOG_THREAD_FUNC_RETURN (*XMOG_THREAD_FUNC)(void *);
00239
00240
00241 #endif