root/juggler/branches/2.2/modules/sonix/snx/PluginConfig.h

Revision 19729, 4.9 kB (checked in by patrick, 2 years ago)

Copyright update.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 /****************** <SNX heading BEGIN do not edit this line> *****************
2  *
3  * sonix
4  *
5  * Original Authors:
6  *   Kevin Meinert, Carolina Cruz-Neira
7  *
8  ****************** <SNX heading END do not edit this line> ******************/
9
10 /*************** <auto-copyright.pl BEGIN do not edit this line> **************
11  *
12  * VR Juggler is (C) Copyright 1998-2007 by Iowa State University
13  *
14  * Original Authors:
15  *   Allen Bierbaum, Christopher Just,
16  *   Patrick Hartling, Kevin Meinert,
17  *   Carolina Cruz-Neira, Albert Baker
18  *
19  * This library is free software; you can redistribute it and/or
20  * modify it under the terms of the GNU Library General Public
21  * License as published by the Free Software Foundation; either
22  * version 2 of the License, or (at your option) any later version.
23  *
24  * This library is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
27  * Library General Public License for more details.
28  *
29  * You should have received a copy of the GNU Library General Public
30  * License along with this library; if not, write to the
31  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
32  * Boston, MA 02111-1307, USA.
33  *
34  *************** <auto-copyright.pl END do not edit this line> ***************/
35
36 #ifndef _SNX_PLUGIN_CONFIG_H_
37 #define _SNX_PLUGIN_CONFIG_H_
38
39 /* Get rid of symbols added by Autoconf 2.5x. */
40 #undef PACKAGE_BUGREPORT
41 #undef PACKAGE_NAME
42 #undef PACKAGE_STRING
43 #undef PACKAGE_TARNAME
44 #undef PACKAGE_VERSION
45  
46 #include <snx/snxConfig.h>
47
48 /*
49  * ----------------------------------------------------------------------------
50  * DLL-related macros.  These are based on the macros used by NSPR.  Use
51  * SNX_PLUGIN_EXTERN for the prototype and SNX_PLUGIN_IMPLEMENT for the
52  * implementation.
53  * ----------------------------------------------------------------------------
54  */
55 #if defined(WIN32) || defined(WIN64)
56
57 #   if defined(__GNUC__)
58 #       undef _declspec
59 #       define _declspec(x) __declspec(x)
60 #   endif
61
62 #   define SNX_PLUGIN_EXPORT(__type)      _declspec(dllexport) __type
63 #   define SNX_PLUGIN_EXPORT_CLASS        _declspec(dllexport)
64 #   define SNX_PLUGIN_EXPORT_DATA(__type) _declspec(dllexport) __type
65 #   define SNX_PLUGIN_IMPORT(__type)      _declspec(dllimport) __type
66 #   define SNX_PLUGIN_IMPORT_DATA(__type) _declspec(dllimport) __type
67 #   define SNX_PLUGIN_IMPORT_CLASS        _declspec(dllimport)
68
69 #   define SNX_PLUGIN_EXTERN(__type)         extern _declspec(dllexport) __type
70 #   define SNX_PLUGIN_IMPLEMENT(__type)      _declspec(dllexport) __type
71 #   define SNX_PLUGIN_EXTERN_DATA(__type)    extern _declspec(dllexport) __type
72 #   define SNX_PLUGIN_IMPLEMENT_DATA(__type) _declspec(dllexport) __type
73
74 #   define SNX_PLUGIN_CALLBACK
75 #   define SNX_PLUGIN_CALLBACK_DECL
76 #   define SNX_PLUGIN_STATIC_CALLBACK(__x) static __x
77
78 #elif defined(SNX_HAVE_GCC_VISIBILITY)
79
80 #   define SNX_PLUGIN_EXPORT(__type)      __attribute__ ((visibility("default"))) __type
81 #   define SNX_PLUGIN_EXPORT_CLASS        __attribute__ ((visibility("default")))
82 #   define SNX_PLUGIN_EXPORT_DATA(__type) __attribute__ ((visibility("default"))) __type
83 #   define SNX_PLUGIN_IMPORT(__type)      __type
84 #   define SNX_PLUGIN_IMPORT_DATA(__type) __type
85 #   define SNX_PLUGIN_IMPORT_CLASS       
86
87 #   define SNX_PLUGIN_EXTERN(__type)         extern __attribute__ ((visibility("default"))) __type
88 #   define SNX_PLUGIN_IMPLEMENT(__type)      __attribute__ ((visibility("default"))) __type
89 #   define SNX_PLUGIN_EXTERN_DATA(__type)    extern __attribute__ ((visibility("default"))) __type
90 #   define SNX_PLUGIN_IMPLEMENT_DATA(__type) __attribute__ ((visibility("default"))) __type
91
92 #   define SNX_PLUGIN_CALLBACK
93 #   define SNX_PLUGIN_CALLBACK_DECL
94 #   define SNX_PLUGIN_STATIC_CALLBACK(__x) static __x
95
96 #else   /* UNIX (where this stuff is simple!) */
97
98 #   define SNX_PLUGIN_EXPORT(__type)      __type
99 #   define SNX_PLUGIN_EXPORT_CLASS
100 #   define SNX_PLUGIN_EXPORT_DATA(__type) __type
101 #   define SNX_PLUGIN_IMPORT(__type)      __type
102 #   define SNX_PLUGIN_IMPORT_CLASS
103 #   define SNX_PLUGIN_IMPORT_DATA(__type) __type
104
105 #   define SNX_PLUGIN_EXTERN(__type)         extern __type
106 #   define SNX_PLUGIN_IMPLEMENT(__type)      __type
107 #   define SNX_PLUGIN_EXTERN_DATA(__type)    extern __type
108 #   define SNX_PLUGIN_IMPLEMENT_DATA(__type) __type
109
110 #   define SNX_PLUGIN_CALLBACK
111 #   define SNX_PLUGIN_CALLBACK_DECL
112 #   define SNX_PLUGIN_STATIC_CALLBACK(__x) static __x
113
114 #endif  /* WIN32 || WIN64 */
115
116 #ifdef _SNX_PLUGIN_BUILD_
117 #   define SNX_PLUGIN_API(__type)       SNX_PLUGIN_EXPORT(__type)
118 #   define SNX_PLUGIN_CLASS_API         SNX_PLUGIN_EXPORT_CLASS
119 #   define SNX_PLUGIN_DATA_API(__type)  SNX_PLUGIN_EXPORT_DATA(__type)
120 #else
121 #   define SNX_PLUGIN_API(__type)       SNX_PLUGIN_IMPORT(__type)
122 #   define SNX_PLUGIN_CLASS_API         SNX_PLUGIN_IMPORT_CLASS
123 #   define SNX_PLUGIN_DATA_API(__type)  SNX_PLUGIN_IMPORT_DATA(__type)
124 #endif
125
126 #endif /* _SNX_PLUGIN_CONFIG_H_ */
Note: See TracBrowser for help on using the browser.