Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

PluginConfig.h

Go to the documentation of this file.
00001 /****************** <SNX heading BEGIN do not edit this line> *****************
00002  *
00003  * sonix
00004  *
00005  * Original Authors:
00006  *   Kevin Meinert, Carolina Cruz-Neira
00007  *
00008  * -----------------------------------------------------------------
00009  * File:          $RCSfile: PluginConfig.h,v $
00010  * Date modified: $Date: 2004/02/27 14:37:02 $
00011  * Version:       $Revision: 1.3 $
00012  * -----------------------------------------------------------------
00013  *
00014  ****************** <SNX heading END do not edit this line> ******************/
00015 
00016 /*************** <auto-copyright.pl BEGIN do not edit this line> **************
00017  *
00018  * VR Juggler is (C) Copyright 1998-2003 by Iowa State University
00019  *
00020  * Original Authors:
00021  *   Allen Bierbaum, Christopher Just,
00022  *   Patrick Hartling, Kevin Meinert,
00023  *   Carolina Cruz-Neira, Albert Baker
00024  *
00025  * This library is free software; you can redistribute it and/or
00026  * modify it under the terms of the GNU Library General Public
00027  * License as published by the Free Software Foundation; either
00028  * version 2 of the License, or (at your option) any later version.
00029  *
00030  * This library is distributed in the hope that it will be useful,
00031  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00032  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00033  * Library General Public License for more details.
00034  *
00035  * You should have received a copy of the GNU Library General Public
00036  * License along with this library; if not, write to the
00037  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00038  * Boston, MA 02111-1307, USA.
00039  *
00040  * -----------------------------------------------------------------
00041  * File:          $RCSfile: PluginConfig.h,v $
00042  * Date modified: $Date: 2004/02/27 14:37:02 $
00043  * Version:       $Revision: 1.3 $
00044  * -----------------------------------------------------------------
00045  *
00046  *************** <auto-copyright.pl END do not edit this line> ***************/
00047 
00048 #ifndef _SNX_PLUGIN_CONFIG_H_
00049 #define _SNX_PLUGIN_CONFIG_H_
00050 
00051 /* Get rid of symbols added by Autoconf 2.5x. */
00052 #undef PACKAGE_BUGREPORT
00053 #undef PACKAGE_NAME
00054 #undef PACKAGE_STRING
00055 #undef PACKAGE_TARNAME
00056 #undef PACKAGE_VERSION
00057  
00058 #include <snx/snxConfig.h>
00059 
00060 /*
00061  * ----------------------------------------------------------------------------
00062  * DLL-related macros.  These are based on the macros used by NSPR.  Use
00063  * SNX_PLUGIN_EXTERN for the prototype and SNX_PLUGIN_IMPLEMENT for the
00064  * implementation.
00065  * ----------------------------------------------------------------------------
00066  */
00067 #ifdef WIN32
00068 
00069 #   if defined(__GNUC__)
00070 #       undef _declspec
00071 #       define _declspec(x) __declspec(x)
00072 #   endif
00073 
00074 #   define SNX_PLUGIN_EXPORT(__type)      _declspec(dllexport) __type
00075 #   define SNX_PLUGIN_EXPORT_CLASS        _declspec(dllexport)
00076 #   define SNX_PLUGIN_EXPORT_DATA(__type) _declspec(dllexport) __type
00077 #   define SNX_PLUGIN_IMPORT(__type)      _declspec(dllimport) __type
00078 #   define SNX_PLUGIN_IMPORT_DATA(__type) _declspec(dllimport) __type
00079 #   define SNX_PLUGIN_IMPORT_CLASS        _declspec(dllimport)
00080 
00081 #   define SNX_PLUGIN_EXTERN(__type)         extern _declspec(dllexport) __type
00082 #   define SNX_PLUGIN_IMPLEMENT(__type)      _declspec(dllexport) __type
00083 #   define SNX_PLUGIN_EXTERN_DATA(__type)    extern _declspec(dllexport) __type
00084 #   define SNX_PLUGIN_IMPLEMENT_DATA(__type) _declspec(dllexport) __type
00085 
00086 #   define SNX_PLUGIN_CALLBACK
00087 #   define SNX_PLUGIN_CALLBACK_DECL
00088 #   define SNX_PLUGIN_STATIC_CALLBACK(__x) static __x
00089 
00090 #else   /* UNIX (where this stuff is simple!) */
00091 
00092 #   define SNX_PLUGIN_EXPORT(__type)      __type
00093 #   define SNX_PLUGIN_EXPORT_CLASS
00094 #   define SNX_PLUGIN_EXPORT_DATA(__type) __type
00095 #   define SNX_PLUGIN_IMPORT(__type)      __type
00096 #   define SNX_PLUGIN_IMPORT_CLASS
00097 #   define SNX_PLUGIN_IMPORT_DATA(__type) __type
00098 
00099 #   define SNX_PLUGIN_EXTERN(__type)         extern __type
00100 #   define SNX_PLUGIN_IMPLEMENT(__type)      __type
00101 #   define SNX_PLUGIN_EXTERN_DATA(__type)    extern __type
00102 #   define SNX_PLUGIN_IMPLEMENT_DATA(__type) __type
00103 
00104 #   define SNX_PLUGIN_CALLBACK
00105 #   define SNX_PLUGIN_CALLBACK_DECL
00106 #   define SNX_PLUGIN_STATIC_CALLBACK(__x) static __x
00107 
00108 #endif   /* WIN32 */
00109 
00110 #ifdef _SNX_PLUGIN_BUILD_
00111 #   define SNX_PLUGIN_API(__type)   SNX_PLUGIN_EXPORT(__type)
00112 #   define SNX_PLUGIN_CLASS_API         SNX_PLUGIN_EXPORT_CLASS
00113 #   define SNX_PLUGIN_DATA_API(__type) SNX_PLUGIN_EXPORT_DATA(__type)
00114 #else
00115 #   define SNX_PLUGIN_API(__type)   SNX_PLUGIN_IMPORT(__type)
00116 #   define SNX_PLUGIN_CLASS_API         SNX_PLUGIN_IMPORT_CLASS
00117 #   define SNX_PLUGIN_DATA_API(__type) SNX_PLUGIN_IMPORT_DATA(__type)
00118 #endif
00119 
00120 #endif /* _SNX_PLUGIN_CONFIG_H_ */

Generated on Sun May 2 14:39:26 2004 for Juggler Sonix by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002