summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt39
-rw-r--r--src/H5api_adpt.h18
-rw-r--r--src/H5config.h.in54
-rw-r--r--src/Makefile.in28
-rw-r--r--src/libhdf5.settings.in1
5 files changed, 120 insertions, 20 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 11b37a5..eddc951 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -853,8 +853,8 @@ set_source_files_properties (${HDF5_BINARY_DIR}/H5version.h GENERATED)
set (common_SRCS ${common_SRCS} ${HDF5_BINARY_DIR}/H5overflow.h)
set_source_files_properties (${HDF5_BINARY_DIR}/H5overflow.h GENERATED)
-add_library (${HDF5_LIB_TARGET} ${LIB_TYPE} ${common_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS})
-TARGET_C_PROPERTIES (${HDF5_LIB_TARGET} ${LIB_TYPE} " " " ")
+add_library (${HDF5_LIB_TARGET} STATIC ${common_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS})
+TARGET_C_PROPERTIES (${HDF5_LIB_TARGET} STATIC " " " ")
target_link_libraries (${HDF5_LIB_TARGET} ${LINK_LIBS})
if (NOT WIN32)
target_link_libraries (${HDF5_LIB_TARGET} dl)
@@ -863,7 +863,7 @@ if (H5_HAVE_PARALLEL AND MPI_C_FOUND)
target_link_libraries (${HDF5_LIB_TARGET} ${MPI_C_LIBRARIES})
endif (H5_HAVE_PARALLEL AND MPI_C_FOUND)
set_global_variable (HDF5_LIBRARIES_TO_EXPORT ${HDF5_LIB_TARGET})
-H5_SET_LIB_OPTIONS (${HDF5_LIB_TARGET} ${HDF5_LIB_NAME} ${LIB_TYPE})
+H5_SET_LIB_OPTIONS (${HDF5_LIB_TARGET} ${HDF5_LIB_NAME} STATIC)
set_target_properties (${HDF5_LIB_TARGET} PROPERTIES
FOLDER libraries
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
@@ -876,6 +876,35 @@ if (HDF5_ENABLE_DEBUG_APIS)
"H5Z_DEBUG;H5VM_DEBUG;H5T_DEBUG;H5S_DEBUG;H5P_DEBUG;H5O_DEBUG;H5MM_DEBUG;H5MF_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5HG_DEBUG;H5G_DEBUG;H5F_DEBUG;H5E_DEBUG;H5D_DEBUG;H5B_DEBUG;H5AC_DEBUG"
)
endif (HDF5_ENABLE_DEBUG_APIS)
+set (install_targets ${HDF5_LIB_TARGET})
+
+if (BUILD_SHARED_LIBS)
+ add_library (${HDF5_LIBSH_TARGET} SHARED ${common_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS})
+ TARGET_C_PROPERTIES (${HDF5_LIBSH_TARGET} SHARED " " " ")
+ target_link_libraries (${HDF5_LIBSH_TARGET} ${LINK_SHARED_LIBS})
+ if (NOT WIN32)
+ target_link_libraries (${HDF5_LIBSH_TARGET} dl)
+ endif (NOT WIN32)
+ if (H5_HAVE_PARALLEL AND MPI_C_FOUND)
+ target_link_libraries (${HDF5_LIBSH_TARGET} ${MPI_C_LIBRARIES})
+ endif (H5_HAVE_PARALLEL AND MPI_C_FOUND)
+ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_LIBSH_TARGET}")
+ H5_SET_LIB_OPTIONS (${HDF5_LIBSH_TARGET} ${HDF5_LIB_NAME} SHARED)
+ set_target_properties (${HDF5_LIBSH_TARGET} PROPERTIES
+ FOLDER libraries
+ COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
+ INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
+ )
+
+ if (HDF5_ENABLE_DEBUG_APIS)
+ set_property (TARGET ${HDF5_LIBSH_TARGET}
+ APPEND PROPERTY COMPILE_DEFINITIONS
+ "H5Z_DEBUG;H5VM_DEBUG;H5T_DEBUG;H5S_DEBUG;H5P_DEBUG;H5O_DEBUG;H5MM_DEBUG;H5MF_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5HG_DEBUG;H5G_DEBUG;H5F_DEBUG;H5E_DEBUG;H5D_DEBUG;H5B_DEBUG;H5AC_DEBUG"
+ )
+ endif (HDF5_ENABLE_DEBUG_APIS)
+ set (install_targets ${install_targets} ${HDF5_LIBSH_TARGET})
+endif (BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
# Add file(s) to CMake Install
@@ -896,12 +925,12 @@ endif (NOT HDF5_INSTALL_NO_DEVELOPMENT)
#-----------------------------------------------------------------------------
if (HDF5_EXPORTED_TARGETS)
if (BUILD_SHARED_LIBS)
- INSTALL_TARGET_PDB (${HDF5_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} libraries)
+ INSTALL_TARGET_PDB (${HDF5_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} libraries)
endif (BUILD_SHARED_LIBS)
install (
TARGETS
- ${HDF5_LIB_TARGET}
+ ${install_targets}
EXPORT
${HDF5_EXPORTED_TARGETS}
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT libraries
diff --git a/src/H5api_adpt.h b/src/H5api_adpt.h
index 74066f7..ab7287c 100644
--- a/src/H5api_adpt.h
+++ b/src/H5api_adpt.h
@@ -47,7 +47,7 @@
/* This will only be defined if HDF5 was built with CMake */
#ifdef H5_BUILT_AS_DYNAMIC_LIB
-#if defined(hdf5_EXPORTS)
+#if defined(hdf5_shared_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5_DLL __declspec(dllexport)
#define H5_DLLVAR extern __declspec(dllexport)
@@ -70,7 +70,7 @@
#define H5_DLLVAR extern
#endif /* _HDF5DLL_ */
-#if defined(hdf5_test_EXPORTS)
+#if defined(hdf5_test_shared_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5TEST_DLL __declspec(dllexport)
#define H5TEST_DLLVAR extern __declspec(dllexport)
@@ -93,7 +93,7 @@
#define H5TEST_DLLVAR extern
#endif /* H5TEST_DLL */
-#if defined(hdf5_tools_EXPORTS)
+#if defined(hdf5_tools_shared_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5TOOLS_DLL __declspec(dllexport)
#define H5TOOLS_DLLVAR extern __declspec(dllexport)
@@ -116,7 +116,7 @@
#define H5TOOLS_DLLVAR extern
#endif /* H5TOOLS_DLL */
-#if defined(hdf5_cpp_EXPORTS)
+#if defined(hdf5_cpp_shared_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5_DLLCPP __declspec(dllexport)
#define H5_DLLCPPVAR extern __declspec(dllexport)
@@ -139,7 +139,7 @@
#define H5_DLLCPPVAR extern
#endif /* H5_DLLCPP */
-#if defined(hdf5_hl_EXPORTS)
+#if defined(hdf5_hl_shared_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5_HLDLL __declspec(dllexport)
#define H5_HLDLLVAR extern __declspec(dllexport)
@@ -162,7 +162,7 @@
#define H5_HLDLLVAR extern
#endif /* H5_HLDLL */
-#if defined(hdf5_hl_cpp_EXPORTS)
+#if defined(hdf5_hl_cpp_shared_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5_HLCPPDLL __declspec(dllexport)
#define H5_HLCPPDLLVAR extern __declspec(dllexport)
@@ -185,7 +185,7 @@
#define H5_HLCPPDLLVAR extern
#endif /* H5_HLCPPDLL */
-#if defined(hdf5_f90cstub_EXPORTS)
+#if defined(hdf5_f90cstub_shared_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5_FCDLL __declspec(dllexport)
#define H5_FCDLLVAR extern __declspec(dllexport)
@@ -208,7 +208,7 @@
#define H5_FCDLLVAR extern
#endif /* H5_FCDLL */
-#if defined(hdf5_test_f90cstub_EXPORTS)
+#if defined(hdf5_test_f90cstub_shared_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5_FCTESTDLL __declspec(dllexport)
#define H5_FCTESTDLLVAR extern __declspec(dllexport)
@@ -231,7 +231,7 @@
#define H5_FCTESTDLLVAR extern
#endif /* H5_FCTESTDLL */
-#if defined(hdf5_hl_f90cstub_EXPORTS)
+#if defined(hdf5_hl_f90cstub_shared_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define HDF5_HL_F90CSTUBDLL __declspec(dllexport)
#define HDF5_HL_F90CSTUBDLLVAR extern __declspec(dllexport)
diff --git a/src/H5config.h.in b/src/H5config.h.in
index c0f4466..ad8dcf9 100644
--- a/src/H5config.h.in
+++ b/src/H5config.h.in
@@ -30,6 +30,39 @@
/* As FC_FUNC, but for C identifiers containing underscores. */
#undef FC_FUNC_
+/* Define if Fortran C_LONG_DOUBLE is different from C_DOUBLE */
+#undef FORTRAN_C_LONG_DOUBLE_IS_UNIQUE
+
+/* Define if we have Fortran C_LONG_DOUBLE */
+#undef FORTRAN_HAVE_C_LONG_DOUBLE
+
+/* Define if we have Fortran intrinsic C_SIZEOF */
+#undef FORTRAN_HAVE_C_SIZEOF
+
+/* Define if we have Fortran intrinsic SIZEOF */
+#undef FORTRAN_HAVE_SIZEOF
+
+/* Define if we have Fortran intrinsic STORAGE_SIZE */
+#undef FORTRAN_HAVE_STORAGE_SIZE
+
+/* Determine the size of C long double */
+#undef FORTRAN_SIZEOF_LONG_DOUBLE
+
+/* Define valid Fortran INTEGER KINDs */
+#undef H5CONFIG_F_IKIND
+
+/* Define number of valid Fortran INTEGER KINDs */
+#undef H5CONFIG_F_NUM_IKIND
+
+/* Define number of valid Fortran REAL KINDs */
+#undef H5CONFIG_F_NUM_RKIND
+
+/* Define valid Fortran REAL KINDs */
+#undef H5CONFIG_F_RKIND
+
+/* Define valid Fortran REAL KINDs Sizeof */
+#undef H5CONFIG_F_RKIND_SIZEOF
+
/* Define to 1 if you have the `alarm' function. */
#undef HAVE_ALARM
@@ -82,6 +115,9 @@
/* Define if support for szip filter is enabled */
#undef HAVE_FILTER_SZIP
+/* Determine if __float128 is available */
+#undef HAVE_FLOAT128
+
/* Define to 1 if you have the `fork' function. */
#undef HAVE_FORK
@@ -112,6 +148,9 @@
/* Define if the compiler understands the __FUNCTION__ keyword */
#undef HAVE_FUNCTION
+/* Determine if INTEGER*16 is available */
+#undef HAVE_Fortran_INTEGER_SIZEOF_16
+
/* Define to 1 if you have the `GetConsoleScreenBufferInfo' function. */
#undef HAVE_GETCONSOLESCREENBUFFERINFO
@@ -212,6 +251,9 @@
/* Define to 1 if you have the <pthread.h> header file. */
#undef HAVE_PTHREAD_H
+/* Define to 1 if you have the <quadmath.h> header file. */
+#undef HAVE_QUADMATH_H
+
/* Define to 1 if you have the `random' function. */
#undef HAVE_RANDOM
@@ -418,6 +460,12 @@
/* Define to the version of this package. */
#undef PACKAGE_VERSION
+/* Determine the maximum decimal precision in C */
+#undef PAC_C_MAX_REAL_PRECISION
+
+/* Define Fortran Maximum Real Decimal Precision */
+#undef PAC_FC_MAX_REAL_PRECISION
+
/* Width for printf() for type `long long' or `__int64', use `ll' */
#undef PRINTF_LL_WIDTH
@@ -535,6 +583,12 @@
/* The size of `unsigned', as computed by sizeof. */
#undef SIZEOF_UNSIGNED
+/* The size of `_Quad', as computed by sizeof. */
+#undef SIZEOF__QUAD
+
+/* The size of `__float128', as computed by sizeof. */
+#undef SIZEOF___FLOAT128
+
/* The size of `__int64', as computed by sizeof. */
#undef SIZEOF___INT64
diff --git a/src/Makefile.in b/src/Makefile.in
index 8a60a77..5f2ef19 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -114,7 +114,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = H5config.h
+CONFIG_HEADER = H5config.h $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = libhdf5.settings
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -228,7 +228,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -513,14 +513,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -530,13 +537,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -578,6 +584,18 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
diff --git a/src/libhdf5.settings.in b/src/libhdf5.settings.in
index 1eed645..2355543 100644
--- a/src/libhdf5.settings.in
+++ b/src/libhdf5.settings.in
@@ -39,7 +39,6 @@ Languages:
----------
Fortran: @HDF_FORTRAN@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ Fortran Compiler: @FC_VERSION@
-@BUILD_FORTRAN_CONDITIONAL_TRUE@ Fortran 2003 Compiler: @HAVE_FORTRAN_2003@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ Fortran Flags: @FCFLAGS@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ H5 Fortran Flags: @H5_FCFLAGS@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ AM Fortran Flags: @AM_FCFLAGS@