summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2015-08-11 13:52:25 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2015-08-11 13:52:25 (GMT)
commitc3649ea51764b1e7d2b82ca3d5a2ba4053f34a6d (patch)
treee65a730fa7f989a58b04f957e6194fbed0912de0 /src
parentdeccf66684b47acc62b65d53a084a32a48e99b61 (diff)
parent3b4696ccd16c2b98e2700a46bf7a5c76ef4a9764 (diff)
downloadhdf5-c3649ea51764b1e7d2b82ca3d5a2ba4053f34a6d.zip
hdf5-c3649ea51764b1e7d2b82ca3d5a2ba4053f34a6d.tar.gz
hdf5-c3649ea51764b1e7d2b82ca3d5a2ba4053f34a6d.tar.bz2
[svn-r27491] merge from trunk.
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt39
-rw-r--r--src/H5Fcwfs.c8
-rw-r--r--src/H5HL.c10
-rw-r--r--src/H5MFaggr.c12
-rw-r--r--src/H5Oalloc.c8
-rw-r--r--src/H5api_adpt.h18
6 files changed, 62 insertions, 33 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 599cb4a..26682f3 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -871,8 +871,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)
@@ -881,7 +881,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>"
@@ -894,6 +894,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
@@ -914,12 +943,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/H5Fcwfs.c b/src/H5Fcwfs.c
index d0688f7..36f0a93 100644
--- a/src/H5Fcwfs.c
+++ b/src/H5Fcwfs.c
@@ -210,12 +210,12 @@ H5F_cwfs_find_free_heap(H5F_t *f, hid_t dxpl_id, size_t need, haddr_t *addr)
new_need = MAX(H5HG_SIZE(f->shared->cwfs[cwfsno]), new_need);
if((H5HG_SIZE(f->shared->cwfs[cwfsno]) + new_need) <= H5HG_MAXSIZE) {
- htri_t extended; /* Whether the heap was extended */
+ htri_t was_extended; /* Whether the heap was extended */
- extended = H5MF_try_extend(f, dxpl_id, H5FD_MEM_GHEAP, H5HG_ADDR(f->shared->cwfs[cwfsno]), (hsize_t)H5HG_SIZE(f->shared->cwfs[cwfsno]), (hsize_t)new_need);
- if(extended < 0)
+ was_extended = H5MF_try_extend(f, dxpl_id, H5FD_MEM_GHEAP, H5HG_ADDR(f->shared->cwfs[cwfsno]), (hsize_t)H5HG_SIZE(f->shared->cwfs[cwfsno]), (hsize_t)new_need);
+ if(was_extended < 0)
HGOTO_ERROR(H5E_HEAP, H5E_CANTEXTEND, FAIL, "error trying to extend heap")
- else if(extended == TRUE) {
+ else if(was_extended == TRUE) {
if(H5HG_extend(f, dxpl_id, H5HG_ADDR(f->shared->cwfs[cwfsno]), new_need) < 0)
HGOTO_ERROR(H5E_HEAP, H5E_CANTRESIZE, FAIL, "unable to extend global heap collection")
*addr = H5HG_ADDR(f->shared->cwfs[cwfsno]);
diff --git a/src/H5HL.c b/src/H5HL.c
index eae0482..49af528 100644
--- a/src/H5HL.c
+++ b/src/H5HL.c
@@ -763,7 +763,7 @@ H5HL_insert(H5F_t *f, hid_t dxpl_id, H5HL_t *heap, size_t buf_size, const void *
size_t need_more; /* How much more space we need */
size_t new_dblk_size; /* Final size of space allocated for heap data block */
size_t old_dblk_size; /* Previous size of space allocated for heap data block */
- htri_t extended; /* Whether the local heap's data segment on disk was extended */
+ htri_t was_extended; /* Whether the local heap's data segment on disk was extended */
/* At least double the heap's size, making certain there's enough room
* for the new object */
@@ -786,12 +786,12 @@ H5HL_insert(H5F_t *f, hid_t dxpl_id, H5HL_t *heap, size_t buf_size, const void *
H5_CHECK_OVERFLOW(new_dblk_size, size_t, hsize_t);
/* Extend current heap if possible */
- extended = H5MF_try_extend(f, dxpl_id, H5FD_MEM_LHEAP, heap->dblk_addr, (hsize_t)(heap->dblk_size), (hsize_t)need_more);
- if(extended < 0)
+ was_extended = H5MF_try_extend(f, dxpl_id, H5FD_MEM_LHEAP, heap->dblk_addr, (hsize_t)(heap->dblk_size), (hsize_t)need_more);
+ if(was_extended < 0)
HGOTO_ERROR(H5E_HEAP, H5E_CANTEXTEND, UFAIL, "error trying to extend heap")
- /* Check if we extended the heap data block in file */
- if(extended == TRUE) {
+ /* Check if we extended the heap data block in file */
+ if(was_extended == TRUE) {
/* Check for prefix & data block contiguous */
if(heap->single_cache_obj) {
/* Resize prefix+data block */
diff --git a/src/H5MFaggr.c b/src/H5MFaggr.c
index 3701441..c5a7b49 100644
--- a/src/H5MFaggr.c
+++ b/src/H5MFaggr.c
@@ -211,7 +211,7 @@ HDfprintf(stderr, "%s: aggr = {%a, %Hu, %Hu}\n", FUNC, aggr->addr, aggr->tot_siz
/* Check if the space requested is larger than the space left in the block */
if((size + aggr_frag_size) > aggr->size) {
- htri_t extended = FALSE; /* Whether the file was extended */
+ htri_t was_extended = FALSE; /* Whether the file was extended */
/* Check if the block asked for is too large for 'normal' aggregator block */
if(size >= aggr->alloc_size) {
@@ -221,9 +221,9 @@ HDfprintf(stderr, "%s: aggr = {%a, %Hu, %Hu}\n", FUNC, aggr->addr, aggr->tot_siz
if(H5F_addr_gt((aggr->addr + aggr->size + ext_size), f->shared->tmp_addr))
HGOTO_ERROR(H5E_RESOURCE, H5E_BADRANGE, HADDR_UNDEF, "'normal' file space allocation request will overlap into 'temporary' file space")
- if ((aggr->addr > 0) && (extended = H5FD_try_extend(f->shared->lf, alloc_type, f, aggr->addr + aggr->size, ext_size)) < 0)
+ if ((aggr->addr > 0) && (was_extended = H5FD_try_extend(f->shared->lf, alloc_type, f, aggr->addr + aggr->size, ext_size)) < 0)
HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, HADDR_UNDEF, "can't extending space")
- else if (extended) {
+ else if (was_extended) {
/* aggr->size is unchanged */
ret_value = aggr->addr + aggr_frag_size;
aggr->addr += ext_size;
@@ -263,9 +263,9 @@ HDfprintf(stderr, "%s: Allocating block\n", FUNC);
if(H5F_addr_gt((aggr->addr + aggr->size + ext_size), f->shared->tmp_addr))
HGOTO_ERROR(H5E_RESOURCE, H5E_BADRANGE, HADDR_UNDEF, "'normal' file space allocation request will overlap into 'temporary' file space")
- if((aggr->addr > 0) && (extended = H5FD_try_extend(f->shared->lf, alloc_type, f, aggr->addr + aggr->size, ext_size)) < 0)
+ if((aggr->addr > 0) && (was_extended = H5FD_try_extend(f->shared->lf, alloc_type, f, aggr->addr + aggr->size, ext_size)) < 0)
HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, HADDR_UNDEF, "can't extending space")
- else if (extended) {
+ else if (was_extended) {
aggr->addr += aggr_frag_size;
aggr->size += (ext_size - aggr_frag_size);
aggr->tot_size += ext_size;
@@ -313,7 +313,7 @@ HDfprintf(stderr, "%s: Allocating block\n", FUNC);
HGOTO_ERROR(H5E_RESOURCE, H5E_CANTFREE, HADDR_UNDEF, "can't free eoa fragment")
/* Freeing any possible fragment due to alignment in the block after extension */
- if(extended && aggr_frag_size)
+ if(was_extended && aggr_frag_size)
if(H5MF_xfree(f, alloc_type, dxpl_id, aggr_frag_addr, aggr_frag_size) < 0)
HGOTO_ERROR(H5E_RESOURCE, H5E_CANTFREE, HADDR_UNDEF, "can't free aggregation fragment")
} /* end if */
diff --git a/src/H5Oalloc.c b/src/H5Oalloc.c
index 76f392d..e9d4f85 100644
--- a/src/H5Oalloc.c
+++ b/src/H5Oalloc.c
@@ -514,7 +514,7 @@ H5O_alloc_extend_chunk(H5F_t *f, hid_t dxpl_id, H5O_t *oh, unsigned chunkno,
size_t aligned_size = H5O_ALIGN_OH(oh, size);
uint8_t *old_image; /* Old address of chunk's image in memory */
size_t old_size; /* Old size of chunk */
- htri_t extended; /* If chunk can be extended */
+ htri_t was_extended; /* If chunk can be extended */
size_t extend_msg; /* Index of null message to extend */
hbool_t extended_msg = FALSE; /* Whether an existing message was extended */
uint8_t new_size_flags = 0; /* New chunk #0 size flags */
@@ -592,11 +592,11 @@ H5O_alloc_extend_chunk(H5F_t *f, hid_t dxpl_id, H5O_t *oh, unsigned chunkno,
HGOTO_ERROR(H5E_OHDR, H5E_CANTPROTECT, FAIL, "unable to load object header chunk")
/* Determine whether the chunk can be extended */
- extended = H5MF_try_extend(f, dxpl_id, H5FD_MEM_OHDR, oh->chunk[chunkno].addr,
+ was_extended = H5MF_try_extend(f, dxpl_id, H5FD_MEM_OHDR, oh->chunk[chunkno].addr,
(hsize_t)(oh->chunk[chunkno].size), (hsize_t)(delta + extra_prfx_size));
- if(extended < 0) /* error */
+ if(was_extended < 0) /* error */
HGOTO_ERROR(H5E_OHDR, H5E_CANTEXTEND, FAIL, "can't tell if we can extend chunk")
- else if(extended == FALSE) /* can't extend -- we are done */
+ else if(was_extended == FALSE) /* can't extend -- we are done */
HGOTO_DONE(FALSE)
/* Adjust object header prefix flags */
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)