1#ifndef CONFIG_H
2#define CONFIG_H
3
4#ifdef _MSC_VER
5
6/* Prevent an issue where there is a circular inclusion
7   of winsock.h/windows.h.  This weird state occurs with
8   libdap4 and hdf4 support. The solution comes from the
9   following URL, found after a bit of research.
10
11   Added in support of the 4.5.0-rc1.  Hello, future generations.
12
13   * https://stackoverflow.com/questions/1372480/c-redefinition-header-files-winsock2-h
14
15   */
16
17/* #cmakedefine HAVE_WINSOCK2_H
18
19#ifdef HAVE_WINSOCK2_H
20   #define _WINSOCKAPI_
21#endif
22*/
23   #if _MSC_VER>=1900
24     #define STDC99
25   #endif
26/* Define O_BINARY so that the appropriate flags
27are set when opening a binary file on Windows. */
28
29/* Disable a few warnings under Visual Studio, for the
30   time being. */
31   #include <io.h>
32   #pragma warning( disable: 4018 4996 4244 4305 )
33   #define unlink _unlink
34   #define open _open
35   #define close _close
36   #define read _read
37   #define lseek _lseeki64
38
39   #define fstat _fstat64
40
41   #define off_t __int64
42   #define _off_t __int64
43
44   #ifndef _OFF_T_DEFINED
45   #define _OFF_T_DEFINED
46   #endif
47
48   #ifdef _WIN32
49    #ifndef strcasecmp
50      #define strcasecmp _stricmp
51    #endif
52
53    #ifndef snprintf
54     #if _MSC_VER<1900
55       #define snprintf _snprintf
56     #endif
57    #endif
58   #endif
59
60
61   #define strdup _strdup
62   #define fdopen _fdopen
63   #define write _write
64   #define strtoll _strtoi64
65#endif /*_MSC_VER */
66
67#cmakedefine const
68
69#ifndef _FILE_OFFSET_BITS
70#cmakedefine _FILE_OFFSET_BITS ${_FILE_OFFSET_BITS}
71#cmakedefine _LARGEFILE64_SOURCE
72#cmakedefine _LARGEFILE_SOURCE
73#endif
74
75/* Define if building universal (internal helper macro) */
76#cmakedefine AC_APPLE_UNIVERSAL_BUILD 1
77
78/* If true, will attempt to download and build netcdf-fortran. */
79#cmakedefine BUILD_FORTRAN 1
80
81/* default file chunk cache nelems. */
82#cmakedefine CHUNK_CACHE_NELEMS ${CHUNK_CACHE_NELEMS}
83
84/* default file chunk cache preemption policy. */
85#cmakedefine CHUNK_CACHE_PREEMPTION ${CHUNK_CACHE_PREEMPTION}
86
87/* default file chunk cache size in bytes. */
88#cmakedefine CHUNK_CACHE_SIZE ${CHUNK_CACHE_SIZE}
89
90/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
91   systems. This function is required for `alloca.c' support on those systems.
92   */
93#cmakedefine CRAY_STACKSEG_END
94
95/* Define to 1 if using `alloca.c'. */
96#cmakedefine C_ALLOCA 1
97
98/* num chunks in default per-var chunk cache. */
99#cmakedefine DEFAULT_CHUNKS_IN_CACHE ${DEFAULT_CHUNKS_IN_CACHE}
100
101/* default chunk size in bytes */
102#cmakedefine DEFAULT_CHUNK_SIZE ${DEFAULT_CHUNK_SIZE}
103
104/* set this only when building a DLL under MinGW */
105#cmakedefine DLL_EXPORT 1
106
107/* set this only when building a DLL under MinGW */
108#cmakedefine DLL_NETCDF 1
109
110/* if true, enable CDF5 Support */
111#cmakedefine ENABLE_CDF5 1
112
113/* if true, enable strict null byte header padding. */
114#cmakedefine USE_STRICT_NULL_BYTE_HEADER_PADDING 1
115
116/* if true, build DAP2 and DAP4 Client */
117#cmakedefine ENABLE_DAP 1
118
119/* if true, build DAP4 Client */
120#cmakedefine ENABLE_DAP4 1
121
122/* if true, build DAP4 Client */
123#cmakedefine ENABLE_DAP4 1
124
125/* if true, enable DAP group names */
126#cmakedefine ENABLE_DAP_GROUPS 1
127
128/* if true, do remote tests */
129#cmakedefine ENABLE_DAP_REMOTE_TESTS 1
130
131/* define the possible sources for remote test servers */
132#cmakedefine REMOTETESTSERVERS	"${REMOTETESTSERVERS}"
133
134/* if true, run extra tests which may not work yet */
135#cmakedefine EXTRA_TESTS 1
136
137/* use HDF5 1.6 API */
138#cmakedefine H5_USE_16_API 1
139
140/* Define to 1 if you have `alloca', as a function or macro. */
141#cmakedefine HAVE_ALLOCA 1
142
143/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
144   */
145#cmakedefine HAVE_ALLOCA_H 1
146
147/* Define to 1 if you have hdf5_coll_metadata_ops */
148#cmakedefine HDF5_HAS_COLL_METADATA_OPS 1
149
150/* Is CURLINFO_RESPONSE_CODE defined */
151#cmakedefine HAVE_CURLINFO_RESPONSE_CODE 1
152
153/* Is CURLINFO_HTTP_CODE defined */
154#cmakedefine HAVE_CURLINFO_HTTP_CONNECTCODE 1
155
156/* Is CURLOPT_BUFFERSIZE defined */
157#cmakedefine HAVE_CURLOPT_BUFFERSIZE 1
158
159/* Is CURLOPT_TCP_KEEPALIVE defined */
160#cmakedefine HAVE_CURLOPT_KEEPALIVE 1
161
162/* Is CURLOPT_KEYPASSWD defined */
163#cmakedefine HAVE_CURLOPT_KEYPASSWD 1
164
165/* Is CURLOPT_PASSWORD defined */
166#cmakedefine HAVE_CURLOPT_PASSWORD 1
167
168/* Is CURLOPT_USERNAME defined */
169#cmakedefine HAVE_CURLOPT_USERNAME 1
170
171/* Define to 1 if you have the declaration of `isfinite', and to 0 if you
172   don't. */
173#cmakedefine HAVE_DECL_ISFINITE 1
174
175/* Define to 1 if you have the declaration of `isinf', and to 0 if you don't.
176   */
177#cmakedefine HAVE_DECL_ISINF 1
178
179/* Define to 1 if you have the declaration of `isnan', and to 0 if you don't.
180   */
181#cmakedefine HAVE_DECL_ISNAN 1
182
183/* Define to 1 if you have the <fcntl.h> header file. */
184#cmakedefine HAVE_FCNTL_H 1
185
186/* Define to 1 if you have the BaseTsd.h header file. */
187#cmakedefine HAVE_BASETSD_H @HAVE_BASETSD_H@
188
189/* Define if we have filelengthi64. */
190#cmakedefine HAVE_FILE_LENGTH_I64 @HAVE_FILE_LENGTH_I64@
191
192
193/* Define to 1 if you have the `fsync' function. */
194#cmakedefine HAVE_FSYNC 1
195
196/* Define to 1 if you have the <getopt.h> header file. */
197#cmakedefine HAVE_GETOPT_H 1
198
199/* Define to 1 if you have the `getpagesize' function. */
200#cmakedefine HAVE_GETPAGESIZE 1
201
202/* Define to 1 if you have the `getrlimit' function. */
203#cmakedefine HAVE_GETRLIMIT 1
204
205/* Define to 1 if you have the `gettimeofday' function. */
206#cmakedefine HAVE_GETTIMEOFDAY 1
207
208/* if true, netcdf4 file properties will be set using H5Pset_libver_bounds */
209#cmakedefine HDF5_HAS_LIBVER_BOUNDS 1
210
211/* Define to 1 if you have the `H5Z_SZIP' function. */
212#cmakedefine HAVE_H5Z_SZIP 1
213
214/* Define to 1 if you have the <hdf5.h> header file. */
215#cmakedefine HAVE_HDF5_H 1
216
217/* Define to 1 if you have the <hdf5.h> header file. */
218#cmakedefine HAVE_HDF5_HL_H 1
219
220/* Define to 1 if the system has the type `int64'. */
221#cmakedefine HAVE_INT64 1
222
223/* Define to 1 if you have the <inttypes.h> header file. */
224#cmakedefine HAVE_INTTYPES_H 1
225
226/* Define to 1 if you have the `dl' library (-ldl). */
227#cmakedefine HAVE_LIBDL 1
228
229/* Define to 1 if you have the `jpeg' library (-ljpeg). */
230#cmakedefine HAVE_LIBJPEG 1
231
232/* Define to 1 if you have the `m' library (-lm). */
233#cmakedefine HAVE_LIBM 1
234
235/* Define to 1 if you have the `mfhdf' library (-lmfhdf). */
236#cmakedefine HAVE_LIBMFHDF 1
237
238/* Define to 1 if you have the `pnetcdf' library (-lpnetcdf). */
239#cmakedefine HAVE_LIBPNETCDF 1
240
241/* Define to 1 if you have the <locale.h> header file. */
242#cmakedefine HAVE_LOCALE_H 1
243
244/* Define to 1 if the system has the type `longlong'. */
245#cmakedefine HAVE_LONGLONG 1
246
247/* Define to 1 if the system has the type 'long long int'. */
248#cmakedefine HAVE_LONG_LONG_INT 1
249
250/* Define to 1 if you have the <malloc.h> header file. */
251#cmakedefine HAVE_MALLOC_H 1
252
253/* Define to 1 if you have the `memmove' function. */
254#cmakedefine HAVE_MEMMOVE 1
255
256/* Define to 1 if you have the `mkstemp' function. */
257#cmakedefine HAVE_MKSTEMP 1
258
259/* Define to 1 if you have the `mktemp' function. */
260#cmakedefine HAVE_MKTEMP 1
261
262/* Define to 1 if you have the `MPI_Comm_f2c' function. */
263#cmakedefine HAVE_MPI_COMM_F2C 1
264
265/* Define to 1 if you have the `mremap' function. */
266#cmakedefine HAVE_MREMAP 1
267
268/* Define to 1 if you have the `random' function. */
269#cmakedefine HAVE_RANDOM 1
270
271/* Define to 1 if you have the `snprintf' function. */
272#cmakedefine HAVE_SNPRINTF 1
273
274/* Define to 1 if the system has the type `ssize_t'. */
275#cmakedefine HAVE_SSIZE_T 1
276
277/* Define to 1 if you have the <stdarg.h> header file. */
278#cmakedefine HAVE_STDARG_H 1
279
280/* Define to 1 if you have the <stdint.h> header file. */
281#cmakedefine HAVE_STDINT_H 1
282
283/* Define to 1 if you have the <stdio.h> header file. */
284#cmakedefine HAVE_STDIO_H 1
285
286/* Define to 1 if you have the <stdlib.h> header file. */
287#cmakedefine HAVE_STDLIB_H 1
288
289/* Define to 1 if you have the `strdup' function. */
290#cmakedefine HAVE_STRDUP 1
291
292/* Define to 1 if you have the `strndup` function. */
293#cmakedefine HAVE_STRNDUP
294
295/* Define to 1 if you have the <strings.h> header file. */
296#cmakedefine HAVE_STRINGS_H 1
297
298/* Define to 1 if you have the <signal.h> header file. */
299#cmakedefine HAVE_SIGNAL_H 1
300
301/* Define to 1 if you have the <string.h> header file. */
302#cmakedefine HAVE_STRING_H 1
303
304/* Define to 1 if you have the <ftw.h> header file. */
305#cmakedefine HAVE_FTW_H 1
306
307/* Define to 1 if you have the <libgen.h> header file. */
308#cmakedefine HAVE_LIBGEN_H 1
309
310/* Define to 1 if you have the `strlcat' function. */
311#cmakedefine HAVE_STRLCAT 1
312
313/* Define to 1 if you have the `strtoll' function. */
314#cmakedefine HAVE_STRTOLL 1
315
316/* Define to 1 if you have the `strtoull' function. */
317#cmakedefine HAVE_STRTOULL 1
318
319/* Define to 1 if you have the `stroull' function. */
320#cmakedefine HAVE_STROULL 1
321
322/* Define to 1 if `st_blksize' is a member of `struct stat'. */
323#cmakedefine HAVE_STRUCT_STAT_ST_BLKSIZE 1
324
325/* Define to 1 if you have the `sysconf' function. */
326#cmakedefine HAVE_SYSCONF 1
327
328/* Define to 1 if you have the <sys/param.h> header file. */
329#cmakedefine HAVE_SYS_PARAM_H 1
330
331/* Define to 1 if you have the <sys/resource.h> header file. */
332#cmakedefine HAVE_SYS_RESOURCE_H 1
333
334/* Define to 1 if you have the <sys/stat.h> header file. */
335#cmakedefine HAVE_SYS_STAT_H 1
336
337/* Define to 1 if you have the <sys/time.h> header file. */
338#cmakedefine HAVE_SYS_TIME_H 1
339
340/* Define to 1 if you have the <sys/types.h> header file. */
341#cmakedefine HAVE_SYS_TYPES_H 1
342
343/* Define to 1 if the system has the type `uchar'. */
344#cmakedefine HAVE_UCHAR 1
345
346/* Define to 1 if the system has the type `uint'. */
347#cmakedefine HAVE_UINT 1
348
349/* Define to 1 if the system has the type `uint64'. */
350#cmakedefine HAVE_UINT64 1
351
352/* Define to 1 if you have the <unistd.h> header file. */
353#cmakedefine HAVE_UNISTD_H 1
354#cmakedefine YY_NO_UNISTD_H 1
355
356/* Define to 1 if the system has the type `ushort'. */
357#cmakedefine HAVE_USHORT 1
358
359/* if true, H5free_memory() will be used to free hdf5-allocated memory in
360   nc4file. */
361#cmakedefine HDF5_HAS_H5FREE 1
362
363/* if true, hdf5 has parallelism enabled */
364#cmakedefine HDF5_PARALLEL 1
365
366/* if true, include JNA bug fix */
367#cmakedefine JNA 1
368
369/* do large file tests */
370#cmakedefine LARGE_FILE_TESTS 1
371
372/* If true, turn on logging. */
373#cmakedefine LOGGING 1
374
375/* If true, define nc_set_log_level. */
376#cmakedefine ENABLE_SET_LOG_LEVEL 1
377
378/* max size of the default per-var chunk cache. */
379#cmakedefine MAX_DEFAULT_CACHE_SIZE ${MAX_DEFAULT_CACHE_SIZE}
380
381/* min blocksize for posixio. */
382#cmakedefine NCIO_MINBLOCKSIZE ${NCIO_MINBLOCKSIZE}
383
384/* Add extra properties to _NCProperties attribute */
385#cmakedefine NCPROPERTIES_EXTRA ${NCPROPERTIES_EXTRA}
386
387/* no IEEE float on this platform */
388#cmakedefine NO_IEEE_FLOAT 1
389
390#cmakedefine BUILD_V2 1
391#cmakedefine ENABLE_DOXYGEN 1
392#cmakedefine ENABLE_INTERNAL_DOCS 1
393#cmakedefine VALGRIND_TESTS 1
394#cmakedefine ENABLE_CDMREMOTE 1
395#cmakedefine USE_HDF5 1
396#cmakedefine ENABLE_FILEINFO 1
397#cmakedefine TEST_PARALLEL ${TEST_PARALLEL}
398#cmakedefine BUILD_RPC 1
399#cmakedefine USE_X_GETOPT 1
400#cmakedefine ENABLE_EXTREME_NUMBERS 1
401
402/* do not build the netCDF version 2 API */
403#cmakedefine NO_NETCDF_2 1
404
405/* Name of package */
406#define PACKAGE "netcdf"
407
408/* Define to the address where bug reports for this package should be sent. */
409#define PACKAGE_BUGREPORT "support-netcdf@unidata.ucar.edu"
410
411/* Define to the full name of this package. */
412#define PACKAGE_NAME "netCDF"
413
414/* Define to the full name and version of this package. */
415#define PACKAGE_STRING "netCDF ${netCDF_VERSION}"
416
417/* Define to the one symbol short name of this package. */
418#define PACKAGE_TARNAME "netcdf"
419
420/* Define to the home page for this package. */
421#define PACKAGE_URL ""
422
423/* Define to the version of this package. */
424#cmakedefine PACKAGE_VERSION "${netCDF_VERSION}"
425
426/* The size of `ulonglong` as computed by sizeof. */
427#cmakedefine SIZEOF_ULONGLONG @SIZEOF_ULONGLONG@
428
429/* The size of `longlong` as computed by sizeof. */
430#cmakedefine SIZEOF_LONGLONG @SIZEOF_LONGLONG@
431
432/* The size of `char` as computed by sizeof. */
433#cmakedefine SIZEOF_CHAR @SIZEOF_CHAR@
434
435/* The size of `uchar` as computed by sizeof. */
436#cmakedefine SIZEOF_UCHAR @SIZEOF_UCHAR@
437
438/* The size of `__int64` found on Windows systems. */
439#cmakedefine SIZEOF___INT64 ${SIZEOF___INT64}
440
441/* The size of `void*` as computed by sizeof. */
442#cmakedefine SIZEOF_VOIDSTAR ${SIZEOF_VOIDSTAR}
443
444/* The size of `short` as computed by sizeof. */
445#cmakedefine SIZEOF_OFF64_T ${SIZEOF_OFF64_T}
446
447/* The size of `double', as computed by sizeof. */
448#cmakedefine SIZEOF_DOUBLE ${SIZEOF_DOUBLE}
449
450/* The size of `float', as computed by sizeof. */
451#cmakedefine SIZEOF_FLOAT ${SIZEOF_FLOAT}
452
453/* The size of `int', as computed by sizeof. */
454#cmakedefine SIZEOF_INT ${SIZEOF_INT}
455
456/* The size of `long', as computed by sizeof. */
457#cmakedefine SIZEOF_LONG ${SIZEOF_LONG}
458
459/* The size of `long long', as computed by sizeof. */
460#cmakedefine SIZEOF_LONG_LONG ${SIZEOF_LONG_LONG}
461
462/* The size of `off_t', as computed by sizeof. */
463#cmakedefine SIZEOF_OFF_T ${SIZEOF_OFF_T}
464
465/* The size of `short', as computed by sizeof. */
466#cmakedefine SIZEOF_SHORT ${SIZEOF_SHORT}
467
468/* The size of `size_t', as computed by sizeof. */
469#cmakedefine SIZEOF_SIZE_T ${SIZEOF_SIZE_T}
470
471/* The size of `uint', as computed by sizeof. */
472#cmakedefine SIZEOF_UINT ${SIZEOF_UINT}
473
474/* The size of `unsigned int', as computed by sizeof. */
475#cmakedefine SIZEOF_UNSIGNED_INT ${SIZEOF_UNSIGNED_INT}
476
477/* The size of `unsigned long long', as computed by sizeof. */
478#cmakedefine SIZEOF_UNSIGNED_LONG_LONG ${SIZEOF_UNSIGNED_LONG_LONG}
479
480/* The size of `unsigned short int', as computed by sizeof. */
481#cmakedefine SIZEOF_UNSIGNED_SHORT_INT ${SIZEOF_UNSIGNED_SHORT_INT}
482
483/* The size of `ushort', as computed by sizeof. */
484#cmakedefine SIZEOF_USHORT ${SIZEOF_USHORT}
485
486/* The size of `void*', as computed by sizeof. */
487#cmakedefine SIZEOF_VOIDP ${SIZEOF_VOIDP}
488
489/* Place to put very large netCDF test files. */
490#cmakedefine TEMP_LARGE "${TEMP_LARGE}"
491
492/* if true, build DAP Client */
493#cmakedefine USE_DAP 1
494
495/* if true, include NC_DISKLESS code */
496#cmakedefine USE_DISKLESS 1
497
498/* set this to use extreme numbers in tests */
499#cmakedefine USE_EXTREME_NUMBERS 1
500
501/* if true, use ffio instead of posixio */
502#cmakedefine USE_FFIO 1
503
504/* if true, include experimental fsync code */
505#cmakedefine USE_FSYNC 1
506
507/* if true, use HDF4 too */
508#cmakedefine USE_HDF4 1
509
510/* If true, use use wget to fetch some sample HDF4 data, and then test against
511   it. */
512//#cmakedefine USE_HDF4_FILE_TESTS 1
513
514/* if true, use mmap for in-memory files */
515#cmakedefine USE_MMAP 1
516
517/* if true, build netCDF-4 */
518#cmakedefine USE_NETCDF4 1
519
520/* build the netCDF version 2 API */
521#cmakedefine USE_NETCDF_2 1
522
523/* if true, pnetcdf or parallel netcdf-4 is in use */
524#cmakedefine USE_PARALLEL 1
525
526/* if true, parallel netcdf-4 is in use */
527#cmakedefine USE_PARALLEL4 1
528
529/* if true, parallel netCDF is used */
530#cmakedefine USE_PNETCDF 1
531
532/* if true, use stdio instead of posixio */
533#cmakedefine USE_STDIO 1
534
535/* if true, compile in szip compression in netCDF-4 variables */
536#cmakedefine USE_SZIP 1
537
538/* Version number of package */
539#cmakedefine VERSION "${netCDF_VERSION}"
540
541/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
542   significant byte first (like Motorola and SPARC, unlike Intel). */
543#if defined AC_APPLE_UNIVERSAL_BUILD
544# if defined __BIG_ENDIAN__
545#  define WORDS_BIGENDIAN 1
546# endif
547#else
548# ifndef WORDS_BIGENDIAN
549#cmakedefine WORDS_BIGENDIAN
550# endif
551#endif
552
553/* Enable large inode numbers on Mac OS X 10.5.  */
554#ifndef _DARWIN_USE_64_BIT_INODE
555# define _DARWIN_USE_64_BIT_INODE 1
556#endif
557
558/* Define for large files, on AIX-style hosts. */
559#cmakedefine _LARGE_FILES ${_LARGE_FILES}
560
561/* Define to `long int' if <sys/types.h> does not define. */
562#cmakedefine off_t long int
563
564/* Define to `unsigned int' if <sys/types.h> does not define. */
565#cmakedefine size_t unsigned int
566
567/* Define to `int' if <sys/types.h> does not define. */
568#cmakedefine ssize_t int
569
570/* Define to `unsigned long if <sys/types.h> does not define. */
571#cmakedefine uintptr_t unsigned long
572
573/* Define strcasecmp, snprintf on Win32 systems. */
574#ifdef _WIN32
575    #ifndef HAVE_STRCASECMP
576	 #define strcasecmp _stricmp
577    #endif
578
579    #ifndef HAVE_SNPRINTF
580	 #define snprintf _snprintf
581    #endif
582#endif
583
584#cmakedefine WORDS_BIGENDIAN
585
586#include "ncconfigure.h"
587
588#endif
589