Config.h

Go to the documentation of this file.
00001 /*************** <auto-copyright.pl BEGIN do not edit this line> **************
00002  *
00003  * VR Juggler is (C) Copyright 1998-2006 by Iowa State University
00004  *
00005  * Original Authors:
00006  *   Allen Bierbaum, Christopher Just,
00007  *   Patrick Hartling, Kevin Meinert,
00008  *   Carolina Cruz-Neira, Albert Baker
00009  *
00010  * This library is free software; you can redistribute it and/or
00011  * modify it under the terms of the GNU Library General Public
00012  * License as published by the Free Software Foundation; either
00013  * version 2 of the License, or (at your option) any later version.
00014  *
00015  * This library is distributed in the hope that it will be useful,
00016  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018  * Library General Public License for more details.
00019  *
00020  * You should have received a copy of the GNU Library General Public
00021  * License along with this library; if not, write to the
00022  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00023  * Boston, MA 02111-1307, USA.
00024  *
00025  *************** <auto-copyright.pl END do not edit this line> ***************/
00026 
00027 #ifndef _VRJ_DRAW_PF_CONFIG_H_
00028 #define _VRJ_DRAW_PF_CONFIG_H_
00029 /* #pragma once */
00030 
00042 /* This should always be included first. */
00043 #include <vrj/vrjConfig.h>
00044 
00045 /* Get rid of symbols added by Autoconf 2.5x. */
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_PF_HAVE_GCC_VISIBILITY)
00055 #  define VJ_PF_HAVE_GCC_VISIBILITY
00056 #endif
00057 
00058 /*
00059  * ----------------------------------------------------------------------------
00060  * DLL-related macros.  These are based on the macros used by NSPR.  Use
00061  * VJ_PF_EXTERN for the prototype and VJ_PF_IMPLEMENT for the implementation.
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_PF_EXPORT(__type)      _declspec(dllexport) __type
00072 #   define VJ_PF_EXPORT_CLASS        _declspec(dllexport)
00073 #   define VJ_PF_EXPORT_DATA(__type) _declspec(dllexport) __type
00074 #   define VJ_PF_IMPORT(__type)      _declspec(dllimport) __type
00075 #   define VJ_PF_IMPORT_DATA(__type) _declspec(dllimport) __type
00076 #   define VJ_PF_IMPORT_CLASS        _declspec(dllimport)
00077 
00078 #   define VJ_PF_EXTERN(__type)         extern _declspec(dllexport) __type
00079 #   define VJ_PF_IMPLEMENT(__type)      _declspec(dllexport) __type
00080 #   define VJ_PF_EXTERN_DATA(__type)    extern _declspec(dllexport) __type
00081 #   define VJ_PF_IMPLEMENT_DATA(__type) _declspec(dllexport) __type
00082 
00083 #   define VJ_PF_CALLBACK
00084 #   define VJ_PF_CALLBACK_DECL
00085 #   define VJ_PF_STATIC_CALLBACK(__x) static __x
00086 
00087 #elif defined(VJ_PF_HAVE_GCC_VISIBILITY)
00088 
00089 #   define VJ_PF_EXPORT(__type)      __attribute__ ((visibility("default"))) __type
00090 #   define VJ_PF_EXPORT_CLASS        __attribute__ ((visibility("default")))
00091 #   define VJ_PF_EXPORT_DATA(__type) __attribute__ ((visibility("default"))) __type
00092 #   define VJ_PF_IMPORT(__type)      __type
00093 #   define VJ_PF_IMPORT_DATA(__type) __type
00094 #   define VJ_PF_IMPORT_CLASS        
00095 
00096 #   define VJ_PF_EXTERN(__type)         extern __attribute__ ((visibility("default"))) __type
00097 #   define VJ_PF_IMPLEMENT(__type)      __attribute__ ((visibility("default"))) __type
00098 #   define VJ_PF_EXTERN_DATA(__type)    extern __attribute__ ((visibility("default"))) __type
00099 #   define VJ_PF_IMPLEMENT_DATA(__type) __attribute__ ((visibility("default"))) __type
00100 
00101 #   define VJ_PF_CALLBACK
00102 #   define VJ_PF_CALLBACK_DECL
00103 #   define VJ_PF_STATIC_CALLBACK(__x) static __x
00104 
00105 #else   /* UNIX (where this stuff is simple!) */
00106 
00107 #   define VJ_PF_EXPORT(__type)      __type
00108 #   define VJ_PF_EXPORT_CLASS
00109 #   define VJ_PF_EXPORT_DATA(__type) __type
00110 #   define VJ_PF_IMPORT(__type)      __type
00111 #   define VJ_PF_IMPORT_CLASS
00112 #   define VJ_PF_IMPORT_DATA(__type) __type
00113 
00114 #   define VJ_PF_EXTERN(__type)         extern __type
00115 #   define VJ_PF_IMPLEMENT(__type)      __type
00116 #   define VJ_PF_EXTERN_DATA(__type)    extern __type
00117 #   define VJ_PF_IMPLEMENT_DATA(__type) __type
00118 
00119 #   define VJ_PF_CALLBACK
00120 #   define VJ_PF_CALLBACK_DECL
00121 #   define VJ_PF_STATIC_CALLBACK(__x) static __x
00122 
00123 #endif  /* WIN32 || WIN64 */
00124 
00125 #ifdef _VRJ_PF_BUILD_
00126 #   define VJ_PF_API(__type)           VJ_PF_EXPORT(__type)
00127 #   define VJ_PF_CLASS_API             VJ_PF_EXPORT_CLASS
00128 #   define VJ_PF_DATA_API(__type)      VJ_PF_EXPORT_DATA(__type)
00129 #else
00130 #   define VJ_PF_API(__type)           VJ_PF_IMPORT(__type)
00131 #   define VJ_PF_CLASS_API             VJ_PF_IMPORT_CLASS
00132 #   define VJ_PF_DATA_API(__type)      VJ_PF_IMPORT_DATA(__type)
00133 
00134 #   if defined(WIN32) || defined(WIN64)
00135 #      if defined(VJ_DEBUG) && ! defined(_USE_RELEASE_RUNTIME)
00136 #         pragma comment(lib, "vrj_pf_d.lib")
00137 #      else
00138 #         pragma comment(lib, "vrj_pf.lib")
00139 #      endif
00140 #   endif
00141 #endif
00142 
00143 #endif   /* _VRJ_DRAW_PF_CONFIG_H_ */

Generated on Thu Jan 4 10:56:51 2007 for VR Juggler by  doxygen 1.5.1