Skip to content

Commit

Permalink
1.12 Tools merges from develop (#949)
Browse files Browse the repository at this point in the history
* Tools merges from develop

Brings the tools getopt(3) replacement into the main library (#803)
Perform option arg variables (#834)
Removes unused commented-out code from h5jamgentest.c (#851)
Reorg tools perform to provide h5perf for installation (#884)

* Fix missing files

* Remove empty files

* Remove empty file

* Resync defines

* Fix endif typo

* Add Makfile to list

* Fix typo

* Remove H5_GCC_DIAG_ON line to match removal of H5_GCC_DIAG_OFF line in
sio_engine.c/

Co-authored-by: Dana Robinson <[email protected]>
Co-authored-by: Larry Knox <[email protected]>
  • Loading branch information
3 people authored Aug 23, 2021
1 parent 0a90998 commit f8ecdf8
Show file tree
Hide file tree
Showing 52 changed files with 2,473 additions and 2,399 deletions.
17 changes: 10 additions & 7 deletions MANIFEST
Original file line number Diff line number Diff line change
Expand Up @@ -2930,6 +2930,15 @@
./tools/testfiles/h5mkgrp_single_p.ls
./tools/testfiles/h5mkgrp_single_l.ls

./tools/src/h5perf/Makefile.am
./tools/src/h5perf/perf.c
./tools/src/h5perf/pio_engine.c
./tools/src/h5perf/pio_perf.c
./tools/src/h5perf/pio_perf.h
./tools/src/h5perf/sio_engine.c
./tools/src/h5perf/sio_perf.c
./tools/src/h5perf/sio_perf.h

./tools/test/perform/Makefile.am
./tools/test/perform/build_h5perf_alone.sh
./tools/test/perform/build_h5perf_serial_alone.sh
Expand All @@ -2939,16 +2948,9 @@
./tools/test/perform/gen_report.pl
./tools/test/perform/iopipe.c
./tools/test/perform/overhead.c
./tools/test/perform/perf.c
./tools/test/perform/perf_meta.c
./tools/test/perform/pio_engine.c
./tools/test/perform/pio_perf.c
./tools/test/perform/pio_perf.h
./tools/test/perform/pio_standalone.c
./tools/test/perform/pio_standalone.h
./tools/test/perform/sio_engine.c
./tools/test/perform/sio_perf.c
./tools/test/perform/sio_perf.h
./tools/test/perform/sio_standalone.c
./tools/test/perform/sio_standalone.h
./tools/test/perform/zip_perf.c
Expand Down Expand Up @@ -3694,6 +3696,7 @@
./tools/test/h5stat/CMakeLists.txt
./tools/test/h5stat/CMakeTests.cmake
./tools/src/misc/CMakeLists.txt
./tools/src/h5perf/CMakeLists.txt
./tools/test/misc/CMakeLists.txt
./tools/test/misc/CMakeTestsClear.cmake
./tools/test/misc/CMakeTestsMkgrp.cmake
Expand Down
11 changes: 6 additions & 5 deletions config/cmake/H5pubconf.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@
/* Define if dev_t is a scalar */
#cmakedefine H5_DEV_T_IS_SCALAR @H5_DEV_T_IS_SCALAR@

/* Define if your system is IBM ppc64le and cannot convert some long double
values correctly. */
#cmakedefine H5_DISABLE_SOME_LDOUBLE_CONV @H5_DISABLE_SOME_LDOUBLE_CONV@

/* Define to dummy `main' function (if any) required to link to the Fortran
libraries. */
#cmakedefine H5_FC_DUMMY_MAIN @H5_FC_DUMMY_MAIN@
Expand Down Expand Up @@ -111,7 +115,7 @@
#cmakedefine H5_HAVE_CODESTACK @H5_HAVE_CODESTACK@

/* Define to 1 if you have the <curl/curl.h> header file. */
#cmakedefine H5_HAVE_CURL_H @H5_HAVE_CURL_H@
#cmakedefine H5_HAVE_CURL_CURL_H @H5_HAVE_CURL_H@

/* Define if Darwin or Mac OS X */
#cmakedefine H5_HAVE_DARWIN @H5_HAVE_DARWIN@
Expand Down Expand Up @@ -361,7 +365,7 @@
/* Define to 1 if you have the `stat64' function. */
#cmakedefine H5_HAVE_STAT64 @H5_HAVE_STAT64@

/* Define if `struct stat' has the `st_blocks' field */
/* Define if struct stat has the st_blocks field */
#cmakedefine H5_HAVE_STAT_ST_BLOCKS @H5_HAVE_STAT_ST_BLOCKS@

/* Define to 1 if you have the <stdbool.h> header file. */
Expand Down Expand Up @@ -511,9 +515,6 @@
with special algorithm. */
#cmakedefine H5_LONG_TO_LDOUBLE_SPECIAL @H5_LONG_TO_LDOUBLE_SPECIAL@

/* Define if your system is power6 and cannot convert some long double values. */
#cmakedefine H5_DISABLE_SOME_LDOUBLE_CONV @H5_DISABLE_SOME_LDOUBLE_CONV@

/* Define to the sub-directory where libtool stores uninstalled libraries. */
#cmakedefine H5_LT_OBJDIR @H5_LT_OBJDIR@

Expand Down
16 changes: 7 additions & 9 deletions config/cmake_ext_mod/ConfigureChecks.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -395,15 +395,13 @@ HDF_CHECK_TYPE_SIZE (uint_least64_t ${HDF_PREFIX}_SIZEOF_UINT_LEAST64_T)
HDF_CHECK_TYPE_SIZE (int_fast64_t ${HDF_PREFIX}_SIZEOF_INT_FAST64_T)
HDF_CHECK_TYPE_SIZE (uint_fast64_t ${HDF_PREFIX}_SIZEOF_UINT_FAST64_T)

if (NOT APPLE)
HDF_CHECK_TYPE_SIZE (size_t ${HDF_PREFIX}_SIZEOF_SIZE_T)
HDF_CHECK_TYPE_SIZE (ssize_t ${HDF_PREFIX}_SIZEOF_SSIZE_T)
if (NOT ${HDF_PREFIX}_SIZEOF_SSIZE_T)
set (${HDF_PREFIX}_SIZEOF_SSIZE_T 0)
endif ()
if (MINGW OR NOT WINDOWS)
HDF_CHECK_TYPE_SIZE (ptrdiff_t ${HDF_PREFIX}_SIZEOF_PTRDIFF_T)
endif ()
HDF_CHECK_TYPE_SIZE (size_t ${HDF_PREFIX}_SIZEOF_SIZE_T)
HDF_CHECK_TYPE_SIZE (ssize_t ${HDF_PREFIX}_SIZEOF_SSIZE_T)
if (NOT ${HDF_PREFIX}_SIZEOF_SSIZE_T)
set (${HDF_PREFIX}_SIZEOF_SSIZE_T 0)
endif ()
if (MINGW OR NOT WINDOWS)
HDF_CHECK_TYPE_SIZE (ptrdiff_t ${HDF_PREFIX}_SIZEOF_PTRDIFF_T)
endif ()

HDF_CHECK_TYPE_SIZE (off_t ${HDF_PREFIX}_SIZEOF_OFF_T)
Expand Down
1 change: 1 addition & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -4162,6 +4162,7 @@ AC_CONFIG_FILES([src/libhdf5.settings
tools/test/misc/vds/Makefile
tools/test/h5stat/Makefile
tools/test/h5stat/testh5stat.sh
tools/src/h5perf/Makefile
tools/test/perform/Makefile
examples/Makefile
examples/run-c-ex.sh
Expand Down
60 changes: 30 additions & 30 deletions hl/tools/h5watch/h5watch.c
Original file line number Diff line number Diff line change
Expand Up @@ -58,27 +58,27 @@ static void parse_command_line(int argc, const char *argv[]);
* The long-named ones can be partially spelled. When
* adding more, make sure that they don't clash with each other.
*/
static const char * s_opts = "?";
static struct long_options l_opts[] = {{"help", no_arg, 'h'}, {"hel", no_arg, 'h'},
{"dim", no_arg, 'd'}, {"di", no_arg, 'd'},
{"label", no_arg, 'l'}, {"labe", no_arg, 'l'},
{"lab", no_arg, 'l'}, {"la", no_arg, 'l'},
{"simple", no_arg, 'S'}, {"simpl", no_arg, 'S'},
{"simp", no_arg, 'S'}, {"sim", no_arg, 'S'},
{"si", no_arg, 'S'}, {"hexdump", no_arg, 'x'},
{"hexdum", no_arg, 'x'}, {"hexdu", no_arg, 'x'},
{"hexd", no_arg, 'x'}, {"hex", no_arg, 'x'},
{"width", require_arg, 'w'}, {"widt", require_arg, 'w'},
{"wid", require_arg, 'w'}, {"wi", require_arg, 'w'},
{"polling", require_arg, 'p'}, {"pollin", require_arg, 'p'},
{"polli", require_arg, 'p'}, {"poll", require_arg, 'p'},
{"pol", require_arg, 'p'}, {"po", require_arg, 'p'},
{"fields", require_arg, 'f'}, {"field", require_arg, 'f'},
{"fiel", require_arg, 'f'}, {"fie", require_arg, 'f'},
{"fi", require_arg, 'f'}, {"version", no_arg, 'V'},
{"versio", no_arg, 'V'}, {"versi", no_arg, 'V'},
{"vers", no_arg, 'V'}, {"ver", no_arg, 'V'},
{"ve", no_arg, 'V'}, {NULL, 0, '\0'}};
static const char * s_opts = "?";
static struct h5_long_options l_opts[] = {{"help", no_arg, 'h'}, {"hel", no_arg, 'h'},
{"dim", no_arg, 'd'}, {"di", no_arg, 'd'},
{"label", no_arg, 'l'}, {"labe", no_arg, 'l'},
{"lab", no_arg, 'l'}, {"la", no_arg, 'l'},
{"simple", no_arg, 'S'}, {"simpl", no_arg, 'S'},
{"simp", no_arg, 'S'}, {"sim", no_arg, 'S'},
{"si", no_arg, 'S'}, {"hexdump", no_arg, 'x'},
{"hexdum", no_arg, 'x'}, {"hexdu", no_arg, 'x'},
{"hexd", no_arg, 'x'}, {"hex", no_arg, 'x'},
{"width", require_arg, 'w'}, {"widt", require_arg, 'w'},
{"wid", require_arg, 'w'}, {"wi", require_arg, 'w'},
{"polling", require_arg, 'p'}, {"pollin", require_arg, 'p'},
{"polli", require_arg, 'p'}, {"poll", require_arg, 'p'},
{"pol", require_arg, 'p'}, {"po", require_arg, 'p'},
{"fields", require_arg, 'f'}, {"field", require_arg, 'f'},
{"fiel", require_arg, 'f'}, {"fie", require_arg, 'f'},
{"fi", require_arg, 'f'}, {"version", no_arg, 'V'},
{"versio", no_arg, 'V'}, {"versi", no_arg, 'V'},
{"vers", no_arg, 'V'}, {"ver", no_arg, 'V'},
{"ve", no_arg, 'V'}, {NULL, 0, '\0'}};

/*-------------------------------------------------------------------------
* Function: doprint()
Expand Down Expand Up @@ -677,7 +677,7 @@ parse_command_line(int argc, const char *argv[])
}

/* parse command line options */
while ((opt = get_option(argc, argv, s_opts, l_opts)) != EOF) {
while ((opt = H5_get_option(argc, argv, s_opts, l_opts)) != EOF) {
switch ((char)opt) {
case '?':
case 'h': /* --help */
Expand All @@ -691,7 +691,7 @@ parse_command_line(int argc, const char *argv[])
break;

case 'w': /* --width=N */
g_display_width = (int)HDstrtol(opt_arg, NULL, 0);
g_display_width = (int)HDstrtol(H5_optarg, NULL, 0);
if (g_display_width < 0) {
usage(h5tools_getprogname());
leave(EXIT_FAILURE);
Expand All @@ -711,8 +711,8 @@ parse_command_line(int argc, const char *argv[])
break;

case 'p': /* --polling=N */
/* g_polling_interval = HDstrtod(opt_arg, NULL); */
if ((tmp = (int)HDstrtol(opt_arg, NULL, 10)) <= 0) {
/* g_polling_interval = HDstrtod(H5_optarg, NULL); */
if ((tmp = (int)HDstrtol(H5_optarg, NULL, 10)) <= 0) {
usage(h5tools_getprogname());
leave(EXIT_FAILURE);
}
Expand All @@ -721,15 +721,15 @@ parse_command_line(int argc, const char *argv[])

case 'f': /* --fields=<list_of_fields> */
if (g_list_of_fields == NULL) {
if ((g_list_of_fields = HDstrdup(opt_arg)) == NULL) {
if ((g_list_of_fields = HDstrdup(H5_optarg)) == NULL) {
error_msg("memory allocation failed (file %s:line %d)\n", __FILE__, __LINE__);
leave(EXIT_FAILURE);
}
}
else {
char *str;

if ((str = HDstrdup(opt_arg)) == NULL) {
if ((str = HDstrdup(H5_optarg)) == NULL) {
error_msg("memory allocation failed (file %s:line %d)\n", __FILE__, __LINE__);
leave(EXIT_FAILURE);
}
Expand All @@ -751,7 +751,7 @@ parse_command_line(int argc, const char *argv[])
}

/* check for object to be processed */
if (argc <= opt_ind) {
if (argc <= H5_optind) {
error_msg("missing dataset name\n");
usage(h5tools_getprogname());
leave(EXIT_FAILURE);
Expand Down Expand Up @@ -821,7 +821,7 @@ main(int argc, const char *argv[])
/* parse command line options */
parse_command_line(argc, argv);

if (argc <= opt_ind) {
if (argc <= H5_optind) {
error_msg("missing dataset name\n");
usage(h5tools_getprogname());
leave(EXIT_FAILURE);
Expand All @@ -845,7 +845,7 @@ main(int argc, const char *argv[])
* then there must have been something wrong with the file (perhaps it
* doesn't exist).
*/
if ((fname = HDstrdup(argv[opt_ind])) == NULL) {
if ((fname = HDstrdup(argv[H5_optind])) == NULL) {
error_msg("memory allocation failed (file %s:line %d)\n", __FILE__, __LINE__);
h5tools_setstatus(EXIT_FAILURE);
goto done;
Expand Down
4 changes: 2 additions & 2 deletions hl/tools/h5watch/h5watchgentest.c
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ main(void)
one_cbuf[i].field2.b.a = 20;
one_cbuf[i].field2.b.b = 40;
one_cbuf[i].field2.b.c = 80;
one_cbuf[i].field3 = 3.0F;
one_cbuf[i].field3 = 3.0;
one_cbuf[i].field4.a = 4;
one_cbuf[i].field4.b = 8;
} /* end for */
Expand Down Expand Up @@ -313,7 +313,7 @@ main(void)
two_cbuf[i].field2.b.a = 20;
two_cbuf[i].field2.b.b = 40;
two_cbuf[i].field2.b.c = 80;
two_cbuf[i].field3 = 3.0F;
two_cbuf[i].field3 = 3.0;
two_cbuf[i].field4.a = 4;
two_cbuf[i].field4.b = 8;
} /* end for */
Expand Down
34 changes: 26 additions & 8 deletions release_docs/RELEASE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ New Features

The Doxygen documentation has been updated and passing values larger
than UINT32_MAX for size_hint will now produce a normal HDF5 error.

(DER - 2021/04/29, HDFFV-11241)


Expand Down Expand Up @@ -136,7 +136,7 @@ New Features
The string is now handled properly and the segfault no longer occurs.

(DER - 2021/04/27, HDFFV-11239)


Parallel Library:
-----------------
Expand All @@ -160,7 +160,26 @@ New Features

Tools:
------
-
- Refactored the perform tools and removed depends on test library.

Moved the perf and h5perf tools from tools/test/perform to
tools/src/h5perf so that they can be installed. This required
that the test library dependency be removed by copying the
needed functions from h5test.c.
The standalone scripts and other perform tools remain in the
tools/test/perform folder.

(ADB - 2021/08/10)

- Removed partial long exceptions

Some of the tools accepted shortened versions of the long options
(ex: --datas instead of --dataset). These were implemented inconsistently,
are difficult to maintian, and occasionally block useful long option
names. These partial long options have been removed from all the tools.

(DER - 2021/08/03)



Support for new platforms, languages and compilers
Expand All @@ -177,7 +196,7 @@ Bug Fixes since HDF5-1.12.1 release

Java Library
------------
-
-


Configuration
Expand Down Expand Up @@ -209,12 +228,12 @@ Bug Fixes since HDF5-1.12.1 release

Fortran API
-----------
-
-


High-Level Library
------------------
-
-


Fortran High-Level APIs
Expand All @@ -224,7 +243,7 @@ Bug Fixes since HDF5-1.12.1 release

Documentation
-------------
-
-


F90 APIs
Expand Down Expand Up @@ -459,7 +478,6 @@ Known Problems

CMake vs. Autotools installations
=================================

While both build systems produce similar results, there are differences.
Each system produces the same set of folders on linux (only CMake works
on standard Windows); bin, include, lib and share. Autotools places the
Expand Down
Loading

0 comments on commit f8ecdf8

Please sign in to comment.