Merge pull request #356 from Unidata/cmake-parallel

Cmake parallel fix
This commit is contained in:
Ward Fisher 2017-01-30 11:15:22 -07:00 committed by GitHub
commit 594f50a067
3 changed files with 621 additions and 280 deletions

View File

@ -88,6 +88,7 @@ SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules/"
# auto-configure style checks, other CMake modules.
INCLUDE(${CMAKE_ROOT}/Modules/CheckLibraryExists.cmake)
INCLUDE(${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
INCLUDE(${CMAKE_ROOT}/Modules/CheckIncludeFiles.cmake)
INCLUDE(${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)
INCLUDE(${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake)
INCLUDE(${CMAKE_ROOT}/Modules/CheckCXXSourceCompiles.cmake)
@ -333,24 +334,15 @@ OPTION (ENABLE_V2_API "Build netCDF Version 2." ON)
SET(BUILD_V2 ${ENABLE_V2_API})
IF(NOT ENABLE_V2_API)
SET(NO_NETCDF_2 ON)
ENDIF()
ELSE(NOT ENABLE_V2_API)
SET(USE_NETCDF_2 TRUE)
ENDIF(NOT ENABLE_V2_API)
# Option to build utilities
OPTION(BUILD_UTILITIES "Build ncgen, ncgen3, ncdump." ON)
# Option to use MMAP
OPTION(ENABLE_MMAP "Use MMAP." OFF)
IF(ENABLE_MMAP)
CHECK_FUNCTION_EXISTS(mremap HAVE_MREMAP)
IF(NOT HAVE_MREMAP)
MESSAGE(WARNING "mremap not found: disabling MMAP support.")
SET(ENABLE_MMAP OFF)
ELSE()
SET(HAVE_MMAP ON)
SET(BUILD_MMAP ON)
SET(USE_MMAP ON)
ENDIF()
ENDIF()
OPTION(ENABLE_MMAP "Use MMAP." ON)
# Option to use examples.
OPTION(ENABLE_EXAMPLES "Build Examples" ON)
@ -653,6 +645,7 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4)
ENDIF()
IF(HDF5_IS_PARALLEL_MPIO)
SET(HAVE_H5PGET_FAPL_MPIO TRUE)
SET(USE_PARALLEL_MPIO ON)
ENDIF()
@ -667,6 +660,9 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4)
SET(HDF5_C_LIBRARY hdf5)
ENDIF(NOT MSVC)
# Make sure the user has built the library with zlib support.
CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY} H5Pset_deflate "" HAVE_H5PSET_DEFLATE)
#Check to see if H5Z_SZIP exists in HDF5_Libraries. If so, we must use szip.
CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY} H5P_SZIP "" USE_SZIP)
IF(USE_SZIP)
@ -680,8 +676,15 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4)
ENDIF()
CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY} H5free_memory "" HDF5_HAS_H5FREE)
IF(HDF5_HAS_H5FREE)
SET(HAVE_H5FREE_MEMORY TRUE)
ENDIF(HDF5_HAS_H5FREE)
CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY} H5Pset_libver_bounds "" HDF5_HAS_LIBVER_BOUNDS)
IF(HDF5_HAS_LIBVER_BOUNDS)
SET(HAVE_H5PSET_LIBVER_BOUNDS TRUE)
ENDIF(HDF5_HAS_LIBVER_BOUNDS)
IF(HDF5_PARALLEL)
SET(HDF5_CC h5pcc)
ELSE()
@ -719,6 +722,14 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4)
SET(USE_ZLIB ON)
INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIRS})
FIND_PATH(HAVE_HDF5_H hdf5.h)
IF(NOT HAVE_HDF5_H)
MESSAGE(FATAL_ERROR "Compiling a test with hdf5 failed. Either hdf5.h cannot be found, or the log messages should be checked for another reason.")
ELSE(NOT HAVE_HDF5_H)
INCLUDE_DIRECTORIES(${HAVE_HDF5_H})
ENDIF(NOT HAVE_HDF5_H)
ENDIF(USE_HDF5 OR ENABLE_NETCDF_4)
@ -1115,7 +1126,7 @@ CHECK_INCLUDE_FILE("errno.h" HAVE_ERRNO_H)
CHECK_INCLUDE_FILE("fcntl.h" HAVE_FCNTL_H)
CHECK_INCLUDE_FILE("getopt.h" HAVE_GETOPT_H)
CHECK_INCLUDE_FILE("stdbool.h" HAVE_STDBOOL_H)
CHECK_INCLUDE_FILE("locale.h" HAVE_LOCAL_H)
CHECK_INCLUDE_FILE("locale.h" HAVE_LOCALE_H)
CHECK_INCLUDE_FILE("stdint.h" HAVE_STDINT_H)
CHECK_INCLUDE_FILE("stdio.h" HAVE_STDIO_H)
CHECK_INCLUDE_FILE("stdlib.h" HAVE_STDLIB_H)
@ -1129,6 +1140,7 @@ CHECK_INCLUDE_FILE("sys/stat.h" HAVE_SYS_STAT_H)
CHECK_INCLUDE_FILE("sys/time.h" HAVE_SYS_TIME_H)
CHECK_INCLUDE_FILE("sys/types.h" HAVE_SYS_TYPES_H)
CHECK_INCLUDE_FILE("sys/wait.h" HAVE_SYS_WAIT_H)
CHECK_INCLUDE_FILE("sys/mman.h" HAVE_SYS_MMAN_H)
CHECK_INCLUDE_FILE("sys/resource.h" HAVE_SYS_RESOURCE_H)
CHECK_INCLUDE_FILE("fcntl.h" HAVE_FCNTL_H)
CHECK_INCLUDE_FILE("inttypes.h" HAVE_INTTYPES_H)
@ -1136,6 +1148,30 @@ CHECK_INCLUDE_FILE("pstdint.h" HAVE_PSTDINT_H)
CHECK_INCLUDE_FILE("endian.h" HAVE_ENDIAN_H)
CHECK_INCLUDE_FILE("BaseTsd.h" HAVE_BASETSD_H)
CHECK_INCLUDE_FILE("stddef.h" HAVE_STDDEF_H)
CHECK_INCLUDE_FILE("memory.h" HAVE_MEMORY_H)
CHECK_INCLUDE_FILE("string.h" HAVE_STRING_H)
CHECK_INCLUDE_FILES("time.h;sys/time.h" TIME_WITH_SYS_TIME)
IF(NOT HAVE_STDLIB_H)
SET(NO_STDLIB_H TRUE)
ENDIF(NOT HAVE_STDLIB_H)
IF(NOT HAVE_SYS_TYPES_H)
SET(NO_SYS_TYPES_H TRUE)
ENDIF(NOT HAVE_SYS_TYPES_H)
# Symbol Exists
CHECK_SYMBOL_EXISTS(isfinite "math.h" HAVE_DECL_ISFINITE)
CHECK_SYMBOL_EXISTS(isnan "math.h" HAVE_DECL_ISNAN)
CHECK_SYMBOL_EXISTS(isinf "math.h" HAVE_DECL_ISINF)
CHECK_SYMBOL_EXISTS(signbit "math.h" HAVE_DECL_SIGNBIT)
CHECK_SYMBOL_EXISTS(st_blksize "sys/stat.h" HAVE_STRUCT_STAT_ST_BLKSIZE)
CHECK_SYMBOL_EXISTS(alloca "alloca.h" HAVE_ALLOCA)
# For historic purposes...
SET(HAVE_ST_BLKSIZE ${HAVE_STRUCT_STAT_ST_BLKSIZE})
# Type checks
CHECK_TYPE_SIZE("void*" SIZEOF_VOIDSTAR)
@ -1143,13 +1179,46 @@ CHECK_TYPE_SIZE("char" SIZEOF_CHAR)
CHECK_TYPE_SIZE("double" SIZEOF_DOUBLE)
CHECK_TYPE_SIZE("float" SIZEOF_FLOAT)
CHECK_TYPE_SIZE("int" SIZEOF_INT)
CHECK_TYPE_SIZE("uint" SIZEOF_UINT)
IF(SIZEOF_UINT)
SET(HAVE_UINT TRUE)
ENDIF(SIZEOF_UINT)
CHECK_TYPE_SIZE("long" SIZEOF_LONG)
CHECK_TYPE_SIZE("long long" SIZEOF_LONG_LONG)
IF(SIZEOF_LONG_LONG)
SET(HAVE_LONG_LONG_INT TRUE)
ENDIF(SIZEOF_LONG_LONG)
CHECK_TYPE_SIZE("unsigned long long" SIZEOF_UNSIGNED_LONG_LONG)
IF(SIZEOF_UNSIGNED_LONG_LONG)
SET(HAVE_UNSIGNED_LONG_LONG_INT TRUE)
ENDIF(SIZEOF_UNSIGNED_LONG_LONG)
CHECK_TYPE_SIZE("off_t" SIZEOF_OFF_T)
CHECK_TYPE_SIZE("off64_t" SIZEOF_OFF64_T)
CHECK_TYPE_SIZE("short" SIZEOF_SHORT)
CHECK_TYPE_SIZE("ushort" SIZEOF_USHORT)
IF(SIZEOF_USHORT)
SET(HAVE_USHORT TRUE)
ENDIF(SIZEOF_USHORT)
CHECK_TYPE_SIZE("_Bool" SIZEOF__BOOL)
IF(SIZEOF__BOOL)
SET(HAVE__BOOL TRUE)
ENDIF(SIZEOF__BOOL)
CHECK_TYPE_SIZE("size_t" SIZEOF_SIZE_T)
IF(SIZEOF_SIZE_T)
SET(HAVE_SIZE_T TRUE)
ENDIF(SIZEOF_SIZE_T)
CHECK_TYPE_SIZE("ssize_t" SIZEOF_SSIZE_T)
CHECK_TYPE_SIZE("ptrdiff_t" SIZEOF_PTRDIFF_T)
IF(SIZEOF_PTRDIFF_T)
SET(HAVE_PTRDIFF_T TRUE)
ENDIF(SIZEOF_PTRDIFF_T)
# __int64 is used on Windows for large file support.
CHECK_TYPE_SIZE("__int64" SIZEOF___INT_64)
CHECK_TYPE_SIZE("uchar" SIZEOF_UCHAR)
@ -1186,20 +1255,36 @@ CHECK_FUNCTION_EXISTS(strndup HAVE_STRNDUP)
CHECK_FUNCTION_EXISTS(strcasecmp HAVE_STRCASECMP)
CHECK_FUNCTION_EXISTS(strtod HAVE_STRTOD)
CHECK_FUNCTION_EXISTS(strtoll HAVE_STRTOLL)
CHECK_FUNCTION_EXISTS(strtoull HAVE_STROULL)
CHECK_FUNCTION_EXISTS(strtoull HAVE_STRTOULL)
CHECK_FUNCTION_EXISTS(strstr HAVE_STRSTR)
CHECK_FUNCTION_EXISTS(mkstemp HAVE_MKSTEMP)
CHECK_FUNCTION_EXISTS(rand HAVE_RAND)
CHECK_FUNCTION_EXISTS(random HAVE_RANDOM)
CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY)
CHECK_FUNCTION_EXISTS(fsync HAVE_FSYNC)
CHECK_FUNCTION_EXISTS(MPI_Comm_f2C HAVE_MPI_COMM_F2C)
CHECK_FUNCTION_EXISTS(MPI_Comm_f2c HAVE_MPI_COMM_F2C)
CHECK_FUNCTION_EXISTS(memmove HAVE_MEMMOVE)
CHECK_FUNCTION_EXISTS(memcmp HAVE_MEMCMP)
CHECK_FUNCTION_EXISTS(getpagesize HAVE_GETPAGESIZE)
CHECK_FUNCTION_EXISTS(sysconf HAVE_SYSCONF)
CHECK_FUNCTION_EXISTS(getrlimit HAVE_GETRLIMIT)
CHECK_FUNCTION_EXISTS(_filelengthi64 HAVE_FILE_LENGTH_I64)
CHECK_FUNCTION_EXISTS(mmap HAVE_MMAP)
CHECK_FUNCTION_EXISTS(mremap HAVE_MREMAP)
IF(ENABLE_MMAP)
IF(NOT HAVE_MREMAP)
MESSAGE(WARNING "mremap not found: disabling MMAP support.")
SET(ENABLE_MMAP OFF)
ELSE(NOT HAVE_MREMAP)
SET(HAVE_MMAP ON)
SET(BUILD_MMAP ON)
SET(USE_MMAP ON)
ENDIF(NOT HAVE_MREMAP)
ENDIF(ENABLE_MMAP)
CHECK_FUNCTION_EXISTS(vprintf HAVE_VPRINTF)
#CHECK_FUNCTION_EXISTS(alloca HAVE_ALLOCA)
#####
# End system inspection checks.
#####

View File

@ -1,307 +1,562 @@
#ifndef CONFIG_H
#define CONFIG_H
/* config.h.in. Generated from configure.ac by autoheader. */
/* Eliminate a number of warnings which come up based on deprecated
POSIX naming conventions. */
#ifdef _MSC_VER
/* Define if building universal (internal helper macro) */
#cmakedefine AC_APPLE_UNIVERSAL_BUILD 1
#if _MSC_VER>=1900
#define STDC99
#endif
/* Define O_BINARY so that the appropriate flags
are set when opening a binary file on Windows. */
/* If true, will attempt to download and build netcdf-fortran. */
#cmakedefine BUILD_FORTRAN 1
/* Disable a few warnings under Visual Studio, for the
time being. */
#include <io.h>
#pragma warning( disable: 4018 4996 4244 4305 )
#define unlink _unlink
#define open _open
#define close _close
#define read _read
#define lseek _lseeki64
/* default file chunk cache nelems. */
#cmakedefine CHUNK_CACHE_NELEMS ${CHUNK_CACHE_NELEMS}
#define fstat _fstat64
/* default file chunk cache preemption policy. */
#cmakedefine CHUNK_CACHE_PREEMPTION ${CHUNK_CACHE_PREEMPTION}
#define off_t __int64
#define _off_t __int64
/* default file chunk cache size in bytes. */
#cmakedefine CHUNK_CACHE_SIZE ${CHUNK_CACHE_SIZE}
#ifndef _OFF_T_DEFINED
#define _OFF_T_DEFINED
#endif
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
#cmakedefine CRAY_STACKSEG_END
#ifdef _WIN32
#ifndef strcasecmp
#define strcasecmp _stricmp
#endif
/* Define to 1 if using `alloca.c'. */
#cmakedefine C_ALLOCA 1
#ifndef snprintf
#if _MSC_VER<1900
#define snprintf _snprintf
#endif
#endif
#endif
/* num chunks in default per-var chunk cache. */
#cmakedefine DEFAULT_CHUNKS_IN_CACHE ${DEFAULT_CHUNKS_IN_CACHE}
/* default chunk size in bytes */
#cmakedefine DEFAULT_CHUNK_SIZE ${DEFAULT_CHUNK_SIZE}
#define strdup _strdup
#define fdopen _fdopen
#define write _write
#define strtoll _strtoi64
#endif
/* set this only when building a DLL under MinGW */
#cmakedefine DLL_EXPORT 1
/* set this only when building a DLL under MinGW */
#cmakedefine DLL_NETCDF 1
/* Cache Size, other variables for HDF5 */
#define DEFAULT_CHUNK_SIZE ${DEFAULT_CHUNK_SIZE}
#define DEFAULT_CHUNKS_IN_CACHE ${DEFAULT_CHUNKS_IN_CACHE}
#define CHUNK_CACHE_SIZE ${CHUNK_CACHE_SIZE}
#define CHUNK_CACHE_NELEMS ${CHUNK_CACHE_NELEMS}
#define CHUNK_CACHE_PREEMPTION ${CHUNK_CACHE_PREEMPTION}
#define MAX_DEFAULT_CACHE_SIZE ${MAX_DEFAULT_CACHE_SIZE}
#define NCIO_MINBLOCKSIZE ${NCIO_MINBLOCKSIZE}
/* if true, build DAP Client */
#cmakedefine ENABLE_DAP 1
#ifndef _FILE_OFFSET_BITS
#cmakedefine _FILE_OFFSET_BITS ${_FILE_OFFSET_BITS}
#cmakedefine _LARGEFILE64_SOURCE
#cmakedefine _LARGEFILE_SOURCE
#endif
/* if true, enable DAP group names */
#cmakedefine ENABLE_DAP_GROUPS 1
#define PACKAGE_VERSION "${VERSION}"
#cmakedefine VERSION "${VERSION}"
#cmakedefine NC_VERSION "${VERSION}"
/* For HDF5 use. */
/* if true, do remote tests */
#cmakedefine ENABLE_DAP_REMOTE_TESTS 1
/* if true, run extra tests which may not work yet */
#cmakedefine EXTRA_TESTS 1
/* use HDF5 1.6 API */
#cmakedefine H5_USE_16_API 1
/* Enable Logging, only valid for netcdf 4. */
#cmakedefine LOGGING 1
/* Define to 1 if you have `alloca', as a function or macro. */
#cmakedefine HAVE_ALLOCA 1
/* Various other options. */
#cmakedefine BUILD_V2 1
#cmakedefine NO_NETCDF_2 1
#cmakedefine USE_FSYNC 1
#cmakedefine JNA 1
#cmakedefine ENABLE_DOXYGEN 1
#cmakedefine ENABLE_INTERNAL_DOCS 1
#cmakedefine VALGRIND_TESTS 1
#cmakedefine ENABLE_CDMREMOTE 1
#cmakedefine USE_DAP 1
#cmakedefine ENABLE_DAP 1
#cmakedefine ENABLE_DAP_GROUPS 1
#cmakedefine ENABLE_DAP_REMOTE_TESTS 1
#cmakedefine EXTRA_TESTS
#cmakedefine USE_NETCDF4 1
#cmakedefine USE_LIBDL 1
#cmakedefine USE_HDF4 1
#cmakedefine USE_HDF5 1
#cmakedefine USE_FFIO 1
#cmakedefine USE_PARALLEL_POSIX 1
#cmakedefine USE_PARALLEL_MPIO 1
#cmakedefine HDF5_HAS_H5FREE 1
#cmakedefine HDF5_HAS_LIBVER_BOUNDS 1
#cmakedefine HDF5_PARALLEL 1
#cmakedefine USE_PARALLEL 1
#cmakedefine USE_PARALLEL4 1
#cmakedefine USE_PNETCDF 1
#cmakedefine USE_MMAP 1
#cmakedefine ENABLE_FILEINFO 1
#cmakedefine TEST_PARALLEL ${TEST_PARALLEL}
#cmakedefine BUILD_RPC 1
#cmakedefine USE_DISKLESS 1
#cmakedefine USE_SZIP 1
#cmakedefine USE_ZLIB 1
#cmakedefine USE_X_GETOPT 1
#cmakedefine ENABLE_EXTREME_NUMBERS
#cmakedefine LARGE_FILE_TESTS 1
#cmakedefine HAVE_DECL_ISFINITE 1
#cmakedefine HAVE_DECL_ISNAN 1
#cmakedefine HAVE_CURLOPT_USERNAME 1
#cmakedefine HAVE_CURLOPT_PASSWORD 1
#cmakedefine HAVE_CURLOPT_KEYPASSWD 1
#cmakedefine HAVE_CURLINFO_RESPONSE_CODE 1
#cmakedefine HAVE_CURLOPT_CHUNK_BGN_FUNCTION 1
#cmakedefine HAVE_DECL_SIGNBIT 1
#cmakedefine HAVE_DOPRNT
#cmakedefine HAVE_ALLOCA
#cmakedefine HAVE_SSIZE_T 1
#cmakedefine HAVE_LIBPNETCDF 1
#cmakedefine HAVE_LIBDL 1
/* Define to 1 if you have the <alloca.h> header file. */
#cmakedefine HAVE_ALLOCA_H @HAVE_ALLOCA_H@
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#cmakedefine HAVE_ALLOCA_H 1
/* Define to 1 if you have the <ctype.h> header file. */
#cmakedefine HAVE_CTYPE_H @HAVE_CTYPE_H@
#cmakedefine HAVE_CTYPE_H 1
/* Define to 1 if you have the <dirent> header file. */
#cmakedefine HAVE_DIRENT_H @HAVE_DIRENT_H@
/* Is CURLINFO_RESPONSE_CODE defined */
#cmakedefine HAVE_CURLINFO_RESPONSE_CODE 1
/* Define to 1 if you have the <unistd.h> header file. */
#cmakedefine HAVE_UNISTD_H @HAVE_UNISTD_H@
#cmakedefine YY_NO_UNISTD_H @YY_NO_UNISTD_H@
/* Is CURLOPT_CHUNK_BGN_FUNCTION defined */
#cmakedefine HAVE_CURLOPT_CHUNK_BGN_FUNCTION 1
/* Is CURLOPT_KEYPASSWD defined */
#cmakedefine HAVE_CURLOPT_KEYPASSWD 1
/* Is CURLOPT_PASSWORD defined */
#cmakedefine HAVE_CURLOPT_PASSWORD 1
/* Is CURLOPT_USERNAME defined */
#cmakedefine HAVE_CURLOPT_USERNAME 1
/* Define to 1 if you have the declaration of `isfinite', and to 0 if you
don't. */
#cmakedefine HAVE_DECL_ISFINITE 1
/* Define to 1 if you have the declaration of `isinf', and to 0 if you don't.
*/
#cmakedefine HAVE_DECL_ISINF 1
/* Define to 1 if you have the declaration of `isnan', and to 0 if you don't.
*/
#cmakedefine HAVE_DECL_ISNAN 1
/* Define to 1 if you have the declaration of `signbit', and to 0 if you
don't. */
#cmakedefine HAVE_DECL_SIGNBIT 1
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#cmakedefine HAVE_DIRENT_H 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#cmakedefine HAVE_DLFCN_H @HAVE_DLFCN_H@
#cmakedefine HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
#cmakedefine HAVE_DOPRNT 1
/* Define to 1 if you have the <errno.h> header file. */
#cmakedefine HAVE_ERRNO_H @HAVE_ERRNO_H@
#cmakedefine HAVE_ERRNO_H 1
/* Define to 1 if you have the <fcntl.h> header file. */
#cmakedefine HAVE_FCNTL_H @HAVE_FCNTL_H@
#cmakedefine HAVE_FCNTL_H 1
/* Define to 1 if you have the `fsync' function. */
#cmakedefine HAVE_FSYNC 1
/* Define to 1 if you have the <getopt.h> header file. */
#cmakedefine HAVE_GETOPT_H @HAVE_GETOPT_H@
#cmakedefine HAVE_GETOPT_H 1
/* Define to 1 if you have the <stdarg.h> header file. */
#cmakedefine HAVE_STDARG_H @HAVE_STDARG_H@
/* Define to 1 if you have the `getpagesize' function. */
#cmakedefine HAVE_GETPAGESIZE 1
/* Define to 1 if you have the `getrlimit' function. */
#cmakedefine HAVE_GETRLIMIT 1
/* Define to 1 if you have the `gettimeofday' function. */
#cmakedefine HAVE_GETTIMEOFDAY 1
/* Define to 1 if you have the `H5free_memory' function. */
#cmakedefine HAVE_H5FREE_MEMORY 1
/* Define to 1 if you have the `H5Pget_fapl_mpio' function. */
#cmakedefine HAVE_H5PGET_FAPL_MPIO 1
/* Define to 1 if you have the `H5Pget_fapl_mpiposix' function. */
#cmakedefine HAVE_H5PGET_FAPL_MPIPOSIX 1
/* Define to 1 if you have the `H5Pset_deflate' function. */
#cmakedefine HAVE_H5PSET_DEFLATE 1
/* if true, netcdf4 file properties will be set using H5Pset_libver_bounds */
#cmakedefine HDF5_HAS_LIBVER_BOUNDS 1
/* Define to 1 if you have the `H5Z_SZIP' function. */
#cmakedefine HAVE_H5Z_SZIP 1
/* Define to 1 if you have the <hdf5.h> header file. */
#cmakedefine HAVE_HDF5_H @HAVE_HDF5_H@
#cmakedefine HAVE_HDF5_H 1
/* Define to 1 if you have the <hdf5_hl.h> header file. */
#cmakedefine HAVE_HDF5_HL_H @HAVE_HDF5_HL_H@
/* Define to 1 if you have the <stdbool.h> header file. */
#cmakedefine HAVE_STDBOOL_H @HAVE_STDBOOL_H@
/* Define to 1 if you have the <locale.h> header file. */
#cmakedefine HAVE_LOCAL_H @HAVE_LOCAL_H@
/* Define to 1 if you have the <stdint.h> header file. */
#cmakedefine HAVE_STDINT_H @HAVE_STDINT_H@
/* Define to 1 if you have the <stdio.h> header file. */
#cmakedefine HAVE_STDIO_H @HAVE_STDIO_H@
/* Define to 1 if you have the <stdlib.h> header file. */
#cmakedefine HAVE_STDLIB_H @HAVE_STDLIB_H@
/* Define to 1 if you have the <strings.h> header file. */
#cmakedefine HAVE_STRINGS_H @HAVE_STRINGS_H@
/* Define to 1 if you have the <signal.h> header file. */
#cmakedefine HAVE_SIGNAL_H @HAVE_SIGNAL_H@
/* Define to 1 if you have the <sys/dir.h> header file. */
#cmakedefine HAVE_SYS_DIR_H @HAVE_SYS_DIR_H@
/* Define to 1 if you have the <sys/ndir.h> header file. */
#cmakedefine HAVE_SYS_NDIR_H @HAVE_SYS_NDIR_H@
/* Define to 1 if you have the <sys/param.h> header file. */
#cmakedefine HAVE_SYS_PARAM_H @HAVE_SYS_PARAM_H@
/* Define to 1 if you have the <sys/stat.h> header file. */
#cmakedefine HAVE_SYS_STAT_H @HAVE_SYS_STAT_H@
/* Define to 1 if you have the <sys/time.h> header file. */
#cmakedefine HAVE_SYS_TIME_H @HAVE_SYS_TIME_H@
/* Define to 1 if you have the <sys/resource.h> header file. */
#cmakedefine HAVE_SYS_RESOURCE_H @HAVE_SYS_RESOURCE_H@
/* Define to 1 if you have the <sys/types.h> header file. */
#cmakedefine HAVE_SYS_TYPES_H @HAVE_SYS_TYPES_H@
/* Define to 1 if you have the <sys/wait.h> header file. */
#cmakedefine HAVE_SYS_WAIT_H @HAVE_SYS_WAIT_H@
/* Define to 1 if the system has the type `int64'. */
#cmakedefine HAVE_INT64 1
/* Define to 1 if you have the <inttypes.h> header file. */
#cmakedefine HAVE_INTTYPES_H @HAVE_INTTYPES_H@
#cmakedefine HAVE_INTTYPES_H 1
/* Define to 1 if you have the <fcntl.h> header file. */
#cmakedefine HAVE_FCNTL_H @HAVE_FCNTL_H@
/* Define to 1 if you have the `df' library (-ldf). */
#cmakedefine HAVE_LIBDF 1
/* Define to 1 if you have the <malloc.h> header file. */
#cmakedefine HAVE_MALLOC_H @HAVE_MALLOC_H@
/* Define to 1 if you have the `dl' library (-ldl). */
#cmakedefine HAVE_LIBDL 1
/* Define to 1 if you have the BaseTsd.h header file. */
#cmakedefine HAVE_BASETSD_H @HAVE_BASETSD_H@
/* Define to 1 if you have the `jpeg' library (-ljpeg). */
#cmakedefine HAVE_LIBJPEG 1
/* Define if we have filelengthi64. */
#cmakedefine HAVE_FILE_LENGTH_I64 @HAVE_FILE_LENGTH_I64@
/* Define whether char is signed by default. */
#ifndef __CHAR_UNSIGNED__
#cmakedefine __CHAR_UNSIGNED__
#endif
/* The size of `void*` as computed by sizeof. */
#cmakedefine SIZEOF_VOIDSTAR @SIZEOF_VOIDSTAR@
/* The size of `char` as computed by sizeof. */
#cmakedefine SIZEOF_CHAR @SIZEOF_CHAR@
/* The size of `double` as computed by sizeof. */
#cmakedefine SIZEOF_DOUBLE @SIZEOF_DOUBLE@
/* The size of `float` as computed by sizeof. */
#cmakedefine SIZEOF_FLOAT @SIZEOF_FLOAT@
/* The size of `int` as computed by sizeof. */
#cmakedefine SIZEOF_INT @SIZEOF_INT@
/* The size of `long` as computed by sizeof. */
#cmakedefine SIZEOF_LONG @SIZEOF_LONG@
/* The size of `long long` as computed by sizeof. */
#cmakedefine SIZEOF_LONG_LONG @SIZEOF_LONG_LONG@
/* The size of `off_t` as computed by sizeof. */
#cmakedefine SIZEOF_OFF_T @SIZEOF_OFF_T@
/* The size of `short` as computed by sizeof. */
#cmakedefine SIZEOF_OFF64_T @SIZEOF_OFF64_T@
#cmakedefine SIZEOF_SHORT @SIZEOF_SHORT@
/* The size of `size_t` as computed by sizeof. */
#cmakedefine SIZEOF_SIZE_T @SIZEOF_SIZE_T@
/* The size of `ssize_t` as computed by sizeof. */
#cmakedefine SIZEOF_SSIZE_T @SIZEOF_SSIZE_T@
/* The size of `uchar` as computed by sizeof. */
#cmakedefine SIZEOF_UCHAR @SIZEOF_UCHAR@
/* The size of `__int64` found on Windows systems. */
#cmakedefine SIZEOF___INT64 @SIZEOF___INT64@
#cmakedefine TEMP_LARGE "@TEMP_LARGE@"
/* Set if we have strdup */
#cmakedefine HAVE_STRDUP
#cmakedefine HAVE_STRNDUP
#cmakedefine HAVE_STRLCAT
#cmakedefine HAVE_STRERROR
#cmakedefine HAVE_SNPRINTF
#cmakedefine HAVE_STRCHR
#cmakedefine HAVE_STRRCHR
#cmakedefine HAVE_STRCAT
#cmakedefine HAVE_STRCPY
#cmakedefine HAVE_STRDUP
#cmakedefine HAVE_STRCASECMP
#cmakedefine HAVE_STRTOD
#cmakedefine HAVE_STRTOLL
#cmakedefine HAVE_STROULL
#cmakedefine HAVE_STRSTR
#cmakedefine HAVE_MKSTEMP
#cmakedefine HAVE_RAND
#cmakedefine HAVE_RANDOM
#cmakedefine HAVE_GETTIMEOFDAY
#cmakedefine HAVE_MPI_COMM_F2C
#cmakedefine HAVE_MEMMOVE
#cmakedefine HAVE_MMAP
#cmakedefine HAVE_GETPAGESIZE
#cmakedefine HAVE_SYSCONF
#cmakedefine HAVE_MREMAP
#cmakedefine HAVE_DECL_ISINF
#cmakedefine HAVE_GETRLIMIT
#cmakedefine HAVE_FSYNC
#cmakedefine HAVE_H5PGET_FAPL_MPIPOSIX 1
#cmakedefine HAVE_H5PSET_DEFLATE
#cmakedefine HAVE_H5Z_SZIP
/* Specifies if various libraries are present. */
/* Define to 1 if you have the `m' library (-lm). */
#cmakedefine HAVE_LIBM 1
/* Define to 1 if the system has the type `uchar'.*/
#cmakedefine HAVE_UCHAR
/* Define to 1 if you have the `mfhdf' library (-lmfhdf). */
#cmakedefine HAVE_LIBMFHDF 1
/* Misc defines copied from autotools config.h.in */
#cmakedefine CRAY_STACKSEG_END
#cmakedefine DLL_EXPORT
#cmakedefine DLL_NETCDF
/* Define to 1 if you have the `pnetcdf' library (-lpnetcdf). */
#cmakedefine HAVE_LIBPNETCDF 1
#include <ncconfigure.h>
/* Define to 1 if you have the <locale.h> header file. */
#cmakedefine HAVE_LOCALE_H 1
/* Define to 1 if the system has the type `longlong'. */
#cmakedefine HAVE_LONGLONG 1
/* Define to 1 if the system has the type 'long long int'. */
#cmakedefine HAVE_LONG_LONG_INT 1
/* Define to 1 if you have the <malloc.h> header file. */
#cmakedefine HAVE_MALLOC_H 1
/* Define to 1 if you have the `memcmp' function. */
#cmakedefine HAVE_MEMCMP 1
/* Define to 1 if you have the `memmove' function. */
#cmakedefine HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#cmakedefine HAVE_MEMORY_H 1
/* Define to 1 if you have the <mfhdf.h> header file. */
#cmakedefine HAVE_MFHDF_H 1
/* Define to 1 if you have the `mkstemp' function. */
#cmakedefine HAVE_MKSTEMP 1
/* Define to 1 if you have a working `mmap' system call. */
#cmakedefine HAVE_MMAP 1
/* Define to 1 if you have the `MPI_Comm_f2c' function. */
#cmakedefine HAVE_MPI_COMM_F2C 1
/* Define to 1 if you have the `mremap' function. */
#cmakedefine HAVE_MREMAP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#cmakedefine HAVE_NDIR_H 1
/* Define to 1 if the system has the type `ptrdiff_t'. */
#cmakedefine HAVE_PTRDIFF_T 1
/* Define to 1 if you have the `rand' function. */
#cmakedefine HAVE_RAND 1
/* Define to 1 if you have the `random' function. */
#cmakedefine HAVE_RANDOM 1
/* Define to 1 if the system has the type `size_t'. */
#cmakedefine HAVE_SIZE_T 1
/* Define to 1 if you have the `snprintf' function. */
#cmakedefine HAVE_SNPRINTF 1
/* Define to 1 if the system has the type `ssize_t'. */
#cmakedefine HAVE_SSIZE_T 1
/* Define to 1 if you have the <stdarg.h> header file. */
#cmakedefine HAVE_STDARG_H 1
/* Define to 1 if stdbool.h conforms to C99. */
#cmakedefine HAVE_STDBOOL_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#cmakedefine HAVE_STDINT_H 1
/* Define to 1 if you have the <stdio.h> header file. */
#cmakedefine HAVE_STDIO_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#cmakedefine HAVE_STDLIB_H 1
/* Define to 1 if you have the `strcasecmp' function. */
#cmakedefine HAVE_STRCASECMP 1
/* Define to 1 if you have the `strcat' function. */
#cmakedefine HAVE_STRCAT 1
/* Define to 1 if you have the `strchr' function. */
#cmakedefine HAVE_STRCHR 1
/* Define to 1 if you have the `strcpy' function. */
#cmakedefine HAVE_STRCPY 1
/* Define to 1 if you have the `strdup' function. */
#cmakedefine HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#cmakedefine HAVE_STRERROR 1
/* Define to 1 if you have the <strings.h> header file. */
#cmakedefine HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#cmakedefine HAVE_STRING_H 1
/* Define to 1 if you have the `strlcat' function. */
#cmakedefine HAVE_STRLCAT 1
/* Define to 1 if you have the `strrchr' function. */
#cmakedefine HAVE_STRRCHR 1
/* Define to 1 if you have the `strstr' function. */
#cmakedefine HAVE_STRSTR 1
/* Define to 1 if you have the `strtod' function. */
#cmakedefine HAVE_STRTOD 1
/* Define to 1 if you have the `strtoll' function. */
#cmakedefine HAVE_STRTOLL 1
/* Define to 1 if you have the `strtoull' function. */
#cmakedefine HAVE_STRTOULL 1
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#cmakedefine HAVE_STRUCT_STAT_ST_BLKSIZE 1
/* Define to 1 if your `struct stat' has `st_blksize'. Deprecated, use
`HAVE_STRUCT_STAT_ST_BLKSIZE' instead. */
#cmakedefine HAVE_ST_BLKSIZE 1
/* Define to 1 if you have the `sysconf' function. */
#cmakedefine HAVE_SYSCONF 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
#cmakedefine HAVE_SYS_DIR_H 1
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
#cmakedefine HAVE_SYS_NDIR_H 1
/* Define to 1 if you have the <sys/param.h> header file. */
#cmakedefine HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/resource.h> header file. */
#cmakedefine HAVE_SYS_RESOURCE_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#cmakedefine HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#cmakedefine HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#cmakedefine HAVE_SYS_TYPES_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#cmakedefine HAVE_SYS_WAIT_H 1
/* Define to 1 if the system has the type `uchar'. */
#cmakedefine HAVE_UCHAR 1
/* Define to 1 if the system has the type `uint'. */
#cmakedefine HAVE_UINT 1
/* Define to 1 if the system has the type `uint64'. */
#cmakedefine HAVE_UINT64 1
/* Define to 1 if you have the <unistd.h> header file. */
#cmakedefine HAVE_UNISTD_H 1
/* Define to 1 if the system has the type 'unsigned long long int'. */
#cmakedefine HAVE_UNSIGNED_LONG_LONG_INT 1
/* Define to 1 if the system has the type `ushort'. */
#cmakedefine HAVE_USHORT 1
/* Define to 1 if you have the `vprintf' function. */
#cmakedefine HAVE_VPRINTF 1
/* Define to 1 if the system has the type `_Bool'. */
#cmakedefine HAVE__BOOL 1
/* if true, H5free_memory() will be used to free hdf5-allocated memory in
nc4file. */
#cmakedefine HDF5_HAS_H5FREE 1
/* if true, hdf5 has parallelism enabled */
#cmakedefine HDF5_PARALLEL 1
/* if true, include JNA bug fix */
#cmakedefine JNA 1
/* do large file tests */
#cmakedefine LARGE_FILE_TESTS 1
/* If true, turn on logging. */
#cmakedefine LOGGING 1
/* max size of the default per-var chunk cache. */
#cmakedefine MAX_DEFAULT_CACHE_SIZE ${MAX_DEFAULT_CACHE_SIZE}
/* min blocksize for posixio. */
#cmakedefine NCIO_MINBLOCKSIZE ${NCIO_MINBLOCKSIZE}
/* no IEEE float on this platform */
#cmakedefine NO_IEEE_FLOAT 1
/* do not build the netCDF version 2 API */
#cmakedefine NO_NETCDF_2 1
/* no stdlib.h */
#cmakedefine NO_STDLIB_H 1
/* no sys_types.h */
#cmakedefine NO_SYS_TYPES_H 1
/* Name of package */
#define PACKAGE "netcdf"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "support-netcdf@unidata.ucar.edu"
/* Define to the full name of this package. */
#define PACKAGE_NAME "netCDF"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "netCDF ${netCDF_VERSION}"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "netcdf"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#cmakedefine PACKAGE_VERSION "${netCDF_VERSION}"
/* The size of `double', as computed by sizeof. */
#cmakedefine SIZEOF_DOUBLE ${SIZEOF_DOUBLE}
/* The size of `float', as computed by sizeof. */
#cmakedefine SIZEOF_FLOAT ${SIZEOF_FLOAT}
/* The size of `int', as computed by sizeof. */
#cmakedefine SIZEOF_INT ${SIZEOF_INT}
/* The size of `long', as computed by sizeof. */
#cmakedefine SIZEOF_LONG ${SIZEOF_LONG}
/* The size of `long long', as computed by sizeof. */
#cmakedefine SIZEOF_LONG_LONG ${SIZEOF_LONG_LONG}
/* The size of `off_t', as computed by sizeof. */
#cmakedefine SIZEOF_OFF_T ${SIZEOF_OFF_T}
/* The size of `ptrdiff_t', as computed by sizeof. */
#cmakedefine SIZEOF_PTRDIFF_T ${SIZEOF_PTRDIFF_T}
/* The size of `short', as computed by sizeof. */
#cmakedefine SIZEOF_SHORT ${SIZEOF_SHORT}
/* The size of `size_t', as computed by sizeof. */
#cmakedefine SIZEOF_SIZE_T ${SIZEOF_SIZE_T}
/* The size of `uint', as computed by sizeof. */
#cmakedefine SIZEOF_UINT ${SIZEOF_UINT}
/* The size of `unsigned int', as computed by sizeof. */
#cmakedefine SIZEOF_UNSIGNED_INT ${SIZEOF_UNSIGNED_INT}
/* The size of `unsigned long long', as computed by sizeof. */
#cmakedefine SIZEOF_UNSIGNED_LONG_LONG ${SIZEOF_UNSIGNED_LONG_LONG}
/* The size of `unsigned short int', as computed by sizeof. */
#cmakedefine SIZEOF_UNSIGNED_SHORT_INT ${SIZEOF_UNSIGNED_SHORT_INT}
/* The size of `ushort', as computed by sizeof. */
#cmakedefine SIZEOF_USHORT ${SIZEOF_USHORT}
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at runtime.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
#cmakedefine STACK_DIRECTION ${STACK_DIRECTION}
/* Define to 1 if you have the ANSI C header files. */
#cmakedefine STDC_HEADERS 1
/* Place to put very large netCDF test files. */
#cmakedefine TEMP_LARGE "${TEMP_LARGE}"
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#cmakedefine TIME_WITH_SYS_TIME 1
/* if true, build DAP Client */
#cmakedefine USE_DAP 1
/* if true, include NC_DISKLESS code */
#cmakedefine USE_DISKLESS 1
/* set this to use extreme numbers in tests */
#cmakedefine USE_EXTREME_NUMBERS 1
/* if true, use ffio instead of posixio */
#cmakedefine USE_FFIO 1
/* if true, include experimental fsync code */
#cmakedefine USE_FSYNC 1
/* if true, use HDF4 too */
#cmakedefine USE_HDF4 1
/* If true, use use wget to fetch some sample HDF4 data, and then test against
it. */
#cmakedefine USE_HDF4_FILE_TESTS 1
/* if true, enable dynamic loading support */
#cmakedefine USE_LIBDL 1
/* if true, use mmap for in-memory files */
#cmakedefine USE_MMAP 1
/* if true, build netCDF-4 */
#cmakedefine USE_NETCDF4 1
/* build the netCDF version 2 API */
#cmakedefine USE_NETCDF_2 1
/* if true, pnetcdf or parallel netcdf-4 is in use */
#cmakedefine USE_PARALLEL 1
/* if true, parallel netcdf-4 is in use */
#cmakedefine USE_PARALLEL4 1
/* if true, compile in parallel netCDF-4 based on MPI/IO */
#cmakedefine USE_PARALLEL_MPIO 1
/* if true, compile in parallel netCDF-4 based on MPI/POSIX */
#cmakedefine USE_PARALLEL_POSIX 1
/* if true, parallel netCDF is used */
#cmakedefine USE_PNETCDF 1
/* if true, use stdio instead of posixio */
#cmakedefine USE_STDIO 1
/* if true, compile in szip compression in netCDF-4 variables */
#cmakedefine USE_SZIP 1
/* if true, compile in zlib compression in netCDF-4 variables */
#cmakedefine USE_ZLIB 1
/* Version number of package */
#cmakedefine VERSION "${netCDF_VERSION}"
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
#cmakedefine WORDS_BIGENDIAN
# endif
#endif
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
#cmakedefine _FILE_OFFSET_BITS ${_FILE_OFFSET_BITS}
/* Define for large files, on AIX-style hosts. */
#cmakedefine _LARGE_FILES ${_LARGE_FILES}
/* Define to 1 if type `char' is unsigned and you are not using gcc. */
#ifndef __CHAR_UNSIGNED__
#cmakedefine __CHAR_UNSIGNED__
#endif
/* Define to empty if `const' does not conform to ANSI C. */
#cmakedefine const
/* Define to `long int' if <sys/types.h> does not define. */
#cmakedefine off_t long int
/* Define to `unsigned int' if <sys/types.h> does not define. */
#cmakedefine size_t unsigned int
/* Define strcasecmp, snprintf on Win32 systems. */
#ifdef _WIN32
#define strcasecmp _stricmp
#define snprintf _snprintf
#endif
#include "ncconfigure.h"

View File

@ -751,6 +751,7 @@ AC_MSG_NOTICE([checking types, headers, and functions])
AC_CHECK_HEADER(stdlib.h, ,AC_DEFINE([NO_STDLIB_H], [], [no stdlib.h]))
AC_CHECK_HEADER(sys/types.h, ,AC_DEFINE([NO_SYS_TYPES_H], [], [no sys_types.h]))
AC_CHECK_HEADERS([sys/dir.h])
AC_CHECK_HEADERS([sys/param.h])
#AC_CHECK_HEADERS([locale.h])
AC_HEADER_DIRENT
@ -923,7 +924,7 @@ if test "x$enable_netcdf_4" = xyes; then
[AC_MSG_ERROR([Can't find or link to the hdf5 high-level. Use --disable-netcdf-4, or see config.log for errors.])])
AC_CHECK_HEADERS([hdf5.h], [], [AC_MSG_ERROR([Compiling a test with HDF5 failed. Either hdf5.h cannot be found, or config.log should be checked for other reason.])])
AC_CHECK_FUNCS([H5Pget_fapl_mpiposix H5Pget_fapl_mpio H5Pset_deflate H5Z_SZIP H5free_memory])
AC_CHECK_FUNCS([H5Pget_fapl_mpiposix H5Pget_fapl_mpio H5Pset_deflate H5Z_SZIP H5free_memory H5Pset_libver_bounds])
# The user may have parallel HDF5 based on MPI POSIX.
if test "x$ac_cv_func_H5Pget_fapl_mpiposix" = xyes; then