Skip to content

Commit

Permalink
WIP: Upgrade HDF5 lib
Browse files Browse the repository at this point in the history
  • Loading branch information
medengineer committed Feb 13, 2024
1 parent 0756f09 commit c066a82
Show file tree
Hide file tree
Showing 111 changed files with 11,895 additions and 4,304 deletions.
8 changes: 4 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ endif()
get_filename_component(PROJECT_FOLDER ${CMAKE_CURRENT_SOURCE_DIR} ABSOLUTE)
get_filename_component(PLUGIN_NAME ${PROJECT_FOLDER} NAME)

set(CMAKE_OSX_ARCHITECTURES "x86_64" CACHE STRING "Build architecture for Mac OS X" FORCE)
set(CMAKE_OSX_ARCHITECTURES "x86_64;arm64" CACHE STRING "Build architecture for Mac OS X" FORCE)

project(OE_PLUGIN_${PLUGIN_NAME})
set(CMAKE_SHARED_LIBRARY_PREFIX "")
Expand Down Expand Up @@ -80,9 +80,9 @@ elseif(LINUX)
elseif(APPLE)
set_target_properties(${PLUGIN_NAME} PROPERTIES BUNDLE TRUE)
set_property(TARGET ${PLUGIN_NAME} APPEND_STRING PROPERTY LINK_FLAGS
"-undefined dynamic_lookup -rpath @loader_path/../../../../shared-api8")
"-undefined dynamic_lookup -rpath @loader_path/../../../../shared-api9")

install(TARGETS ${PLUGIN_NAME} DESTINATION $ENV{HOME}/Library/Application\ Support/open-ephys/plugins-api8)
install(TARGETS ${PLUGIN_NAME} DESTINATION $ENV{HOME}/Library/Application\ Support/open-ephys/plugins-api9)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_SOURCE_DIR}/libs/macos)
endif()

Expand All @@ -96,7 +96,7 @@ foreach( src_file IN ITEMS ${SRC_FILES})
endforeach()

#additional libraries needed
find_package(HDF5 1.12.1 EXACT COMPONENTS C CXX)
find_package(HDF5 1.14.3 EXACT COMPONENTS C CXX)

if(NOT HDF5_FOUND) #if package finding fails, try manually
#unset variables in case a wrong version has been found
Expand Down
Binary file removed libs/macos/bin/libhdf5.200.dylib
Binary file not shown.
Binary file added libs/macos/bin/libhdf5.310.dylib
Binary file not shown.
Binary file removed libs/macos/bin/libhdf5_cpp.200.dylib
Binary file not shown.
Binary file added libs/macos/bin/libhdf5_cpp.310.dylib
Binary file not shown.
47 changes: 18 additions & 29 deletions libs/macos/include/H5ACpublic.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
Expand All @@ -14,23 +13,16 @@
/*-------------------------------------------------------------------------
*
* Created: H5ACpublic.h
* Jul 10 1997
* Robb Matzke
*
* Purpose: Public include file for cache functions.
* Purpose: Public include file for cache functions
*
*-------------------------------------------------------------------------
*/
#ifndef H5ACpublic_H
#define H5ACpublic_H

/* Public headers needed by this file */
#include "H5public.h"
#include "H5Cpublic.h"

#ifdef __cplusplus
extern "C" {
#endif
#include "H5public.h" /* Generic Functions */
#include "H5Cpublic.h" /* Cache */

/****************************************************************************
*
Expand Down Expand Up @@ -76,27 +68,27 @@ extern "C" {
*
* *** DEPRECATED *** Use H5Fstart/stop logging functions instead
*
* The trace file is a debuging feature that allow the capture of
* The trace file is a debugging feature that allow the capture of
* top level metadata cache requests for purposes of debugging and/or
* optimization. This field should normally be set to FALSE, as
* optimization. This field should normally be set to false, as
* trace file collection imposes considerable overhead.
*
* This field should only be set to TRUE when the trace_file_name
* This field should only be set to true when the trace_file_name
* contains the full path of the desired trace file, and either
* there is no open trace file on the cache, or the close_trace_file
* field is also TRUE.
* field is also true.
*
* close_trace_file: Boolean field indicating whether the current trace
* file (if any) should be closed.
*
* *** DEPRECATED *** Use H5Fstart/stop logging functions instead
*
* See the above comments on the open_trace_file field. This field
* should be set to FALSE unless there is an open trace file on the
* should be set to false unless there is an open trace file on the
* cache that you wish to close.
*
* trace_file_name: Full path of the trace file to be opened if the
* open_trace_file field is TRUE.
* open_trace_file field is true.
*
* *** DEPRECATED *** Use H5Fstart/stop logging functions instead
*
Expand All @@ -123,12 +115,12 @@ extern "C" {
* H5C_incr__off ) && ( decr_mode == H5C_decr__off )). There
* is no logical reason why this should be so, but it simplifies
* implementation and testing, and I can't think of any reason
* why it would be desireable. If you can think of one, I'll
* why it would be desirable. If you can think of one, I'll
* revisit the issue.
*
* set_initial_size: Boolean flag indicating whether the size of the
* initial size of the cache is to be set to the value given in
* the initial_size field. If set_initial_size is FALSE, the
* the initial_size field. If set_initial_size is false, the
* initial_size field is ignored.
*
* initial_size: If enabled, this field contain the size the cache is
Expand Down Expand Up @@ -396,7 +388,7 @@ extern "C" {
*
* When the sync point is reached (or when there is a user generated
* flush), process zero flushes sufficient entries to bring it into
* complience with its min clean size (or flushes all dirty entries in
* compliance with its min clean size (or flushes all dirty entries in
* the case of a user generated flush), broad casts the list of
* entries just cleaned to all the other processes, and then exits
* the sync point.
Expand Down Expand Up @@ -471,7 +463,7 @@ typedef struct H5AC_cache_config_t {
/* general configuration fields: */
//! <!-- [H5AC_cache_config_t_general_snip] -->
int version;
/**< Integer field indicating the the version of the H5AC_cache_config_t
/**< Integer field indicating the version of the H5AC_cache_config_t
* in use. This field should be set to #H5AC__CURR_CACHE_CONFIG_VERSION
* (defined in H5ACpublic.h). */

Expand Down Expand Up @@ -567,7 +559,7 @@ typedef struct H5AC_cache_config_t {
* The value must lie in the interval [0.0, 1.0]. 0.01 is a good place to
* start in the serial case. In the parallel case, a larger value is needed
* -- see the overview of the metadata cache in the
* “Metadata Caching in HDF5” section of the -- <em>HDF5 User’s Guide</em>
* “Metadata Caching in HDF5” section of the -- <em>\ref UG</em>
* for details. */

size_t max_size;
Expand All @@ -576,7 +568,7 @@ typedef struct H5AC_cache_config_t {

size_t min_size;
/**< Lower bound (in bytes) on the range of values that the
* adaptive cache resize code can select as the mininum cache * size. */
* adaptive cache resize code can select as the minimum cache * size. */

long int epoch_length;
/**< Number of cache accesses between runs of the adaptive cache resize
Expand Down Expand Up @@ -708,13 +700,13 @@ typedef struct H5AC_cache_config_t {
* of bytes of dirty metadata created since the last synchronization exceeds
* this limit.\n This field only applies to the parallel case. While it is
* ignored elsewhere, it can still draw a value out of bounds error.\n It
* must be consistant across all caches on any given file.\n By default,
* must be consistent across all caches on any given file.\n By default,
* this field is set to 256 KB. It shouldn't be more than half the current
* max cache size times the min clean fraction. */

int metadata_write_strategy;
/**< Desired metadata write strategy. The valid values for this field
* are:\n #H5AC_METADATA_WRITE_STRATEGY__PROCESS_0_ONLY: Specifies tha only
* are:\n #H5AC_METADATA_WRITE_STRATEGY__PROCESS_0_ONLY: Specifies the only
* process zero is allowed to write dirty metadata to disk.\n
* #H5AC_METADATA_WRITE_STRATEGY__DISTRIBUTED: Specifies that process zero
* still makes the decisions as to what entries should be flushed, but the
Expand Down Expand Up @@ -764,7 +756,7 @@ typedef struct H5AC_cache_image_config_t {
* H5AC__CACHE_IMAGE__ENTRY_AGEOUT__MAX (100).
*
* \ref H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE means that no limit is
* imposed on number of times a prefeteched entry can appear in subsequent
* imposed on number of times a prefetched entry can appear in subsequent
* cache images.
*
* A value of 0 prevents prefetched entries from being included in cache
Expand All @@ -783,7 +775,4 @@ typedef struct H5AC_cache_image_config_t {

//! <!-- [H5AC_cache_image_config_t_snip] -->

#ifdef __cplusplus
}
#endif
#endif
1 change: 0 additions & 1 deletion libs/macos/include/H5AbstractDs.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
// C++ informative line for the emacs editor: -*- C++ -*-
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
Expand Down
1 change: 0 additions & 1 deletion libs/macos/include/H5Alltypes.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
// C++ informative line for the emacs editor: -*- C++ -*-
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
Expand Down
Loading

0 comments on commit c066a82

Please sign in to comment.