00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef _VRJ_DRAW_OGL_CONFIG_H_
00028 #define _VRJ_DRAW_OGL_CONFIG_H_
00029
00030
00042
00043 #include <vrj/vrjConfig.h>
00044
00045
00046 #undef PACKAGE_BUGREPORT
00047 #undef PACKAGE_NAME
00048 #undef PACKAGE_STRING
00049 #undef PACKAGE_TARNAME
00050 #undef PACKAGE_VERSION
00051
00052 #if !defined(WIN32) && !defined(WIN64) \
00053 && defined(__GNUC__) && __GNUC__ >= 4 \
00054 && !defined(VJ_OGL_HAVE_GCC_VISIBILITY)
00055 # define VJ_OGL_HAVE_GCC_VISIBILITY
00056 #endif
00057
00058
00059
00060
00061
00062
00063
00064 #if defined(WIN32) || defined(WIN64)
00065
00066 # if defined(__GNUC__)
00067 # undef _declspec
00068 # define _declspec(x) __declspec(x)
00069 # endif
00070
00071 # define VJ_OGL_EXPORT(__type) _declspec(dllexport) __type
00072 # define VJ_OGL_EXPORT_CLASS _declspec(dllexport)
00073 # define VJ_OGL_EXPORT_DATA(__type) _declspec(dllexport) __type
00074 # define VJ_OGL_IMPORT(__type) _declspec(dllimport) __type
00075 # define VJ_OGL_IMPORT_DATA(__type) _declspec(dllimport) __type
00076 # define VJ_OGL_IMPORT_CLASS _declspec(dllimport)
00077
00078 # define VJ_OGL_EXTERN(__type) extern _declspec(dllexport) __type
00079 # define VJ_OGL_IMPLEMENT(__type) _declspec(dllexport) __type
00080 # define VJ_OGL_EXTERN_DATA(__type) extern _declspec(dllexport) __type
00081 # define VJ_OGL_IMPLEMENT_DATA(__type) _declspec(dllexport) __type
00082
00083 # define VJ_OGL_CALLBACK
00084 # define VJ_OGL_CALLBACK_DECL
00085 # define VJ_OGL_STATIC_CALLBACK(__x) static __x
00086
00087 #elif defined(VJ_OGL_HAVE_GCC_VISIBILITY)
00088
00089 # define VJ_OGL_EXPORT(__type) __attribute__ ((visibility("default"))) __type
00090 # define VJ_OGL_EXPORT_CLASS __attribute__ ((visibility("default")))
00091 # define VJ_OGL_EXPORT_DATA(__type) __attribute__ ((visibility("default"))) __type
00092 # define VJ_OGL_IMPORT(__type) __type
00093 # define VJ_OGL_IMPORT_DATA(__type) __type
00094 # define VJ_OGL_IMPORT_CLASS
00095
00096 # define VJ_OGL_EXTERN(__type) extern __attribute__ ((visibility("default"))) __type
00097 # define VJ_OGL_IMPLEMENT(__type) __attribute__ ((visibility("default"))) __type
00098 # define VJ_OGL_EXTERN_DATA(__type) extern __attribute__ ((visibility("default"))) __type
00099 # define VJ_OGL_IMPLEMENT_DATA(__type) __attribute__ ((visibility("default"))) __type
00100
00101 # define VJ_OGL_CALLBACK
00102 # define VJ_OGL_CALLBACK_DECL
00103 # define VJ_OGL_STATIC_CALLBACK(__x) static __x
00104
00105 #else
00106
00107 # define VJ_OGL_EXPORT(__type) __type
00108 # define VJ_OGL_EXPORT_CLASS
00109 # define VJ_OGL_EXPORT_DATA(__type) __type
00110 # define VJ_OGL_IMPORT(__type) __type
00111 # define VJ_OGL_IMPORT_CLASS
00112 # define VJ_OGL_IMPORT_DATA(__type) __type
00113
00114 # define VJ_OGL_EXTERN(__type) extern __type
00115 # define VJ_OGL_IMPLEMENT(__type) __type
00116 # define VJ_OGL_EXTERN_DATA(__type) extern __type
00117 # define VJ_OGL_IMPLEMENT_DATA(__type) __type
00118
00119 # define VJ_OGL_CALLBACK
00120 # define VJ_OGL_CALLBACK_DECL
00121 # define VJ_OGL_STATIC_CALLBACK(__x) static __x
00122
00123 #endif
00124
00125 #ifdef _VRJ_OGL_BUILD_
00126 # define VJ_OGL_API(__type) VJ_OGL_EXPORT(__type)
00127 # define VJ_OGL_CLASS_API VJ_OGL_EXPORT_CLASS
00128 # define VJ_OGL_DATA_API(__type) VJ_OGL_EXPORT_DATA(__type)
00129 #else
00130 # define VJ_OGL_API(__type) VJ_OGL_IMPORT(__type)
00131 # define VJ_OGL_CLASS_API VJ_OGL_IMPORT_CLASS
00132 # define VJ_OGL_DATA_API(__type) VJ_OGL_IMPORT_DATA(__type)
00133
00134 # if defined(WIN32) || defined(WIN64)
00135 # if defined(VJ_DEBUG) && ! defined(_USE_RELEASE_RUNTIME)
00136 # pragma comment(lib, "vrj_ogl_d.lib")
00137 # else
00138 # pragma comment(lib, "vrj_ogl.lib")
00139 # endif
00140 # endif
00141 #endif
00142
00143 #endif