GCLinkage.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------
2 // (c) 2007 by Basler Vision Technologies
3 // Section: Vision Components
4 // Project: GenICam
5 // Author: Fritz Dierks
6 //
7 // License: This file is published under the license of the EMVA GenICam Standard Group.
8 // A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'.
9 // If for some reason you are missing this file please contact the EMVA or visit the website
10 // (http://www.genicam.org) for a full copy.
11 //
12 // THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS"
13 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
14 // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
15 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP
16 // OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
17 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
18 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
19 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
20 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
21 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
22 // POSSIBILITY OF SUCH DAMAGE.
23 //-----------------------------------------------------------------------------
29 #ifndef LINKAGE_H
30 #define LINKAGE_H
31 
32 #include <GenICamVersion.h>
33 
34 #if defined (_MSC_VER)
35 
36 # if defined (_WIN32) && defined (_MT )
37 # if defined(GENICAM_USER_ALWAYS_LINK_RELEASE)
38 // for the central installation always the Release version is used
39 # define CONFIGURATION "MD"
40 # else
41 # if defined(_DEBUG) || defined(DEBUG)
42 # define CONFIGURATION "MDd"
43 # else
44 # define CONFIGURATION "MD"
45 # endif
46 # endif // defined(GENICAM_USER_ALWAYS_LINK_RELEASE)
47 # else
48 # error Invalid configuration
49 # endif
50 
51 # if defined(COMPILER) // COMPILER may be force set from outside
52 # undef GENICAM_COMPILER_STR
53 # define GENICAM_COMPILER_STR COMPILER
54 # endif
55 
56 // _MSC_VER==1400 : VC80 : Visual C++ 2005
57 // _MSC_VER==1500 : VC90 : Visual C++ 2008
58 // _MSC_VER==1600 : VC100 : Visual C++ 2010
59 // _MSC_VER==1700 : VC110 : Visual C++ 2012
60 // _MSC_VER==1800 : VC120 : Visual C++ 2013
61 // _MSC_VER==1900 : VC140 : Visual C++ 2015
62 // _MSC_VER==1915 : VC150 : Visual C++ 2015
63 # if !( _MSC_VER==1400 || _MSC_VER==1500 || _MSC_VER==1600 || _MSC_VER==1700 || _MSC_VER==1800 || (_MSC_VER>=1900 && _MSC_VER<=1916) ) && ! defined(GENICAM_USER_ACCEPTS_ANY_COMPILER)
64 # define COMPILER_VERSION_2( s ) #s
65 # define COMPILER_VERSION_STRING(version) COMPILER_VERSION_2( version )
66 # pragma message( "Notice: Using GenICam with untested compiler, version " COMPILER_VERSION_STRING(_MSC_VER) " detected!" )
67 # pragma message( "Following versions were tested: 1400, 1500, 1600, 1700, 1800, 1900-1916." )
68 # undef COMPILER_VERSION_2
69 # undef COMPILER_VERSION_STRING
70 # endif
71 
72 # if defined(GENICAM_COMPANY_SUFFIX)
73 # define GENICAM_SUFFIX( CONFIGURATION, GENICAM_COMPILER_STR, VERSION_MAJOR, VERSION_MINOR, EXTENSION ) \
74  "_" CONFIGURATION "_" GENICAM_COMPILER_STR "_v" VERSION_MAJOR "_" VERSION_MINOR "_" TOSTRING(GENICAM_COMPANY_SUFFIX) "." EXTENSION
75 # else
76 # define GENICAM_SUFFIX( CONFIGURATION, GENICAM_COMPILER_STR, VERSION_MAJOR, VERSION_MINOR, EXTENSION ) \
77  "_" CONFIGURATION "_" GENICAM_COMPILER_STR "_v" VERSION_MAJOR "_" VERSION_MINOR "." EXTENSION
78 # endif
79  // _MDd_VC80_v3_0_Company
80  // _MD_VC80_v3_0_Company
81  // _MDd_VC80_v3_0
82  // _MD_VC80_v3_0
83 
84 # define LIB_SUFFIX \
85  GENICAM_SUFFIX( CONFIGURATION, GENICAM_COMPILER_STR, GENICAM_VERSION_MAJOR_STR, GENICAM_VERSION_MINOR_STR, "lib" )
86 #if defined(UNDER_RTSS)
87 # define DLL_SUFFIX \
88  GENICAM_SUFFIX( CONFIGURATION, GENICAM_COMPILER_STR, GENICAM_VERSION_MAJOR_STR, GENICAM_VERSION_MINOR_STR, "rtdll" )
89 #else
90 # define DLL_SUFFIX \
91  GENICAM_SUFFIX( CONFIGURATION, GENICAM_COMPILER_STR, GENICAM_VERSION_MAJOR_STR, GENICAM_VERSION_MINOR_STR, "dll" )
92 #endif // defined(UNDER_RTSS)
93 # define EXE_SUFFIX \
94  GENICAM_SUFFIX( CONFIGURATION, GENICAM_COMPILER_STR, GENICAM_VERSION_MAJOR_STR, GENICAM_VERSION_MINOR_STR, "exe" )
95 
96 # define DLL_PREFIX ""
97 
98 #elif defined (__GNUC__) && (defined (__linux__) || defined(__APPLE__) || defined(VXWORKS))
99 
100 # if defined(_DEBUG) || defined(DEBUG)
101 # define CONFIGURATION "_d"
102 # else
103 # define CONFIGURATION ""
104 # endif
105 
106 # if defined(GENICAM_COMPANY_SUFFIX)
107 # define GENICAM_SUFFIX( CONFIGURATION, VERSION_MAJOR, VERSION_MINOR, EXTENSION ) \
108  CONFIGURATION "_" GENICAM_COMPILER_STR "_v" VERSION_MAJOR "_" VERSION_MINOR "_" TOSTRING(GENICAM_COMPANY_SUFFIX) "." EXTENSION
109 # else
110 # define GENICAM_SUFFIX( CONFIGURATION, VERSION_MAJOR, VERSION_MINOR, EXTENSION ) \
111  CONFIGURATION "_" GENICAM_COMPILER_STR "_v" VERSION_MAJOR "_" VERSION_MINOR "." EXTENSION
112 # endif
113  // _d_gcc40_v3_0_Company
114  // _gcc40_v3_0_Company
115  // _d_gcc40_v3_0
116  // _gcc40_v3_0
117 
118 
119 # define LIB_SUFFIX \
120  GENICAM_SUFFIX( CONFIGURATION, GENICAM_VERSION_MAJOR_STR, GENICAM_VERSION_MINOR_STR, "a" )
121 
122 # if defined(__linux__)
123 # define DLL_SUFFIX \
124  GENICAM_SUFFIX( CONFIGURATION, GENICAM_VERSION_MAJOR_STR, GENICAM_VERSION_MINOR_STR, "so" )
125 # elif defined(VXWORKS)
126 # define DLL_SUFFIX \
127  GENICAM_SUFFIX( CONFIGURATION, GENICAM_VERSION_MAJOR_STR, GENICAM_VERSION_MINOR_STR, "out" )
128 # else
129 # define DLL_SUFFIX \
130  GENICAM_SUFFIX( CONFIGURATION, GENICAM_VERSION_MAJOR_STR, GENICAM_VERSION_MINOR_STR, "dylib" )
131 # endif
132 
133 # define EXE_SUFFIX \
134  GENICAM_SUFFIX( CONFIGURATION, GENICAM_VERSION_MAJOR_STR, GENICAM_VERSION_MINOR_STR, "" )
135 
136 # if defined(VXWORKS)
137 # define DLL_PREFIX ""
138 # else
139 # define DLL_PREFIX "lib"
140 # endif
141 
142 #else
143 
144 # error Unknown shared library support
145 
146 #endif
147 
148 #define LIB_NAME( MODULE ) \
149  MODULE LIB_SUFFIX
150 
151 #define DLL_NAME( MODULE ) \
152  DLL_PREFIX MODULE DLL_SUFFIX
153 
154 #define EXE_NAME( MODULE ) \
155  MODULE EXE_SUFFIX
156 
157 
158 // The CameraLink standard defines the names for certain DLLs we build that do not match the GenICam naming scheme
159 #if defined(_DEBUG) || defined(DEBUG)
160 # define CAMERALINK_CONFIGURATION "d"
161 #else
162 # define CAMERALINK_CONFIGURATION ""
163 #endif
164 #
165 #if defined(_MSC_VER)
166 # if defined(UNDER_RTSS)
167 # define CAMERALINK_DLL_SUFFIX ".rtdll"
168 # else
169 # define CAMERALINK_DLL_SUFFIX ".dll"
170 # endif
171 #elif defined (__GNUC__) && (defined (__linux__) || defined(__APPLE__) || defined(VXWORKS))
172 # if defined(__linux__)
173 # define CAMERALINK_DLL_SUFFIX ".so"
174 # elif defined(VXWORKS)
175 # define CAMERALINK_DLL_SUFFIX ".out"
176 # else
177 # define CAMERALINK_DLL_SUFFIX ".dylib"
178 # endif
179 #endif
180 #
181 #define CAMERALINK_DLL_NAME( MODULE) \
182  MODULE CAMERALINK_CONFIGURATION CAMERALINK_DLL_SUFFIX
183 
184 #endif // LINKAGE_H
central versioning counters


rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Wed Mar 17 2021 02:48:40