MISR Toolkit  1.5.1
H5api_adpt.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2  * Copyright by The HDF Group. *
3  * Copyright by the Board of Trustees of the University of Illinois. *
4  * All rights reserved. *
5  * *
6  * This file is part of HDF5. The full HDF5 copyright notice, including *
7  * terms governing use, modification, and redistribution, is contained in *
8  * the COPYING file, which can be found at the root of the source code *
9  * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
10  * If you do not have access to either file, you may request a copy from *
11  * help@hdfgroup.org. *
12  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13 
14 /*
15  * H5api_adpt.h
16  * Used for the HDF5 dll project
17  * Created by Patrick Lu on 1/12/99
18  */
19 #ifndef H5API_ADPT_H
20 #define H5API_ADPT_H
21 
22 /*
23  * Does the compiler support the __attribute__(()) syntax? It's no
24  * big deal if we don't.
25  *
26  * Note that Solaris Studio supports attribute, but does not support the
27  * attributes we use.
28  */
29 #ifdef __cplusplus
30 # define H5_ATTR_FORMAT(X,Y,Z) /*void*/
31 # define H5_ATTR_UNUSED /*void*/
32 # define H5_ATTR_NORETURN /*void*/
33 #else /* __cplusplus */
34 #if defined(H5_HAVE_ATTRIBUTE) && !defined(__SUNPRO_C)
35 # define H5_ATTR_FORMAT(X,Y,Z) __attribute__((format(X, Y, Z)))
36 # define H5_ATTR_UNUSED __attribute__((unused))
37 # define H5_ATTR_NORETURN __attribute__((noreturn))
38 #else
39 # define H5_ATTR_FORMAT(X,Y,Z) /*void*/
40 # define H5_ATTR_UNUSED /*void*/
41 # define H5_ATTR_NORETURN /*void*/
42 #endif
43 #endif /* __cplusplus */
44 
45 /* This will only be defined if HDF5 was built with CMake */
46 #ifdef H5_BUILT_AS_DYNAMIC_LIB
47 
48 #if defined(hdf5_shared_EXPORTS)
49  #if defined (_MSC_VER) /* MSVC Compiler Case */
50  #define H5_DLL __declspec(dllexport)
51  #define H5_DLLVAR extern __declspec(dllexport)
52  #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
53  #define H5_DLL __attribute__ ((visibility("default")))
54  #define H5_DLLVAR extern __attribute__ ((visibility("default")))
55  #endif
56 #else
57  #if defined (_MSC_VER) /* MSVC Compiler Case */
58  #define H5_DLL __declspec(dllimport)
59  #define H5_DLLVAR __declspec(dllimport)
60  #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
61  #define H5_DLL __attribute__ ((visibility("default")))
62  #define H5_DLLVAR extern __attribute__ ((visibility("default")))
63  #endif
64 #endif
65 
66 #ifndef H5_DLL
67  #define H5_DLL
68  #define H5_DLLVAR extern
69 #endif /* _HDF5DLL_ */
70 
71 #if defined(hdf5_test_shared_EXPORTS)
72  #if defined (_MSC_VER) /* MSVC Compiler Case */
73  #define H5TEST_DLL __declspec(dllexport)
74  #define H5TEST_DLLVAR extern __declspec(dllexport)
75  #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
76  #define H5TEST_DLL __attribute__ ((visibility("default")))
77  #define H5TEST_DLLVAR extern __attribute__ ((visibility("default")))
78  #endif
79 #else
80  #if defined (_MSC_VER) /* MSVC Compiler Case */
81  #define H5TEST_DLL __declspec(dllimport)
82  #define H5TEST_DLLVAR __declspec(dllimport)
83  #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
84  #define H5TEST_DLL __attribute__ ((visibility("default")))
85  #define H5TEST_DLLVAR extern __attribute__ ((visibility("default")))
86  #endif
87 #endif
88 
89 #ifndef H5TEST_DLL
90  #define H5TEST_DLL
91  #define H5TEST_DLLVAR extern
92 #endif /* H5TEST_DLL */
93 
94 #if defined(hdf5_tools_shared_EXPORTS)
95  #if defined (_MSC_VER) /* MSVC Compiler Case */
96  #define H5TOOLS_DLL __declspec(dllexport)
97  #define H5TOOLS_DLLVAR extern __declspec(dllexport)
98  #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
99  #define H5TOOLS_DLL __attribute__ ((visibility("default")))
100  #define H5TOOLS_DLLVAR extern __attribute__ ((visibility("default")))
101  #endif
102 #else
103  #if defined (_MSC_VER) /* MSVC Compiler Case */
104  #define H5TOOLS_DLL __declspec(dllimport)
105  #define H5TOOLS_DLLVAR __declspec(dllimport)
106  #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
107  #define H5TOOLS_DLL __attribute__ ((visibility("default")))
108  #define H5TOOLS_DLLVAR extern __attribute__ ((visibility("default")))
109  #endif
110 #endif
111 
112 #ifndef H5TOOLS_DLL
113  #define H5TOOLS_DLL
114  #define H5TOOLS_DLLVAR extern
115 #endif /* H5TOOLS_DLL */
116 
117 #if defined(hdf5_cpp_shared_EXPORTS)
118  #if defined (_MSC_VER) /* MSVC Compiler Case */
119  #define H5_DLLCPP __declspec(dllexport)
120  #define H5_DLLCPPVAR extern __declspec(dllexport)
121  #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
122  #define H5_DLLCPP __attribute__ ((visibility("default")))
123  #define H5_DLLCPPVAR extern __attribute__ ((visibility("default")))
124  #endif
125 #else
126  #if defined (_MSC_VER) /* MSVC Compiler Case */
127  #define H5_DLLCPP __declspec(dllimport)
128  #define H5_DLLCPPVAR __declspec(dllimport)
129  #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
130  #define H5_DLLCPP __attribute__ ((visibility("default")))
131  #define H5_DLLCPPVAR extern __attribute__ ((visibility("default")))
132  #endif
133 #endif
134 
135 #ifndef H5_DLLCPP
136  #define H5_DLLCPP
137  #define H5_DLLCPPVAR extern
138 #endif /* H5_DLLCPP */
139 
140 #if defined(hdf5_hl_shared_EXPORTS)
141  #if defined (_MSC_VER) /* MSVC Compiler Case */
142  #define H5_HLDLL __declspec(dllexport)
143  #define H5_HLDLLVAR extern __declspec(dllexport)
144  #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
145  #define H5_HLDLL __attribute__ ((visibility("default")))
146  #define H5_HLDLLVAR extern __attribute__ ((visibility("default")))
147  #endif
148 #else
149  #if defined (_MSC_VER) /* MSVC Compiler Case */
150  #define H5_HLDLL __declspec(dllimport)
151  #define H5_HLDLLVAR __declspec(dllimport)
152  #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
153  #define H5_HLDLL __attribute__ ((visibility("default")))
154  #define H5_HLDLLVAR extern __attribute__ ((visibility("default")))
155  #endif
156 #endif
157 
158 #ifndef H5_HLDLL
159  #define H5_HLDLL
160  #define H5_HLDLLVAR extern
161 #endif /* H5_HLDLL */
162 
163 #if defined(hdf5_hl_cpp_shared_EXPORTS)
164  #if defined (_MSC_VER) /* MSVC Compiler Case */
165  #define H5_HLCPPDLL __declspec(dllexport)
166  #define H5_HLCPPDLLVAR extern __declspec(dllexport)
167  #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
168  #define H5_HLCPPDLL __attribute__ ((visibility("default")))
169  #define H5_HLCPPDLLVAR extern __attribute__ ((visibility("default")))
170  #endif
171 #else
172  #if defined (_MSC_VER) /* MSVC Compiler Case */
173  #define H5_HLCPPDLL __declspec(dllimport)
174  #define H5_HLCPPDLLVAR __declspec(dllimport)
175  #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
176  #define H5_HLCPPDLL __attribute__ ((visibility("default")))
177  #define H5_HLCPPDLLVAR extern __attribute__ ((visibility("default")))
178  #endif
179 #endif
180 
181 #ifndef H5_HLCPPDLL
182  #define H5_HLCPPDLL
183  #define H5_HLCPPDLLVAR extern
184 #endif /* H5_HLCPPDLL */
185 
186 #if defined(hdf5_f90cstub_shared_EXPORTS)
187  #if defined (_MSC_VER) /* MSVC Compiler Case */
188  #define H5_FCDLL __declspec(dllexport)
189  #define H5_FCDLLVAR extern __declspec(dllexport)
190  #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
191  #define H5_FCDLL __attribute__ ((visibility("default")))
192  #define H5_FCDLLVAR extern __attribute__ ((visibility("default")))
193  #endif
194 #else
195  #if defined (_MSC_VER) /* MSVC Compiler Case */
196  #define H5_FCDLL __declspec(dllimport)
197  #define H5_FCDLLVAR __declspec(dllimport)
198  #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
199  #define H5_FCDLL __attribute__ ((visibility("default")))
200  #define H5_FCDLLVAR extern __attribute__ ((visibility("default")))
201  #endif
202 #endif
203 
204 #ifndef H5_FCDLL
205  #define H5_FCDLL
206  #define H5_FCDLLVAR extern
207 #endif /* H5_FCDLL */
208 
209 #if defined(hdf5_test_f90cstub_shared_EXPORTS)
210  #if defined (_MSC_VER) /* MSVC Compiler Case */
211  #define H5_FCTESTDLL __declspec(dllexport)
212  #define H5_FCTESTDLLVAR extern __declspec(dllexport)
213  #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
214  #define H5_FCTESTDLL __attribute__ ((visibility("default")))
215  #define H5_FCTESTDLLVAR extern __attribute__ ((visibility("default")))
216  #endif
217 #else
218  #if defined (_MSC_VER) /* MSVC Compiler Case */
219  #define H5_FCTESTDLL __declspec(dllimport)
220  #define H5_FCTESTDLLVAR __declspec(dllimport)
221  #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
222  #define H5_FCTESTDLL __attribute__ ((visibility("default")))
223  #define H5_FCTESTDLLVAR extern __attribute__ ((visibility("default")))
224  #endif
225 #endif
226 
227 #ifndef H5_FCTESTDLL
228  #define H5_FCTESTDLL
229  #define H5_FCTESTDLLVAR extern
230 #endif /* H5_FCTESTDLL */
231 
232 #if defined(hdf5_hl_f90cstub_shared_EXPORTS)
233  #if defined (_MSC_VER) /* MSVC Compiler Case */
234  #define HDF5_HL_F90CSTUBDLL __declspec(dllexport)
235  #define HDF5_HL_F90CSTUBDLLVAR extern __declspec(dllexport)
236  #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
237  #define HDF5_HL_F90CSTUBDLL __attribute__ ((visibility("default")))
238  #define HDF5_HL_F90CSTUBDLLVAR extern __attribute__ ((visibility("default")))
239  #endif
240 #else
241  #if defined (_MSC_VER) /* MSVC Compiler Case */
242  #define HDF5_HL_F90CSTUBDLL __declspec(dllimport)
243  #define HDF5_HL_F90CSTUBDLLVAR __declspec(dllimport)
244  #elif (__GNUC__ >= 4) /* GCC 4.x has support for visibility options */
245  #define HDF5_HL_F90CSTUBDLL __attribute__ ((visibility("default")))
246  #define HDF5_HL_F90CSTUBDLLVAR extern __attribute__ ((visibility("default")))
247  #endif
248 #endif
249 
250 #ifndef HDF5_HL_F90CSTUBDLL
251  #define HDF5_HL_F90CSTUBDLL
252  #define HDF5_HL_F90CSTUBDLLVAR extern
253 #endif /* HDF5_HL_F90CSTUBDLL */
254 
255 #else
256  #define H5_DLL
257  #define H5_DLLVAR extern
258  #define H5TEST_DLL
259  #define H5TEST_DLLVAR extern
260  #define H5TOOLS_DLL
261  #define H5TOOLS_DLLVAR extern
262  #define H5_DLLCPP
263  #define H5_DLLCPPVAR extern
264  #define H5_HLDLL
265  #define H5_HLDLLVAR extern
266  #define H5_HLCPPDLL
267  #define H5_HLCPPDLLVAR extern
268  #define H5_FCDLL
269  #define H5_FCDLLVAR extern
270  #define H5_FCTESTDLL
271  #define H5_FCTESTDLLVAR extern
272  #define HDF5_HL_F90CSTUBDLL
273  #define HDF5_HL_F90CSTUBDLLVAR extern
274 #endif /* H5_BUILT_AS_DYNAMIC_LIB */
275 
276 #endif /* H5API_ADPT_H */

MISR Toolkit - Copyright © 2005 - 2020 Jet Propulsion Laboratory
Generated on Fri Jun 19 2020 22:49:52