Compare commits

...

1168 Commits

Author SHA1 Message Date
Mohamad Chaarawi
557a3972ac [svn-r29080] merge from trunk. 2016-02-10 13:36:23 -05:00
Mohamad Chaarawi
25f271d84b [svn-r29079] rename the coll read requirement function. 2016-02-10 13:19:12 -05:00
Quincey Koziol
c8a6c6030a [svn-r29077] Description:
Normalize against the trunk, in preparation for final merge.

Tested on:
    MacOSX/64 10.11.3 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2016-02-10 12:55:55 -05:00
Quincey Koziol
4da0790886 [svn-r29076] Description:
Normalize against the phdf5_metadata_opt branch, in preparation for
merging it to trunk.

Tested on:
    MacOSX/64 10.11.3 (amazon) w/serial, parallel, and production builds
    h5committest forthcoming
2016-02-10 12:54:15 -05:00
Scot Breitenfeld
745513e2b0 [svn-r29074] fixed integer type for H5Sget_simple_extent_ndims_f argument 2016-02-09 11:51:28 -05:00
Dana Robinson
be36958b77 [svn-r29072] test/gheap stack size cleanup.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial autotools (also w/ Valgrind)
2016-02-08 23:18:53 -05:00
Dana Robinson
1a4e315a5d [svn-r29069] test/gheap cleanup prior to stack size fixes.
Tested on: Linux VM (minor changes)
2016-02-08 20:38:44 -05:00
Mohamad Chaarawi
f1283d59b0 [svn-r29066] - fixing some of the internal usage of dxpls.
- merge from trunk.
2016-02-08 15:12:07 -05:00
Scot Breitenfeld
c418bc964d [svn-r29062] HDFFV-9564: Implement VDS Fortran wrappers.
Tested: h5committest.new
2016-02-08 09:01:29 -05:00
Mohamad Chaarawi
0461830ee3 [svn-r29059] merge from trunk. 2016-02-07 11:38:55 -05:00
Mohamad Chaarawi
48bebcc39e [svn-r29057] added dxpl type checking when debug mode is enabled (H5_DEBUG_BUILD)
tested on bb-8 with Serial and Parallel, debug and production builds.
2016-02-07 10:37:33 -05:00
Dana Robinson
6694764120 [svn-r29050] Setting --enable-build-mode=debug now creates an H5_DEBUG_BUILD definition.
Tested on: linux VM (minor change)
2016-02-05 16:27:12 -05:00
Dana Robinson
57da3b7db6 [svn-r29043] Fixes to make relative external storage work on Windows. Part of HDFFV-8740.
- Fixed typo in Wsetenv().
- Changed HDoff_t back to off_t in test/external.c. The function signature is off_t so the types must match or you can get conversion errors.

Tested on 64-bit Windows 10 w/ VS 2015
2016-02-04 11:06:38 -05:00
Dana Robinson
c746447b0d [svn-r29041] Patch from Steffen Kiess that allows a relative path to be specified
for external dataset files set via H5Pset_external().

Resolves HDFFV-8740

Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           autotools serial
2016-02-04 10:35:17 -05:00
Dana Robinson
e9139733f2 [svn-r29035] Removed external links test from external storage test.
This test is duplicated more comprehensively in the links.c file so
there is no need to copy it over.

Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial autotools
2016-02-02 09:36:28 -05:00
Dana Robinson
2b2b95814e [svn-r29034] Update the external test to use the default and latest file format.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial autotools
2016-02-02 09:17:31 -05:00
Mohamad Chaarawi
28b16f19b2 [svn-r29032] capture the entry address before the entry is freed to avoid
triggering a segfault in the log_flush call in
H5C__flush_single_entry().

tested on Jam with Parallel.
2016-02-02 08:28:53 -05:00
Dana Robinson
e25aa5f97d [svn-r29030] Cleanup of test/externals before merging user patch.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial autotools
2016-02-02 05:30:48 -05:00
Dana Robinson
2fb4f0b35e [svn-r29023] Fixed typos in symbols flags that prevented using -g, etc.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial autotools
2016-02-01 14:28:38 -05:00
Dana Robinson
6a566cdc84 [svn-r29019] Fixed double declaration of a few types that only appears on Windows.
Tested on: 64-bit Windows 10 with VS 2015 Pro
2016-01-29 12:57:53 -05:00
Dana Robinson
6dc56e664b [svn-r29011] LFS changes in the autotools and library.
* We assume that fseeko and ftello exist.

* The *64 IO functions and types are no longer explicitly used.
  We now rely on a mapping provided by _FILE_OFFSET_BITS (or its
  equivalent).

* _LARGEFILE(64)_SOURCE is no longer exposed via AM_CPPFLAGS.

The CMake files have not yet been updated but CMake is still
functional. The CMake configure files will just run a few
unecessary tests and create unneeded #defines until they are
updated in a few days.

Tested on: Linux, OS X, Solaris, z/OS
2016-01-28 15:44:11 -05:00
Scot Breitenfeld
a969fbf604 [svn-r29009] Corrected the API descriptions for H5Pget_virtual_dsetname and H5Pget_virtual_filename. 2016-01-28 13:58:59 -05:00
Dana Robinson
a6da81e49b [svn-r29007] Fixed typos in h52gif test.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial autotools
2016-01-28 13:24:01 -05:00
Binh-Minh Ribler
72bc67f464 [svn-r29004] Description:
Removed extra ';'.
Platform tested
    jam (very minor)
2016-01-28 11:26:08 -05:00
Dana Robinson
1454a45826 [svn-r28996] Autotools configure updates to allow separation of build type, debug
symbols, asserts, profiling, and optimization.

Also much refactoring, improved help, and --enable-<foo> options will
now emit errors on nonsense (e.g.: --enable-foo="asdfasdf").

The libhdf5.settings.in file was also reformatted.

Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial and parallel autotools w/ various options
2016-01-27 16:45:23 -05:00
Dana Robinson
7afa7bb6af [svn-r28995] Removed unused packages from list in --enable-debug=<pkgs> configure
option (also updated CMake).

Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial autotools
           serial CMake (CMake 3.3.2)
2016-01-27 15:51:40 -05:00
Dana Robinson
7abd70b809 [svn-r28990] Removed spurious BIND() warnings from Fortran.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial autotools w/ Fortran
2016-01-27 14:12:38 -05:00
Dana Robinson
5c276d9dfc [svn-r28986] Added H5_DLLVAR to H5AC_dxpl_id.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial and parallel autotools
2016-01-27 12:28:33 -05:00
Dana Robinson
ad617b9bfc [svn-r28982] Fixed H5ST_dump signature problem and added st to the list of
packages with extra debugging output.

Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial autotools
2016-01-27 11:48:37 -05:00
Dana Robinson
20a3462089 [svn-r28977] Added autotools g++ compiler flags/warnings file to config/
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           autotools serial w/ C++
2016-01-27 01:23:40 -05:00
Dana Robinson
8bbdc947c4 [svn-r28972] Removed option to clear file buffers from autotools, CMake, and library.
Buffers that will be written to disk will now always be cleared since
not doing this has huge security implications.

Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0, x86_64) gcc 5.2.1
           serial autotools
           parallel autotools (MPICH 3.1.4)
           serial CMake
2016-01-26 16:26:12 -05:00
Dana Robinson
8aa7c27fb7 [svn-r28963] Updated the gnu Fortran configure files to set flags when the gnu compiler
is used. The gnu-fflags file was never included.

Tested on ostrich
2016-01-23 19:34:29 -05:00
Larry Knox
0d714830a8 [svn-r28960] Fix for HDFFV-9439
Escape quotes in fortran version output to find fortran version for libhdf5.settings

Tested with buildhdf5 on platypus, ostrich, moohan and mayll.
2016-01-22 13:18:04 -05:00
Mohamad Chaarawi
c3f08947c1 [svn-r28959] merge from trunk.
renaming metadata dxpl properties.
2016-01-22 11:56:09 -05:00
Mohamad Chaarawi
43b96df2a4 [svn-r28957] fix non-parallel bug. 2016-01-22 10:55:41 -05:00
Mohamad Chaarawi
91aeb766fa [svn-r28950] - remove META_FLUSH_COLLECTIVELY property for delayed sanity checks from metadata dxpls
- remove H5AC_ind_dxpl_id and use only H5AC_dxpl_id everywhere instead.
- remove flush_me_collectively flag from cache entries
- add a collective sanity check (MPI_Barrier) for every HDF5 API routine that could possibly touch the file. This is trigerred when the environment variable H5_COLL_API_SANITY_CHECK is set to a non 0 digit.

tested on BB-8 with serial and parallel.
2016-01-21 17:31:15 -05:00
Albert Cheng
8ca4c2f44b [svn-r28949] HDFFV-9660: add an option to enable threadsafe feature in cmakehdf5
Tested: platypus.

There are still something strange messages during the configure step.
Waiting for Allen to response.
2016-01-21 17:11:25 -05:00
Scot Breitenfeld
8a60e4f1a4 [svn-r28936] spelling correction 2016-01-20 14:18:24 -05:00
Quincey Koziol
d543f12473 [svn-r28919] Description:
I missed changes to a couple of expected error output files with the last
checkin.

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2016-01-15 18:28:25 -05:00
Quincey Koziol
b9763eee6d [svn-r28918] Description:
I missed changes to a couple of expected error output files with the last
checkin.

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    (h5committest forthcoming)
2016-01-15 18:28:08 -05:00
Quincey Koziol
8db3728779 [svn-r28916] Description:
Normalize against incoming changes from the phdf5_metadata_opt branch.

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    (h5committest forthcoming)
2016-01-15 18:08:10 -05:00
Quincey Koziol
b10dd41aef [svn-r28915] Description:
Review revisions on the way to the trunk.

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2016-01-15 18:06:25 -05:00
Binh-Minh Ribler
a7ef06d593 [svn-r28906] Description:
Added c++/test/tarray.cpp.
2016-01-15 10:57:00 -05:00
Binh-Minh Ribler
0d68aa89ce [svn-r28905] Purpose: Fix user reported problem
Description:
    User Adam Rosenberger reported a failure when using the member function
    AbstractDs::getArrayType().  This problem was caused by missing
    initialization of the ArrayType's members in some cases.
Solution:
    - Added ArrayType::setArrayInfo() to retrieve rank and dimensions of
      an array and store them in memory for easy access.
    - Re-factored a few functions to use the new function.
    - We'll give him 1.8.16 patch
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2016-01-15 10:53:33 -05:00
Larry Knox
c09393ed0a [svn-r28902] Remove 3 files in autom4te.cache from MANIFEST. They are generated by autogen.sh and were inadvertently added along with configure and Makefile.in files but are not checked in and should not be installed. Furthermore they are not generated on all systems by autogen.sh and cause chkmanifest to fail when run be release scripts. 2016-01-14 16:56:16 -05:00
Quincey Koziol
06547eb4dd [svn-r28895] Description:
Minor code tweaks and cleanups during review.

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    (h5comittest not required on this branch)
2016-01-13 23:30:50 -05:00
Quincey Koziol
bd44db8a3c [svn-r28894] Description:
Normalize against changes on phdf5_metadata_opt branch to trunk

Tested on:
    MacoSX/64 10.11.2 (amazon) w/serial & parallel
    (h5committest forthcoming)
2016-01-13 23:29:58 -05:00
Allen Byrne
94d03fd874 [svn-r28885] Change TOOLTEST5 to TOOLTEST3, which does not post-process the files. 2016-01-13 12:24:20 -05:00
Dana Robinson
b29d6174e1 [svn-r28881] Merged r28880 from revise_chunks. Adds a script to flip maint mode.
Tested on: linux VM
2016-01-13 11:25:11 -05:00
Dana Robinson
1617502f5e [svn-r28878] Removed some duplicated comment lines from configure.ac.
Tested on: N/A
2016-01-13 11:10:19 -05:00
Allen Byrne
0115366eee [svn-r28868] HDFFV-9639: autotools script update 2016-01-12 15:48:23 -05:00
Allen Byrne
af88e57c26 [svn-r28866] HDFFV-9639: new files 2016-01-12 15:38:20 -05:00
Allen Byrne
24443da316 [svn-r28865] HDFFV-9639: Fix double-free error by setting freed var to NULL.
Verified issue with "h5dump tgroup.h5 non_existing.h5"
Applied patch and retested.
2016-01-12 15:31:59 -05:00
Dana Robinson
2396a172ad [svn-r28861] Minor warning format string fix (HDFFV-9640).
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           autotools parallel only (MPICH 3.1.4)
2016-01-12 07:28:39 -05:00
Albert Cheng
67570ce476 [svn-r28853] HDFFV-9649: cmakehdf5 needs a proper implementation to verify the installation images created for Mac OSX.
The current implementation for Mac OSX platform is a kludge that sometimes left behind mounted volumes.
Temporary screen out the checking of installtion_check step (so that daily test may pass).

Tested: by hand running cmakehdf5 in platypus and osx1010test.
2016-01-11 11:16:38 -05:00
Mohamad Chaarawi
5dbc03ac86 [svn-r28851] merge from trunk. 2016-01-11 10:55:55 -05:00
Quincey Koziol
887cf130ff [svn-r28843] Description:
Bump number of records for random update test again.

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    (h5committest forthcoming)
2016-01-08 09:08:00 -05:00
Albert Cheng
74fbe507ae [svn-r28841] indentations were messed up by some previous commit.
Restored them to more readable spacing. No code change.

Test: visual inspection.
2016-01-07 15:27:37 -05:00
Dana Robinson
ed380746fe [svn-r28837] Merged r28836 from revise_chunks (tarray.c fix).
Tested on ostrich w/ gcc
2016-01-07 12:45:11 -05:00
Quincey Koziol
dc63336a4a [svn-r28832] Description:
Reset driver info message when superblock load fails.

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    Linux/32 2.6.x (jam) w/serial
    Linux/64 2.6.x (mayll) w/serial
2016-01-06 17:05:32 -05:00
Quincey Koziol
e9a63d30df [svn-r28828] Description:
Switch filter plugin to use H5allocate_memory and H5free_memory instead of
malloc and free.

Tested on:
    Linux/32 2.6.x (jam) w/serial
    Linux/64 2.6.x (jam) w/serial
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
2016-01-06 15:45:25 -05:00
Quincey Koziol
971af2d733 [svn-r28824] Description:
Reduce asserts on buffer alignment.

Tested on:
    Linux/32 & Linux/64 2.6.x (jam & myall) w/serial
2016-01-06 14:10:21 -05:00
Dana Robinson
b834ac3653 [svn-r28821] Merge of r28816 from revise_chunks (tarray.c cleanup).
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial only
2016-01-06 13:33:23 -05:00
Quincey Koziol
06da6031a5 [svn-r28819] Description:
Align internal memory sanity checking buffer, to avoid problems when 
optimization is enabled.

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    Linux/32 2.6.x (jam) w/serial
2016-01-06 12:50:08 -05:00
Quincey Koziol
4bf63f78e7 [svn-r28815] Description:
Add internal routine to sanity check all blocks allocated through H5MM
interface.

Tested on:
    Linux/32 2.6.x (jam) w/serial
    Linux/64 2.6.x (mayll) w/serial
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
2016-01-06 12:04:15 -05:00
Quincey Koziol
48f7ad2df1 [svn-r28811] Description:
Switch v2 B-tree min & max records to be void*'s to be cleaner and generate
less warnings.

Tested on:
    Linux/32 2.6.x (jam) w/serial
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
2016-01-06 10:46:02 -05:00
Quincey Koziol
fb1525c2b2 [svn-r28802] Description:
Correct another H5MM_free => H5MM_xfree

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
2016-01-04 22:47:55 -05:00
Quincey Koziol
6310259957 [svn-r28800] Description:
Correct H5MM_free => H5MM_xfree

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
2016-01-04 22:46:10 -05:00
Quincey Koziol
4b90bb3317 [svn-r28798] Description:
Add missing H5MMprivate.h header file

Tested on:
    Linux/32 2.6.x (jam) w/serial
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
2016-01-04 22:37:06 -05:00
Quincey Koziol
4c5bb2b8db [svn-r28797] Description:
Clean up another round of memory allocation mis-matches.

Tested on:
    Linux/32 2.6.x (jam) w/serial
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
2016-01-04 22:28:43 -05:00
Quincey Koziol
3e0e79aa6e [svn-r28795] Description:
Clean up more memory allocation mis-matches.

Tested on:
    Linux/32 2.6.x (jam) w/serial
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
2016-01-04 21:46:26 -05:00
Dana Robinson
1cbc72e1ef [svn-r28792] Added cleanup for new test files to tfile.c.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial only
2016-01-04 16:12:14 -05:00
Quincey Koziol
cdc21e0cb2 [svn-r28790] Description:
Correct non-portable 'SIZE_T_MAX' to 'SIZET_MAX'.

Tested on:
    Linux/32 2.6.x (jam) w/default compilers
    (h5committest forthcoming)
2016-01-04 15:56:08 -05:00
Dana Robinson
064b2f6dd8 [svn-r28788] Added extern C block to H5Epubgen.h (via bin/make_err).
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial only
2016-01-04 12:21:05 -05:00
Quincey Koziol
f017eb6fc0 [svn-r28777] Description:
Add --enable-memory-alloc-sanity-check option to configure, to track and
sanity check memory allocations within the library.  This is orthogonal to the
--enable-using-memchecker option and can be used with/without it.

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    (h5committest forthcoming)
2016-01-03 17:06:52 -05:00
Quincey Koziol
f8465bd124 [svn-r28773] Description:
Clear memory for shared message info when "deferring" and using memory
checker, so valgrind doesn't whine.

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    (h5committest forthcoming)
2016-01-03 09:22:49 -05:00
Quincey Koziol
d4f3d93b8d [svn-r28769] Description:
More memory cleanups and leak elimination.

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    (h5committest forthcoming)
2016-01-02 20:03:08 -05:00
Quincey Koziol
42bf0e2136 [svn-r28765] Description:
Bump the nunmber of v2 B-tree records for the random 4-level B-tree update
test by another 25,000 records.

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    (Too minor to require h5committest)
2016-01-01 20:58:18 -05:00
Quincey Koziol
f60170dac7 [svn-r28761] Description:
Clean up many mismatches between malloc/free and H5MM_malloc/H5MM_xfree
in the library and tests (and use of H5free_memory and H5Dvlen_reclaim).  Also
make H5Ocopy use a private version of H5Lexists, which doesn't internally
throw (and suppress) errors when an object (or the path to it) isn't found in
the destination.

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    (h5committest forthcoming)
2016-01-01 01:28:04 -05:00
Quincey Koziol
8d8d56d7d1 [svn-r28759] Description:
Bump number of records for level 4 update test, to cut down on number of
random failures.

Tested on:
    None - trivial
2015-12-31 11:23:05 -05:00
Quincey Koziol
528ab9b810 [svn-r28756] Description:
Minor code neatening and cleanups (same as r28755) on revise_chunks branch.

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    (Too minor for h5committest)
2015-12-30 13:50:01 -05:00
Quincey Koziol
c6949efd4f [svn-r28748] Description:
Bump number of records for level 4 B-tree test, so that it's more likely to
always get to level 4.

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-12-29 20:56:45 -05:00
Quincey Koziol
b5504be6cc [svn-r28742] Description:
Add 'update' operation to v2 B-trees, which will insert a new record, or
modify an existing one, depending on if the record exists or not.

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-12-29 12:06:36 -05:00
HDF Tester
6d8b831b31 [svn-r28730] Snapshot version 1.9 release 233 2015-12-27 23:20:23 -05:00
Quincey Koziol
6f83966fb9 [svn-r28723] Description:
Bring over rest of performance improvements for extending chunked datasets
and normalize against revise_chunks branch.

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel)
    (h5committest forthcoming)
2015-12-22 15:12:08 -05:00
Quincey Koziol
4a25e5b788 [svn-r28717] Description:
Minor change to align w/revise_chunks branch

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    (too minor for h5committest)
2015-12-21 17:22:55 -05:00
Quincey Koziol
9ceca0f89a [svn-r28710] Description:
Bring r28708 from revise_chunks branch:

    Fix earray, farray and btree2 use of incorrect file pointer when two files
are opened and used to access the data structure.  Misc. minor code cleanups
as well.

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    h5committest forthcoming
2015-12-19 09:42:15 -05:00
Quincey Koziol
2c55e17cfb [svn-r28702] Description:
Fix typo in comment.

Tested on:
    (Unneeded)
2015-12-17 10:10:06 -05:00
Dana Robinson
0a00732c4d [svn-r28696] Minor normalization with revise_chunks.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial only
2015-12-17 01:31:27 -05:00
Dana Robinson
1ab7e61c39 [svn-r28678] Updated the cache_tagging test to correctly output tags in
the debug/verbose function.

Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial only
2015-12-15 21:27:35 -05:00
Larry Knox
b3426914a8 [svn-r28669] Changes to correct errors found with -ansi flag.
h5tools_dump.c
    Removed 3 lines commented out with //.
h5_vds-percival-unlim.c
    Changed C++-style comment to C-style comment.

Tested with h5committest.new.
2015-12-15 15:52:12 -05:00
Dana Robinson
410d8365d0 [svn-r28663] Merge of r28662 from revise_chunks.
Whitespace only.
2015-12-15 11:15:55 -05:00
Dana Robinson
ae8e3348cf [svn-r28655] Updated MANIFEST :/ 2015-12-15 00:38:03 -05:00
Mohamad Chaarawi
2824e6bef0 [svn-r28649] - add new API to toggle collective metadata write.
- set default to FALSE
- fix some bugs.
2015-12-14 14:53:31 -05:00
Dana Robinson
61cee5f91a [svn-r28646] Minor normalization with revise_chunks.
Also purged obsolete /*ARGSUSED*/ from the library.

Tested on:
    Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
    serial only
    (these changes have been in revise_chunks for a long time)
2015-12-14 14:19:19 -05:00
Dana Robinson
ddd91a7b19 [svn-r28643] Add H5D_t pointer to chunk callback.
Normalization for future single chunk indexing.

Tested on:
    Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
    serial only
    (these changes have been in revise_chunks for a long time)
2015-12-14 13:31:53 -05:00
Albert Cheng
322816c966 [svn-r28638] HDFFV-9273: cmakehdf5 --script failed in linux platypus
Solution: remove --script option from cmakehdf5.

Tested: platypus
2015-12-14 12:42:26 -05:00
Mohamad Chaarawi
7a0cdfbbac [svn-r28636] merge from trunk. 2015-12-14 10:22:29 -05:00
Dana Robinson
2cb441c507 [svn-r28629] Minor normalization with revise_chunks.
Tested on:
    Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
    serial only
    (these changes have been in revise_chunks for a long time)
2015-12-14 05:50:43 -05:00
Dana Robinson
7e4fb72913 [svn-r28626] Brought VFD-level file locking code over from revise_chunks.
Tested on:
    Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
    serial only
    (these changes have been in revise_chunks for a long time)
2015-12-14 05:03:54 -05:00
Dana Robinson
f6c7631b3c [svn-r28624] Minor normalization of H5FA package with revise_chunks.
Tested on:
    Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
    serial only
    (these changes have been in revise_chunks for a long time)
2015-12-14 02:42:13 -05:00
Dana Robinson
59c2f32bc7 [svn-r28620] Minor normalization of H5HL package with revise_chunks.
Tested on:
    Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
    serial only
    (these changes have been in revise_chunks for a long time)
2015-12-14 01:47:35 -05:00
Dana Robinson
3cdcdbc03e [svn-r28616] Normalization of H5HL package with revise_chunks.
NOTE: Flush dependency code was not moved.

Tested on:
    Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1 w/ CMake 3.3.2
    serial only (Autotools and CMake since new files were added)
    (these changes have been in revise_chunks for a long time)
2015-12-14 00:34:41 -05:00
Dana Robinson
91f01bd702 [svn-r28614] Normalization of H5FS package with revise_chunks.
Mostly minor fixes like warnings, etc.

Tested on:
    Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
    serial only
    (these changes have been in revise_chunks for a long time)
2015-12-13 21:16:54 -05:00
Dana Robinson
abf03a6c65 [svn-r28612] Normalization of H5G package with revise_chunks.
Mostly minor fixes like warnings, etc.

Tested on:
    Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
    serial only
    (these changes have been in revise_chunks for a long time)
2015-12-13 20:22:33 -05:00
Quincey Koziol
e78db67c62 [svn-r28606] Description:
Revisions to normalize revise chunks vs. trunk, plus push dataset metadata
changes into the cache immediately (instead of holding them within the dataset
data structures).

Tested on:
    MacOSX/64 10.11.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-12-13 00:42:36 -05:00
Dana Robinson
aa4fc58ac9 [svn-r28599] Normalization of tools with revise_chunks.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial only, autotools and CMake (3.3.2)
2015-12-11 14:14:43 -05:00
Dana Robinson
f53c939bd0 [svn-r28581] Brought flock changes over from revise_chunks as well as a few
minor tweaks from H5private.h.

Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial only, autotools and CMake (3.3.2)
2015-12-11 03:19:10 -05:00
Dana Robinson
1b62a22e0c [svn-r28577] Normalize test/th5o.c with revise_chunks.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial only
2015-12-10 22:55:01 -05:00
Dana Robinson
1dae74395b [svn-r28575] Normalize test/file_image.c with revise_chunks.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial only
2015-12-10 22:44:50 -05:00
Dana Robinson
7822924da9 [svn-r28573] Merge of r28109 from revise_chunks. Minor change to test/vds.c.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial only
2015-12-10 22:18:03 -05:00
Dana Robinson
84d9914a13 [svn-r28570] Normalization of test/lheap.c with revise_chunks.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial only
2015-12-10 21:17:20 -05:00
Dana Robinson
308426c6e3 [svn-r28568] Normalization of test/big.c with revise_chunks.
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial only
2015-12-10 21:05:50 -05:00
Dana Robinson
fe938a0d71 [svn-r28565] Normalization of bin/trace with revise_chunks in preparation
for merge.

Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64)
           bin/trace run only
2015-12-10 20:09:28 -05:00
Albert Cheng
bb2cdb9283 [svn-r28563] HDFFV-9612: added ability to run multiple make commands.
Added --njobs option to special number of jobs (-j N) to allow multiple
commands during build (cmamke) and testing (ctest).

Tested: platypus.
2015-12-10 18:01:27 -05:00
Dana Robinson
46aa3ded7c [svn-r28555] Normalization of Fortran directory with revise_chunks (minor).
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial, with and without the direct VFD enabled
2015-12-09 22:56:33 -05:00
Dana Robinson
5855f5d431 [svn-r28553] Merge of r28436 from revise_chunks. Cleans up warnings exposed
by gcc 5.2 in the flex/bison code.

Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           serial only
2015-12-09 21:36:22 -05:00
Dana Robinson
af371007e8 [svn-r28538] Merge of r28479 from revise_chunks.
Fixes OS X compilation problems and brings some Linux symbols in
line with the Autotools when building with CMake.

Tested on: 64-bit OS X 10.11.1 El Capitan (Darwin 15.0.0)
           Xcode 7.1 Apple LLVM 7.0.0 (clang-700.1.76)
2015-12-08 15:49:12 -05:00
Neil Fortner
015d8047fb [svn-r28533] Fix loops in H5Dvirtual.c to only loop over used entries in VDS mapping list,
instead of all allocated entries.

Tested: ummon (too minor for full h5committest)
2015-12-07 14:31:47 -05:00
Allen Byrne
dc4a9970ec [svn-r28499] Correct working dir 2015-12-03 10:48:18 -05:00
Allen Byrne
ab1c4e6ba2 [svn-r28497] Avoid race condition on creating same source file. 2015-12-03 10:19:52 -05:00
Dana Robinson
8552007518 [svn-r28488] Removed second argument from AC_CHECK_SIZEOF() in configure.ac. This is no
longer needed for cross compiling and is ignored.

Tested on: h5committest
2015-12-02 21:45:08 -05:00
Dana Robinson
68e2b78957 [svn-r28467] Removed commented-out tests from the list of simple tests. They are handled in the additional tests section, below the list.
Tested on 64-bit Windows 10 w/ VS2015 and CMake 3.3.1.
2015-11-30 11:42:37 -05:00
Dana Robinson
8de50ab664 [svn-r28463] Merge of -r28460 from revise_chunks. Removes -std=c99 from
C++ flags under CMake.

Tested on: Ubuntu 15.10 (x86_64 Linux 4.2.0)
    gcc 5.2.1, CMake 3.3.2
2015-11-24 14:29:21 -05:00
Quincey Koziol
e3c415fe5a [svn-r28452] Description:
Normalization changes against revise_chunks branch.

Tested on:
    MacOSX/64 10.11.1 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-11-23 15:52:33 -05:00
Quincey Koziol
8830acb2cb [svn-r28422] Description:
Revert most of r27549, since revise_chunks code requires debugging contexts
for v2 B-trees.  Also, misc. warning cleanups and alignments w/changes on
revise_chunks branch.

Tested on:
    MacOSX/64 10.11.1 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-11-20 15:24:23 -05:00
Quincey Koziol
5c6f1819d5 [svn-r28416] Description:
Refactor time conversion code to put all the system-specific changes into
one routine, H5_make_time, in H5system.c.

Tested on:
    MacOSX/64 10.11.1 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-11-20 09:43:58 -05:00
Allen Byrne
54aa68df1a [svn-r28403] Update to include cdash submit options 2015-11-19 13:32:41 -05:00
Allen Byrne
2e9220b8e6 [svn-r28397] Add note about the "H5_BUILT_AS_DYNAMIC_LIB" compile definition 2015-11-18 15:26:11 -05:00
Albert Cheng
9de281111f [svn-r28393] HDFFV-9573: bin/h5vers failure, claiming reconfigure failed.
bin/reconfigure is replaced by autogen.sh.

Fixed h5vers to call autogen.sh instead.

Tested: Jam
2015-11-18 13:28:17 -05:00
Albert Cheng
9d72e487e3 [svn-r28388] HDFFV-9573: bin/chkmanifest did not like the missing generated file.
Changed bin/chkmanifest to generate the files if configure is missing.

Tested: jam
2015-11-18 12:31:51 -05:00
Allen Byrne
71ee2155d4 [svn-r28377] CMake 3.4 policy change 2015-11-17 10:07:49 -05:00
Albert Cheng
bbfd8a30aa [svn-r28373] HDFFV-9573: Our helper tests bin/release and bin/h5vers are not working properly
bin/release uses the content of MANIFEST file to build the release tarball. But all the files generated by autogen had been removed. Therefore the release would not contain those needed generated files for a proper release.

Solution: Added all those generated files to the tail of MANIFEST and titled it accordingly. (Somehow bin/chkmanifest does not complain against these entries though they are not svn managed. This needs further investigation.)

Test: bin/release generated the release tarball in jam, then use it in Platypus to do a full build (--enable-fortran --enable-cxx). All passed.
2015-11-17 09:37:17 -05:00
Allen Byrne
893d5a4e7a [svn-r28371] Update script mode order of commands 2015-11-17 09:07:51 -05:00
Quincey Koziol
5f6e580533 [svn-r28346] Description:
Bring in cleanups from revise_chunks branch.

Tested on:
    MacOSX/64 10.11.1 (amazon) w/serial & parallel
    (too minor to require full h5committest)
2015-11-14 22:32:00 -05:00
Albert Cheng
3bdc5d7aa4 [svn-r28342] DAILYTEST-195: Osx1010test has culmulated a lot of mounted volumes from cmakehdf5
installation.

Tried to find out what went wrong but all output files were deleted already.
Added a verbose option to display all cmake process output in order to see what
might have gone wrong. Default is on.

Using --disable-verbose will turn it off.

Tested: osx1010dev, osx1010test, playtypus.
2015-11-13 17:22:41 -05:00
Allen Byrne
b7240446da [svn-r28340] Remove dependencies due to flex/bison 2015-11-13 12:03:15 -05:00
Allen Byrne
59ba9f2bc5 [svn-r28336] Remove flex/bison generation 2015-11-13 11:42:57 -05:00
Dana Robinson
f7b73969f3 [svn-r28332] Updated autogen.sh to not run flex/bison.
This was giving a lot of users headaches and the parser code rarely
changes. There is now a new script (bin/genparser) which can be
run as needed.

Tested on: Ubuntu 15.10 (x86_64 Linux 4.2.0)
    gcc 5.2.1, flex 2.5.39, bison 3.0.2
2015-11-13 06:24:43 -05:00
Quincey Koziol
7426415d95 [svn-r28311] Description:
Add missing callback to virtual layout "class" structure.

Tested on:
    MacOSX/64 10.11.1 (amazon) w/serial & parallel
    (Too minor to require h5committest)
2015-11-09 09:12:06 -05:00
Mohamad Chaarawi
401f0c181e [svn-r28285] move private H5G_get_create_plist from public source file to internal one. 2015-11-05 11:48:09 -05:00
Allen Byrne
45aa5c30c3 [svn-r28241] Correct prototype return signature. 2015-10-28 09:02:28 -05:00
Allen Byrne
3537b69b5b [svn-r28236] Rework get timezone function to add another exclusion define (H5_HAVA_TM_GMTOFF).
Also needed to add prototype - followed lead of HDrand.
Tested linux and windows
2015-10-27 10:22:09 -05:00
Dana Robinson
8e179b17aa [svn-r28234] Changed a C++-style comment to C-style. 2015-10-27 08:46:50 -05:00
Allen Byrne
b7310b0d1f [svn-r28229] HDFFV-9550: Rework timezone usage to localize the #ifdef blocks to a HDget_timezone function. 2015-10-26 15:40:30 -05:00
Allen Byrne
00aaf8e6f4 [svn-r28228] Remove WIN32 only config of threadsafe 2015-10-26 15:09:22 -05:00
Jerome Soumagne
acbb71201b [svn-r28204] Fix use of hbool_t in H5FDmulti (revert previous fix and use unsigned instead)
Tested on: Sun OS 5.11/64 (emu)
2015-10-23 17:16:08 -05:00
Jerome Soumagne
62563badd8 [svn-r28196] Fix use of hbool_t in H5FDmulti
Tested on: Sun OS 5.11/64 (emu)
2015-10-22 23:52:32 -05:00
Allen Byrne
543ec79118 [svn-r28193] Rework VS2015 timezone patch for better fit to standards.
Tested: VS2015 VMs
2015-10-22 15:01:32 -05:00
Jerome Soumagne
7791549252 [svn-r28188] Fix inline/__inline__/__inline detection with CMake after autotools changes 2015-10-22 11:23:01 -05:00
Allen Byrne
37ed7e8b5f [svn-r28184] correct import targets 2015-10-22 10:47:29 -05:00
Allen Byrne
3edabec156 [svn-r28176] HDFFV-9550: Add VS2015 fix for change of standard format. 2015-10-21 16:36:36 -05:00
Allen Byrne
aa4284b2a3 [svn-r28174] HDFFV-9550: Add VS2015 fix for timezone. 2015-10-21 16:22:06 -05:00
Jerome Soumagne
9f702766f8 [svn-r28168] Remove Wall option passed by default on non-windows systems
(not necessary anymore since there is now
2015-10-21 15:26:56 -05:00
Allen Byrne
dec18189f4 [svn-r28161] Update comment about VS versions 2015-10-21 11:29:33 -05:00
Allen Byrne
7d34c32445 [svn-r28160] Update comment about VS versions 2015-10-21 11:28:17 -05:00
Allen Byrne
78c820b1ee [svn-r28158] Merge from CMAMKE_EXT_MOD repo.
Add VS2015 support.
2015-10-21 10:44:41 -05:00
Allen Byrne
83d7feb63c [svn-r28154] Correct define vs variable usage 2015-10-20 17:13:26 -05:00
Allen Byrne
6a6e921d2f [svn-r28152] Correct define vs variable usage
Add VS2015
2015-10-20 17:11:10 -05:00
Neil Fortner
7ad885febc [svn-r28151] Fix memory leak in dtransform test (encountered when parsing an invalid
transform).

Tested: koala, ostrich (h5committest)
2015-10-20 17:05:28 -05:00
Allen Byrne
01a198ac1b [svn-r28148] Correct define vs variable usage 2015-10-20 16:13:45 -05:00
Allen Byrne
84c4dc0039 [svn-r28147] Correct define vs variable usage 2015-10-20 16:09:27 -05:00
Allen Byrne
1bf086b080 [svn-r28145] Correct define vs variable usage 2015-10-20 16:01:07 -05:00
Jerome Soumagne
2094d86461 [svn-r28138] Add first support for _Bool and make hbool_t a "real" _Bool if available
Fix tests accordingly and fix misuse of hbool_t in various places

Fix initialization of H5Pgcpl/ocpl structs in property decoding routines

Tested on:
    Linux/32 (jam)
    Linux/64 (platypus)
    Linux/PPC64 (ostrich)
    MacOSX/64 10.11
2015-10-20 01:28:17 -05:00
Jerome Soumagne
2af0d74216 [svn-r28132] Cleanup cmake output of HDF5_GENERATE_HEADERS perl script 2015-10-19 15:33:27 -05:00
Jerome Soumagne
a9da5b8cc5 [svn-r28131] Cleanup cmake output of HDF5UseFortran 2015-10-19 15:32:49 -05:00
Allen Byrne
eca1bd1d8b [svn-r28130] Updated scripts 2015-10-19 14:20:04 -05:00
Allen Byrne
cd4b835614 [svn-r28128] Add version extension to all uses of source name 2015-10-19 13:24:20 -05:00
Allen Byrne
d1139d78d6 [svn-r28126] Correct CMake var name 2015-10-19 12:13:50 -05:00
Larry Knox
d72281dff4 [svn-r28115] Replace unreadable, unused test file with newly generated file that can be read by h5dump from HDF5 1.6.10, 1.8.6, 1.8.16 and trunk. 2015-10-16 17:11:26 -05:00
Jerome Soumagne
0be7b0d524 [svn-r28113] A few warning fixes in cmake conversion tests 2015-10-16 17:01:51 -05:00
Jerome Soumagne
60cdc22cd3 [svn-r28112] CMake check for gettimeofday if not on windows 2015-10-16 17:01:24 -05:00
Allen Byrne
86f450c240 [svn-r28089] Need to set a variable for matching install config names. 2015-10-15 14:58:41 -05:00
Scot Breitenfeld
5464277d0c [svn-r28086] fixed spelling 2015-10-15 13:01:27 -05:00
Allen Byrne
3d8b36f6d1 [svn-r28085] Add option to change cpack install location version (1.9 instead of 1.9.xxx) useful on windows. 2015-10-15 13:01:21 -05:00
Albert Cheng
05233bfc73 [svn-r28075] HDF5 passed basic tests in Mac El Capitan VM and is added to the more tested platform section. 2015-10-14 16:54:56 -05:00
Allen Byrne
2abe5da201 [svn-r28059] Make UNSUPPORTED option combinations fail configure - matches autotools behaviour. 2015-10-13 16:15:31 -05:00
Allen Byrne
2c9b575d38 [svn-r28056] Add HL and Threadsafe notice 2015-10-13 15:57:47 -05:00
Allen Byrne
7c4e5533fb [svn-r28053] Change file generation from build time to cmake time. 2015-10-13 10:16:22 -05:00
Binh-Minh Ribler
bd995868ee [svn-r28047] Purpose: Fix memory leaks
Description:
    - Implemented the friend function
        void f_PropList_setId(PropList* plist, hid_t new_id)
      to work around the same problem described in trunk r26655, for the
      API DataSet::getCreatePlist()
    - Cleaned up some comments and obsolete functions
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2015-10-12 23:57:28 -05:00
Mohamad Chaarawi
3aee46a956 [svn-r28040] avoid use of MPI deprecated routines. 2015-10-12 11:53:51 -05:00
Scot Breitenfeld
8c789704da [svn-r28039] Fixed valgrind mem leak.
Tested: h5committest (partial).
2015-10-12 11:28:18 -05:00
Binh-Minh Ribler
fc84edb7e3 [svn-r28027] Purpose: Fix memory leaks
Description:
    - Removed H5Library::instance because it is unnecessary.  All H5Library's
      methods are static.  This, in turn, removed the memory leaks by
      H5Library::instance not being deleted.
    - Added ObjCreatPropList::deleteConstants to atexist() list
    - Cleaned up comments and format inconsistencies with 1.8
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2015-10-10 23:05:21 -05:00
Quincey Koziol
cd49e8a2ab [svn-r28025] Description:
Switch 'int' flag variables to booleans.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & paralel
    (too minor for h5committest)
2015-10-10 21:42:20 -05:00
Quincey Koziol
877dfaaad7 [svn-r28024] Description:
Clear buffer for driver info block before writing it to the file.  (Avoids
'uninitialized memory read' warning from valgrind)

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & valgrind
    (too minor for h5committest)
2015-10-09 23:55:35 -05:00
Scot Breitenfeld
59c79aec2c [svn-r28020] Freed allocated memory in h5tenum_insert_ptr_c, valgrind fix. 2015-10-09 16:45:46 -05:00
Mohamad Chaarawi
cfe6d9a8da [svn-r28019] fix mem leaks. 2015-10-09 16:35:30 -05:00
Mohamad Chaarawi
3444e46ea0 [svn-r28017] mem leak fix. 2015-10-09 15:25:50 -05:00
Quincey Koziol
0facbc77c3 [svn-r28015] Decription:
Clean up memory leak when generating group creation property list for user.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & valgrind
    Linux/64 4.1.8 (Jerome's laptop) w/serial & valgrind
2015-10-09 14:38:13 -05:00
Larry Knox
8edfabd297 [svn-r27997] Autogen.sh is no longer marked _DO_NOT_DISTRIBUTE_ in the MANIFEST file. Therefore bbrelease does not need to expressly add it to the source tar file. 2015-10-07 14:18:43 -05:00
Allen Byrne
ad29dac64a [svn-r27986] OPTION should default to FALSE 2015-10-07 10:22:57 -05:00
Mohamad Chaarawi
8e9b142d9c [svn-r27976] merge from trunk. 2015-10-06 14:09:59 -05:00
Allen Byrne
22f78e766c [svn-r27974] Change distribution of scripts 2015-10-06 13:52:48 -05:00
Allen Byrne
58db7babe4 [svn-r27973] Update to new style usage 2015-10-06 13:48:50 -05:00
Allen Byrne
16e7b241d0 [svn-r27971] eliminate duplicate option 2015-10-06 12:38:04 -05:00
Allen Byrne
6f04c0f89d [svn-r27970] eliminate duplicate option 2015-10-06 12:36:38 -05:00
Elena Pourmal
086904a50d [svn-r27969] Added autogen.sh to the list of the distributed files. 2015-10-06 12:15:59 -05:00
Elena Pourmal
d0babe88da [svn-r27968] Modified version number to 1.9.233 before creating a tar ball for DLS. 2015-10-06 12:03:41 -05:00
Binh-Minh Ribler
db00c23829 [svn-r27966] Description
Added H5OcreatProp.h and H5OcreatProp.cpp.
2015-10-06 09:48:32 -05:00
Binh-Minh Ribler
f416522d56 [svn-r27962] Description:
Added c++/src/H5OcreatProp.[h/cpp]
    Checked with bin/chkmanifest
2015-10-05 23:35:15 -05:00
Binh-Minh Ribler
f17eb1e610 [svn-r27961] Purpose: Partial fix of issues HDFFV-9169 and HDFFV-9167
Description:
    Added wrappers for H5P[s/g]et_attr_phase_change and H5P[s/g]et_attr_creation_order

    // Sets attribute storage phase change thresholds.
    void setAttrPhaseChange(unsigned max_compact = 8, unsigned min_dense = 6)

    // Gets attribute storage phase change thresholds.
    void getAttrPhaseChange(unsigned& max_compact, unsigned& min_dense)

    // Sets tracking and indexing of attribute creation order.
    void setAttrCrtOrder(unsigned crt_order_flags)

    // Gets tracking and indexing settings for attribute creation order.
    unsigned getAttrCrtOrder()

Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2015-10-05 23:31:58 -05:00
Quincey Koziol
0fb60ee7ae [svn-r27958] Description:
Reintegration merge of the VDS branch.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (daily tested for h5committest)
2015-10-05 12:52:31 -05:00
Quincey Koziol
81c4e2133a [svn-r27957] Description:
Minor whitespace cleanups.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-10-05 08:59:16 -05:00
Quincey Koziol
c7c6623f28 [svn-r27956] Description:
Minor code cleanups, preparing to merge to trunk.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-10-05 08:46:42 -05:00
Dana Robinson
914643490a [svn-r27946] Brought VDS branch in sync with trunk (up to r27945).
Tested on Ubuntu 15.04 (Linux 3.19 x86_64), gcc 4.9.2, MPICH 3.1.4
and CMake 3.3.2.
    - Autotools serial w/ Fortran, C++
    - Autotools parallel w/ Fortran
    - CMake serial w/ Fortran, C++
2015-10-04 02:33:40 -05:00
Binh-Minh Ribler
888a002cdd [svn-r27945] Purpose: Fix HDFFV-9529
Description:
    Merged from hdf5_CppAPI_Constants

    r27942:
    ------
    Description:
    - Added H5dont_atexit() to getPredType and all the getConstant's to prevent
    the C library from terminating before the C++ library cleanup.
    - More cleanup and added more comments

    r27923:
    ------
    - Updated more comments and moved some things around for consistency
    - Removed check for "new" failure, exceptions would be thrown

    r27922:
    ------
    Description:
        Added function headers and more comments for clarity.

    r27917:
    ------
    Description:
        The C++ library has several types of global constants from different
        classes, such as PropList, PredType, DataSpace, etc...  Previously,
        these global constants were declared statically and the C++ library used
        a constant, called PredType::AtExit, to detect when all the global
        contants are destroyed then close the C library (H5close).  This method
        relied on the order of the constants being created and destroyed and
        that PredType constants be the last to be destroyed.  In September 2015,
        it was recognized that the order in which the global constants were
        created and destroyed was actually undefined, thus can be different
        between different compilers.  This resulted in failure when compilers
        destroy PredType constants before others because when PredType::AtExit
        was destroyed, the C library was closed, so when the constants of other
        classes such as PropList or DataSpace were being deleted, the C library
        would not be available.

    Solution:
        The static approach is changed to dynamic.  In order to avoid an impact
        on existing applications, the static global constants are changed to
        constant references to the dynamically allocated objects.
        A detailed explanation of the new method and a description of the
        changes are in a Design Notes at the end of the file H5PredType.cpp.

        New functions added to support the new methods are listed below.

        class H5Library:
                // Returns a singleton H5Library to initialize the global
                // constants, invoked in IdComponent default constructor
                static H5Library* getInstance(); // public

                // Registers cleanup and terminating functions with atexit(),
                // called in IdComponent default constructor
                static void initH5cpp(void); // public

                // Calls H5close to terminate the library, registered with
                // atexit(), as the last thing to be done.
                static void termH5cpp(void); // public

        class PredType:
                // Creates the constants
                static void makePredTypes(); // private

                // Calls makePredTypes to create the constants and returns
                // the dummy constant PREDTYPE_CONST;
                static PredType* getPredTypes(); // private

        class DataSpace:
                // Creates the constant
                static DataSpace* getConstant(); // private

        class PropList:
                // Creates the constant
                static PropList* getConstant(); // private

        class DSetCreatPropList:
                // Creates the constant
                static DSetCreatPropList* getConstant(); // private

        class DSetMemXferPropList:
                // Creates the constant
                static DSetMemXferPropList* getConstant(); // private

        class FileCreatPropList:
                // Creates the constant
                static FileCreatPropList* getConstant(); // private

        class FileAccPropList:
                // Creates the constant
                static FileAccPropList* getConstant(); // private

        This function is added to PredType, DataSpace, PropList, and the four
        subclasses of PropList:
                // Deletes the constant
                static void deleteConstants(); // public

Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 (platypus)
    Darwin (osx1010test)
2015-10-04 00:05:51 -05:00
Quincey Koziol
0ee053bb95 [svn-r27944] Description:
Avoid duplicating source FAPL & DAPL if they are already available.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-10-03 22:58:55 -05:00
Binh-Minh Ribler
0ef29b550b [svn-r27943] Purpose: Fix HDFFV-7947 (cont.)
Description:
    In the friend functions that setId, changed the direct assignment of
    id to using p_setId() so that the previous id can be closed first to
    avoid memory leaks.
    This change was tested and confirmed by user Jorj on Forum when his
    application stopped running out of memory.  Currently, the C++ library
    doesn't have a way to test this.  A function such as H5Inmembers for
    library ids would be helpful.
Platforms tested:
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
    Darwin (osx1010test)
2015-10-03 13:56:21 -05:00
Jerome Soumagne
87cc068ccb [svn-r27939] Remove H5D__iterate and use H5S_select_iterate directly
Add internal library callback to H5S_select_iterate to avoid having
to pass hid_t objects internally
2015-10-02 15:24:29 -05:00
Jerome Soumagne
b991b71176 [svn-r27938] Fix private/public H5A_get_type and H5A_get_space 2015-10-02 15:17:00 -05:00
Allen Byrne
f0adeb1cdd [svn-r27937] fix case 2015-10-02 15:08:54 -05:00
Allen Byrne
47c5bc7d61 [svn-r27935] Cmake 3.3 allowed execute_process to merge output and error files if the filename or the variable were the same.
Changed instances to make the outpu_variable different.
2015-10-02 14:19:09 -05:00
Allen Byrne
af5c2697a1 [svn-r27933] Cmake 3.3 allowed execute_process to merge output and error files if the filename or the variable were the same.
Changed instances to make the outpu_variable different.
2015-10-02 12:55:08 -05:00
Allen Byrne
b9d27c0ed3 [svn-r27932] Increase timeout for istore test when running under vfd. 2015-10-02 08:59:03 -05:00
Mohamad Chaarawi
8d131aca15 [svn-r27929] merge from trunk. 2015-10-01 11:12:02 -05:00
Allen Byrne
4dc2218ab5 [svn-r27927] Fix dependencies of flex/bison files. 2015-10-01 09:48:03 -05:00
Allen Byrne
152cc9e143 [svn-r27926] Fix dependencies of generated headers. 2015-10-01 09:24:11 -05:00
Dana Robinson
5548799289 [svn-r27918] Brought in sync with the trunk:
r27860-27883
r27892-27916

Tested on: - h5committest
           - jam (parallel) fails with an existing, unrelated MPI config error
           - platypus fails with due to an existing, unrelated cmakehdf5 error
             where it does not recognize --enable-fortran2003.
2015-09-30 00:46:19 -05:00
Dana Robinson
a89b064e2b [svn-r27916] Re-merge of r27884-27891 from the trunk + bugfix for a few
H5S recursive functions where an aliased pointer was
incorrectly set too early.

Tested on: Ubuntu 15.04 (Linux 3.19 x86_64) w/ gcc 4.9.2
           serial and parallel (w/ MPICH 3.1.4)
2015-09-29 21:36:46 -05:00
Allen Byrne
32ee0d816f [svn-r27913] Need to create the directory for the gen files 2015-09-29 13:59:55 -05:00
Dana Robinson
5c0a8cc86e [svn-r27912] Revert of r27887, which caused failures in the vds test. These
changes will be merged more carefully so we can more easily
identify any errors that arise.

Tested on: Ubuntu 15.04 (Linux 3.19 x86_64) w/ gcc 4.9.2
           serial and parallel (w/ MPICH 3.1.4)
2015-09-29 13:56:27 -05:00
Allen Byrne
cc8ed681b0 [svn-r27911] Add back in the build dir 2015-09-29 12:44:56 -05:00
Allen Byrne
e8073c0d80 [svn-r27910] Rework flex-bison generated files to eliminate dual depends when building both shared and static 2015-09-29 12:23:55 -05:00
Allen Byrne
ea70d11227 [svn-r27909] Exclude CYGWIN 2015-09-29 09:55:35 -05:00
Allen Byrne
ef2885c5ca [svn-r27908] Give cache tests extra time for VFD tests 2015-09-29 09:53:52 -05:00
Allen Byrne
2557782f24 [svn-r27906] Remove header file name as it is not a direct target (derived during BISON process). 2015-09-29 08:32:43 -05:00
Allen Byrne
7b7649aa81 [svn-r27905] Add depends to be sure file exists 2015-09-28 16:31:00 -05:00
Allen Byrne
179d122d59 [svn-r27904] Correct missing target name chars 2015-09-28 15:43:25 -05:00
Allen Byrne
431c69474c [svn-r27903] Add extra line for replacement from revision 27898 2015-09-28 15:23:46 -05:00
Dana Robinson
11201a24ef [svn-r27902] Updated autogen.sh to use /usr/hdf/bin/AUTOTOOLS paths and removed
hard-coded version checks.

Tested on: jam
2015-09-28 14:04:04 -05:00
Allen Byrne
510936d915 [svn-r27901] Rework doc for updated examples script 2015-09-28 13:39:43 -05:00
Larry Knox
a4e6d0c7e1 [svn-r27900] Modify bbrelease to use "Revision:" number from svn info, not "Last Changed Rev:" number.
Tested on jam
2015-09-28 13:32:42 -05:00
Mohamad Chaarawi
e188268610 [svn-r27898] add an additional perl command to replace int with hid_t in H5LTparse.c
- this is needed when running autogen on a couple of HPC machines.
2015-09-28 13:17:08 -05:00
Allen Byrne
e688c682c3 [svn-r27897] Reduce normal test timeouts to 10 mins - leave VFD changes as is. 2015-09-28 12:48:02 -05:00
Allen Byrne
6272555394 [svn-r27896] Synch VFD types with autotools 2015-09-28 12:47:19 -05:00
Allen Byrne
ccd6248532 [svn-r27895] Rework the generated file dependencies and commands. 2015-09-28 12:30:48 -05:00
Allen Byrne
68962cb2fa [svn-r27894] All generated headers need to be packaged. 2015-09-28 08:21:25 -05:00
Dana Robinson
5422acf9b2 [svn-r27892] Removed redefinition of H5C__HASH_FCN in test/cache_common.h.
This was causing failures on Ada.

Tested on: Ubuntu 15.04 (Linux 3.19.0) w/ gcc 4.9.3
2015-09-26 23:56:13 -05:00
Quincey Koziol
fbd659fe6f [svn-r27891] Description:
Revert changes to 'all' and 'none' selections: the serialized header info
is handled in the general H5S_select_deserialize() routine.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-09-26 23:39:36 -05:00
Quincey Koziol
0704819592 [svn-r27890] Description:
Remove 'unused' attribute from decoding pointer flag that I missed in the
last checkin.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-09-26 21:57:02 -05:00
Quincey Koziol
f45d7b4b7a [svn-r27889] Description:
Advance the decoding pointer for 'all' and 'none' selections properly.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-09-26 21:55:02 -05:00
Quincey Koziol
2fbf60fb90 [svn-r27888] Description:
Fix typo in last checkin. *sigh*

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-09-26 21:47:42 -05:00
Quincey Koziol
6f1dda474c [svn-r27887] Description:
Merge changes from trunk to the branch.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-09-26 20:39:06 -05:00
Quincey Koziol
574ff3980a [svn-r27885] Description:
Check if the layout has been retrieved before setting it again.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-09-26 20:28:39 -05:00
Quincey Koziol
8186a5cee1 [svn-r27884] Description:
Update dataspace selection encode/decode routines to avoid type aliasing
errors.

Tested on:
    Linux/64 2.6.x (platypus) w/production
    (h5committest forthcoming)
2015-09-26 18:52:42 -05:00
Dana Robinson
aec3e1242d [svn-r27880] Changes to autogen.sh
- Removed the long options, which are not supported under
  the getopts builtin.

- Correctly labeled the autogen.sh script as requiring bash
  (via the #!). We may need to remove the bash constructs
  before the 1.10 release and revert to sh.

- The help output is now correct.

Tested on: local linux
2015-09-25 18:32:57 -05:00
Neil Fortner
dbdc9c1e2b [svn-r27879] Move property list shutdown earlier in H5_term_library, since with VDS layout it
needs to call into the H5D package.

Tested: ummon
2015-09-25 16:48:11 -05:00
Dana Robinson
04289b3e2a [svn-r27878] Updated autogen.sh script to be more informative about missing
flex/bison.

Tested on: local linux
2015-09-25 15:49:24 -05:00
Quincey Koziol
10837a2a28 [svn-r27876] Description:
Make virtual layout return to the property list occur in all cases, even
on failure.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest not needed on this branch)
2015-09-25 11:29:02 -05:00
Allen Byrne
2c99d728f0 [svn-r27874] Add ability to extend the cmake path for searching for libraries/programs. 2015-09-24 14:14:44 -05:00
Allen Byrne
5430c32938 [svn-r27873] Update with changes to script file 2015-09-24 14:01:39 -05:00
Allen Byrne
a1df19353d [svn-r27871] Update with changes to script file 2015-09-24 13:54:00 -05:00
Allen Byrne
e732b8073b [svn-r27869] Update with changes to script file 2015-09-24 12:36:48 -05:00
Allen Byrne
d99143e25b [svn-r27868] Add missing exported headers due to generation changes. 2015-09-24 12:14:01 -05:00
Allen Byrne
6a2195507d [svn-r27863] Correct comment 2015-09-23 15:34:23 -05:00
Allen Byrne
0d752fc354 [svn-r27862] Make the system vars configurable through the CTEST_SCRIPT_ARG 2015-09-23 15:31:50 -05:00
Quincey Koziol
718b311c11 [svn-r27860] Description:
Sync w/changes on trunk

Tested on:
    Not necessary, text only...
2015-09-23 10:40:48 -05:00
Allen Byrne
342ab3ccbf [svn-r27858] Add depends for H5E files 2015-09-22 15:01:39 -05:00
Scot Breitenfeld
1cd606b5e0 [svn-r27854] fixed typo in name of file 2015-09-22 10:26:25 -05:00
Quincey Koziol
8572b0db32 [svn-r27852] Description:
Sync w/trunk (which was already from the VDS branch)

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial
    (h5committest not required)
2015-09-21 21:14:49 -05:00
Quincey Koziol
af25c747ad [svn-r27851] Description:
Normalization changes that wouldn't otherwise be necessary if the VDS branch
wasn't coming in shortly.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-09-21 21:11:54 -05:00
Quincey Koziol
4ad84456b3 [svn-r27850] Description:
Sync w/trunk

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial
    (h5committest not required on this branch)
2015-09-21 19:35:47 -05:00
Quincey Koziol
fb238c24a5 [svn-r27849] Description:
Normalize against incoming changes on VDS branch.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial
    (h5committest forthcoming)
2015-09-21 19:26:51 -05:00
Quincey Koziol
d3c6b4ad72 [svn-r27848] Description:
Clean up warnings and some normalization against trunk.

Tested:
    McaOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-09-21 19:21:18 -05:00
Allen Byrne
0be8c16879 [svn-r27847] Add Not early in document about CMAKE_INSTALL_PREFIX. 2015-09-21 15:52:35 -05:00
Allen Byrne
9edd184ae9 [svn-r27846] Fix generated files process.
Add script for post processing of flex/bison files.
2015-09-21 15:05:23 -05:00
Quincey Koziol
fd90a6f5c4 [svn-r27842] Description:
Sync w/trunk.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel (although not CMake)
    (h5committest not required on this branch)
2015-09-21 09:25:23 -05:00
Dana Robinson
209df7c3b0 [svn-r27839] Removed generated autotools stragglers missed in trunk sync. 2015-09-21 03:36:01 -05:00
Albert Cheng
0e4ee6d829 [svn-r27836] HDFFV-8932: added option --with-szlib to support szip library support.
Tested: platypus 32 or 64bit, with or without zlib.
2015-09-20 23:59:43 -05:00
Quincey Koziol
0695d6366a [svn-r27835] Description:
Sync w/trunk.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-09-20 21:18:45 -05:00
Quincey Koziol
8fc9a9ba25 [svn-r27834] Description:
Close FAPL for external link test, to fix infinite loop closing the library.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial 
    (too minor to require h5committest)
2015-09-20 21:08:56 -05:00
Dana Robinson
502dd5500b [svn-r27832] Updates to configure.ac based on the results of autoscan.
This removes all of the TRY_* macros and replaces them with *_IFELSE
macros, which are better for cross-compiling.

Tested on: h5committest (cmake fails due to --enable-fortran2003)
2015-09-19 07:24:40 -05:00
Albert Cheng
809dcb5c8e [svn-r27831] HDF5-0: Removed enable-fortran2003 which is no longer needed.
HDFFV-8932: added option to specify which zlib to use.

Tested: platypus 32 or 64bit, with or without zlib.
2015-09-18 17:59:24 -05:00
Dana Robinson
e78fa78f07 [svn-r27829] Added --copy to automake invocation in autogen.sh to force copies
instead of symlinks.

Tested on: local linux
2015-09-18 16:52:48 -05:00
Dana Robinson
132ab9c2f3 [svn-r27828] Removed Perl-generated header files and H5LT parse code created by flex/bison.
Tested on: jam
2015-09-18 15:46:04 -05:00
Larry Knox
967dad8cf8 [svn-r27826] Modify bbrelease to add autogen.sh to the source tarball. 2015-09-18 13:09:02 -05:00
Allen Byrne
87005a24ba [svn-r27823] Add new options for dynamic analysis 2015-09-18 10:23:20 -05:00
Larry Knox
7c1c3734f3 [svn-r27819] bbrelease is a modified copy of the release script, which checks for the "configure" file to verify that it is in the top level HDF5 directory. bbrelease creates a tar file for buildbot testing, and since configure is no longer checked in, the script failed. configure.ac should always be present in the top level source directory, even before running autogen.sh, so it should be a workable substitute for the verification.
Tested with h5committest.
2015-09-17 13:21:35 -05:00
Dana Robinson
944e42d5ea [svn-r27818] Minor warning fixes.
Tested on: h5committest
2015-09-17 12:21:34 -05:00
Allen Byrne
2ddf84b036 [svn-r27817] Fix generated file dependencies 2015-09-17 11:07:09 -05:00
Dana Robinson
a8bd6fa91e [svn-r27812] Updated the autotools files to only compile direct VFD and parallel code
when those options were specified in the configure step.

Tested on: jam w/ serial, parallel, and direct VFD
2015-09-16 18:40:11 -05:00
Quincey Koziol
ee7612be44 [svn-r27811] Description:
Refactor property list code to "deep copy" properties in the correct way,
retraining the rest of the library to copy & release things correctly.  This
cleans up another batch of memory leaks, etc. within the library.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    Linux/32 2.6.x (jam) w/serial & parallel
    (h5committest forthcoming)
2015-09-16 17:27:49 -05:00
Quincey Koziol
222e7186ea [svn-r27810] Description:
Clean up resources on failure

Tested on:
    Linux/32 2.6.x (jam) w/Purify
2015-09-16 16:57:01 -05:00
Dana Robinson
78848c63b7 [svn-r27809] Minor warning fixes in the library.
Tested on: jam (too minor for h5committest)
2015-09-16 16:52:54 -05:00
Allen Byrne
12d5f2bb3c [svn-r27808] Update CMake files to use updated test files. 2015-09-16 16:38:16 -05:00
Quincey Koziol
81b5e1c51f [svn-r27807] Description:
Close memory leak on failure.

Tested on:
    Linux/32 2.6.x (jam) w/purify
2015-09-16 15:30:26 -05:00
Neil Fortner
d23cc2da70 [svn-r27806] Fix property list serialization for values encoded by H5Pset_chunk_cache to be
compatible between 32 and 64 bit systems.
Expand cross platform property list encode/decode testing.
Fix warning in H5P__fill_value_enc.

Tested: jam, koala, ostrich (h5committest), ummon
2015-09-16 14:55:38 -05:00
Quincey Koziol
52ac462e7c [svn-r27805] Description:
Shut warnings from purify up.

Tested on:
    Linux/32 2.6 (jam) w/purify
    (Too minor to require h5committest)
2015-09-16 12:23:47 -05:00
Allen Byrne
36869656f5 [svn-r27803] Synch header generation to autogen and create files in source folder.
Tested : Windows which had issues creating the files in both source and build (by-product of perl script).
2015-09-16 11:44:04 -05:00
Dana Robinson
92dc665301 [svn-r27802] Added an explicit -I m4 to the aclocal line.
The files in the m4 directory were not getting picked up on some platforms.

Tested on: jam
2015-09-16 10:57:37 -05:00
Dana Robinson
d90e4acfa7 [svn-r27801] Minor warning fixes in the tools.
Tested on: jam (too minor for h5committest)
2015-09-16 10:23:16 -05:00
Dana Robinson
2385b2b0ad [svn-r27800] Minor warning fixes in the library tests.
Tested on: jam (too minor for h5committest)
2015-09-16 08:54:23 -05:00
Dana Robinson
cc0165a973 [svn-r27799] Minor warning fixes in the high-level library.
Tested on: jam (too minor for h5committest)
2015-09-16 05:34:25 -05:00
Allen Byrne
183ba43b41 [svn-r27796] Remove duplicated if block 2015-09-15 15:53:11 -05:00
Dana Robinson
058ec37559 [svn-r27795] Removed some autotools generated files that were not caught by
the last checkin.

Tested on: bin/chkmanifest
2015-09-15 15:52:14 -05:00
Dana Robinson
9af344117c [svn-r27794] Reintegration merge of features/autotools_rework branch with trunk
NOTES:

- Developers will have to run autogen.sh before building with the autotools.

- autogen.sh takes the -p option to mimic the old bin/reconfigure behavior.

- The generated error, overflow and version headers have been left in place.

- The generated H5LT parser code has also been left in place.

- There are no changes for CMake users at this time.

Tested on: h5committest
2015-09-15 15:38:57 -05:00
Dana Robinson
14e3550348 [svn-r27790] Merge of r27632, 27676, 27683 from the trunk.
Tested on: N/A (mergeinfo only)
2015-09-15 08:52:24 -05:00
Dana Robinson
ef8c73ecc3 [svn-r27789] Merge of r27683-r27698 from the trunk.
Tested on: h5committest
2015-09-15 08:33:49 -05:00
Dana Robinson
1177e64925 [svn-r27787] Merge of r27632-27674 from the trunk.
Tested on: h5committest
2015-09-15 08:01:01 -05:00
Dana Robinson
2416d5e8ce [svn-r27776] Fixed MANIFEST
Tested on: bin/chkmanifest
2015-09-14 15:13:12 -05:00
Dana Robinson
b5eaacb911 [svn-r27775] Undo of r27655
Removes .pl extension from Perl scripts. This may be returned in the future,
but it's best to keep the script names unchanged while we merge with the
trunk.

Tested on: h5committest
2015-09-14 15:11:43 -05:00
Quincey Koziol
b2f94f9faf [svn-r27774] Description:
Correct test reset code in plugin code and fix typo in testing script.

Tested on:
    Linux 2.6/32 (jam) w/serial
2015-09-14 14:53:47 -05:00
Quincey Koziol
43443b2208 [svn-r27773] Description:
Correct typos in fix.

Tested on:
    Linux 2.6/32 (jam) w/gcc
2015-09-14 14:27:31 -05:00
Quincey Koziol
02ce7e7386 [svn-r27772] Description:
Clean up warnings, address HDFFV-9524

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial
    (Too minor to require h5committest)
2015-09-14 11:39:09 -05:00
Quincey Koziol
050dd02387 [svn-r27771] Description:
Merge in part of Neil's property list fixes:  Fix a minor memory leak,
add some sanity checks, clean up the code a little, and verify that encoding/
decoding default versions of the property lists works correctly.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial
    (Too minor to require h5committest)
2015-09-14 11:21:31 -05:00
Elena Pourmal
68659dd411 [svn-r27769] Maintenance: Fixed example that failed daily tests.
Tested on Mac Air, jam and ostrich.
2015-09-14 10:03:58 -05:00
Quincey Koziol
1023374492 [svn-r27768] Description:
Complete revamp of package initialization/shutdown mechanism in the library.
Each package now has a single init/term routine.

    This new way should avoid packages being re-initialized during library
shutdown and is also be _much_ more proactive about giving feedback for
resource leaks internal to the library.

    Introduces a new "module" header file for packages in the library
(e.g src/H5Fmodule.h) which sets up some necessary package configuration macros
for the FUNC_ENTER/LEAVE macros.  (The VFL drivers have their own slightly
modified version of this header, src/H5FDdrvr_module.h)

    Also cleaned up a bunch of resources leaks all across the library and tests,
along with addressing many warnings, as I encountered them.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    Linux/64 3.10.x (kituo) w/serial & parallel
    Linux/64 2.6.x (ostrich) w/serial
2015-09-13 22:58:59 -05:00
HDF Tester
f16361d5f1 [svn-r27767] Snapshot version 1.9 release 231 2015-09-13 19:43:47 -05:00
Dana Robinson
122bf84bb3 [svn-r27760] Brought r27631-27755 over from the trunk.
tested on: jam
2015-09-11 09:08:04 -05:00
Dana Robinson
1ac1dfb40f [svn-r27755] Changed direct VFD default to OFF in CMake to match Autotools.
Tested on: jam w/ CMake
2015-09-10 22:03:41 -05:00
Scot Breitenfeld
672e6bd8a9 [svn-r27754] HDFFV-548:H5LT patches for F90 Lite API in 1.8.0 Beta
tested: h5committest
2015-09-10 16:18:17 -05:00
Dana Robinson
54d0a36947 [svn-r27753] Removed duplicated attribute macro checks. Moved canonical attribute
macro checks from src/H5api_adapt.h to H5private.h, which is where
they belong anyway.

Tested on: h5committest (manually inspected for attribute warnings)
2015-09-10 15:39:44 -05:00
Dana Robinson
95e0bd109f [svn-r27752] Merge of r27751 from 1.8 branch
Added a comment to config/ibm-flags that describes the purpose of the
-qflag=w:w compiler flag.

Tested on: N/A (no access to AIX, comment only)
2015-09-10 15:36:08 -05:00
Allen Byrne
4b748365df [svn-r27748] Correct name of target 2015-09-10 09:19:43 -05:00
Allen Byrne
8e3464d2d0 [svn-r27747] Correct name of target 2015-09-10 09:18:54 -05:00
Allen Byrne
10da31a926 [svn-r27745] Merge trunk revision 27744 2015-09-10 09:11:17 -05:00
Dana Robinson
27f9e67d1e [svn-r27734] Fixed MANIFEST
Tested on: bin/chkmanifest
2015-09-09 21:57:38 -05:00
Dana Robinson
897b7308f5 [svn-r27731] Removed the obsolete config/powerpc-ibm-aix5.x file.
Tested on: Nothing. I have no access to an AIX machine.
2015-09-09 21:05:35 -05:00
Allen Byrne
1dc01a33b2 [svn-r27729] add extra flags to the bison and flex command lines 2015-09-09 16:52:50 -05:00
Dana Robinson
08ce739cda [svn-r27728] Merge of r27713 from revise_chunks
Added -qflag=w:w to config/ibm-flags. This will suppress informational
messages on AIX, suppressing thousands of "__attribute__ is non-portable"
messages in the AIX nightly test output.

Tested on: Nothing. I have no access to an AIX machine.
2015-09-09 16:04:14 -05:00
Allen Byrne
531eb2b050 [svn-r27726] Added output folder to commands 2015-09-09 15:09:58 -05:00
Allen Byrne
e040db8331 [svn-r27725] Add initial commands to properly build the generated files.
Added HDF5_GENERATE_HEADERS ON to cacheinit.cmake file.

Tested: local linux
2015-09-09 14:36:47 -05:00
Dana Robinson
9ac201d01a [svn-r27722] Updated the gnu config to cover gcc 5.2*.
Tested on: jam w/ gcc 5.2.0
2015-09-09 12:24:12 -05:00
Allen Byrne
d9d02bf847 [svn-r27720] Merge changes from master 2015-09-09 10:15:43 -05:00
Allen Byrne
129334f04b [svn-r27716] Publish both static and shared mod files in binaries. 2015-09-09 09:58:44 -05:00
Quincey Koziol
26baf1a805 [svn-r27710] Description:
Bring the "metadata rings" code from its branch (mdc_rings_v2) to the trunk.
(This change will support the page buffering feature)

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-09-09 01:33:03 -05:00
Quincey Koziol
2132f54459 [svn-r27707] Description:
Misc. minor cleanups in preparation for merging "metadata rings" branch to
trunk.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial
    (Too minor to require h5committest)
2015-09-09 00:26:45 -05:00
Allen Byrne
776b41a62a [svn-r27703] Publish both static and shared mod files in binaries.
Tested: local linux
2015-09-08 16:43:37 -05:00
Dana Robinson
61090f2cc3 [svn-r27702] Merge of r27699 from trunk.
Removed some configure checks for obsolete Unix variants.
The H5pubconf.h.in file that CMake uses was also updated.

Tested on: h5committest
2015-09-08 16:24:27 -05:00
Neil Fortner
f3da956441 [svn-r27701] RM offset initialization that is no longer necessary with the recent fix to
H5Screate().

Tested: ummon
2015-09-08 15:41:38 -05:00
Dana Robinson
fadb57f704 [svn-r27699] Removed some configure checks for obsolete Unix variants.
The H5pubconf.h.in file that CMake uses was also updated.

Tested on: h5committest
2015-09-08 15:03:41 -05:00
Dana Robinson
4c8902cdf0 [svn-r27692] Changed the autotools files so that the high-level library is unsupported
when building the thread-safe library.

Configure will quit with an error when --disable-hl or
--enable-unsupported is not used with --enable-threadsafe.

Fixes HDFFV-8719

Tested on: h5committest
           configure w/ various combinations of --enable-threadsafe,
           --disable-hl, and --enable-unsupported
2015-09-07 18:44:41 -05:00
HDF Tester
34be1d1aed [svn-r27690] Snapshot version 1.9 release 230 2015-09-06 19:31:40 -05:00
Dana Robinson
5903fc723b [svn-r27686] Merge of r27684 from autotools_rework
Removed _BSD_SOURCE and _DEFAULT_SOURCE from the autotools
C flags. They are no longer needed by the library. Fixes HDFFV-9079.

Tested on: h5committest
2015-09-05 23:26:47 -05:00
Dana Robinson
c6ed371d19 [svn-r27684] Removed _BSD_SOURCE and _DEFAULT_SOURCE from the autotools
C flags. They are no longer needed by the library. Fixes HDFFV-9079.

Tested on: h5committest
2015-09-05 20:51:08 -05:00
Dana Robinson
b106502c57 [svn-r27683] Restored the _POSIX_C_SOURCE flag that had been commented out
and modified the fortran/test/ Makefile.am to remove the build
error with Intel Fortran.

Tested on: h5committest
2015-09-05 17:56:59 -05:00
Dana Robinson
210b5d8441 [svn-r27682] Restored commented-out _POSIX_C_SOURCE line in configure.ac.
Tested on: h5committest
2015-09-05 08:51:10 -05:00
Dana Robinson
9711495437 [svn-r27677] Merge of r27675 from trunk
Removed library checks for nsl and socket from the autotools configure on
Solaris.

The nsl and socket libraries are no longer used by the library. Fixes
HDFFV-9118.

Tested on: jam w/ autotools and CMake
           emu w/ autotools
2015-09-04 09:23:45 -05:00
Allen Byrne
4906383c0f [svn-r27676] Fix dependencies of generated file 2015-09-04 08:55:29 -05:00
Dana Robinson
bea85e0705 [svn-r27675] Removed library checks for nsl and socket from the autotools configure on
Solaris.

The nsl and socket libraries are no longer used by the library. Fixes
HDFFV-9118.

Tested on: h5committest (CMake fortran fails due to an unrelated error)
           jam w/ CMake
2015-09-04 03:20:26 -05:00
Allen Byrne
cbf5bb6b78 [svn-r27674] Attempt to fix race condition on windows 2015-09-03 16:45:17 -05:00
Neil Fortner
dceb3f1818 [svn-r27673] rm unnecessary/unreachable code from H5S_get_select_hyper_nblocks
Tested: ummon
2015-09-03 16:27:58 -05:00
Allen Byrne
6b1b8869d1 [svn-r27671] Move fortran id check to fortran section 2015-09-03 13:28:47 -05:00
Allen Byrne
0cca701dc2 [svn-r27670] Remove SYMBOLS option - includes default checks. Pulled from master. 2015-09-03 13:27:44 -05:00
Allen Byrne
7860f3f5b6 [svn-r27668] Increase timeout for objcopy 2015-09-03 09:48:18 -05:00
Scot Breitenfeld
33a2e52c6e [svn-r27663] Removed the lines:
# Source files are used for both the library and fortranlib_test.
# Automake will complain about this without the following workaround.
fortranlib_test_FCFLAGS=$(AM_FCFLAGS)
fortranlib_test_CFLAGS=$(AM_CFLAGS)

because they caused Fortran build rules (.f90.o, .F90.o) to be ignored, causing the CPP flags to be passed to the Fortran compiler, causing the xlf compiler to fail.

Tested: ostrich (xlf), h5committest
2015-09-02 11:33:12 -05:00
Allen Byrne
5d311b35ba [svn-r27661] Always use static mod files. 2015-09-01 16:43:50 -05:00
Allen Byrne
e5dbc90ad2 [svn-r27656] HDFFV-9515: repack failed with 5 digit filter ids because a local variable in the parse routine was not large enough.
Tested: local linux and windows
2015-09-01 13:35:16 -05:00
Dana Robinson
77525ea95d [svn-r27655] Add .pl extension to Perl scripts in bin (part of HDFFV-9513)
This makes things easier on Windows, where we will have to run
Perl scripts as a part of CMake.

Tested on: jam
2015-09-01 11:28:05 -05:00
Dana Robinson
099618ad48 [svn-r27653] Merge of r27645 from the autotools branch.
Updates to older special config files in configure.ac:

- solaris2.x renamed to solaris. There are recent changes to this file
  but the "2.x" is misleading since the changes are applied to all
  versions.

- Removed support for OSF 4.x/5.x (Digital and Tru64 Unix). We no
  longer have the config files for these.


Tested on: h5committest
2015-09-01 11:12:53 -05:00
Dana Robinson
d2cbacb945 [svn-r27649] Fixed MANIFEST
tested on: jam (bin/chkmanifest)
2015-09-01 10:09:37 -05:00
Allen Byrne
f72ed2d8dc [svn-r27648] Fortran executables depend on modules created by test library, add command to explictly enforce the building of the library before building executables. 2015-09-01 09:56:39 -05:00
Scot Breitenfeld
17f5ee3624 [svn-r27647] Added compiler check for PGI and CMake version.
CMake must be > v3.3 to compile with PGI due to
CMake bug in earlier versions.
2015-09-01 09:00:14 -05:00
Neil Fortner
c839ed3383 [svn-r27646] Add version number to VDS global heap object encoding.
Fix handling of layout version number.
Other minor fixes/cleanup.
NOTE: This commit changes the file format for VDS, all files must be
re-generated.

Tested: ummon
2015-09-01 08:03:33 -05:00
Dana Robinson
4b36ffe0e2 [svn-r27645] Updates to older special config files in configure.ac:
- solaris2.x renamed to solaris. There are recent changes to this file
  but the "2.x" is misleading since the changes are applied to all
  versions.

- Removed support for OSF 4.x/5.x (Digital and Tru64 Unix). We no
  longer have the config files for these.

Tested on: jam (autogen.sh only)
           emu (Solaris 11)
2015-09-01 03:10:00 -05:00
Dana Robinson
bb8c64169b [svn-r27642] Removed comments from MANIFEST regarding distributing the
gen_* files in test/. These files will remain distributable since
they are needed if a user specifies --enable-build-all.

Fixes HDFFV-8236

Tested on: jam (bin/chkmanifest only)
2015-09-01 01:34:14 -05:00
Dana Robinson
137f153ba2 [svn-r27641] Merge of r27616 from autotools_rework
Replaced AC_CONFIG_HEADER (obsolete macro) with AC_CONFIG_HEADERS
followed by bin/reconfigure (which changed nothing at this time).

Fixes HDFFV-9284

Tested on: jam
2015-09-01 01:30:21 -05:00
Dana Robinson
1177a5cbbc [svn-r27639] Fixed MANIFEST 2015-08-31 23:39:31 -05:00
Dana Robinson
59aa015d9f [svn-r27638] Merged r27500-27631 from trunk. 2015-08-31 23:36:17 -05:00
Dana Robinson
3b5a4a0648 [svn-r27636] Added cmake_ext_mod files from trunk. Merging them properly was
annoying with the direct clobber of the externals directory
with real files.
2015-08-31 23:24:03 -05:00
Quincey Koziol
db8e289abe [svn-r27632] Description:
Revert changes to pass file pointer to selection serialize/deserialize
routines.  Also patch back in some changes that were merged out in the
previous merge w/trunk.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial
    (h5committest not required on this branch)
2015-08-31 16:58:15 -05:00
Quincey Koziol
a90e09889d [svn-r27631] Description:
Make error values from hyperslab operations clearer.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (Too minor to require h5committest)
2015-08-31 16:43:02 -05:00
Quincey Koziol
2c91cbecc6 [svn-r27630] Description:
Bring in changes from the trunk, through r27628.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial
    (h5committest not required on this branch)
2015-08-31 15:14:57 -05:00
Allen Byrne
81ca9e4c79 [svn-r27627] Change hardcoded HDF5TESTEXPRESS value to use a CMake variable HDF_TEST_EXPRESS. 2015-08-31 15:08:56 -05:00
Dana Robinson
c226e58005 [svn-r27626] Various minor warning fixes before major SWMR and VDS merges.
gcc 4.9.2 was used to create the warning list

- implicit casts
- shadowed variables
- various enum issues
- other minor fixes (comments, unused macros, etc.)

Tested on: h5committest
2015-08-31 14:04:23 -05:00
Scot Breitenfeld
e6f9fc5f7f [svn-r27625] Added preprocessor commands for PGI compiler.
tested: h5committest
2015-08-31 13:49:17 -05:00
Larry Knox
de1bafd1d8 [svn-r27624] Update bin/bbrelease to handle changed output of 'svn info' with svn version 1.8.
Change to experimental release script bbrelease for buildbot to eliminate extra line in version output.
2015-08-31 12:50:08 -05:00
Dana Robinson
b920ee876e [svn-r27623] Added some parallel #ifdefs to H5Ocache.c to quiet compiler
warnings.

tested on: h5committest
2015-08-31 12:42:09 -05:00
HDF Tester
74792949c9 [svn-r27622] Snapshot version 1.9 release 229 2015-08-30 19:55:54 -05:00
Quincey Koziol
ed50605883 [svn-r27618] Description:
Align w/vds branch: Remove extraneous sieve buffer flush in chunk 
flush callback, and move error check out of the middle of retrieving properties
for dataset.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-08-29 17:10:41 -05:00
Dana Robinson
a26683076f [svn-r27616] Replaced AC_CONFIG_HEADER (obsolete macro) with AC_CONFIG_HEADERS.
Fixes HDFFV-9284

Tested on: jam
2015-08-29 00:02:16 -05:00
Quincey Koziol
097d2de6f8 [svn-r27615] Description:
Protect dataset that's closing from being flushed again, if it's the last
one holding a file open.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-08-29 00:00:07 -05:00
Quincey Koziol
1103585dc1 [svn-r27614] Description:
Align w/vds branch: Change code in H5O_layout_copy() to use switch for
different types of dataset layouts.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-08-28 21:18:41 -05:00
Quincey Koziol
d001bbde04 [svn-r27613] Description:
Align w/vds branch: Move code for initializing contiguous datasets into
layout 'init' callback.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-08-28 21:11:57 -05:00
Quincey Koziol
b68b9d8786 [svn-r27612] Description:
Align w/vds branch: Whitespace cleanup, move common code for opening a
dataset into a new routine, misc. style cleanups.

Tested on:
    MacOSX/64 10.10.5 (amazon) w/serial & parallel
    (h5committest upcoming)
2015-08-28 20:43:37 -05:00
Mohamad Chaarawi
a31524e4ae [svn-r27607] merge from trunk. 2015-08-28 15:57:41 -05:00
Neil Fortner
1d3a7ec651 [svn-r27606] Merge revisions 27593 through 27605 from trunk to vds branch.
Tested: ummon
2015-08-28 15:03:07 -05:00
Neil Fortner
1847391fc5 [svn-r27605] Fix potential memory error when using a dataspace that was created with
H5Screate and had its extent set by H5Sextent_copy.

Tested: jam, ostrich (h5committest)
2015-08-28 14:43:03 -05:00
Dana Robinson
1252bc4e66 [svn-r27601] Removed the H5TSprivate.h include from H5.c. It's not needed and causes
problems on Windows.

Tested on: jam, with and without --enable-threadsafe
2015-08-27 17:24:45 -05:00
Dana Robinson
05bf2c042c [svn-r27599] Ran bin/reconfigure
tested on: jam
2015-08-27 16:56:25 -05:00
Quincey Koziol
c2ce904d5d [svn-r27598] Description:
Check in misc. minor code cleanups, found during code review
2015-08-27 16:52:15 -05:00
Allen Byrne
ccf2bcc636 [svn-r27597] Update text files to match 1.8 changes 2015-08-27 16:46:50 -05:00
Neil Fortner
c365b9a59f [svn-r27593] Merge revisions 27453 through 27592 from trunk to vds branch.
Tested: ummon
2015-08-27 12:06:54 -05:00
Scot Breitenfeld
a9c28bac4e [svn-r27592] Added dll for H5DGET_OFFSET_F 2015-08-27 11:07:50 -05:00
Allen Byrne
01a1e8f1ca [svn-r27591] Threadsafe option implementation has changed and ALLOWUNSUPPORTED option needs to be used with TS to actually use of TS with Fortran and C++. 2015-08-27 10:36:25 -05:00
Allen Byrne
c491cf01bf [svn-r27590] Fix typo 2015-08-27 08:41:32 -05:00
Dana Robinson
606c16e111 [svn-r27587] Added a new API call (H5is_library_threadsafe) to the library. This call can
be used to determine at runtime if the library was built with thread-safety.

Fixes HDFFV-9496

Tested on: h5committest
2015-08-26 12:05:57 -05:00
Allen Byrne
6635d4c003 [svn-r27586] HDFFV-9497: Add back ALLOW_UNSUPPORTED OPTION.
Added new option SKIP_HDF5_FORTRAN_SHARED
2015-08-26 11:48:42 -05:00
Scot Breitenfeld
2faae30c8d [svn-r27585] disabled the test "test_userblock_offset"; it fails for unknown reasons on platypus with pgf90 compiler when reading the streamed file back. 2015-08-26 10:13:43 -05:00
Dana Robinson
767585b70f [svn-r27581] Fixed a bug in the FUNC_ENTER macros. API calls of the form H5xx_* were
flagged as H5XX_, which is a non-public API form.

Tested on: h5committest
2015-08-25 19:05:39 -05:00
Scot Breitenfeld
4939ee2419 [svn-r27580] Fix for:
HDFFV-9283
Add H5Dget_offset fortran wrapper

tested: h5committest
2015-08-25 16:49:36 -05:00
Mohamad Chaarawi
0286bb12de [svn-r27576] - mark the entry as indepndent when expunged.
- disable the metadata coll hint for smoke checks 1 & 2.
2015-08-25 10:55:57 -05:00
Allen Byrne
8aef26f785 [svn-r27575] lowercase commands 2015-08-25 09:14:12 -05:00
Mohamad Chaarawi
e8dc2c232d [svn-r27573] fix serial build. 2015-08-25 08:37:28 -05:00
Dana Robinson
2e6100fb23 [svn-r27572] Removed VMS-specific code from the library.
The only remaining code consists of a few floating-point tests
that rely on pre-generated and checked-in VMS files. These have
been left alone, even though they will not be possible to
recreate, since testing VMS float behavior is still important.

Tested on: h5committest
2015-08-24 15:19:39 -05:00
Scot Breitenfeld
76d7d3cb97 [svn-r27570] Fixed issue with REAL max detection.
tested: h5committest
2015-08-24 14:22:55 -05:00
Mohamad Chaarawi
071fb9393e [svn-r27558] merge from trunk. 2015-08-24 11:08:20 -05:00
Scot Breitenfeld
47d97ed2c0 [svn-r27557] Added build_mod directory and updated the C try_run macro to not check for definitions and does not return unused arguments. 2015-08-24 11:07:17 -05:00
Scot Breitenfeld
9d625c0580 [svn-r27556] Added include for build_mod directory.
Tested: h5committest.
2015-08-24 11:05:05 -05:00
Allen Byrne
49a27febbc [svn-r27555] Merge cmake_ext_mod change 2015-08-24 11:01:40 -05:00
HDF Tester
abdb2a6456 [svn-r27551] Snapshot version 1.9 release 228 2015-08-23 19:21:39 -05:00
Quincey Koziol
de324a50f8 [svn-r27549] Description:
Update the file format debugging routines to match the recent changes to
the metadata cache, along with a few other cleanups and miscellaneous
enhancements.

Tested on:
    MacOSX/64 10.10.5 (amazon)
    (h5committest forthcoming)
2015-08-21 22:08:43 -05:00
Jerome Soumagne
ab7d724ffd [svn-r27548] Revert r27545 2015-08-21 17:44:22 -05:00
Neil Fortner
3c5a088df0 [svn-r27547] Fill in public function descriptions from RM entries.
Tested: ummon
2015-08-21 16:12:57 -05:00
Neil Fortner
32bf83f1cf [svn-r27546] Add tests for H5O__dset_bh_info (H5Oget_info) and unlimited selections in a
region reference.

Tested: ummon
2015-08-21 14:57:29 -05:00
Jerome Soumagne
7ce2d52cf6 [svn-r27545] Add first support for _Bool and make hbool_t a "real" _Bool if available
Fix tests accordingly
2015-08-21 13:52:30 -05:00
Neil Fortner
1821b64d49 [svn-r27543] Add tests to cover remaining code coverage assertions in H5Shyper.c.
Add more tests for unlimited selections.
Fix bug related to empty unlimited source dataset.

Tested: ummon
2015-08-20 17:18:52 -05:00
Allen Byrne
1b2b0bd5a3 [svn-r27540] Replace svn:externals with hard copy of files 2015-08-20 12:03:29 -05:00
Neil Fortner
e3bea91686 [svn-r27538] Add tests to cover remaining code coverage assertions in src directory except
for those in H5Doh.c and H5Shyper.c.

Tested: ummon
2015-08-20 11:38:05 -05:00
Scot Breitenfeld
1436a07905 [svn-r27537] Added new FCCPPFLAGS to avoid passing CPPFLAGS to the fortran pre-processor compiler (This mainly causes issues with the xlf compilers)
Tested: h5committest
2015-08-20 11:01:26 -05:00
Neil Fortner
b1dcfc7a84 [svn-r27528] Modify printf implementation to not open source datasets that were previously
opened when calculating the VDS extent, instead assuming they still exist.

Tested: ummon
2015-08-19 11:45:36 -05:00
Neil Fortner
6909d2033f [svn-r27527] Add tests to hit code coverage assertions in H5Olayout.c.
Fix issue in VDS delete routine.

Tested: ummon
2015-08-19 11:21:27 -05:00
Scot Breitenfeld
8db36cc766 [svn-r27525] Added missing H5A_mp_H5AREAD_PTR and H5A_mp_H5AWRITE_PTR definitions. 2015-08-19 09:50:47 -05:00
Scot Breitenfeld
2b4038e5e7 [svn-r27524] Added test to not remove double precision from valid KINDS if it is the largest compatible REAL with C.
Tested: h5committest.
2015-08-19 08:40:27 -05:00
Scot Breitenfeld
6e0edba918 [svn-r27521] Added test to not remove double precision from valid KINDS if it is the largest compatible REAL with C.
Tested: h5committest.
2015-08-18 17:11:37 -05:00
Neil Fortner
69e2f53edb [svn-r27520] Add new test for all 3 selection types in the same VDS.
Minor cleanup in the tests.

Tested: ummon
2015-08-18 15:45:46 -05:00
Scot Breitenfeld
d06fee7bd2 [svn-r27517] Removed all perl scripts from configure.
Tested: h5committest
2015-08-17 16:12:03 -05:00
Allen Byrne
72ae17138b [svn-r27515] Correct spelling of function 2015-08-17 10:37:43 -05:00
HDF Tester
68347a67ef [svn-r27511] Snapshot version 1.9 release 227 2015-08-16 21:58:42 -05:00
Scot Breitenfeld
b79070ac8d [svn-r27509] Fixed check for perl: tested--h5committest 2015-08-14 17:21:11 -05:00
Dana Robinson
dc13fabc14 [svn-r27508] Updated MANIFEST after merge.
Tested on: jam (bin/chkmanifest only)
2015-08-14 15:57:14 -05:00
Dana Robinson
c27d180848 [svn-r27507] Merge of r27237-27500 from the trunk.
Tested w/ h5committest

NOTES: - The manifest may still be messed up.
       - Cmake fails since the dual binary work needs to be merged with
         this repo's CMake externals.
2015-08-14 14:58:54 -05:00
Neil Fortner
1eff550df3 [svn-r27506] H5Dset_extent no longer holds all printf source datasets open.
Other items identified during reviews.

Tested: ummon
2015-08-14 14:58:35 -05:00
Neil Fortner
cefda2ef0c [svn-r27505] Add support for H5Dset_extent for VDS.
Add tests for this.
Other bug fixes/cleanup

Tested: Kubuntu 64 (home computer)
2015-08-13 21:55:15 -05:00
Neil Fortner
51e16157c2 [svn-r27504] Change comments/code around to reflect decision to have virtual datasets always
return TRUE when their is_alloc function is called.

Tested: ummon
2015-08-13 11:39:21 -05:00
Neil Fortner
07106823b4 [svn-r27501] Add mapping validity checking to VDS open.
Other minor fixes/cleanup.

Tested: ummon
2015-08-12 15:11:59 -05:00
Scot Breitenfeld
d3e931c772 [svn-r27500] missing declaration 2015-08-12 14:53:03 -05:00
Scot Breitenfeld
91ec943123 [svn-r27499] Fixed FLOAT_128 H5T type detection.
tested: jam
2015-08-12 13:23:03 -05:00
Neil Fortner
1ba3706640 [svn-r27498] Add support for I/O after reopening a VDS with unlimited and/or printf mappings
without calling H5Dget_space first.
Add tests for this.
Other minor fixes/cleanup.

Tested: ummon
2015-08-12 13:19:48 -05:00
Scot Breitenfeld
48c429d4a3 [svn-r27497] Fixed missing variable declarations.
tested: h5committest.
2015-08-12 12:13:12 -05:00
Binh-Minh Ribler
c98d072e69 [svn-r27496] Description:
Used HTML_EXTRA_FILES for image files.
Platform tested:
    Re-run Doxygen on cpp_doc_config and verified the html files on a
    Windows 7 machine.
2015-08-11 13:36:39 -05:00
Binh-Minh Ribler
53d53ee0ee [svn-r27495] Description:
Added ./c++/src/footer.html
2015-08-11 12:50:02 -05:00
Binh-Minh Ribler
555a29e896 [svn-r27494] Purpose: Fix HDFFV-9288
Description:
    Added footer to include copyright and helpdesk info.
Platform tested:
    Re-run Doxygen on cpp_doc_config and verified the html files on a
    Windows 7 machine.
2015-08-11 11:44:07 -05:00
Scot Breitenfeld
caf0e7692a [svn-r27493] Trying again to merge the F2003_v1.10 branch to the trunk.
Tested: h5committest --PASSED--
2015-08-11 09:35:30 -05:00
Scot Breitenfeld
3b4696ccd1 [svn-r27489] reverted merge of branch 2015-08-10 20:22:33 -05:00
Scot Breitenfeld
415eb5512b [svn-r27488] Merged the F2003_v1.10 branch to the trunk.
Tested: h5committest
2015-08-10 20:00:33 -05:00
Allen Byrne
1900d6a65d [svn-r27485] Change ExpressTest from default of 1 to 2. 2015-08-10 12:34:11 -05:00
Neil Fortner
0c4ec00cba [svn-r27481] Add support for offset selections passed to H5Pset_virtual.
Add test for this.

Tested: ummon
2015-08-07 15:06:56 -05:00
Neil Fortner
98f947ceae [svn-r27479] Add checking for invalid inputs to H5Dset_virtual: point selections, incorrect
numbers of elements selected, incorrect "slice" through limited dimensions,
incorrect number of printf substitutions.
Patch source selection space extent with bounds of selection if extent is
unknown before returning via H5Pget_virtual_srcspace.
Write updated VDS dataspace to file when it changes due to unlimited selections.
Other minor fixes/cleanup.

Tested: ummon
2015-08-07 11:15:39 -05:00
Larry Knox
786acbcd90 [svn-r27475] Updated h5vers to remove redundant version information for doxygen web pages. Also added "" around version string to prevent elimination of spaces in the string.
H5committested.
2015-08-06 13:34:42 -05:00
Binh-Minh Ribler
9ed36ea1f7 [svn-r27473] Description:
Reversed the previous commit because the PROJECT_NUMBER string is
    generated by h5vers and Larry will fix h5vers to put the "" in.
2015-08-06 10:51:38 -05:00
Binh-Minh Ribler
2bed6a9a48 [svn-r27471] Description:
Put "" around PROJECT_NUMBER string, otherwise, Doxygen would remove
    all the spaces when displaying.
Platform tested:
    Re-run Doxygen on cpp_doc_config and verified the html files on a
    Windows 7 machine.
2015-08-05 23:26:06 -05:00
Scot Breitenfeld
a9bef45c75 [svn-r27470] svn merge -r27425:27460 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-08-05 16:35:30 -05:00
Allen Byrne
9e2434625d [svn-r27469] Merge from trunk with dual-binary CMake code.
Tested: local linux with CMake
2015-08-05 16:01:07 -05:00
Allen Byrne
1efa2d7395 [svn-r27468] Merge corrections found elsewhere 2015-08-05 14:32:33 -05:00
Allen Byrne
f0c47dd142 [svn-r27467] Add trunk version of examples config file 2015-08-05 12:08:17 -05:00
Allen Byrne
173829075c [svn-r27466] Add Trunk version 2015-08-05 11:37:54 -05:00
Allen Byrne
4d0187a483 [svn-r27465] Merge dual-binary CMake changes 2015-08-05 10:56:58 -05:00
Dana Robinson
ec5d13d65b [svn-r27460] Minor code cleanup in test/trefer.c
- Fixed an out-of-range char assignment.

- Added a couple of malloc() casts.

Tested on: jam (minor change, tests only)
2015-08-03 22:00:45 -05:00
Dana Robinson
117b936032 [svn-r27459] Merge of 27411 from revise_chunks.
Renamed a few "h5tri_t extended" variables to "h5tri_t was_extended".
Apparently, "extended" is a typedef name someplace in the headers used
on Solaris, which causes potentially confusing warnings to be emitted.

Tested on: h5committest
           Solaris w/ Solaris Studio (emu)
2015-08-03 21:19:25 -05:00
Neil Fortner
bfd13897f6 [svn-r27453] Merge revisions 27418 through 27452 from trunk to vds branch.
Tested: ummon
2015-08-03 11:12:19 -05:00
Neil Fortner
679a25a7c4 [svn-r27450] Add descriptions for all non-public functions.
Other comments.
Add some input checking.

Tested: ummon
2015-07-31 12:47:14 -05:00
Allen Byrne
0b4b73331d [svn-r27446] Correct Windows export name 2015-07-30 13:41:18 -05:00
Scot Breitenfeld
fa52a5a44a [svn-r27442] added missing dependencies 2015-07-30 10:18:42 -05:00
Scot Breitenfeld
c6ccc94574 [svn-r27441] misc. code clean-up 2015-07-30 10:17:41 -05:00
Scot Breitenfeld
e3ac5f3651 [svn-r27440] added missing h5lt*_attribute_f functions 2015-07-30 09:40:47 -05:00
Mohamad Chaarawi
54497d2b53 [svn-r27436] merge from trunk. 2015-07-27 10:39:54 -05:00
HDF Tester
f56de26444 [svn-r27432] Snapshot version 1.9 release 226 2015-07-26 19:13:36 -05:00
Albert Cheng
ac5a796db2 [svn-r27428] Bug fix: DAILYTEST-170
Description:
    XL compilers in ostrich (PowerPC64 linux) fail in test/dt_arith
    because of the removal of the LLONG_TO_LDOUBLE_CORRECT (removed in
    r26625) and LDOUBLE_TO_LLONG_ACCURATE (removed in r26623).

Solution:
    Reverse revisions
	r26623: bring back LDOUBLE_TO_LLONG_ACCURATE configure macro
	r26625: bring back LLONG_TO_LDOUBLE_CORRECT configure macro
	r26627: bring back WANT_DATA_ACCURACY configure macro which is
	    used together with the above two macros. This also brings
	    back the enable-dconv-accuracy configure option.

Tested:
    h5committested.
    Also tested in ostrich using the XL compilers.
2015-07-24 02:04:52 -05:00
Mohamad Chaarawi
81d3377737 [svn-r27427] - free comm keyval after setting atribute on comm_self
- free allocated buffer in t_file_image test

tested on jam with parallel.
2015-07-23 10:03:43 -05:00
Scot Breitenfeld
ed0bae78a0 [svn-r27426] svn merge -r27377:27425 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-07-22 17:09:05 -05:00
Neil Fortner
49076d6d22 [svn-r27425] Implement support for H5Pequal with VDS properties.
Testing for H5Pequal with VDS.

Tested: ummon
2015-07-22 16:41:18 -05:00
Neil Fortner
6bb109bf6d [svn-r27424] Implement support for h5debug for VDS.
Implement support for H5Pencode/decode with VDS properties.
Testing for H5Pencode/decode with VDS.
Relax assertion check for number of elements written to buffer as we do not
check for overlaps in mappings.
Other minor fixes/cleanup.

Tested: ummon
2015-07-22 13:36:30 -05:00
Scot Breitenfeld
479bd3c800 [svn-r27422] changed add_custom_command to add_custom_target 2015-07-21 15:34:29 -05:00
Scot Breitenfeld
e796ff45c7 [svn-r27421] changed from add_custom_command to add_custom_target for generated files, OBJECT_DEPENDS is not fully functional on Windows (cmake 3.1). 2015-07-21 13:44:52 -05:00
Neil Fortner
a8fc7eeaec [svn-r27420] Fixed VDS test to handle the family driver correctly.
Tested: ummon
2015-07-21 12:14:26 -05:00
Neil Fortner
99a90f7fd6 [svn-r27419] Merge revisions 27394 through 27418 from trunk to vds branch.
Tested: ummon
2015-07-21 12:00:31 -05:00
Scot Breitenfeld
0040ee0c99 [svn-r27418] format clean-up 2015-07-21 10:19:07 -05:00
Scot Breitenfeld
940da78df9 [svn-r27417] comment code cleanup 2015-07-21 10:11:53 -05:00
Neil Fortner
f550bc0cea [svn-r27415] Fix potential error with H5I_clear_type which could occur when a callback closed
a different ID in the same type.  Added a new skiplist routine,
H5SL_try_free_safe, which iterates over items, freeing some of them, and which
intercepts and defers attempts to remove from the list outside of the main
iteration.  Changed H5I_clear_type to use this function.

Tested: jam, koala, ostrich (h5committest); ummon
2015-07-20 17:21:36 -05:00
HDF Tester
74e4cd4d21 [svn-r27412] Snapshot version 1.9 release 225 2015-07-19 19:11:50 -05:00
Dana Robinson
94a6e02b3d [svn-r27407] Updated the H5_ATTR_* macros.
- Updated the preprocessor logic that defines the H5_ATTR_* macros. The Solaris
  Studio compiler understands __attribute__ but not the specific attributes
  that we use. The H5_ATTR_* macros are now defined as blank with that
  compiler which significantly cleans up the warnings, making debugging
  easier.

- Replaced a few lingering __attribute__ macros with H5_ATTR_* markup.

Tested on: h5committest
           Solaris w/ Solaris Studio (emu)
2015-07-18 00:40:06 -05:00
Scot Breitenfeld
a539386a87 [svn-r27406] gave full path to H5_gen.F90 2015-07-17 16:54:07 -05:00
Scot Breitenfeld
2edc6a97db [svn-r27405] added implicit none 2015-07-17 16:15:23 -05:00
Scot Breitenfeld
a41f88bc3e [svn-r27404] Implemented new function to compare reals with adjustible precision tolerance. 2015-07-17 16:12:31 -05:00
Scot Breitenfeld
bf8fea70bd [svn-r27401] code cleanup 2015-07-16 09:34:53 -05:00
Scot Breitenfeld
93161fa55c [svn-r27400] code clean-up 2015-07-16 09:11:47 -05:00
Scot Breitenfeld
53b3d666e5 [svn-r27399] code clean-up 2015-07-16 08:59:21 -05:00
Neil Fortner
bd28a396d0 [svn-r27398] Fixed potential issue layouts with compilers that do not support designated
initializers.

Tested: ummon
2015-07-15 16:01:03 -05:00
Neil Fortner
5065c139c7 [svn-r27397] Merge revisions 27255 through 27393 from trunk to vds branch.
Tested: ummon
2015-07-15 15:33:50 -05:00
Scot Breitenfeld
08244fb237 [svn-r27395] cleaned-up code 2015-07-15 15:04:31 -05:00
Scot Breitenfeld
df50addca1 [svn-r27394] added properties generated 2015-07-15 14:57:47 -05:00
Scot Breitenfeld
8617384653 [svn-r27393] removed unused C functions 2015-07-15 13:56:28 -05:00
Scot Breitenfeld
f63785a1ab [svn-r27392] removed unused C functions 2015-07-15 12:09:06 -05:00
Scot Breitenfeld
4667abe8a5 [svn-r27391] Added build dependencies to generated files 2015-07-15 10:57:40 -05:00
Allen Byrne
b1800ed767 [svn-r27390] Add fortran source depends command 2015-07-15 10:10:43 -05:00
Scot Breitenfeld
ea73fae0fb [svn-r27389] Added generated files to install 2015-07-15 09:42:01 -05:00
Scot Breitenfeld
03ad911d3d [svn-r27388] Removed robodoc documenation. 2015-07-14 16:26:27 -05:00
Scot Breitenfeld
72484f3a56 [svn-r27387] added definitions for H5LTset_attribute_*_c 2015-07-14 15:29:32 -05:00
Scot Breitenfeld
e076946256 [svn-r27386] misc clean-up 2015-07-14 13:46:09 -05:00
Scot Breitenfeld
f76d1ca08b [svn-r27385] H5Dwrite,H5Dread,H5Awrite,H5Dread for INTEGERs and Characters are now generated code 2015-07-14 13:39:10 -05:00
Scot Breitenfeld
0e102fb1cd [svn-r27384] H5Dwrite and H5Awrite for INTEGERs are now generated code 2015-07-14 12:07:27 -05:00
Scot Breitenfeld
a3de9abcbf [svn-r27383] removed unused functions 2015-07-14 11:39:16 -05:00
Scot Breitenfeld
6ed616cd99 [svn-r27382] Documenation changes 2015-07-14 11:35:27 -05:00
Scot Breitenfeld
1e147f4442 [svn-r27381] comments added 2015-07-14 11:14:16 -05:00
Scot Breitenfeld
6334416852 [svn-r27379] formatting clean-up 2015-07-14 11:02:08 -05:00
Scot Breitenfeld
2c897f41c0 [svn-r27378] svn merge -r27326:27377 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-07-14 10:34:45 -05:00
Scot Breitenfeld
50c000fb49 [svn-r27377] Cleaned-up comment formatting:
sed -e 's/^ \*[ ]*\([A-Z]\)\([a-z]\)/ *  \1\2/g' H5Zf.c | sed -e 's/^ \*[ ]*\([a-z]\)/ *  \1/g' | sed -e 's/^ \*[ ]*\([0-9]\)/ *  \1/g'
2015-07-14 10:31:15 -05:00
Scot Breitenfeld
f50c602b01 [svn-r27376] set default value of SIZEOF___FLOAT128 2015-07-14 09:14:05 -05:00
Scot Breitenfeld
838755cf71 [svn-r27375] Moved generating Fortran 'test' code from the fortran src directory to the fortran 'test' directory. Updated autotools and cmake. 2015-07-13 14:37:28 -05:00
Scot Breitenfeld
c90d6ad286 [svn-r27374] misc cleanup 2015-07-13 13:55:03 -05:00
Scot Breitenfeld
717609a674 [svn-r27373] moved building generated test APIs to a sperated build program (was in fortran/src/H5_buildiface.F90) 2015-07-13 13:54:09 -05:00
HDF Tester
12b86abf18 [svn-r27372] Snapshot version 1.9 release 224 2015-07-12 19:12:22 -05:00
Scot Breitenfeld
b7dc32b0a0 [svn-r27368] misc. code clean-up 2015-07-09 16:56:59 -05:00
Scot Breitenfeld
f71a46a99c [svn-r27366] misc. clean-up 2015-07-09 14:54:43 -05:00
Scot Breitenfeld
0a8317aab7 [svn-r27365] added build dependencies for hl fortran builds 2015-07-09 13:07:38 -05:00
Allen Byrne
8bbe712961 [svn-r27364] Add Mac Framework support 2015-07-09 11:56:16 -05:00
Scot Breitenfeld
3653d2ad01 [svn-r27360] moved H5test_kind.F90 H5_buildiface.F90 2015-07-09 10:21:11 -05:00
Scot Breitenfeld
b67a6727cf [svn-r27359] Fixed Cmake to handle autogenerated Fortran HL APIs 2015-07-09 10:01:11 -05:00
Scot Breitenfeld
fc42b3efaa [svn-r27358] Fixed test to handle DOUBLE PRECISION that was promoted using compiler options. 2015-07-09 09:36:50 -05:00
Scot Breitenfeld
2b7f0d4780 [svn-r27357] svn merge -r27208:27356 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-07-09 08:47:35 -05:00
Scot Breitenfeld
b0afa2ab61 [svn-r27355] added generation of HL Fortran Interfaces for REALs 2015-07-08 17:09:50 -05:00
Scot Breitenfeld
5ed3e8a4a7 [svn-r27354] fixed #if spec 2015-07-08 16:10:13 -05:00
Scot Breitenfeld
93eaaed722 [svn-r27351] updated missing preprocessor defines 2015-07-08 15:03:36 -05:00
Scot Breitenfeld
f4dbade233 [svn-r27350] updated missing cmake defines 2015-07-08 15:02:56 -05:00
Allen Byrne
7a72d82cda [svn-r27346] remove reference to file removed from cmake_ext_mod 2015-07-08 08:22:07 -05:00
HDF Tester
f37ae9d9f9 [svn-r27339] Snapshot version 1.9 release 223 2015-07-05 19:12:35 -05:00
Scot Breitenfeld
b3b02d5112 [svn-r27337] cmake configure test for Fortran 2015-07-05 09:11:13 -05:00
Scot Breitenfeld
29bdf0884a [svn-r27334] svn merge -r27326:27332 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-07-02 17:15:37 -05:00
Scot Breitenfeld
3f866f18ec [svn-r27333] added comments 2015-07-02 17:14:45 -05:00
Jerome Soumagne
4e25ab6ebd [svn-r27332] Fix src/CMakeLists.txt after Quincey's metadata cache changes 2015-07-02 17:13:09 -05:00
Scot Breitenfeld
549cc2e1c3 [svn-r27328] updated reconfigure 2015-07-02 14:14:10 -05:00
Scot Breitenfeld
985e8d02a4 [svn-r27327] svn merge -r27208:27326 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-07-02 14:12:03 -05:00
Scot Breitenfeld
2a567e8155 [svn-r27326] Working version of cmake on linux. 2015-07-02 14:04:25 -05:00
Allen Byrne
1ed71c5037 [svn-r27324] Remove extra character on end of file name 2015-07-02 12:13:55 -05:00
Neil Fortner
3c4dd5fa53 [svn-r27323] Implement support for H5Dflush for VDS.
Implement support for H5Ocopy on VDS.
Testing for H5Ocopy on VDS.
Fix check-vfd failure.
Other minor fixes/cleanup.
Note there is a preexisting failure in h5repack testing.

Tested: ummon
2015-07-02 12:04:19 -05:00
Allen Byrne
364c193744 [svn-r27321] Fixed VDS test framework to check for zlib,
and fix file copy list paths
2015-07-02 09:11:55 -05:00
Neil Fortner
9804fed58f [svn-r27320] Fix uninitialized memory write valgrind errors in trunk. Did this by modifying
metadata cache clients to clear unused memory in the buffer after serializing.

Tested: ummon; jam, koala, ostrich (h5committest)
2015-07-01 17:08:11 -05:00
Allen Byrne
02d0de0452 [svn-r27317] switch internal cdash URL 2015-06-30 16:19:23 -05:00
Allen Byrne
e2bbdddff7 [svn-r27316] switch internal cdash URL 2015-06-30 16:19:01 -05:00
Allen Byrne
980db9e85b [svn-r27313] switch internal cdash URL 2015-06-30 16:18:15 -05:00
Allen Byrne
3dec75308a [svn-r27309] switch public cdash URL 2015-06-30 14:52:23 -05:00
Allen Byrne
513d039f08 [svn-r27308] switch public cdash URL 2015-06-30 14:51:57 -05:00
Scot Breitenfeld
0f9d534bc2 [svn-r27301] fixed configure error with pgi compiler by checking if __float128 is 0 2015-06-30 14:20:35 -05:00
Allen Byrne
5af1fa67c4 [svn-r27300] Add h5repack and h5diff VDS tests 2015-06-30 12:58:57 -05:00
Scot Breitenfeld
5b2117ebc7 [svn-r27299] Changed from using sed to perl. 2015-06-30 10:07:43 -05:00
Quincey Koziol
1a5c36ce7e [svn-r27298] Description:
Separate H5AC layer from using package-scoped pieces of the H5C layer,
moving from including H5Cpkg.h to H5Cprivate.h.

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial, parallel & production
    Linux/32 2.6.x (jam) w/serial & parallel
2015-06-29 17:17:24 -05:00
Scot Breitenfeld
4b51823ed4 [svn-r27297] changed from using sed to perl 2015-06-29 16:54:25 -05:00
Quincey Koziol
ad37464819 [svn-r27296] Description:
Correct error with braces around macro (in production builds), also clean
up a few warnings.

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial, parallel & production
    Linux/32 2.6 (jam) w/serial & parallel
2015-06-29 15:22:30 -05:00
Quincey Koziol
89115b11b0 [svn-r27294] Description:
Clean up parameters to H5C__flush_single_entry: accept cache entry instead
of address, and make new flag for deleting entry from skiplist on destroy
instead of a separate parameter to the routine.

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.x (jam) w/serial & parallel
2015-06-29 10:19:34 -05:00
Quincey Koziol
8e94745298 [svn-r27293] Description:
Split parallel metadata cache code into separate source code modules.

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    (too minor for h5committest)
2015-06-27 11:45:21 -05:00
Quincey Koziol
58a95d0d4a [svn-r27292] Description:
Bring 'fail if unknown always' object header message flag from the
avoid_truncate branch, strengthen error checking for unknown messages, and try
to catch object header code configurations at compile time (instead of runtime).

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-06-27 00:51:04 -05:00
Scot Breitenfeld
44718454ca [svn-r27285] added search replace for space to comma 2015-06-25 15:06:16 -05:00
Neil Fortner
2522e278a8 [svn-r27284] Modify VDS implementation to always use FAPL and DAPL from VDS file and dataset
to open source files and datasets, instead of using the default property lists.
Modify VDS to reject attempts at parallel I/O, fix parallel compile error.
Modify VDS to not write fill value to memory buffer if the fill value is
undefined.
Other minor fixes/cleanup.

Tested: ummon
2015-06-25 14:39:08 -05:00
Larry Knox
df8bd7ccd6 [svn-r27283] Change generic directory in tarballs to hdfsrc.
Remove some  commented lines.
2015-06-25 11:39:19 -05:00
Larry Knox
5dac57c5c4 [svn-r27280] Add temporary file to create tarballs for buildbot (and possibly all) daily testing. When the behavior is acceptable, the changes should be merged into the regular release script as a --revision option. 2015-06-24 16:45:32 -05:00
Dana Robinson
e030fe2751 [svn-r27278] Merge of 27270 from trunk. Fixes HDFFV-9119 and HDFFV-9421.
Changes that allow the autotools to correctly deal with inline
functions.

- Inline markup schemes are now checked with AC_COMPILE_IFELSE
  tests instead of AC_C_INLINE.

- The inline designator is now H5_INLINE instead of H5_inline.
  This is now set in H5private.h instead of H5pubconf.h.

Tested on: h5committest
2015-06-24 13:53:43 -05:00
Mohamad Chaarawi
a07297e90d [svn-r27271] fix a few warnings in t_mpi.c 2015-06-23 08:54:01 -05:00
Dana Robinson
37b14fd3ed [svn-r27270] Changes that allow the autotools to correctly deal with inline
functions.

- Inline markup schemes are now checked with AC_COMPILE_IFELSE
  tests instead of AC_C_INLINE.

- The inline designator is now H5_INLINE instead of H5_inline.
  This is now set in H5private.h instead of H5pubconf.h.

Tested on 64-bit linux VM
2015-06-22 14:21:55 -05:00
Allen Byrne
86d1946424 [svn-r27267] Combine float checks and int checks to eliminate possible conflicts 2015-06-22 13:49:46 -05:00
Allen Byrne
224c6cbe59 [svn-r27266] Change tests to use simple mode - eliminates native type use.
Combine float checks and int checks to eliminate possible conflicts
2015-06-22 13:47:43 -05:00
Allen Byrne
5a1be8e235 [svn-r27265] corrected test params 2015-06-22 11:03:14 -05:00
Mohamad Chaarawi
f56008e0fe [svn-r27264] some cleanups. 2015-06-22 10:54:43 -05:00
HDF Tester
53930f6671 [svn-r27262] Snapshot version 1.9 release 222 2015-06-21 19:16:13 -05:00
Mohamad Chaarawi
cf07aa6803 [svn-r27261] apply metadata enhancement patch that was based on the mdc 3 branch. 2015-06-21 16:45:01 -05:00
Neil Fortner
6063aa87e1 [svn-r27256] Merge revisions 27102 through 27255 from trunk to vds branch.
Tested: ummon
2015-06-19 17:16:45 -05:00
Allen Byrne
48e1bbb0f8 [svn-r27252] Fix whitespace 2015-06-19 10:57:38 -05:00
Elena Pourmal
3b1acf484e [svn-r27249] Used versioned APIs to fix the daily tests errors with the --with-default-api-version=v16 builds.
Tested on jam.
2015-06-19 08:07:30 -05:00
Elena Pourmal
1e7ab81ff2 [svn-r27248] Daily tests in the VDS brnach reported missing file in MANIFEST. Fixed. 2015-06-19 07:37:58 -05:00
Neil Fortner
7cf40ce5e4 [svn-r27246] Remove "clipped" status from unlimited selections, decoupling them from the
extent.
Improve algorithm for calculation of VDS extent by removing the need for a
temporary copy of a dataspace.
Other minor fixes/cleanup.

Tested: ummon
2015-06-18 17:18:29 -05:00
Elena Pourmal
b32c1bc3ff [svn-r27245] Maintenance: Eiger example had wrong printf type of name (had dimension number in it). Fixed.
Tested on jam.
2015-06-18 16:54:51 -05:00
Mohamad Chaarawi
c614e178e3 [svn-r27243] fix problem with encoding/decoding external fapl for lapls. 2015-06-18 15:36:19 -05:00
Allen Byrne
7fdb38eb6f [svn-r27239] Add function prototype for local function 2015-06-18 08:52:52 -05:00
Allen Byrne
cf7c5123cb [svn-r27238] Add function prototype for local function 2015-06-18 08:52:35 -05:00
Quincey Koziol
f30ab55f41 [svn-r27237] Description:
Merge v3 metadata cache changes to trunk.  Yay! :-)

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.x (jam) w/serial & parallel
    (daily tested on branch)
2015-06-17 19:58:49 -05:00
Allen Byrne
4878a00ac2 [svn-r27236] The vds h5diff files 2015-06-17 15:28:05 -05:00
Allen Byrne
202fd2b6c1 [svn-r27235] Add vds h5diff tests 2015-06-17 15:22:25 -05:00
Allen Byrne
bea58674e9 [svn-r27234] Add layout test from virtual to Contiguous and Compact generated files to clearall 2015-06-17 15:05:00 -05:00
Allen Byrne
5ae9dc0369 [svn-r27233] Add layout test from virtual to Contiguous and Compact 2015-06-17 14:37:40 -05:00
Scot Breitenfeld
8353d79d26 [svn-r27232] fixed C test program for float128 2015-06-17 14:25:32 -05:00
Neil Fortner
c986d41406 [svn-r27231] Fix bug in configure that prevented running make.
Tested: ummon
2015-06-17 13:59:23 -05:00
Scot Breitenfeld
0cf5413849 [svn-r27230] added test for float128 2015-06-17 13:29:20 -05:00
Allen Byrne
5b4b4650c6 [svn-r27229] remove copy-paste errors from list 2015-06-17 13:20:39 -05:00
Scot Breitenfeld
3256437a00 [svn-r27228] restricted __float128 to gnu compilers 2015-06-17 11:52:49 -05:00
Scot Breitenfeld
2962171a1c [svn-r27227] restricted __float128 to gnu compilers 2015-06-17 11:52:14 -05:00
Scot Breitenfeld
3bf582bae9 [svn-r27226] restricted __float128 to gnu compilers 2015-06-17 11:47:17 -05:00
Scot Breitenfeld
f51fcf3ffa [svn-r27225] new test for __float128 2015-06-17 10:40:24 -05:00
Neil Fortner
17078f2b9d [svn-r27224] Fix bug that prevented reading from datasets with unlimited mappings with
missing source datasets.  Decided not to attempt to open the source dataset in
this case, as doing so could create issues related to the sizing of the VDS.
Users should call H5Dget_space to open these datasets.  No regression test yet.

Tested: ummon
2015-06-17 10:25:34 -05:00
Scot Breitenfeld
1ea6564419 [svn-r27223] Added check for quadmath.h 2015-06-17 09:14:40 -05:00
Dana Robinson
fb27787c2a [svn-r27222] Merge of r27035-27221 from the trunk.
Tested on 64-bit linux VM:
    Serial: C++ and Fortran 2003
    Parallel: Fortran
2015-06-17 06:48:34 -05:00
Scot Breitenfeld
85bcb77904 [svn-r27221] Reworked Fortran autools REAL KIND detection. 2015-06-16 16:47:00 -05:00
Elena Pourmal
fc0fba145e [svn-r27220] Maintenance: Added copyrigth; removed read buffer initialization since fill value feature works now.
Tested on jam.
2015-06-16 16:42:48 -05:00
Allen Byrne
616106ade3 [svn-r27219] Add h5dump and h5 ls VDS test scripts to autools configure 2015-06-16 16:25:03 -05:00
Allen Byrne
3d5c3851a3 [svn-r27218] Add VDS tests to h5ls 2015-06-16 16:15:55 -05:00
Barbara Jones
6e9e9e0dd2 [svn-r27216] The comments in this example were incorrect regarding the resulting
dataset. They were updated to match the output of the file. (HDFFV-637)
2015-06-16 13:32:04 -05:00
Neil Fortner
91eb17db8e [svn-r27215] Fix issue where % characters could not be used in non-printf mappings.
Other minor fixes/cleanup.

Tested: ummon
2015-06-16 12:27:20 -05:00
Dana Robinson
4f231ddc9b [svn-r27214] Fixed a bug on Windows where dcpls were set to be chunked and not virtual. This was due to a simple copy-paste issue in the initializer that is used when C99 initializers are not available.
Also fixed a dims array size error in the vds test.

Tested on: 64-bit Win7 with VS2013
2015-06-16 12:02:35 -05:00
Scot Breitenfeld
48086667b5 [svn-r27209] svn merge -r27186:27208 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-06-16 08:49:28 -05:00
Mohamad Chaarawi
afb85e30e5 [svn-r27207] use "closing" flag instead of always TRUE in the truncate call. 2015-06-15 14:29:30 -05:00
Mohamad Chaarawi
f34bdad87c [svn-r27206] fix for HDFFV-9418.
- Moving truncate to H5F_flush() where it was done a long time ago. 
 - Add a second H5AC_flush() call after the truncate is done to make sure we write the correct EOA.

tested with h5committest
2015-06-15 13:35:00 -05:00
Quincey Koziol
adbb64c6cd [svn-r27204] Description:
Clean up compiler warnings before merging in v3 metadata cache changes
from branch.

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.x (jam) w/serial & parallel
2015-06-15 11:07:38 -05:00
Allen Byrne
b5a6740703 [svn-r27202] Except one file is used by other tests! 2015-06-15 08:10:14 -05:00
Allen Byrne
83208611cb [svn-r27201] Changed location of packed bits testfiles 2015-06-15 07:59:14 -05:00
Quincey Koziol
65e76690fd [svn-r27199] Description:
Large code cleanups and optimizations, in preparation for the upcoming
v3 metadata cache merge.

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.x (jam) w/serial & parallel
2015-06-12 22:40:33 -05:00
Vailin Choi
e29904660a [svn-r27198] Set "entire_chunk" to false in H5D__chunk_write() for point selection as duplicate points are not checked to determine
that it is really an "entire chunk".  The bug appears from running the mdset.c test. This is a short-term fix for the problem.
2015-06-12 17:55:18 -05:00
Neil Fortner
4117cfe2b9 [svn-r27197] Improve performance of "printf" VDS with selections in the file space - the
library no longer iterates over all source datasets in the printf mapping, it
now only looks at the ones that could be involved in I/O (the ones whose bounds
overlap with the selection in the unlimited dimension).

Tested: ummon
2015-06-12 17:04:35 -05:00
Allen Byrne
d92c74b4aa [svn-r27196] Move pbbits file to subfolder 2015-06-12 16:33:27 -05:00
Allen Byrne
78e128c544 [svn-r27195] Add h5dump cmake tests and files.
Add tools gen cmake files
move testfiles for pbits to subdir as well as vds

Tested: local linux
2015-06-12 16:29:20 -05:00
Neil Fortner
9786fe2f61 [svn-r27192] Improve support for printf selections (support partial blocks with
H5_VDS_FIRST_MISSING)
Add test for this
Rework VDS code to not depend on unlimited selections having a "clipped" state
in preparation for removing the clipped state from unlimited selections.
Other bug fixes/cleanup

Tested: Kubuntu 64 (home computer)
2015-06-11 23:26:53 -05:00
Dana Robinson
aa4e3e3985 [svn-r27191] Merged r26781 to r27185 from trunk
Tested on: 64-bit Ubuntu Linux VM w/ gcc 4.8.2
    (C++ and Fortran 2003 also tested)
2015-06-11 14:18:52 -05:00
Scot Breitenfeld
133a5c3681 [svn-r27188] Switch to using parameters for SELECTED_*_KIND and instead use numerical precision. 2015-06-10 14:58:34 -05:00
Scot Breitenfeld
6c4e3759f5 [svn-r27187] svn merge -r27135:27186 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-06-10 14:23:09 -05:00
Scot Breitenfeld
f2d14c76b8 [svn-r27186] added fix for jam with promoted reals and integers 2015-06-10 14:15:08 -05:00
Mohamad Chaarawi
b9f2a18b5a [svn-r27185] fix more instances where both mpi is_initialized and is_finalized need to be checked before making any MPI calls.
tested with h5committest.
2015-06-10 12:57:32 -05:00
Scot Breitenfeld
202ea3747e [svn-r27184] added case for real*16 when C does not have that precision 2015-06-10 11:45:07 -05:00
Scot Breitenfeld
7a49603732 [svn-r27183] removed the use of -i in sed, used mv instead from a temporary file. 2015-06-10 10:57:27 -05:00
Scot Breitenfeld
48741994ac [svn-r27178] changed to using SELECTED_*_KIND with numerical precision specified 2015-06-10 08:54:16 -05:00
Scot Breitenfeld
625fc9db69 [svn-r27176] Removed debugging statements. 2015-06-09 16:51:27 -05:00
Neil Fortner
bf8942c7e9 [svn-r27174] Fix bug in H5S__hyper_project_intersection that affected empty selections.
Tested: ummon
2015-06-09 15:52:03 -05:00
Allen Byrne
0f4e97907c [svn-r27172] Change disable to skip big test on cygwin 2015-06-09 13:52:43 -05:00
Allen Byrne
84311eb701 [svn-r27171] Disable big test on cygwin 2015-06-09 13:48:03 -05:00
Scot Breitenfeld
5097bd4429 [svn-r27170] added new precompiler directives 2015-06-09 13:25:41 -05:00
Scot Breitenfeld
62401ac7c6 [svn-r27167] more DT fixes 2015-06-09 12:05:09 -05:00
Dana Robinson
349ad0d74d [svn-r27166] Updated MANIFEST to include test/vds.c and tools/misc/vds files. 2015-06-08 22:22:43 -05:00
Scot Breitenfeld
32703c9fc5 [svn-r27164] various bug fixes for DT 2015-06-08 16:13:15 -05:00
Mohamad Chaarawi
bf3b382df7 [svn-r27163] update manifest for newly added file. 2015-06-08 16:10:14 -05:00
Mohamad Chaarawi
929e8ce128 [svn-r27162] fix for HDFFV-9412:
- Check for mpi is_initialized and is_finalized before making MPI calls in init/terminate of HDF5.
- Add a test to make sure we can make serial HDF5 calls from rank 0 after MPI_Finalize is called.

tested with h5committest
2015-06-08 15:52:48 -05:00
Dana Robinson
6c81df0a27 [svn-r27161] Added makefiles to tools/misc/vds to build the generators.
Tested on: jam
2015-06-08 04:56:49 -05:00
Dana Robinson
a6442037e4 [svn-r27160] Added VDS generator files.
The Makefiles have not been updated so they don't compile yet.
2015-06-08 04:10:50 -05:00
HDF Tester
02e9a43900 [svn-r27159] Snapshot version 1.9 release 221 2015-06-07 19:01:32 -05:00
Mohamad Chaarawi
4a2bee5cd8 [svn-r27158] missed rename if UNUSED to H5_ATTR_UNUSED in trace script. 2015-06-07 18:03:42 -05:00
Neil Fortner
5eae97bca6 [svn-r27155] Change H5Pget_virtual_view to return herr_t and take a pointer to the view as a
parameter.  Also fix bug in H5Pget_virtual_printf_gap.

Tested: jam
2015-06-05 17:38:13 -05:00
Scot Breitenfeld
8641814c4e [svn-r27154] fixed issue with mis-matching long double between Fortran and C 2015-06-05 17:17:13 -05:00
Neil Fortner
c27904bc5f [svn-r27153] Implement fill value support for VDS.
Add testing for this.
Fix bug in printf string parsing.
Add test for this.
Other minor fixes/cleanup.

Tested: ummon
2015-06-05 16:55:24 -05:00
Dana Robinson
8f74cc85d8 [svn-r27152] Updated bin/trace and src/H5trace.c to handle the H5D_vds_view_t
enum type.

Tested on: jam
2015-06-04 15:47:04 -05:00
Scot Breitenfeld
043173a689 [svn-r27151] fixed __float128 errors 2015-06-04 15:26:02 -05:00
Dana Robinson
fad77fd2c2 [svn-r27150] Added an empty VDS testfile generator to tools/misc directory.
test/Makefile.in was updated due to changes in the Makefile.am
file that missed a reconfigure. The changes just added a few
VDS test files to the deletion list.

Note that there are trace issues with a new VDS struct that
show up when running bin/reconfigure. I reverted these for
fixing at a future date.

Tested on: jam
2015-06-04 14:46:50 -05:00
Neil Fortner
5d12a79db2 [svn-r27145] Add some testing for printf-style source dataset name resolution.
Various bug fixes, including a temporary fix for printf with FIRST_MISSING view.
Other cleanup.

Tested: ummon
2015-06-03 13:00:58 -05:00
Quincey Koziol
235b3b86c1 [svn-r27144] Description:
Normalize trunk against the metadata_cache_merge branch, in preparation
for merging the branch into the trunk.

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/64 2.6.x (koala) w/serial
    Linux/32 2.6.x (jam) w/serial & parallel
2015-06-03 10:35:28 -05:00
Allen Byrne
e2fa1a7555 [svn-r27142] Add optional variable for version extension 2015-06-03 09:32:56 -05:00
Scot Breitenfeld
4d500d4902 [svn-r27140] fixed interger*16 support 2015-06-03 09:13:58 -05:00
Scot Breitenfeld
f486fe1a49 [svn-r27137] svn merge -r27115:27135 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-06-02 09:46:51 -05:00
Scot Breitenfeld
17a9efa359 [svn-r27136] defines size and kinds 2015-06-02 09:19:00 -05:00
Scot Breitenfeld
2069dbf25e [svn-r27134] Switched to uses a verify for each kind for the tests. Testing quad precision. 2015-06-01 14:49:54 -05:00
Mohamad Chaarawi
fc45d5fcb0 [svn-r27133] - Add a new attribute function characterstic for format:
* H5_ATTR_FORMAT(X,Y,Z)  __attribute__((format(X, Y, Z)))
- Rename UNUSED attribute characterstic to H5_ATTR_UNUSED.
- Rename NORETURN attribute characterstic to H5_ATTR_NORETURN

tested with h5committest.
2015-06-01 14:38:09 -05:00
Jerome Soumagne
92e3188ff3 [svn-r27130] Fix warnings in H5Tconv
Remove H5T_INIT_INTERFACE from H5Tconv

Add macro in H5Tconv to check overflow when using H5T_CONV_uS
2015-06-01 10:44:42 -05:00
Jerome Soumagne
1ac9bcaaa6 [svn-r27129] Fix warnings in H5Tbit 2015-06-01 10:43:13 -05:00
Jerome Soumagne
9ff4558203 [svn-r27128] Fix warnings in H5Tdbg 2015-06-01 10:41:33 -05:00
HDF Tester
78c4a8f4c6 [svn-r27127] Snapshot version 1.9 release 220 2015-05-31 19:02:10 -05:00
Scot Breitenfeld
52e5579fba [svn-r27122] removed dependency on generatored fortran source code 2015-05-28 11:53:15 -05:00
Scot Breitenfeld
0560c11c20 [svn-r27119] handles INTEGER*16 case 2015-05-28 10:01:37 -05:00
Scot Breitenfeld
d1feb5307d [svn-r27118] fixed character length 2015-05-28 09:17:47 -05:00
Scot Breitenfeld
b1cf507c6d [svn-r27116] svn merge -r26937:27115 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-05-27 17:12:43 -05:00
Scot Breitenfeld
244784ab2c [svn-r27115] Moved testing KINDs and SIZEOFs to configure. 2015-05-27 17:07:18 -05:00
Scot Breitenfeld
ae82b5232a [svn-r27114] Fixed spelling and which file is created with the program.
Tested: none -- comments only.
2015-05-27 15:31:39 -05:00
Mohamad Chaarawi
cea93c4a37 [svn-r27111] move undef of __attribute__ back to private and remove its usage from public routines. 2015-05-26 09:23:27 -05:00
HDF Tester
965e459a98 [svn-r27110] Snapshot version 1.9 release 219 2015-05-24 18:59:54 -05:00
Neil Fortner
9a8c664ff0 [svn-r27104] Add support for printf-style source dataset name resolution.
Passes use case test, no regression tests yet.
Add functions H5Pset/get_virtual_printf_gap (not tested yet).
Other minor fixes/cleanup.

Tested: ummon
2015-05-22 11:35:58 -05:00
Neil Fortner
948722cde8 [svn-r27103] Merge revisions 26780 through 27102 from trunk to vds branch.
Tested: ummon
2015-05-21 12:13:16 -05:00
Dana Robinson
194d647721 [svn-r27097] Fixed a typo in test/th5o.c that caused the wrong property list
ID to be checked.

Tested on: h5committest
2015-05-18 08:00:54 -05:00
HDF Tester
ab80cbadfd [svn-r27092] Snapshot version 1.9 release 218 2015-05-17 18:59:27 -05:00
Mohamad Chaarawi
bf53b8c95c [svn-r27089] move private functions from H5A.c to H5Aint.c 2015-05-15 11:49:23 -05:00
Allen Byrne
8060c37ef4 [svn-r27087] Add changes for debug flags 2015-05-15 09:38:38 -05:00
Quincey Koziol
8be8a708a3 [svn-r27084] Description:
Clean up cache tests, to align w/v3 metadata cache changes

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.* (jam) w/serial & parallel
2015-05-14 21:16:09 -05:00
Quincey Koziol
20aa560825 [svn-r27083] Description:
Clean up H5SM interface, to align w/v3 metadata cache changes

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.* (jam) w/serial & parallel
2015-05-14 21:14:13 -05:00
Quincey Koziol
197fa23dae [svn-r27082] Description:
Clean up H5O interface, to align w/v3 metadata cache changes

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.* (jam) w/serial & parallel
2015-05-14 21:12:24 -05:00
Quincey Koziol
2e9d48a551 [svn-r27081] Description:
Clean up H5HL interface, to align w/v3 metadata cache changes

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.* (jam) w/serial & parallel
2015-05-14 21:10:46 -05:00
Quincey Koziol
8cc79c0825 [svn-r27080] Description:
Clean up H5HF interface, to align w/v3 metadata cache changes

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.* (jam) w/serial & parallel
2015-05-14 21:08:27 -05:00
Quincey Koziol
5c437fa51f [svn-r27079] Description:
Clean up H5G interface, to align w/v3 metadata cache changes

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.* (jam) w/serial & parallel
2015-05-14 21:06:09 -05:00
Quincey Koziol
8fd9d6b53f [svn-r27078] Description:
Clean up H5FS interface, to align w/v3 metadata cache changes

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.* (jam) w/serial & parallel
2015-05-14 21:04:33 -05:00
Quincey Koziol
cd1620238c [svn-r27077] Description:
Clean up H5FD interface, to align w/v3 metadata cache changes

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.* (jam) w/serial & parallel
2015-05-14 21:02:54 -05:00
Quincey Koziol
71bc00a0b5 [svn-r27076] Description:
Clean up H5FA interface, to align w/v3 metadata cache changes

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.* (jam) w/serial & parallel
2015-05-14 21:00:27 -05:00
Quincey Koziol
668be45b56 [svn-r27075] Description:
Clean up H5F interface, to align w/v3 metadata cache changes

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.* (jam) w/serial & parallel
2015-05-14 20:57:34 -05:00
Quincey Koziol
d0de32fc3a [svn-r27074] Description:
Clean up H5EA interface, to align w/v3 metadata cache changes

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.* (jam) w/serial & parallel
2015-05-14 20:54:30 -05:00
Quincey Koziol
9c9ac47ceb [svn-r27073] Description:
Clean up H5D interface, to align w/v3 metadata cache changes

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.* (jam) w/serial & parallel
2015-05-14 20:51:31 -05:00
Quincey Koziol
7206d78c52 [svn-r27072] Description:
Clean up H5B interface, to align w/v3 metadata cache changes

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.* (jam) w/serial & parallel
2015-05-14 20:48:50 -05:00
Quincey Koziol
775a54c19a [svn-r27071] Description:
Clean up H5B2 interface, to align w/v3 metadata cache changes

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux 2.6.* (jam) w/serial & parallel
2015-05-14 20:46:00 -05:00
Quincey Koziol
acdef5f665 [svn-r27070] Description:
Clean up the H5B interface code, to better align with v3 metadata cache
changes.

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.x (jam) w/serial & parallel
2015-05-14 20:38:35 -05:00
Quincey Koziol
3d5e75b093 [svn-r27068] Description:
Clean up the H5A interface code, to better align with v3 metadata cache
changes.

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    Linux/32 2.6.x (jam) w/serial & parallel
2015-05-14 20:33:12 -05:00
Quincey Koziol
e81f0ade77 [svn-r27066] Description:
Protect gcc 5 debugging options

Tested on:
    MacOSX/64 10.10.3 (amazon) w/gcc 5.1
2015-05-14 20:21:58 -05:00
Allen Byrne
37a07df7b4 [svn-r27064] HDFFV-9327: Refactor compiler flags to config file.
Tested: local linux
2015-05-14 11:51:20 -05:00
Quincey Koziol
a86910deac [svn-r27060] Description:
Clean up obsolete and unsupported versions of GCC, and update for GCC 5.1
release.

Tested on:
    Mac OSX/64 10.10.3 (amazon) w/C++, FORTRAN, serial, production & parallel
    (gcc 5.1 not available on other systems)
2015-05-14 00:32:55 -05:00
Quincey Koziol
7e231953a2 [svn-r27058] Description:
Convert internal chunk structures to use 'scaled' coordinates instead of
absolute coordinates.

Tested on:
    Mac OSX/64 10.10.3 (amazon) w/parallel & serial
    Linux 2.6.x/32 (jam) w/parallel & serial
    Linux 2.6.x/64 (koala) w/serial
2015-05-13 16:30:24 -05:00
Neil Fortner
f7e10b55ab [svn-r27053] Add more tests for unlimited selections.
Fix off by 1 error involving minimum extent of VDS.
Other minor fixes/cleanup.

Tested: ummon
2015-05-12 10:39:10 -05:00
Neil Fortner
5b92a99024 [svn-r27049] Rename H5Pset/get_virtual_dataspace_bounds to H5Pset/get_virtual_view and rename
enum argument.
Add support for AND and NOTA/NOTB operations with unlimited selections.
Add some tests for unlimited selections.
Other minor fixes/cleanup.
Note: "clipped" status of unlimited selections is not properly updated with
H5Sselect_copy.  This is a deliberate omission since fixing it would take work
and we are planning to eliminate the clipped status anyways.

Tested: ummon
2015-05-11 14:01:42 -05:00
Dana Robinson
67ba6cb57d [svn-r27045] Renamed H5_ASSIGN_OVERFLOW() to H5_CHECKED_ASSIGN() and re-ordered
the arguments to be in a more logical order.

Tested on: h5committest
2015-05-10 17:38:04 -05:00
Dana Robinson
83d37604d3 [svn-r27040] Moved '*' in H5PLget_loading_state() so that bin/trace would correctly
process it and ran bin/trace.

Tested on: h5committest
2015-05-08 00:10:26 -05:00
Dana Robinson
984ecb72c2 [svn-r27038] Merge of r26393-27031 from the trunk.
Tested on 64-bit linux VM w/ C++ and Fortran 2003
2015-05-07 16:05:14 -05:00
Allen Byrne
674e9f842c [svn-r27037] Added other platforms comment to cmd line and quoted use of directory in option. 2015-05-07 14:46:53 -05:00
Jerome Soumagne
9dc86e2cde [svn-r27035] Do not pass warnings options to non-gnu compilers when compiling with CMake 2015-05-07 13:23:09 -05:00
Jerome Soumagne
8f82c9b8be [svn-r27031] Fix warnings in H5detect and clean up code, use unsigned variables
Use H5_GCC_DIAG_ON/OFF to suppress larger-than and float-equal warnings

Variables used with sigsetjmp/siglongjmp must be declared as volatile

Remove unnecessary use of volatile after r24171 fix and fix prototypes

Tested in release mode on:
- jam (CentOS 5.11 i386 GCC 4.1.2)
- ostrich (RHEL 6.6 ppc64 GCC 4.4.7)
- local linux (OpenSuSE 13.2 x86_64 GCC 4.8.3)
- local linux (Fedora 21 x86_64 GCC 4.9.2)
- local linux (Fedora 21 x86_64 ICC 15.0.2)
- local windows (Windows 8.1 x86_64 MSVC 2013 update 4)
- lemur (MacOSX 10.10.3 x86_64 clang-602.0.49 Xcode 6.3.1)
- ibm p95a07 (Ubuntu 14.10 ppc64le GCC 4.9.1)
- ibm p95a07 (Ubuntu 14.10 ppc64le IBM XL C V13.1.1)
- bluewaters (Cray PE 2.2.1 x86_64 GCC 4.8.2)
- bluewaters (Cray PE 2.2.1 x86_64 Cray C 8.3.3)
- bluewaters (Cray PE 2.2.1 x86_64 PGCC 14.2)
2015-05-06 18:44:50 -05:00
Jerome Soumagne
5c8ecdd14a [svn-r27029] Fix bad comment in H5detect, this was preventing PGCC from compiling correctly.
Tested on: bluewaters
2015-05-06 18:22:48 -05:00
Neil Fortner
0c49a918c4 [svn-r27028] Merge revisions 26305 through 26780 from trunk to vds branch.
Tested: ummon
2015-05-06 14:47:45 -05:00
Elena Pourmal
bc6873d3bd [svn-r27025] Enabled compilation and run for the new vds examples for "make installcheck"; added to MANIFET. 2015-05-05 16:35:10 -05:00
Elena Pourmal
eda6bf097a [svn-r27024] Modified Percival example to read VDS data.
First, the example reads all VDS data, then the data that is in the first source dataset. 
Tested on jam.
2015-05-05 15:41:21 -05:00
Scot Breitenfeld
b15fc6e4a0 [svn-r27023] Changed H5I to H5IM 2015-05-05 15:28:47 -05:00
Neil Fortner
8fe3dfbf94 [svn-r27022] Add new functions H5Pset_virtual_dataspace_bounds and
H5Pget_virtual_dataspace_bounds.
Minor refactor of dataset initialization code to make this cleaner.
Update h5_vds-percival-unlim-maxmin.c
Other minor fixes/cleanup.

Tested: ummon
2015-05-05 15:15:40 -05:00
Scot Breitenfeld
aa403a1a5d [svn-r27021] Added hdf5_hl_fortrandll.def to hl library build. 2015-05-05 15:09:19 -05:00
Scot Breitenfeld
5ffdaa87fc [svn-r27020] fixed HL Fortran Binary dir. 2015-05-05 14:46:14 -05:00
Scot Breitenfeld
ad71dbe12c [svn-r27019] Fixed print statement. 2015-05-05 13:55:29 -05:00
Elena Pourmal
8ba06cb15e [svn-r27018] Fixed a comment for the expected VDS sizes. 2015-05-05 13:07:15 -05:00
Elena Pourmal
95b63ae685 [svn-r27017] Modified Percival example to have different extents for the source datasets for quick testing of
H5Pset_virtual_dataspace_bounds.

Tested on jam that the source datasets are extended and data is added as intended.
2015-05-05 12:57:44 -05:00
Allen Byrne
24ef4efe9a [svn-r27015] updated with release changes 2015-05-05 11:10:20 -05:00
Jerome Soumagne
6ba4fd8694 [svn-r27009] Fix mismatching prototypes in H5FD/H5B2 2015-05-04 15:02:23 -05:00
Scot Breitenfeld
1166efe131 [svn-r27006] Added hdf5_hl_fortrandll.def to hl library build. 2015-05-04 10:16:59 -05:00
Allen Byrne
98bf03bf1d [svn-r27003] Update documentation to match the web instructions 2015-05-04 10:14:37 -05:00
Scot Breitenfeld
e9735c156a [svn-r27002] removed the use of deprecated APIs 2015-05-04 10:01:35 -05:00
Allen Byrne
6e10ade5ee [svn-r27000] Updated and debugged script 2015-05-04 08:59:12 -05:00
HDF Tester
39e0b31a24 [svn-r26997] Snapshot version 1.9 release 217 2015-05-03 06:06:41 -05:00
Quincey Koziol
64466cf833 [svn-r26996] Description:
Eliminate unneccessary 'rdcc' field from common chunk info struct.

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    (Too minor to require h5commitest)
2015-05-02 01:31:28 -05:00
Quincey Koziol
5cb629e6dd [svn-r26995] Description:
Clean up chunk 'prune by extent' and flush code, and make the rehashing
routine 'update cache' hold onto more chunks, instead of evicting them as
aggressively.

Tested on:
    MacOSX/64 10.10.3 (amazon) w/serial & parallel
    (h5committest forthcoming)
2015-05-02 01:18:43 -05:00
Quincey Koziol
f77bb92cc1 [svn-r26993] Description:
Align w/incoming chunk performance changes, including some small performance
improvements here, as well as a few minor general code cleanups.

Tested on:
    Mac OSX/64 10.10.3 (amazon) w/serial & parallel
    (Too minor to require h5committest)
2015-05-01 21:40:29 -05:00
Scot Breitenfeld
60960ec8a7 [svn-r26990] Updated the F2003 error statement when find a nonF2003 compiler. 2015-05-01 11:32:52 -05:00
Scot Breitenfeld
2c575bb79a [svn-r26989] Changed the BIND(C) derived types from:
CHARACTER(LEN=1) to CHARACTER(KIND=C_CHAR) to make Sun compilers happy.
2015-05-01 11:25:32 -05:00
Allen Byrne
d52e65a95f [svn-r26988] Fix name of generated file 2015-05-01 10:07:03 -05:00
Dana Robinson
bfa5786184 [svn-r26986] Removed H5F_ACC_DEBUG and H5FD_DEBUG functionality.
The H5F_ACC_DEBUG symbol remains but has been defined to zero and
has been listed as deprecated.

Fixes: HDFFV-1074

Tested on:
    h5committest
    32-bit Linux w/ C++ and Fortran and multi VFD
    32-bit Linux w/ C++ and Fortran and multi VFD (no deprec symbols)
2015-04-30 14:32:25 -05:00
Neil Fortner
c1e74850e7 [svn-r26984] Add support for unlimited selection being clipped in the middle of a block.
Add tests for this (pure selection tests, needs testing with VDS).
Various bug fixes.

Tested: ummon
2015-04-30 12:29:25 -05:00
Scot Breitenfeld
82c1ce78d5 [svn-r26983] Added C_CHAR to compound type. 2015-04-30 09:39:57 -05:00
Allen Byrne
315c1f9eb0 [svn-r26977] Windows needs different packaging option from linux 2015-04-30 09:04:24 -05:00
Scot Breitenfeld
213aa4d060 [svn-r26976] Added TARGET. 2015-04-30 08:54:48 -05:00
Scot Breitenfeld
29f4e85094 [svn-r26975] Renamed variable to eliminate conflict. 2015-04-30 08:43:23 -05:00
Scot Breitenfeld
0e742cb8d0 [svn-r26974] spelling 2015-04-29 17:04:24 -05:00
Scot Breitenfeld
ecae912a96 [svn-r26973] changed "_c (" to "_c(" 2015-04-29 17:00:35 -05:00
Scot Breitenfeld
d59229751a [svn-r26972] Removed unused C functions.
See HDFFV-9291: Check for unused C functions
2015-04-29 16:57:05 -05:00
Scot Breitenfeld
eee4741a2f [svn-r26971] fixed declaration of h5ltget_attribute_c 2015-04-29 15:24:56 -05:00
Scot Breitenfeld
68e4b6ef39 [svn-r26970] Added new pointer APIs for h5ltmake_dataset ahd h5ltread_dataset. 2015-04-29 15:12:34 -05:00
Allen Byrne
2fe77fad31 [svn-r26969] Added H5KINDff.F90 to output and moved to end of source list. 2015-04-29 13:41:42 -05:00
Scot Breitenfeld
fe7877677a [svn-r26968] Removed H5A,H5D and H5P declarations which now use the KIND findings. 2015-04-29 13:37:53 -05:00
Neil Fortner
f395c2bb03 [svn-r26967] Refactor VDS unlimited dimension code to correctly handle case where selections
have discrete blocks and the extent is set by the minimum (untested, and there
is still no way to set that preference).

Tested: ummon
2015-04-29 12:04:10 -05:00
Albert Cheng
056ffa6341 [svn-r26963] HDFFV-9298: make uninstall generated "test: argument expected" lines
The error is that $EXAMPLETOPDIR is used without setting a value first.
Solution is to set them with the proper values.

Tested: jam only to confirm the error no longer exists.
2015-04-29 02:22:43 -05:00
Neil Fortner
a9b2e36065 [svn-r26962] Add support for unlimited selections to VDS code.
Not tested (except for percival-unlim example)
Fix percival-unlim example
Other bug fixes/cleanup

Tested: Fedora 64
2015-04-28 22:22:55 -05:00
Quincey Koziol
65ba755e8a [svn-r26961] Description:
Clean up H5I code, to eliminate duplicated sections of code.

Tested on:
    Mac OSX/64 10.10.3 (amazon) w/serial & parallel
    (Too minor to require h5committest)
2015-04-28 21:07:10 -05:00
Elena Pourmal
f3f7473161 [svn-r26960] Added example of unlimited VDS using Percival use case. 2015-04-28 18:23:02 -05:00
Allen Byrne
1c30759aae [svn-r26959] Fixed ERTERN print format and remove "Files" from virtual. 2015-04-28 16:46:56 -05:00
Allen Byrne
6709dd28f2 [svn-r26953] Remove src temporary debug build props.
Move TOOLS option up before usage.
2015-04-28 16:32:17 -05:00
Scot Breitenfeld
515d59fd50 [svn-r26952] Added dependencies for H5_KINDff.F90 2015-04-28 15:31:08 -05:00
Allen Byrne
5a8114a2a9 [svn-r26951] add cygwin 2015-04-28 14:50:35 -05:00
Scot Breitenfeld
834fab687f [svn-r26950] Added DLL exports for windows. 2015-04-28 14:01:52 -05:00
Allen Byrne
3939163f49 [svn-r26949] Correct linux separators 2015-04-28 13:58:05 -05:00
Allen Byrne
4fc9a3885d [svn-r26944] Match src folder version 2015-04-28 12:53:17 -05:00
Allen Byrne
e13e226bfe [svn-r26941] Correct ext lib packing list 2015-04-28 11:29:14 -05:00
Scot Breitenfeld
241bbc426c [svn-r26938] svn merge -r26910:26937 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-04-28 10:19:24 -05:00
Scot Breitenfeld
ea6364e818 [svn-r26937] added generated Fortran file to Fortran CMakeList.txt 2015-04-28 10:11:12 -05:00
Allen Byrne
4e50ee0096 [svn-r26936] Incorrect use of HSIZE_T_FORMAT macro, needed to be sub macro H5_PRINTF_LL_WIDTH.
Tested: local linux
2015-04-27 16:20:15 -05:00
Allen Byrne
2417fd7b63 [svn-r26935] Add dataset name to mapping output 2015-04-27 16:08:53 -05:00
Scot Breitenfeld
cec6cbe9cc [svn-r26934] H5test_kind.F90 now generates all the interfaces for H5A, H5D, and H5P REAL interfaces depending on the KIND available. 2015-04-27 15:56:06 -05:00
Albert Cheng
9fc7e89a09 [svn-r26929] Added support for shared lib and zlib.
Tested: linux (jam), Mac (osx1010dev)
2015-04-27 05:10:07 -05:00
Albert Cheng
ceff4fe58f [svn-r26926] Fixed previous typo in the installation of DMG file.
Tested: osx1010dev
2015-04-27 03:15:17 -05:00
Albert Cheng
28f355e81e [svn-r26925] Added method to install the Mac OSX DMG file by line commands.
Group all install method into a function call for easier maintenance.

Tested: Linux (jam, platypus), Mac (osx1010dev)
2015-04-27 02:52:37 -05:00
Albert Cheng
188936ac03 [svn-r26924] Remove old and invalid information:
Retired IBM SP system which was old.
Removed --enable-parallel=mpich information. The option is invalid now (remove
date unknown.)
2015-04-27 01:59:32 -05:00
Scot Breitenfeld
7d692f042b [svn-r26920] fixed typo 2015-04-24 16:42:05 -05:00
Scot Breitenfeld
b8b7d33f41 [svn-r26919] fixed real promoted to 8 bytes 2015-04-24 13:54:25 -05:00
Scot Breitenfeld
0f453502b9 [svn-r26918] fixed H5_FORTRAN_HAVE_C_LONG_DOUBLE 2015-04-24 13:44:50 -05:00
Scot Breitenfeld
fbf21b18ee [svn-r26917] added conditional for C_LONG_DOUBLE 2015-04-23 17:16:30 -05:00
Scot Breitenfeld
47f189a194 [svn-r26916] cleaned-up comments 2015-04-23 15:58:27 -05:00
Scot Breitenfeld
07a1ffde2c [svn-r26915] Added missing long_double APIs. 2015-04-23 15:52:54 -05:00
Scot Breitenfeld
d4ef2d9b24 [svn-r26912] Removed unused 'set' 2015-04-23 15:32:38 -05:00
Scot Breitenfeld
35a297b461 [svn-r26911] svn merge -r26866:26910 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-04-23 15:21:04 -05:00
Allen Byrne
d292908e6f [svn-r26910] Add clarification that the files are Source 2015-04-23 15:16:22 -05:00
Allen Byrne
80f27eb1f4 [svn-r26909] Convert layout to switch and add virtual. Print number of maps and file names only.
Tested: local linux
2015-04-23 15:13:12 -05:00
Scot Breitenfeld
f0c4d55f91 [svn-r26908] Added missing c_long_double interfaces, now handles promotion of reals and integers to 8 bytes, added C wrappers that take pointers from Fortran. 2015-04-23 15:12:13 -05:00
Jerome Soumagne
aa2f93cdf6 [svn-r26907] Check range and fix conversion issue of compound members in H5T_copy/H5T_set_loc
Tested: local linux
2015-04-23 14:30:50 -05:00
Allen Byrne
dcb31a0e00 [svn-r26906] Correct typo 2015-04-23 14:05:22 -05:00
Allen Byrne
0137743470 [svn-r26905] Add user scripts to CMake folder 2015-04-23 13:50:49 -05:00
Allen Byrne
1c2136ee49 [svn-r26900] Update CMake doc references 2015-04-23 10:41:22 -05:00
Scot Breitenfeld
05a320e9eb [svn-r26897] Added DLL file for HL Fortran. 2015-04-23 09:46:21 -05:00
Scot Breitenfeld
36eec4b620 [svn-r26896] added LONG_DOUBLE interfaces 2015-04-23 09:39:31 -05:00
Scot Breitenfeld
00dfc443c6 [svn-r26895] Added missing interfaces for c_double_long.
Added DLLs.
2015-04-23 09:12:22 -05:00
Scot Breitenfeld
5b7398b41d [svn-r26893] added c_long_double interfaces and updated DLLs 2015-04-22 17:10:33 -05:00
Neil Fortner
f1d1d415af [svn-r26891] Fix bug in H5S__hyper_project_intersection that could cause an incorrect result.
Fix typos.

Tested: ummon
2015-04-22 15:50:56 -05:00
Scot Breitenfeld
8884dc49af [svn-r26890] commented out -DNDEBUG 2015-04-22 15:38:52 -05:00
Scot Breitenfeld
0cb2e26f5a [svn-r26888] Removed the preprocessor option "-UNDEBUG" 2015-04-22 14:39:05 -05:00
Scot Breitenfeld
bf47c596a5 [svn-r26887] Fixed Function H5_SIZEOF_CHAR and assumed sized character length. 2015-04-22 14:31:58 -05:00
Scot Breitenfeld
ab5e55bbf2 [svn-r26886] Fixed source to avoid bug in gfortran < v4.7 Bug: 45190, 37829 2015-04-22 14:19:29 -05:00
Scot Breitenfeld
0a5ca8ad05 [svn-r26885] Fixed issues with CMake and Fortran on linux. 2015-04-22 13:50:29 -05:00
Neil Fortner
0308a17597 [svn-r26883] Fix bug in H5S__hyper_project_intersection that could cause an incorrect result.
Tested: ummon
2015-04-22 11:01:33 -05:00
Scot Breitenfeld
aad4f74fa9 [svn-r26882] renamed .f90 fo .F90 2015-04-22 09:38:33 -05:00
Scot Breitenfeld
cfeb1509c2 [svn-r26881] Added BIND(C) to the Fortran HL APIs, and fixed the issue with -r8 (or equiv.) being specified. 2015-04-22 09:37:02 -05:00
Neil Fortner
7b4a24f2f8 [svn-r26880] Fix errors where unlim_dim was not initialized in several places in H5Shyper.c
Tested: Home computer
2015-04-22 08:30:42 -05:00
Dana Robinson
a2475e33a2 [svn-r26879] Removed printf size_t warnings from VDS examples.
size_t parameters are now printed using lu after being cast to
unsigned long (safe for C89).

Tested on: 64-bit linux VM
2015-04-22 08:29:03 -05:00
Neil Fortner
0a3151792f [svn-r26878] Fix errors in unlimited selection serialize/deserialize
Other minor fixes

Tested: jam
2015-04-21 17:42:33 -05:00
Scot Breitenfeld
fd6ce02c92 [svn-r26877] removed references to F2003 2015-04-21 16:06:52 -05:00
Scot Breitenfeld
f981d2e11e [svn-r26876] changed argument to SIZEOF. 2015-04-21 15:59:45 -05:00
Scot Breitenfeld
1ba402214d [svn-r26875] Added BIND(C) to interfaces. 2015-04-21 15:55:09 -05:00
Scot Breitenfeld
68ad830cd9 [svn-r26874] Added interfaces to H5P parallel interfaces. 2015-04-21 15:09:56 -05:00
Scot Breitenfeld
c7529c3d83 [svn-r26873] Added BIND(C) and moved to .F90 extension. 2015-04-21 14:53:56 -05:00
Scot Breitenfeld
0d94750391 [svn-r26870] added mising TARGET 2015-04-21 13:40:02 -05:00
Scot Breitenfeld
5e6d18e5be [svn-r26869] removed the --enable-fortran2003 option, it is now just --enable-fortran 2015-04-21 13:33:25 -05:00
Jerome Soumagne
a3a1f37446 [svn-r26868] Remove accum_change assert in H5T for now 2015-04-21 12:06:34 -05:00
Scot Breitenfeld
11b19627b9 [svn-r26867] svn merge -r26837:26866 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-04-21 11:57:33 -05:00
Scot Breitenfeld
6813b25007 [svn-r26866] Removed the default REAL and DOUBLE PRECESION dependency. 2015-04-21 11:53:40 -05:00
Allen Byrne
b32caab787 [svn-r26864] Change location of lib settings file 2015-04-21 11:21:52 -05:00
Neil Fortner
b31103b332 [svn-r26862] Fix bug in H5D__get_storage_size where it would issue an error unnecessarily for
virtual datasets.

Tested: ummon
2015-04-21 10:07:21 -05:00
Scot Breitenfeld
c88f2abea5 [svn-r26860] Fixed sizeof checks. 2015-04-21 08:44:30 -05:00
Albert Cheng
34a1da1731 [svn-r26857] Bugs:
The configure summary (libhdf5.settings) was missing from the configure output.

Solution:
Append the configure summary to the configure logfile if configure succeeds.

Tested:
hand ran cmakehdf5 in jam and inspected the logfile.
2015-04-20 19:25:56 -05:00
Scot Breitenfeld
aff66a3790 [svn-r26856] various intel compiler fixes 2015-04-20 16:28:05 -05:00
Allen Byrne
0b0d31e520 [svn-r26852] Correct component matching 2015-04-20 16:04:33 -05:00
Jerome Soumagne
50db0eed22 [svn-r26848] Fix warnings in H5T
Tested: local linux
2015-04-20 15:32:32 -05:00
Scot Breitenfeld
5fd5aa58ca [svn-r26847] combined H5test_kind programs 2015-04-20 14:15:30 -05:00
Scot Breitenfeld
a58b2dbb7e [svn-r26846] BIND(C) added to H5 general functions 2015-04-20 11:03:54 -05:00
Scot Breitenfeld
baa46f9e43 [svn-r26845] H5P and H5A BIND(C) added to APIs 2015-04-20 10:46:05 -05:00
Quincey Koziol
371a27f01e [svn-r26843] Description:
Minor code & warning cleanups.

Tested on:
    MacOSX/64 10.10.2 (amazon) w/serial & parallel
    Linux/32 2.6.18 (jam) w/serial & parallel
2015-04-18 21:48:06 -05:00
Quincey Koziol
1eaaae9821 [svn-r26842] Description:
Cache the dataset's rank & dimension sizes, instead of querying them
frequently, to speed up various checks & algorithms.  Also, a few minor
cleanups.

Tested on:
    MacOSX/64 10.10.2 (amazon) w/serial & parallel
    Linux/32 2.6.18 (jam) w/serial & parallel
2015-04-18 01:39:34 -05:00
Quincey Koziol
524bfed32e [svn-r26841] Description:
Minor formatting cleanups and remove unused field from callback struct.

Tested on:
    Mac OSX/64 10.10.2 (amazon) w/serial & parallel
    (Too minor to require h5committest)
2015-04-18 00:02:24 -05:00
Larry Knox
cf98752566 [svn-r26840] configure
configure.ac
hl/src/H5LTparse.c
hl/src/H5LTparse.h
        Address HDFFV-9010: configure issue with gcc 4.9.2 "-l ".
        Change default to disable_shared on CYGWIN.

release_docs/INSTALL_Cygwin.txt
release_docs/RELEASE.txt
        Update for changed default and no CYGWIN szip binary.

c++/src/cpp_doc_config
bin/h5vers
        AddressHDFFV-9010: Add cpp_doc_config to h5vers

Tested with h5committest, on CYGWIN.
2015-04-17 17:24:47 -05:00
Scot Breitenfeld
50db6abee7 [svn-r26838] svn merge -r26813:26837 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-04-17 16:39:12 -05:00
Quincey Koziol
7bf3a426e8 [svn-r26837] Description:
Separate allocating chunk on disk from inserting the chunk record into the
index.  This allows a "SWMR-safe" insert/update of chunks (the chunk is always
allocated -> written -> inserted/updated in the index).

Tested on:
    Mac OSX/64 10.10.2 (amazon) w/parallel & serial
    Linux/32 2.6.18 (jam) w/serial & parallel
2015-04-17 15:49:27 -05:00
Scot Breitenfeld
8bdafb38d7 [svn-r26836] added BIND(C) to H5T APIs 2015-04-17 13:41:48 -05:00
Scot Breitenfeld
c632be5d7b [svn-r26834] Added more BIND(C) to H5O Fortran APIs 2015-04-17 11:33:26 -05:00
Scot Breitenfeld
75ff45add3 [svn-r26833] Added BIND(C) to H5O Fortran APIs 2015-04-17 11:23:52 -05:00
Scot Breitenfeld
7caca66dd0 [svn-r26832] misc. clean-up 2015-04-17 11:03:14 -05:00
Scot Breitenfeld
ec2327200d [svn-r26831] Added H5S BIND(C) 2015-04-17 11:01:16 -05:00
Scot Breitenfeld
d7fd1ed9c7 [svn-r26830] Added BIND(C) to Fortran H5R APIs. 2015-04-16 17:09:32 -05:00
Scot Breitenfeld
b8c6d8191c [svn-r26829] Added BIND(C) to the Fortran H5I APIs 2015-04-16 16:26:43 -05:00
Neil Fortner
f53cfbe9d6 [svn-r26828] Implement support for unlimited selections (not supported by VDS code yet).
Add tests for unlimited selections.
Various other minor changes.

Tested: ummon
2015-04-16 15:57:26 -05:00
Scot Breitenfeld
bd0aaf89e2 [svn-r26827] Combined parallel APIs and removed no longer needed parallel files. 2015-04-16 15:52:07 -05:00
Scot Breitenfeld
fa26809cdf [svn-r26826] CHANGED H5G APIs to use BIND(C) 2015-04-16 14:04:43 -05:00
Scot Breitenfeld
0cc9b0c79f [svn-r26825] Added include for preprocessing fortran files with configure definitions 2015-04-16 13:36:34 -05:00
Albert Cheng
c6717e8134 [svn-r26823] Update instruction that changes in this releaes that " --enable-parallel has
to be used explicitly to build parallel HDF5 regardless of the compiler type
being used.  (MSC - 2015/02/19 HDFFV-9068)"
2015-04-16 08:13:12 -05:00
Scot Breitenfeld
7984de553e [svn-r26819] Updated H5A, H5E, H5D, H5F APIs to F2003, added ifdef for parallel. 2015-04-15 17:03:33 -05:00
Allen Byrne
c04b083b60 [svn-r26815] Update cmake configuration checks
Tested: local linux
2015-04-15 11:59:11 -05:00
Scot Breitenfeld
9f4ed2197a [svn-r26814] svn merge -r26807:26813 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-04-15 08:49:33 -05:00
Scot Breitenfeld
1644eda6de [svn-r26812] Removed printf debugging statements.
Tested: trival.
2015-04-15 08:45:06 -05:00
Scot Breitenfeld
d7fbbda1a0 [svn-r26809] Changed Fortran file endings from ".f90" to ".F90" 2015-04-14 16:59:58 -05:00
Scot Breitenfeld
38f5b52ea4 [svn-r26808] svn merge -r26795:26807 https://svn.hdfgroup.uiuc.edu/hdf5/trunk 2015-04-14 15:50:57 -05:00
Scot Breitenfeld
74e0d6d697 [svn-r26807] Combined *_F03* files and removed *_F90* files. 2015-04-14 15:46:59 -05:00
Scot Breitenfeld
f8b34b0ff8 [svn-r26804] Updated the Fortran install information. 2015-04-14 09:05:17 -05:00
Dana Robinson
41302a1ea6 [svn-r26803] Fixed a minor typo in H5R code comment. 2015-04-14 07:57:30 -05:00
Allen Byrne
11efaf4ff7 [svn-r26798] Fix other storage layout whitespace 2015-04-13 15:47:03 -05:00
Allen Byrne
26e709edc6 [svn-r26794] Fix formatting for selection. Irregular reuses blocks and points for datasets however indentation after line breaks are an issue. 2015-04-13 15:15:00 -05:00
Dana Robinson
573365e3a0 [svn-r26786] In libhdf5.settings.in, changed the C++ shared library setting variable
from H5_CXX_SHARED (which no longer exists) to enable_static.

Tested on: jam (configure only - minor change)
2015-04-13 03:25:56 -05:00
HDF Tester
27313306f8 [svn-r26785] Snapshot version 1.9 release 216 2015-04-12 06:05:35 -05:00
Larry Knox
6c0fcb84a8 [svn-r26782] Remove md5 from METHODS arguments for calling bin/release script from snapshot script. md5 method was removed and md5 checksums are always produced for all compression methods. 2015-04-11 22:45:56 -05:00
Neil Fortner
6a27582a44 [svn-r26781] Merge revisions 26305 through 26780 from trunk to vds branch.
Tested: ummon
2015-04-10 18:00:48 -05:00
Allen Byrne
3875cc6960 [svn-r26778] fix path to config 2015-04-10 12:51:40 -05:00
Mohamad Chaarawi
3b72762036 [svn-r26777] - Fix usage of the internal AC global dxpls
- allocate sieve buffer with calloc instead of malloc

tested with h5committest
2015-04-10 12:47:16 -05:00
Allen Byrne
b452fc97e6 [svn-r26776] Add missing quote char. 2015-04-10 12:45:13 -05:00
Allen Byrne
7a4b02567e [svn-r26775] Update error file with new item. 2015-04-09 15:52:06 -05:00
Scot Breitenfeld
5619a9a119 [svn-r26772] Fixed wrong fapl for H5Fopen when testing H5Iget_name with anonymously created datatype.
Tested: jam (using split virtual driver)
2015-04-09 10:57:01 -05:00
Mohamad Chaarawi
7f06904d28 [svn-r26771] - remove unused internal dxpl properties and property lists from the AC layer
- fix warnings in H5AC.c

tested with h5committest
2015-04-08 16:24:22 -05:00
Scot Breitenfeld
1215ef0370 [svn-r26767] Added test to address HDFFV-3065:
H5Iget_name on datatype that is not named returns no error

Tested: h5committest
2015-04-08 11:06:48 -05:00
Quincey Koziol
4662835250 [svn-r26757] Description:
Minor typos & code cleanups

Tested on:
    MacOSX/64 10.10.2 (amazon) w/serial & parallel
    (Too minor to require h5committest)
2015-04-07 14:16:25 -05:00
Albert Cheng
dd32c639c6 [svn-r26751] Updated. 2015-04-07 13:13:57 -05:00
Albert Cheng
5cc53e3ba2 [svn-r26750] HDFFV-8667: h5repack crashes on enumerated 8-bit type nested in compound type.
Added the testing to h5repack where it belongs.
Undo the tests added to h5dump.

Tested: h5committested plus tested in jam by hand.
2015-04-07 13:10:21 -05:00
Mohamad Chaarawi
6fa9f61ae5 [svn-r26746] install_parallel updates. 2015-04-07 10:50:40 -05:00
Binh-Minh Ribler
4275900a7b [svn-r26737] Purpose: Fix daily test failure
Description:
    - In DataType::DataType(const PredType& pred_type), using DataType::copy
    will invoke DataType::close() unnecessarily, which will produce undefined
    behavior.  Changed to call H5Tcopy directly, code reuse is not useful in
    this case.
    - Also, fixed CommonFG::childObjVersion to return expected value outside of
    an if/else block.
Platforms tested:
    Linux/ppc64 (ostrich)
    Linux/64 (platypus)
    Linux/32 2.6 (jam)
2015-04-06 12:46:54 -05:00
Allen Byrne
b9e5e2af4e [svn-r26721] Disable failing test 2015-04-03 13:57:24 -05:00
Allen Byrne
09784944d2 [svn-r26719] Add HL to default components 2015-04-03 13:34:53 -05:00
Albert Cheng
abad30a44d [svn-r26712] Bug fix: cmakehdf5 broken because zlib is no longer configure in by default.
That broke the testings as some testfiles have zlib compressed datasets.

Added options control to enable the linking of zlib external libarary by
default and turn off the szip library linking as szip library may not be
avaiable. This matches the established settings.

Tested: run cmakehdf5 by hand in jam and platypus.
Also tested in wren but it failed in the testing stage.
Also tried "cmakehdf5 --script" in jam. It failed.
2015-04-02 17:36:46 -05:00
Larry Knox
3032f3adf3 [svn-r26711] Recommitting revisions 26669 and 26670, removing VPATH and redundant /usr/include and lib in fcompile and link flags checks, now that I have run reconfigure.
Also changed paths to h5cc, etc. in scripts to run installed examples from relative paths to absolute paths.

Tested with h5committest.
2015-04-02 16:07:53 -05:00
Albert Cheng
33c8035f0e [svn-r26702] HDFFV-8667: h5repack crashes on enumerated 8-bit type nested in compound type.
Description:
The test added failed in some machines because the data file contains infinity values that different machines print them differently as "inf", "INF", "Inf", ...

Solution:
Added a "ignorecase" option to TOOLTEST() to do caseless matching between generated output vs expected output. This solved most machines problem for now.

Tested: h5committest, emu by hand for both development and production modes.
But cmake built h5dump failed to read the data file. Using the same source to build h5dump by autotools produced a h5dump that can read the test data file. Don't know why cmake could not produce a correct binary.
2015-04-01 16:18:18 -05:00
Allen Byrne
99baa66184 [svn-r26699] Generators are only built static 2015-04-01 16:02:43 -05:00
Binh-Minh Ribler
f6d9d1fdc8 [svn-r26695] Purpose: Fixed HDFFV-7947 (cont.)
Description:
    - Put back the UNUSED parameters in dsets test because the change to remove
      the warning last time caused failure in setting filter, in turn, caused
      failure in the test with such obscure/unrelated errors!
    - Added incRefCount() to other constructors that missed from last time.
Platforms tested:
    Linux/64 (platypus)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2015-04-01 13:52:05 -05:00
Allen Byrne
6f03b60c61 [svn-r26693] Remove use of obsolete HDF5_USE_FILTER_{internal} 2015-04-01 13:30:56 -05:00
Allen Byrne
7e183071a5 [svn-r26691] Move attribute define out of dynamic block.
Tested: windows
2015-04-01 09:48:13 -05:00
Neil Fortner
b31a086f3e [svn-r26690] Fix error in H5Sextent_copy
When the selection is set to all, H5Sextent_copy did not update the number of
elements in the selection in the destination space.  Fixed H5Sextent_copy to do
this.  Added tests for this functionality.

Tested: jam, koala, ostrich (h5committest)
2015-04-01 09:22:16 -05:00
Allen Byrne
d28652dacf [svn-r26685] Add new test from test script 2015-03-31 16:42:53 -05:00
Allen Byrne
db2e8ff371 [svn-r26683] Remove internal filter checks 2015-03-31 16:28:44 -05:00
Allen Byrne
e9db2519b5 [svn-r26682] Add new test from test script 2015-03-31 16:16:59 -05:00
Neil Fortner
95983cbdfe [svn-r26680] Implement minor suggestions from 3/26/15 code review.
Note make check still fails in h5dump test (unrelated to this checkin).

Tested: ummon
2015-03-31 15:20:10 -05:00
Mohamad Chaarawi
ccdcbec635 [svn-r26678] add ifdef checks and setting for __attribute__ in a public place to allow usage in
public routines.
2015-03-31 14:54:31 -05:00
Albert Cheng
cf11eef385 [svn-r26677] HDFFV-8957: h52gif crashes when run against one of our own examples
The tool claimed it could handle 24bit images but there was no code to handle it.
(or might be there were but was removed by previous revisions.)
Also discovered that it does not accept multiple images nor -p for palette
as its user document and online help message indicated.

Solution: 
Added code to verify dimension sizes are within 8 bit raster images limit and
added tests to verify the tools correctness.
Need to update user document tool.

Tested: h5committested.
2015-03-31 14:13:34 -05:00
Albert Cheng
6c04e6b03c [svn-r26675] HDFFV-9201: Create md5s for bzip, gzip and zip files
An md5 checksum is produced for each archive created and stored in the md5 file

Tested: jam by hand.
2015-03-31 12:40:43 -05:00
Albert Cheng
f207efd6f3 [svn-r26671] Since cmake always redoes everything from start, I change the logfiles to
start fresh everytime.

Tested: platypus
2015-03-30 23:30:58 -05:00
Larry Knox
306775bc98 [svn-r26670] Remove VPATH and LONE_COLON
Tested with h5committest
2015-03-30 19:05:07 -05:00
Larry Knox
11413003c2 [svn-r26669] Remove code to prevent duplicate includes of /usr/include and /usr/lib.
Tested h5committest
2015-03-30 17:12:39 -05:00
Neil Fortner
904c84b2a2 [svn-r26668] Fix error in H5D__virtual_read/write that prevented short circuit.
Fix off by 1 error in H5S__hyper_project_intersection algorithm.
Add many tests for fixed size hyperslab I/O.
Note make check still fails in h5dump test (unrelated to this checkin).

Tested: ummon
2015-03-30 17:11:58 -05:00
Binh-Minh Ribler
ea029945f5 [svn-r26667] Purpose: Fixed HDFFV-8766
Description:
    Per user Jason Newton request, the following constructor is added:
        H5File(hid_t existing_id);
    Also, fixed H5File::openFile to close current file first before re-using
    the object.
Platforms tested:
    Linux/64 (platypus)
    Linux/32 2.6 (jam gnu and Intel 15.0)
    SunOS 5.11 (emu)
2015-03-30 16:57:37 -05:00
Frank Baker
d2c5e2bf57 [svn-r26665] Description:
Update HDF Group copyright dates to include 2015.
2015-03-30 16:29:58 -05:00
Albert Cheng
88f8a3c11f [svn-r26662] added option to configure support for fortran2003 API.
--enable-fortran2003 | --disable-fortran2003:
  enable or disable fortran2003 API. Default is off.

Tested: by hand in platypus.
2015-03-30 14:32:31 -05:00
Allen Byrne
45577d5693 [svn-r26660] HDFFV-9131: autotols rework
Remove CXX_CONDITIONAL
remove unneeded/obsolete sections.

h5commtitest
2015-03-30 13:55:21 -05:00
Scot Breitenfeld
13980cd69a [svn-r26657] Fix for HDFFV09202.
HDFFV-9202 subroutine VERIFY() fails when checking 8 byte integers in fortran tests

Tested: jam( --enable-fortran2003, gnu)
        koala (--enable-fortran2003, intel)
2015-03-30 13:17:45 -05:00
Binh-Minh Ribler
98d1c2d9a9 [svn-r26655] Purpose: Fixed HDFFV-7947
Description:
    When copy constructor or constructor that takes an existing id is invoked,
    the C ref counter stays the same but there is an extra C++ object which
    later is destroyed and may cause the HDF5 id to be closed prematurely. The
    C++ library needs to increment the ref counter in these situations, so that
    the C library will not close the id when it is still being referenced.

    However, the incrementing of ref count left some objects opened at the end
    of the program, perhaps, due to compiler's optimization on cons/destructors.    The constructor, that takes an existing id, needs to increment the counter
    but it seems that the matching destructor wasn't invoked.  The workaround
    is to have a function for each class that has "id" that only sets the id
    and not increment the ref count for the library to use in these situations.
    These functions are "friend" and not public.

    The friend functions are:
        void f_Attribute_setId(Attribute *, hid_t)
        void f_DataSet_setId(DataSet *, hid_t)
        void f_DataSpace_setId(DataSpace *, hid_t)
        void f_DataType_setId(DataType *, hid_t)
Platforms tested:
    Linux/64 (platypus)
    Linux/32 2.6 (jam gnu and Intel 15.0)
    SunOS 5.11 (emu)
2015-03-30 12:58:44 -05:00
Allen Byrne
d0cea60466 [svn-r26653] Update default settings 2015-03-30 12:03:57 -05:00
Allen Byrne
3d1f7a21b3 [svn-r26652] Update default settings 2015-03-30 11:54:46 -05:00
Mohamad Chaarawi
3dd38a29b1 [svn-r26650] move size_t cast from define of HG_ALIGN to usage of HG_ALIGN. 2015-03-30 10:24:44 -05:00
Mohamad Chaarawi
01093ad350 [svn-r26649] squish warnings. 2015-03-30 10:12:49 -05:00
Quincey Koziol
bf7c3fb670 [svn-r26647] Description:
Bring r26639 from autotools_rework branch to trunk:

    Switch AC_TRY_RUN macros to AC_RUN_IFELSE macros.

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (Daily tested on branch for 2+ days)
2015-03-30 09:45:22 -05:00
Albert Cheng
56fe37c8e6 [svn-r26646] Bug fix: HDFFV-8957 h52gif crashes when run against one of our own examples.
Description: h52gif crashed when it was asked to convert a 24bitimage.
Upon viewing the code, it did not prepare to handle images other than 2 dimensions.
It has no concept of multiple planes images.  Further examinations showed past attempts
to fix it ended up removed some abilities (-p or multiple planes, animation, ...) have
been removed but documentation was not updated. Even its online help message still
shows -p is an option.

Solution: added protection code to flag errors if input request is not an
8bit image within size limits.  (I don't have enough knowledge of the GIF
format to fix this tool. All I did was plugging known bug from crashing the
program.)

Tested: h5committest.
2015-03-30 00:28:13 -05:00
Larry Knox
f617eeb78f [svn-r26645] Revert the part of revision 26642 that is in fortran/test and causes the error "undefined reference to `verify_fortran_integer_4_".
files:
    tH5P_F03.f90
    tf.f90

Tested:  h5committest and several failed daily tests.
2015-03-29 21:32:09 -05:00
Binh-Minh Ribler
39fb0401a0 [svn-r26643] Purpose: Adding new wrappers (HDFFR-9167 partially)
Description:
    Added wrappers for C functions H5P[s/g]et_libver_bounds and wrappers
    for getting object header version

      // Sets bounds on versions of library format to be used when creating
      // or writing objects.
      void setLibverBounds(H5F_libver_t libver_low, H5F_libver_t libver_high) const;

      // Gets the current settings for the library version format bounds.
      void getLibverBounds(H5F_libver_t& libver_low, H5F_libver_t& libver_high) const;

      // Returns the object header version of an object in a file or group,
      // given the object's name.
      unsigned childObjVersion(const char* objname) const;
      unsigned childObjVersion(const H5std_string& objname) const;

Platforms tested:
    Linux/64 (platypus)
    Linux/32 2.6
    SunOS 5.11
2015-03-28 23:37:28 -05:00
Scot Breitenfeld
8e5a71c716 [svn-r26642] Fix for HDFFV09202 and HDFFV-9171.
HDFFV-9171 Configure mistakes Cray Compilers for Intel Compilers,
HDFFV-9202 subroutine VERIFY() fails when checking 8 byte integers in fortran tests 

Tested: h5committest
2015-03-28 15:24:36 -05:00
Larry Knox
ed599421c5 [svn-r26641] configure.ac:
Remove VPATH and related search path syntax checking.
    Remove check for H5_LONE_COLON and checking for lone colon compiler confusion.
tools/h5dump/testh5dumpxml.sh.in
tools/h5dump/CMakeTestsXML.cmake
    Remove test skipping for compilers that were formerly confused by lone colon.

Tested with h5committest.
2015-03-28 09:48:12 -05:00
Binh-Minh Ribler
72d896f709 [svn-r26640] Purpose: Fix bugs
Description:
    - Changed DataType::operator= to simply copy the id of rhs instead of
      calling H5Tcopy because, when the operator= is invoked, a different
      datatype id is created and it won't have the same characteristics as
      rhs', specifically, if the rhs represents a named datatype, "this"
      would still be a transient datatype.
    - Added a DataType constructor that takes a PredType object, and this
      constructor will cause H5Tcopy to generate another datatype id, from a
      predefined datatype.
    - Fixed various mistakes in tests.
Platforms tested:
    Linux/64 (platypus)
    Linux/32 2.6 (jam/gnu and jam/icc 15)
    SunOS 5.11 (emu development/production)
2015-03-27 23:15:43 -05:00
Quincey Koziol
2845400b6d [svn-r26639] Description:
Switch AC_TRY_RUN macros to AC_RUN_IFELSE macros.

Tested on:
    MacOSX/64 10.10.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-03-27 21:21:32 -05:00
Quincey Koziol
6f75afd15e [svn-r26635] Description:
Bring r26651 from autotools_rework branch to trunk:

    Remove the VSNPRINTF_WORKS macro, it's working around bugs in old SGI
& HP compilers.

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (Daily tested on branch for 2+ days)
2015-03-27 19:37:08 -05:00
Quincey Koziol
68decbbc42 [svn-r26634] Description:
Bring r26550 from autotools_rework branch to trunk:

    Remove orphaned macro definitions (not attached to anything in the library)

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (Daily tested on branch for 2+ days)
2015-03-27 17:22:49 -05:00
Neil Fortner
1756ca5c13 [svn-r26633] Add -D_DEFAULT_SOURCE to CPPFLAGS on Linux systems. -D_BSD_SOURCE is deprecated
in recent versions of glibc, and -D_DEFAULT_SOURCE is the replacement.  Keep
-D_BSD_SOURCE for now to support older systems.  gcc will not issue a warning
about -D_BSD_SOURCE being deprecated when -D_DEFAULT_SOURCE is supplied as well.

Tested: jam, koala, ostrich (h5committest)
2015-03-27 17:17:31 -05:00
Quincey Koziol
50d7a32330 [svn-r26632] Description:
Bring r26549 from autotools_rework branch to trunk:

    Remove the BAD_LOG2_CODE_GENERATED macro/define, it's working around bugs
in old SGI compilers.

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (Daily tested on branch for 2+ days)
2015-03-27 17:17:24 -05:00
Scot Breitenfeld
ff1c86df14 [svn-r26631] reverted change r26629 2015-03-27 17:16:49 -05:00
Scot Breitenfeld
d494d7b3b9 [svn-r26629] Fix for HDFFV09202 and HDFFV-9171.
HDFFV-9171 Configure mistakes Cray Compilers for Intel Compilers,
HDFFV-9202 subroutine VERIFY() fails when checking 8 byte integers in fortran tests 

Tested: h5committest
2015-03-27 17:10:24 -05:00
Quincey Koziol
b96e13a7e3 [svn-r26627] Description:
Bring r26545 from autotools_rework branch to trunk:

    Remove the WANT_DATA_ACCURACY macro/define/configure option, since it's no
longer attached to any library behavior.

Tested on:
    Linux/32 2.6.8 (jam) w/serial & parallel
    (Daily tested on branch for 2+ days)
2015-03-27 16:30:14 -05:00
Quincey Koziol
c2472b4d00 [svn-r26625] Description:
Bring r26543 from autotools_rework branch to trunk:

    Remove the LLONG_TO_LDOUBLE_CORRECT macro/define, it's working around
bugs in very old SGI/FreeBSD/Windows compilers.

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (Daily tested on branch for 2+ days)
2015-03-27 15:50:44 -05:00
Quincey Koziol
79f59eaf4d [svn-r26623] Description:
Bring r26513 from autotools_rework branch to trunk:

    Remove the LDOUBLE_TO_LLONG_ACCURATE macro/define, it's working around
bugs in older SGI, HP/UX, MacOSX and Windows .NET 2003 compilers.

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (Daily tested on branch for 2+ days)
2015-03-27 15:11:12 -05:00
Quincey Koziol
f7386e173c [svn-r26622] Description:
Bring r26546 from autotools_rework branch to trunk:

    Convert AC_TRY_RUN to AC_RUN_IFELSE, for the LDOUBLE_TO_LONG_SPECIAL and
LONG_TO_LDOUBLE_SPECIAL checks.

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (Daily tested on branch for 2+ days)
2015-03-27 14:33:41 -05:00
Quincey Koziol
463be445ed [svn-r26621] Description:
Correct AC_RUN_IFELSE macros.

Tested on:
    PPC Linux/64 (ostrich)
2015-03-27 14:30:33 -05:00
Quincey Koziol
e30b4b17cf [svn-r26618] Description:
Bring r26511 from autotools_rework branch to trunk:

    Remove the FP_TO_INTEGER_OVERFLOW_WORKS macro/define, which is for working
around bugs in the Cray X1 compiler and is no longer supported.

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (Daily tested on branch for 2+ days)
2015-03-27 11:34:08 -05:00
Scot Breitenfeld
037f8104e8 [svn-r26616] Removed reference to grpit.f90 since it was removed. 2015-03-27 10:40:55 -05:00
Allen Byrne
538be8f847 [svn-r26612] Fix missing endif 2015-03-27 09:38:13 -05:00
Allen Byrne
e270981617 [svn-r26611] Remove complete section of VIRTUAL output. 2015-03-27 09:23:24 -05:00
Elena Pourmal
e26999516d [svn-r26609] Neil fixed a bug that caused a failure when a source file was closed. Removed comments from the
example.
Tested on jam.
2015-03-26 17:03:45 -05:00
Allen Byrne
eafd204b2d [svn-r26607] Correct test of plugin read when disabled to not print FAILURE when successful 2015-03-26 14:24:25 -05:00
Quincey Koziol
c4ec20a6de [svn-r26606] Description:
Bring r26508 from autotools_rework branch to trunk:

    Remove HW_FP_TO_LLONG_NOT_WORKS macro/define, it was only addressing
Windows .NET 2003 compiler issues.

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (Daily tested on branch for 2+ days)
2015-03-26 14:13:13 -05:00
Quincey Koziol
39373fbabb [svn-r26605] Description:
Bring r26503 & r26528 from autotools_rework branch back to the trunk:

    Remove old platform configure files: craynv, dec-flags, hpux11.23,
ia64-linux-gnu, nec-superux14.1, sv1-cray, x86_64-redstorm-linux-gnu

   Also remove CONVERT_DENORMAL_FLOAT, since this was only set in the
configure files being removed.

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (Daily tested on branch for 2+ days)
2015-03-26 13:34:11 -05:00
Allen Byrne
f3dd294ff2 [svn-r26604] Add component aware configuration 2015-03-26 12:26:03 -05:00
Quincey Koziol
c8a5172968 [svn-r26602] Description:
Bring r26502 from autotools_rework branch to trunk:

    Remove the H5_SW_ULONG_TO_FP_BOTTOM_BIT_WORKS and
H5_FP_TO_ULLONG_BOTTOM_BIT_WORKS macros/defines, as they are no longer used by
supported platforms.

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (Daily tested on branch for 2+ days)
2015-03-26 12:02:13 -05:00
Quincey Koziol
90cc5df290 [svn-r26598] Description:
Bring r26501 from the autotools_rework branch to the trunk:

    Remove ULLONG_TO_LDOUBLE_PRECISION macro/define, as it's targeting bugs
in the FreeBSD and Cygwin compilers.

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (Daily tested on branch for 2+ days)
2015-03-25 22:05:30 -05:00
Quincey Koziol
27dd4e0f05 [svn-r26597] Description:
Bring r26500 from autotools_rework branch to trunk:

    Remove the LLONG_TO_FP_CAST_WORKS macro/define, as it targets problems with
the Visual Studio 6 compilers.

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (Daily tested on branch for 2+ days)
2015-03-25 21:25:32 -05:00
Quincey Koziol
b03d04742d [svn-r26596] Description:
Bring r26499 from autotools_rework branch to trunk:

    Remove ULLONG_TO_FP_CAST_WORKS macro/define, as it only applies to older
platforms we aren't supporting any longer.

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (Daily tested on branch for 2+ days)
2015-03-25 20:47:41 -05:00
Quincey Koziol
c622cc7b38 [svn-r26595] Description:
Bring r26494 from autotools_rework branch back to trunk:

    Remove the LDOUBLE_TO_UINT_ACCURATE macro/define, it was addressing
problems with older Intel compilers on Linux that are no longer supported.

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (Daily tested on branch for several days)
2015-03-25 17:11:19 -05:00
Allen Byrne
451a91e53b [svn-r26594] Merge macros and fortran changes from dual_binary feature.
Tested: local linux
2015-03-25 17:08:46 -05:00
Quincey Koziol
d3114a96da [svn-r26591] Description:
Bring r26492 from autotools_rework branch back to trunk:

    Remove the FP_TO_ULLONG_ACCURATE and FP_TO_ULLONG_RIGHT_MAXIMUM
macros/defines, which were added to address problems with older PGI
compilers and HP-UX systems and are no longer supported.

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (daily tested on branch for >1 week)
2015-03-25 16:33:48 -05:00
Quincey Koziol
597c3c089b [svn-r26587] Description:
Bring r26489 from autotools_rework branch to trunk:

    Remove the ULONG_TO_FP_BOTTOM_BIT_ACCURATE macro/define, as it was added
for SGI systems and old Solaris systems, which are no longer supported.

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (Daily tested for >1 week)
2015-03-25 14:54:36 -05:00
Quincey Koziol
e89290b777 [svn-r26584] Description:
Bring r26485 from the autotools_rework branch to the trunk:

    Remove the ULONG_TO_FLOAT_ACCURATE macro/define, we no longer support the
Sandia system where it was necessary.

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (daily tested for >1 week)
2015-03-25 14:12:00 -05:00
Scot Breitenfeld
299deb64fb [svn-r26575] Removed compiler warning for hl/tools and hl/src.
HDF5-250 and HDF5-241

tested: h5committest
2015-03-25 10:25:59 -05:00
Elena Pourmal
1180e6f96d [svn-r26570] Commented lineis that print extra "VIRTUAL" keyword and blank lines for demo on 3/25/2015. Allen will need to review it. 2015-03-24 23:08:59 -05:00
Elena Pourmal
1f9bf8d63b [svn-r26568] Simplified percival example. 2015-03-24 18:42:14 -05:00
Elena Pourmal
dd0e7540b6 [svn-r26567] h5dump was nopt displaying source selection correctly due to a type; fixed. 2015-03-24 18:31:00 -05:00
Neil Fortner
1583b1b729 [svn-r26566] Fix error in H5S__hyper_project_intersection algorithm.
Note there are still some code coverage assertions in the selection matching
algorithm - if you hit these try taking them out.
Note make check still fails in h5dump test (unrelated to this checkin).

Tested: ummon
2015-03-24 18:23:18 -05:00
Elena Pourmal
b8551d25cc [svn-r26565] Since fill values for VDS do not work at this point initialized the read buffer to show
that VDS data is read correctly, leaving unmapped data untouched.

Tested on jam.
2015-03-24 18:02:37 -05:00
Elena Pourmal
dd5a137083 [svn-r26564] Modified related files after adding example/h5_vds-percival.c
Tested on jam.
2015-03-24 17:56:24 -05:00
Elena Pourmal
1df431a1f4 [svn-r26563] Added new percival example to MANFEST. 2015-03-24 17:44:43 -05:00
Elena Pourmal
f7c38d0a2d [svn-r26562] Added examples for percival use case. 2015-03-24 17:43:43 -05:00
Quincey Koziol
460b629e03 [svn-r26560] Description:
Bring r26483 from autotools_rework branch back to trunk:

    Remove INTEGER_TO_LDOUBLE_ACCURATE macro/define - we no longer support
SGI systems.

Tested on:
    Linux/32 2.6.18 (jam) w/serial & parallel
    (daily tested on branch for >1 week)
2015-03-24 17:06:27 -05:00
Neil Fortner
e0db90bcc4 [svn-r26559] Fix error in H5S_extent_copy (needs testing) - would not patch number of
elements selected with "all" slections nor reset sharing state.
Fix error in H5S__hyper_project_intersection algorithm.
Note there are still some code coverage assertions in the selection matching
algorithm - if you hit these try taking them out.
Note make check still fails in h5dump test (unrelated to this checkin).

Tested: ummon
2015-03-24 16:56:52 -05:00
Elena Pourmal
13299383ea [svn-r26557] Removed commented VDS read code. tested on jam. 2015-03-24 15:21:53 -05:00
Quincey Koziol
61b5fa8e2d [svn-r26551] Description:
Remove the VSNPRINTF_WORKS macro, it's working around bugs in old SGI
& HP compilers.

Tested on:
    MacOSX/64 10.10.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-03-23 17:16:28 -05:00
Quincey Koziol
b424ce1b3f [svn-r26550] Description:
Remove orphaned macro definitions (not attached to anything in the library)

Tested on:
    MacOSX/64 10.10.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-03-23 17:01:31 -05:00
Quincey Koziol
9c07c94448 [svn-r26549] Description:
Remove the BAD_LOG2_CODE_GENERATED macro/define, it's working around bugs
in old SGI compilers.

Tested on:
    MacOSX/64 10.10.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-03-23 16:57:09 -05:00
Quincey Koziol
51fd9e31a6 [svn-r26546] Description:
Convert AC_TRY_RUN to AC_RUN_IFELSE, for the LDOUBLE_TO_LONG_SPECIAL and
LONG_TO_LDOUBLE_SPECIAL checks.

Tested on:
    MacOSX/64 10.10.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-03-23 15:31:39 -05:00
Quincey Koziol
96690845c1 [svn-r26545] Description:
Remove the WANT_DATA_ACCURACY macro/define/configure option, since it's no
longer attached to any library behavior.

Tested on:
    MacOSX/64 10.10.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-03-23 15:00:41 -05:00
Quincey Koziol
fe435e3dd4 [svn-r26543] Description:
Remove the LLONG_TO_LDOUBLE_CORRECT macro/define, it's working around
bugs in very old SGI/FreeBSD/Windows compilers.

Tested on:
    MacOSX/64 10.10.2 (amazon) w/serial & parallel
    (h5committest not needed on this branch)
2015-03-23 14:50:39 -05:00
Allen Byrne
92b1916151 [svn-r26542] Package vars should use uppercase prefix 2015-03-23 14:45:58 -05:00
Scot Breitenfeld
25aa1845e6 [svn-r26541] fixed array bounds starting from zero in H5Pff.f90 routines.
Tested: h5committest
2015-03-23 12:58:57 -05:00
Allen Byrne
410e8fe31a [svn-r26539] Update minimum cmake version 2015-03-23 12:57:26 -05:00
Allen Byrne
5f7e9fcf3b [svn-r26536] Add INSTALL_TYPES to packaging for defaults 2015-03-23 12:44:07 -05:00
Allen Byrne
1180b57990 [svn-r26530] Add back Windows dll export define 2015-03-23 12:01:51 -05:00
Quincey Koziol
7bfec19a02 [svn-r26528] Description:
Remove configure files.
2015-03-23 11:18:48 -05:00
Jerome Soumagne
245f874eb1 [svn-r26526] Merge r26524 from autotools_rework branch
Remove SETX variable from Makefile.am/Makefile.in

Part of: HDFFV-9164
2015-03-23 11:05:44 -05:00
Jerome Soumagne
2db29f6013 [svn-r26524] Remove SETX variable from Makefile.am
Part of: HDFFV-9164
2015-03-23 10:50:04 -05:00
Vailin Choi
4de770788f [svn-r26514] Fix for HDFFV-9173:
H5Pset_istore_k() will validate the "ik" value to not exceed the max v1 btree entries (2 bytes)
The same check for H5Pset_sym_k()  "ik" value.
h5committested.
2015-03-20 17:37:17 -05:00
Quincey Koziol
105b8b93a0 [svn-r26513] Description:
Remove the LDOUBLE_TO_LLONG_ACCURATE macro/define, it's working around
bugs in older SGI, HP/UX, MacOSX and Windows .NET 2003 compilers.

Tested on:
    MacOSX/64 (amazon) 10.10.2 w/serial & parallel
    (h5committest not required on this branch)
2015-03-20 17:18:02 -05:00
Scot Breitenfeld
23afd10544 [svn-r26512] Reverted changed 26488 and 26477
Tested: h5committest
2015-03-20 16:48:41 -05:00
Quincey Koziol
4f18b095d8 [svn-r26511] Description:
Remove the FP_TO_INTEGER_OVERFLOW_WORKS macro/define, which is for working
around bugs in the Cray X1 compiler and is no longer supported.

Tested on:
    MacOSX/64 10.10.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-03-20 16:46:56 -05:00
Jerome Soumagne
1cd7c16a9d [svn-r26509] Run reconfigure after merges from autotools_rework branch. 2015-03-20 14:15:51 -05:00
Quincey Koziol
57393bc048 [svn-r26508] Description:
Remove HW_FP_TO_LLONG_NOT_WORKS macro/define, it was only addressing
Windows .NET 2003 compiler issues.

Tested on:
    MacOSX/64 10.10.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-03-20 14:08:33 -05:00
Jerome Soumagne
69ba270936 [svn-r26507] Merge r26437 from autotools_rework branch.
Remove DYNAMIC_DIRS variable from configure.ac.

Does not seem to be used anymore.
2015-03-20 14:06:57 -05:00
Jerome Soumagne
b184d919a6 [svn-r26506] Merge r26436 from autotools_rework branch.
Remove GNU make check from configure.ac
2015-03-20 14:05:47 -05:00
Jerome Soumagne
8a1d1b24cf [svn-r26505] Merge r26435 from autotools_rework branch.
Remove DEFAULT_LIBS from configure.ac and irix6.x config file which
was using it.

Remove references to IRIX/irix* platform.
2015-03-20 14:04:30 -05:00
Jerome Soumagne
aad3aa7856 [svn-r26504] Merge r26434 from autotools_rework branch.
Fix heading info in configure.ac
2015-03-20 14:01:59 -05:00
Quincey Koziol
7dae7ce0b9 [svn-r26503] Description:
Remove old platform configure files: craynv, dec-flags, hpux11.23,
ia64-linux-gnu, nec-superux14.1, sv1-cray, x86_64-redstorm-linux-gnu

    Also remove CONVERT_DENORMAL_FLOAT, since this was only set in the
configure files being removed.

Tested on:
    MacOSX/64 10.10.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-03-20 13:50:07 -05:00
Quincey Koziol
54ce768076 [svn-r26502] Description:
Remove the H5_SW_ULONG_TO_FP_BOTTOM_BIT_WORKS and
H5_FP_TO_ULLONG_BOTTOM_BIT_WORKS macros/defines, as they are no longer used by
supported platforms.

Tested on:
    MacOSX/64 10.10.x (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-03-20 12:54:34 -05:00
Quincey Koziol
3344302a1e [svn-r26501] Desscription:
Remove ULLONG_TO_LDOUBLE_PRECISION macro/define, as it's targeting bugs
in the FreeBSD and Cygwin compilers.

Tested on:
    MacOSX/64 10.10.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-03-20 12:05:00 -05:00
Quincey Koziol
b08160e38b [svn-r26500] Description:
Remove the LLONG_TO_FP_CAST_WORKS macro/define, as it targets problems with
the Visual Studio 6 compilers.

Tested on:
    MacOSX/64 10.10.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-03-20 11:43:35 -05:00
Quincey Koziol
44c8f498e5 [svn-r26499] Description:
Remove ULLONG_TO_FP_CAST_WORKS macro/define, as it only applies to older
platforms we aren't supporting any longer.

Tested on:
    MacOSX/64 10.10.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-03-20 11:30:33 -05:00
Allen Byrne
851a0dcfaf [svn-r26497] minor corrections noticed in 1.8 should be in trunk as well 2015-03-20 10:40:30 -05:00
Quincey Koziol
9fb399b3d2 [svn-r26495] Description:
Bring r26258 from the autotools_rework branch to the trunk - remove
the LDOUBLE_TO_INTEGER_WORKS macro/define, which was addressing issues with
SGI systems that are no longer supported.

Tested on:
    Linux 2.6.x (jam) w/serial & parallel
    Daily tested on branch for >2 weeks
2015-03-19 17:22:06 -05:00
Quincey Koziol
54e68fe689 [svn-r26494] Description:
Remove the LDOUBLE_TO_UINT_ACCURATE macro/define, it was addressing
problems with older Intel compilers on Linux that are no longer supported.

Tested on:
    MacOSX/64 10.10.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-03-19 17:12:58 -05:00
Quincey Koziol
d63acf93b9 [svn-r26492] Description:
Remove the FP_TO_ULLONG_ACCURATE and FP_TO_ULLONG_RIGHT_MAXIMUM
macros/defines, which were added to address problems with older PGI
compilers and HP-UX systems and are no longer supported.

Tested on:
    MacOSX/64 10.10.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-03-19 16:59:19 -05:00
Quincey Koziol
5329a7d6f1 [svn-r26491] Description:
Bring r26257 from autotools_rework branch back to the trunk - removes
the LDOUBLE_TO_INTEGER_ACCURATE macro/define, which was addressing problems
with SGI systems and is no longer supported.

Tested on:
    Linux 2.6.x/32 (jam) w/serial & parallel
    Daily tested on branch for >2 weeks.
2015-03-19 16:52:50 -05:00
Allen Byrne
9501c16857 [svn-r26490] Remove unused defines 2015-03-19 16:37:04 -05:00
Quincey Koziol
cea7454bef [svn-r26489] Description:
Remove the ULONG_TO_FP_BOTTOM_BIT_ACCURATE macro/define, as it was added
for SGI systems and old Solaris systems, which are no longer supported.

Tested on:
    Mac OSX/64 10.10.2 (amazon) w/serial & parallel
    (h5committest not required)
2015-03-19 16:34:30 -05:00
Scot Breitenfeld
d75a6763ec [svn-r26488] Updated developers notes due to the removal of COMMON and EQUIVALANCE and how everything is now put together.
Not tested, comments only.
2015-03-19 16:09:42 -05:00
Quincey Koziol
74dc896691 [svn-r26485] Description:
Remove the ULONG_TO_FLOAT_ACCURATE macro/define, we no longer support the
Sandia system where it was necessary.

Tested on:
    Mac OSX 10.10.2 (amazon) w/serial & parallel
    (h5committest not necessary on this branch)
2015-03-19 15:33:57 -05:00
Quincey Koziol
cac405283f [svn-r26483] Description:
Remove INTEGER_TO_LDOUBLE_ACCURATE macro/define - we no longer support
SGI systems.

Tested on:
    Mac OSX/64 10.10.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-03-19 15:15:45 -05:00
Neil Fortner
43dec53436 [svn-r26482] Opening source files now reuses the flags from the virtual file.
Added tests for I/O on virtual dataset with source datasets in unopened files.
Note there are still some code coverage assertions in the selection matching
algorithm - if you hit these try taking them out.
Note make check still fails in h5dump test (unrelated to this checkin).

Tested: ummon
2015-03-19 15:04:36 -05:00
Scot Breitenfeld
c26d21bb63 [svn-r26481] Removed compiler warnings. HDF5-239
Tested: h5committest.
2015-03-19 14:14:19 -05:00
Allen Byrne
db64e76056 [svn-r26480] Correct find package var name 2015-03-19 13:30:00 -05:00
Scot Breitenfeld
8f8cbb6225 [svn-r26479] Fix for: HDFFV-9162
h5pget_class_f should return hid_t for classtype

Also removed all left over C comment artifacts /* and */ in the Fortran comments.

Tested: h5committest
2015-03-19 12:11:47 -05:00
Scot Breitenfeld
c2c3294c21 [svn-r26477] Removed COMMON and EQUIVALENCE usage from Fortran Source.
Also removed disabling shared when building Fortran on the Mac. 
These fixes should fix all the building shared with Fortran problems. HDF5-247

Also fixes array bounds starting from zero in H5Pff.f90 routines.

Tested: h5committest
2015-03-19 10:38:27 -05:00
Neil Fortner
4cfe53284b [svn-r26476] Add support for I/O in all cases with fixed size datasets and no point
selections.
Add source dataspace extent patching (should allow closing the source file).
Note fill values and various other features are not yet supported.
Note there are still some code coverage assertions in the selection matching
algorithm - if you hit these try taking them out.
Note make check still fails in h5dump test (unrelated to this checkin).

Tested: ummon
2015-03-18 16:53:49 -05:00
Allen Byrne
83beaf7e76 [svn-r26475] packaging cleanup and defaults 2015-03-18 16:17:59 -05:00
Allen Byrne
5c32711280 [svn-r26472] Remove duplicate src dir 2015-03-18 10:31:23 -05:00
Neil Fortner
424826d0dd [svn-r26469] INCOMPLETE, UNWORKING CODE
Commit progress through 3/17/15
2015-03-17 15:02:05 -05:00
Allen Byrne
e5d4692a97 [svn-r26465] Merge back from DB branch; cmake defaults and compressed examples 2015-03-17 13:59:19 -05:00
Allen Byrne
17f78f8469 [svn-r26463] static builds do not have dlls needed for the path 2015-03-17 09:11:50 -05:00
Binh-Minh Ribler
96c424d8bc [svn-r26462] Description:
Fixed typo that caused failure on Windows.
Platforms tested:
    Linux/32 2.6 (jam)
2015-03-16 18:23:16 -05:00
HDF Tester
ead7273c2c [svn-r26459] Snapshot version 1.9 release 215 2015-03-15 06:08:23 -05:00
Binh-Minh Ribler
3b90bca561 [svn-r26458] Purpose: Fix warnings HDFFV-8658
Description:
    Fixed many type conversion warnings and unused variables.
Platforms tested:
    Linux/64 (platypus)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2015-03-15 01:49:20 -05:00
Binh-Minh Ribler
a382658282 [svn-r26457] Purpose: Fix warnings HDFFV-8658
Description:
    The following two constructors of classes: AbstractDs, IdComponent,
    H5Location, and H5Object are no longer appropriate after the data member
    "id" had been moved from IdComponent to the sub-classes.

    The copy constructors are noop and will be generated by the compilers if
    needed so they can be removed in 1.8.15 without effecting applications. The
    other constructors will be removed from 1.10 release, and then from 1.8 if
    their removal does not raise any problems in at least two 1.10 releases.

    <Classname>(const hid_t h5_id);
    <Classname>(const <Classname>& original);

    Deprecation warnings are added to each of these classes.

    The other classes are changed to call the default constructor instead of
    one of the constructors above.
Platforms tested:
    Linux/64 (platypus)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2015-03-15 01:47:56 -05:00
Binh-Minh Ribler
66a7cc1289 [svn-r26456] Purpose: Fix warnings HDFFV-8658
Description:
    Fixed base classes that were in wrong order on the prototype lines and
    some misc. warnings.
Platforms tested:
    Linux/64 (platypus)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2015-03-15 01:45:24 -05:00
Binh-Minh Ribler
f9fe5b4c32 [svn-r26455] Purpose: Fix warnings HDFFV-8658
Description:
    Parameter had the same name as the class' member's.  Replaced parameter
    with a different name.
Platforms tested:
    Linux/64 (platypus)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2015-03-15 01:43:56 -05:00
Binh-Minh Ribler
447d7ebae9 [svn-r26454] Purpose: Fix warnings HDFFV-8658
Description:
    Missing initializing one of the base classes in multiple inheritance.
    Added CommonFG() to constructors' prototype.

Platforms tested:
    Linux/64 (platypus)
    Linux/32 2.6 (jam)
    SunOS 5.11 (emu)
2015-03-15 01:42:32 -05:00
Scot Breitenfeld
2d6a979b25 [svn-r26452] Fixed formatting of copyright. 2015-03-13 13:48:10 -05:00
Allen Byrne
66a9948e65 [svn-r26442] Removed blank line and fixed ALL output 2015-03-12 17:29:59 -05:00
Allen Byrne
4edde43ae5 [svn-r26440] Added new structure, removed ";", used static hyperslab arrays. 2015-03-12 16:22:48 -05:00
Larry Knox
ae9069e469 [svn-r26439] Remove configure checks for redundant -I/usr/include and -L/usr/lib additions.
Tested jam, emu, ostrich, koala, platypus, quail.
2015-03-12 09:38:41 -05:00
Dana Robinson
7659506fa8 [svn-r26438] Fixed some double promotion warnings from gcc 4.9.2. Most were in
format strings.

Tested on: h5committest
2015-03-11 17:51:14 -05:00
Jerome Soumagne
5fcf92e006 [svn-r26437] Remove DYNAMIC_DIRS variable from configure.ac.
Does not seem to be used anymore.
2015-03-11 17:47:09 -05:00
Jerome Soumagne
a7dcecd46c [svn-r26436] Remove GNU make check from configure.ac 2015-03-11 16:09:11 -05:00
Jerome Soumagne
9379314551 [svn-r26435] Remove DEFAULT_LIBS from configure.ac and irix6.x config file which
was using it.

Remove references to IRIX/irix* platform.
2015-03-11 15:15:25 -05:00
Jerome Soumagne
9eeb037725 [svn-r26434] Fix heading info 2015-03-11 11:43:00 -05:00
Allen Byrne
e1fed18477 [svn-r26431] Add new example (reorder to match closer to makefile) 2015-03-11 09:25:20 -05:00
Dana Robinson
77f1054b3d [svn-r26429] Merge of r26393-26428 from the trunk.
Tested w/ h5committest
2015-03-11 04:59:37 -05:00
Dana Robinson
88ac8e8929 [svn-r26428] Merge of r26424 from the autotools_rework branch.
Made the chkmanifest script a little more sh-friendly.

Tested: Manually on jam by modifying svn-controlled files
2015-03-11 01:40:54 -05:00
Dana Robinson
52607ae900 [svn-r26427] Revert of r26426
The repository wasn't clean when I made some changes so untested
code was committed.
2015-03-11 01:39:48 -05:00
Dana Robinson
3ed20376e0 [svn-r26426] Merge of r26424 from the autotools_rework branch.
Made the chkmanifest script a little more sh-friendly.

Tested: Manually on jam by modifying svn-controlled files
2015-03-11 01:35:51 -05:00
Dana Robinson
52896a9f01 [svn-r26424] Made the chkmanifest script a little more sh-friendly.
Tested on: Manually on local Linux by modifying svn-controlled
           files.
2015-03-11 01:30:41 -05:00
Dana Robinson
9afdf275f8 [svn-r26423] Made the thread-safe + high-level library combination "unsupported".
A detailed error message is emitted if this combination is attempted.
Builders can use --enable-unsupported to build the combo.

Note that default builds will now need to use --disable-hl with
--enable-threadsafe since the high-level library is built by default. 

Part of: HDFFV-8719

Tested on: Local Linux w/ various combinations of configure options.
2015-03-10 23:59:20 -05:00
Dana Robinson
bdb7ec3497 [svn-r26422] Fixes autogen.sh errors caused by r26410 that produced:
CXX_SHARED_CONDITIONAL does not appear in AM_CONDITIONAL

This was due to a removed AM_CONDITIONAL macro in configure.ac.

The CXX_SHARED_CONDITIONAL code was removed from the Makefile.am
files. Additionally, the C++ shared library build settings field in 
libhdf5.settings file was updated.

Tested on: local linux VM w/ C++
           --enable-shared      --enable-static
           --enable-shared      --disable-static
           --disable-shared     --enable-static
2015-03-10 22:49:12 -05:00
Elena Pourmal
2c365915e1 [svn-r26421] This is Neils' change exposed when I ran bin/reconfigure for examples. 2015-03-10 17:16:48 -05:00
Elena Pourmal
ca2a0b80c5 [svn-r26420] Added new example for simple I/O. Modified other examples according to the suggestion in H5VDS-7 (see VDS-178) 2015-03-10 17:15:20 -05:00
Allen Byrne
92d7b82d61 [svn-r26418] Fix initial indent for selection_all 2015-03-10 15:53:57 -05:00
Scot Breitenfeld
04a3b2a458 [svn-r26417] Removed compiler warnings from HL. HDF5-237
Tested: h5committest
2015-03-10 14:02:41 -05:00
Allen Byrne
89da5458b6 [svn-r26415] Fix script mode 2015-03-10 11:43:37 -05:00
Dana Robinson
47bb12bc82 [svn-r26412] Merge of r26081-2, 26226, and 26399 from the autotools rework branch.
Various tweaks for autotools thread-safety and Pthreads support.

- Moved the check for pthread_attr_setscope() into the thread-safe
  checks section. Documented its necessity and added a cross-compiling
  option and helpful comment.

- Moved the high-level library checks up to the same place where
  Fortran and C++ are checked. This will make it easier to handle
  threadsafe/high-level combinations later.

- Also changed the default of --enable-pthread to 'check', which is
  the same as the old 'yes' behavior where we just check the standard
  locations. 'yes' and 'no' are still accepted, though 'no' will
  currently produce an error since the autotools only support Pthreads.

Fixes: HDFFV-9087

Tested on: h5committest
           jam (w/ threadsafe)
2015-03-09 22:35:13 -05:00
Neil Fortner
bfc69905ac [svn-r26411] Add support for I/O in very simple cases (virtual mapping and file space are
both H5S_ALL).
Note make check  fails in h5dump test (unrelated to this checkin).

Tested: ummon
2015-03-09 16:59:50 -05:00
Allen Byrne
50f6da2062 [svn-r26410] HDFFV-9131: remove obsolete functions and other small changes 2015-03-09 16:55:43 -05:00
Dana Robinson
5aa5ed84da [svn-r26408] Missed an H5_HAVE_FILTER_SHUFFLE line.
Part of: HDFFV-9086

Tested on: jam (minor change)
2015-03-09 15:12:18 -05:00
Scot Breitenfeld
31ffa03914 [svn-r26405] Removed compiler warnings, hl/examples:
HDF5-237

tested: h5committest
2015-03-09 13:45:44 -05:00
Allen Byrne
64f65d96d9 [svn-r26403] changes to comments and test should use unsigned var. 2015-03-09 11:21:56 -05:00
Elena Pourmal
1f4f709e8c [svn-r26401] Fixed warnings in the C stubs for Fortran wrappers. See Crucible review HDF5-238.
Tested on platypus with gcc/gfortran 4.9.2, jam and emu with the default compilers.
2015-03-09 10:51:09 -05:00
Dana Robinson
2f77d8c5ea [svn-r26399] Converted an AC_TRY_RUN macro to an AC_RUN_IFELSE macro.
Used with checking Pthread scope.

Part of: HDFFV-9087

Tested on: Local Linux w/ thread-safety enabled
2015-03-09 07:50:27 -05:00
Dana Robinson
42eee37a26 [svn-r26397] Manually added flex/bison warning disable pragmas from r26351
from the trunk.

Fixes: HDFFV-9149

Tested on: jam
    - examined gcc 4.9.2 output for warnings
    - ran 'make check' in hl directory
2015-03-09 04:19:48 -05:00
Dana Robinson
ce19753d87 [svn-r26396] Merge of r26349-26392 from the trunk.
Tested on: h5committest
2015-03-09 03:47:16 -05:00
Dana Robinson
2a4ea9b24e [svn-r26392] Reinstates r26327-8, which had been reverted due to failures on
Solaris and OS X.

Added public API functions that expose the C library's memory allocator
for use in filter functions that need to allocate or resize buffers.

Intended for use with filter plugins, particularly on Windows, where C
runtime (CRT) issues can cause problems.

Fixes: HDFFV-9100

Tested on: h5committest + OS X (quail) + Solaris (emu)
2015-03-08 19:41:54 -05:00
Larry Knox
63bd09ec8b [svn-r26389] Revision 26387 failed with configure option --with-default-api-version=v16.
Changed H5Dcreate() to H5Dcreate2 in test/trefer.c line 633.

Tested with h5committest and with --with-default-api-version=v16 on platypus.
2015-03-08 12:06:02 -05:00
Mohamad Chaarawi
89ffc9f2d7 [svn-r26387] warning fixes from Feb27. 2015-03-06 14:53:23 -05:00
Allen Byrne
9cdf806eec [svn-r26383] Add MAPPING to VDS output 2015-03-06 12:53:56 -05:00
Mike McGreevy
84f0d4735a [svn-r26382] Merge r26289 from autotools_rework branch to trunk:
Purpose:

    Fix HDFFV-9124 - Remove old libtool post-processing
    
Description:
 
    This revision removes some post-processing of the generated libtool
    script, which was added back in 2003 (see svn revisions 6285 and 6293)
    to address a deficiency in which the script failed to set the '$wl'
    variable for icc and pgcc compilers. Libtool has since fixed the issue,
    and the post-processing we've been running has essentially been a no-op
    for years, so it's safe for us to remove the post-processing snippet.
    
Tested:

    Jam using pgcc and icc compilers.
2015-03-06 11:16:04 -05:00
Allen Byrne
ec2e071c00 [svn-r26380] Recapture updated error files for h5dump tests 2015-03-06 08:53:42 -05:00
Elena Pourmal
802fac804d [svn-r26376] Added new examples for fixed-size Excalibur and for Eiger use cases. Fixed several typos.
Tested on jam.
2015-03-05 18:04:57 -05:00
Jerome Soumagne
19fa03d5a8 [svn-r26375] Print number of times sigill_handler is called in H5detect.
Part of: HDFFV-8857
2015-03-05 17:46:07 -05:00
Jerome Soumagne
967c265541 [svn-r26374] Add CMake conversion test for H5_LONG_TO_LDOUBLE_SPECIAL and
H5_LDOUBLE_TO_LONG_SPECIAL (imported from configure.ac).

Fixes: HDFFV-8936

Tested on: ostrich
2015-03-05 17:26:08 -05:00
Scot Breitenfeld
ca0a4d24b6 [svn-r26373] Fix for HDFFV-7959:
H5Rdereference should check for default (HADDR_UNDEF) value and not continue processing and return so that ret value can be checked and handled properly 

Tested: jam (gnu)
2015-03-05 16:42:42 -05:00
Allen Byrne
61dcc807af [svn-r26367] HDFFV-8520: Add plugin control APIs. 2015-03-05 11:38:14 -05:00
Allen Byrne
63e3db6497 [svn-r26366] Update windows wix cpack process. 2015-03-05 11:36:39 -05:00
Allen Byrne
5be5a4d832 [svn-r26365] HDFFV-8520: Add plugin control APIs.
Update windows WiX packaging.

h5committested
2015-03-05 11:09:22 -05:00
Dana Robinson
da1bfda645 [svn-r26363] Partial revert of r26347.
Since off_t is exposed by the C API, the large file definitions MUST
be exposed so that client code matches the library.

These definitions have been switched back to AM_CPPFLAGS, which is
exported to h5cc, etc. The POSIX and GNU definitions changes from
r26347 have been left as using H5_CPPFLAGS, which is not sent to
h5cc as we don't want to inflict our needs on external users.

Fixes: HDFFV-9152

Tested on: h5committest
2015-03-04 17:01:37 -05:00
Allen Byrne
b3c3c8ea72 [svn-r26361] Added check for unlimited to count/block print selection 2015-03-04 14:14:50 -05:00
Elena Pourmal
e2175fd0ca [svn-r26360] Modified CMake files to accomodate new h5_vds-exc.c example. 2015-03-04 12:29:29 -05:00
Elena Pourmal
3c9c263e5a [svn-r26359] Added h5_vds-exc.c to misc. files and ran bin/reconfigure.
Tested on jam.
2015-03-04 12:26:33 -05:00
Elena Pourmal
026cf21de8 [svn-r26357] Added mapping example for the Excalibur detector use case. 2015-03-04 12:03:32 -05:00
Allen Byrne
1aa5cd4fa5 [svn-r26353] Add VDS selection defines for ALL and NONE 2015-03-04 09:08:58 -05:00
Allen Byrne
f1c4d0ff3f [svn-r26352] Update h5dump to latest BNF - reg vs irreg hyperslabs. 2015-03-04 08:34:24 -05:00
Dana Robinson
86d1ef2096 [svn-r26351] Adds warning prevention pragmas, etc. to flex- and bison-generated code.
Fixes: HDFFV-9149

Tested on: jam w/ gcc 4.1 and koala w/ gcc 4.9
2015-03-03 22:23:04 -05:00
Dana Robinson
5b294640c0 [svn-r26350] Merge of r26273-26348 from the trunk.
Tested on: h5committest
2015-03-03 19:27:40 -05:00
Dana Robinson
6ee9ea656f [svn-r26348] Updates bin/chkmanifest to correctly handle the seven Subversion status
columns that are output by svn stat.

Previously, the script assumed that they would all be blank for newly-
added files. This is not always true when merging.

Part of: HDFFV-8895

Tested on: jam (bin/chkmanifest only)
2015-03-03 18:31:31 -05:00
Dana Robinson
f56cb6a8f0 [svn-r26347] Moves large file and POSIX/GNU defines from AM_CPPFLAGS to H5_CPPFLAGS,
which is where the rest of the #defines reside.

The key difference is that AM_CPPFLAGS is exported to h5cc. These #defines
are not necessary to consume the HDF5 API and it's bad form to inflict
our build configuration on users. In particular, the GNU/POSIX defines
could easily conflict with a user's.

Fixes: HDFFV-9152

Tested on: h5committest
2015-03-03 17:27:21 -05:00
Neil Fortner
79771d3fac [svn-r26346] Add more test cases, refactor test code to reduce code duplication. Minor
fixes in src.
Note make check still fails in h5ls test.

Tested: ummon
2015-03-03 12:32:22 -05:00
Elena Pourmal
56f7406671 [svn-r26343] Improved output. 2015-03-02 16:34:39 -05:00
Elena Pourmal
a726992cd8 [svn-r26342] Added usage of the new H5S*_regular_hyperslab functions.
Tested on jam.
2015-03-02 16:32:27 -05:00
Larry Knox
6c7aa17753 [svn-r26338] Remove references to vms and vms files to be updated by this script. VMS has been removed from HDF5 code.
Tested on jam.
2015-03-02 12:11:59 -05:00
Dana Robinson
d8e3d8e908 [svn-r26333] Eliminates gcc warnings due to -Wunsuffixed-float-constants.
- Adds 'F' suffixes for most float constants.

- A few constants MUST be of type double. These now receive the long
  double L suffix and are then cast to double. I do this via a new
  H5_DOUBLE() macro which was added to H5private.h.

Fixes: HDFFV-9148

Tested on: h5committest
2015-03-01 13:48:54 -05:00
Larry Knox
dc059968de [svn-r26332] Removed duplicate linew from MANIFEST
tested with chkmanifest on platypus.
2015-02-28 21:05:19 -05:00
Larry Knox
ac290b5e45 [svn-r26331] Revert checking r 26327&8, which added new code and test that fails on solaris and macs.
Tested h5committest + emu and quail.
2015-02-28 12:00:03 -05:00
Dana Robinson
7462a7ef1c [svn-r26329] Merge of r26069, r26070, and r26072 from the features/autotools_rework
branch.

Removed the configure option that allows selective disabling of individual
internal filters (fletcher32, shuffle, etc.).

This feature mucked up the code with a lot of #ifdefs, saved very little space,
and was not scalable to a general scheme for library size reduction. We've
decided to remove the feature while we investigate a more general scheme for
decreasing the library size.

Part of: HDFFV-9086

Tested on: h5committest
2015-02-27 07:50:38 -05:00
Dana Robinson
7b7f0eafc5 [svn-r26328] Fixed a typo in tmisc.c. 2015-02-27 06:05:02 -05:00
Dana Robinson
c16d230101 [svn-r26327] Added public API functions that expose the C library's memory allocator
for use in filter functions that need to allocate or resize buffers.
Intended for use with filter plugins, particularly on Windows, where
C runtime (CRT) issues can cause problems.

Fixes: HDFFV-9100

tested on: jam (minor, localized change)
2015-02-26 22:33:25 -05:00
Dana Robinson
4c2749fb1d [svn-r26324] Fixes another bug in bin/trace that prevents adding TRACE macros to API
calls that use a FUNC_ENTER macro that does not include parentheses.

This does not affect any source code at this time.

Part of: HDFFV-9141

Tested on: jam (bin/trace behavior only)
2015-02-26 19:49:32 -05:00
Scot Breitenfeld
2048e0bff9 [svn-r26321] Fix for HDFFV-9042.
tested: h5commit
2015-02-26 15:39:51 -05:00
Allen Byrne
61f0497572 [svn-r26320] Trigger component install options 2015-02-26 13:19:41 -05:00
Allen Byrne
45df14138d [svn-r26318] Update virtual layout to latest changes 2015-02-26 10:59:15 -05:00
Dana Robinson
a83b6d6651 [svn-r26311] Merged r26266-7 from features/autotools_rework
Updates the bin/chkmanifest script so that it parses the output
of svn commands instead of hacking at the .svn/entries file. This
will make the script more future-proof and allows it to work with
current Subversion repositories.

Tested on: jam (bin/chkmanifest only)
2015-02-26 09:02:48 -05:00
Neil Fortner
952d00e7f0 [svn-r26306] Merge r26296 through 26304 from trunk to vds branch.
It should no longer be necessary to use --enable-using-memchecker
make check fails due to an issue with h5ls apparently unrelated to the merge

Tested: ummon
2015-02-25 17:06:18 -05:00
Allen Byrne
aad4250bd6 [svn-r26305] convert dump_dcpl to use switch statement
Add default case
refactor out start ctx and end ctx
Tested: local linux
2015-02-25 15:20:31 -05:00
Mohamad Chaarawi
c4044e0c85 [svn-r26303] remove files with .clog2 extension generated by MPE when doing make clean. 2015-02-25 13:48:31 -05:00
Quincey Koziol
3550004b20 [svn-r26302] Description:
Revise dataspace encode/decode routines to make them work better with
future virtual dataset feature.

Tested on:
    Mac OSX/64 10.10.2 (amazon) w/serial
    (h5committest forthcoming)
2015-02-25 13:03:52 -05:00
Quincey Koziol
0ce8fddc73 [svn-r26301] Description:
Bring Neil's fix for error in H5S_extent_copy() back to the trunk.

Tested on:
    Mac OSX/64 10.10.2 (amazon) w/serial
    (h5committest forthcoming)
2015-02-25 12:29:30 -05:00
Quincey Koziol
2dae075569 [svn-r26300] Description:
Add H5Sis_regular_hyperslab() and H5Sget_regular_hyperslab() API routines,
along with tests.

Tested on:
    Mac OSX/64 10.10.2 (amazon) w/serial
    (h5committest forthcoming)
2015-02-25 12:05:16 -05:00
Elena Pourmal
99a3f4d8d4 [svn-r26297] Changed example and h5dump according to suggestions at today's code review VDS-176.
BNF has been updated too. Now h5dump displays VDS like this:

HDF5 "vds.h5" {
GROUP "/" {
   DATASET "VDS" {
      DATATYPE  H5T_STD_I32LE
      DATASPACE  SIMPLE { ( 4, 6 ) / ( 4, 6 ) }
      STORAGE_LAYOUT {
         VIRTUAL {
             HYPERSLAB { (0,0)-(0,5) };
             a.h5;
             A;
             ALL;
             HYPERSLAB { (1,0)-(1,5) };
             b.h5;
             B;
             ALL;
             HYPERSLAB { (2,0)-(2,5) };
             c.h5;
             C;
             ALL;
            }
         }
      }
      FILTERS {
.......
I just commented the code with "EIP" and didn't delete to simplify the review with Allen tomorrow.

Tested on jam
2015-02-24 23:19:41 -05:00
Neil Fortner
2ca5b16a9f [svn-r26296] Merge r26050 through 26295 from trunk to vds branch.
Tested: ummon
2015-02-24 16:53:56 -05:00
Allen Byrne
3f72ec11cd [svn-r26295] add space before end bracket of selection 2015-02-24 15:39:08 -05:00
Scot Breitenfeld
48d9c30923 [svn-r26294] Fix for HDFFV-9132.
tested: h5committest
2015-02-24 15:30:07 -05:00
Neil Fortner
2811133914 [svn-r26293] Implement patching of virtual dataspace extent in mapping dataspaces when
opening virtual dataset.  Add tests for this.

Tested: ummon
2015-02-24 14:54:48 -05:00
Allen Byrne
80e77e7d77 [svn-r26290] Add H5S prefix to selection name 2015-02-23 16:52:03 -05:00
Mike McGreevy
d3728f8d64 [svn-r26289] Purpose:
Fix HDFFV-9124 - Remove old libtool post-processing
    
Description:

    This revision removes some post-processing of the generated libtool
    script, which was added back in 2003 (see svn revisions 6285 and 6293)
    to address a deficiency in which the script failed to set the '$wl'
    variable for icc and pgcc compilers. Libtool has since fixed the issue,
    and the post-processing we've been running has essentially been a no-op
    for years, so it's safe for us to remove the post-processing snippet.
    
Tested:

    Jam using pgcc and icc compilers.
2015-02-23 15:40:40 -05:00
Allen Byrne
bc888966a9 [svn-r26288] remove extra set of brackets 2015-02-23 15:30:53 -05:00
Allen Byrne
b1251c915e [svn-r26287] Rename point and block str functions generically.
Add info arg to print virtual selection function.
2015-02-23 15:23:56 -05:00
Allen Byrne
a0ead57cad [svn-r26286] Print selection types - no values 2015-02-23 14:19:19 -05:00
Allen Byrne
cd9b96a887 [svn-r26285] add virtual mapping output blank selections but actual file and dataset names. 2015-02-23 13:41:02 -05:00
Allen Byrne
46074defaa [svn-r26284] Add VIRTUAL layout to h5dump - still need a tools testfile created 2015-02-23 12:07:40 -05:00
Allen Byrne
8e48921d90 [svn-r26283] Correct test folder handling (merge from trunk) 2015-02-23 11:54:39 -05:00
Allen Byrne
c5da9e3270 [svn-r26282] Update source file list and test list 2015-02-23 11:20:53 -05:00
Scot Breitenfeld
e171ee01f1 [svn-r26280] Removed tab indenting for Fortran source, tab indenting is not F2003 standard compliant. 2015-02-23 10:58:12 -05:00
Mohamad Chaarawi
0c29ac42cd [svn-r26279] re-commit 26260 that Dana moved out fixing the versioning of functions to work with v16 default API. 2015-02-23 10:14:43 -05:00
Allen Byrne
f175fd25c8 [svn-r26277] remove filename extension 2015-02-23 08:54:40 -05:00
Dana Robinson
7e220930da [svn-r26276] Merged r26075-80, 86 from features/autotools_rework branch.
Cleans up time functions in the autotools input files. Removed deprecated
gettimeofday() time zone code and configure processing. Also removed
some unused time function configure checks and defines.

Fixes: HDFFV-9083 and HDFFV-9085

Tested on: 32-bit linux, serial and parallel (jam)
           OS X (kite)
           Solaris (emu)
2015-02-23 01:56:16 -05:00
Dana Robinson
7c13406814 [svn-r26275] Merge of r26042, 26083, 26084, 26085 from features/autotools_rework
- Updated configure.ac so that the direct VFD can now be built
  without specifying _GNU_SOURCE, etc. on the command line.

- The direct VFD is now disabled by default. It was previously
  enabled, but the configuration script couldn't configure it
  properly, making it a moot point.

Fixes: HDFFV-9057, HDFFV-7567, HDFFV-9088, HDFFV-7566

Tested on: h5committest
           jam w/ direct VFD (*very* slow!)

NOTE: platypus cmake fails, but this is not a new error.
2015-02-22 10:09:26 -05:00
Dana Robinson
c07d803659 [svn-r26274] Merge of r26096 to r26271 from trunk.
Tested on: jam - serial: C++/Fortran
                 parallel: Fortran
2015-02-22 07:16:30 -05:00
Dana Robinson
bfc0395507 [svn-r26272] Merge of r26071 from features/autotools_rework
Removes the --with-default-vfd option from configure. This was basically
useless and only allowed selecting the stdio VFD. Since this is a demo
VFD and not really a production VFD, we decided to retire this option.

Fixes: HDFFV-9081

Tested on: h5committest

NOTE: platypus cmake fails, but this is not a new error.
2015-02-22 05:44:41 -05:00
Dana Robinson
f634105bdb [svn-r26271] Reverse merge of r26260 which was causing daily test failures.
Tested on: jam w/ parallel and fortran
2015-02-22 03:38:18 -05:00
Dana Robinson
179f3b7879 [svn-r26270] On OS X, the autogen.sh script will first try to use glibtoolize
and then fall back to libtoolize if not found.

Tested on OS X 10.10.2 (Yosemite) with Xcode 6.1.1 and autotools 
installed via Brew
2015-02-22 03:07:00 -05:00
Elena Pourmal
7556f179c3 [svn-r26269] Minor cleanup in the comments. 2015-02-21 22:38:00 -05:00
Elena Pourmal
7881deb15e [svn-r26268] Added VDS example.
I ran bin/reconfigure on jam and it modified test/Makefile.in. May be Neil fixed Makefile.am,
but didn't run reconfigure?

Tested on jam.
2015-02-21 22:26:08 -05:00
Dana Robinson
2d760d9de6 [svn-r26267] Added comments to the bin/chkmanifest script.
Fixed an issue with missing 'svn ls' code.
2015-02-21 17:05:09 -05:00
Dana Robinson
cec02b0b3e [svn-r26266] Updated bin/chkmanifest to use 'svn stat' and 'svn ls' instead
of hacking at the .svn/entries file that changes format all the
time.
2015-02-21 14:26:03 -05:00
Dana Robinson
a93751a342 [svn-r26265] Updated MANIFEST file. Deleted VMS and autotools files were removed from
the list.
2015-02-21 12:35:34 -05:00
Dana Robinson
a5e2167b3e [svn-r26262] Restores maintainer mode to the configure.ac file but leaves it on
by default (unlike the trunk and 1.8 branches, where it's disabled
by default).

Users can build with --disable-maintainer-mode to remove autotools
build dependencies.

Part of: HDFFV-9122

Tested on: 64-bit linux VM (configure and autogen only)
2015-02-21 04:41:03 -05:00
Neil Fortner
88b7d8d34c [svn-r26261] Commit working but incomplete prototype. Does not perform I/O.
Tested: ummon
2015-02-20 16:53:35 -05:00
Mohamad Chaarawi
fcd77ffe7e [svn-r26260] - add an attribute callback to call H5_term_library when MPI_COMM_SELF is destroyed.
- add tests for above.
- this is a fix for HDFFV-883.

tested h5committest
2015-02-20 16:33:48 -05:00
Allen Byrne
734f168225 [svn-r26259] Remove file 2015-02-20 15:52:56 -05:00
Quincey Koziol
c52835f4c1 [svn-r26258] Description:
Remove LDOUBLE_TO_INTEGER_WORKS macro/define from configure/library/tests,
since it was added to support non-standard behavior on SGI IRIX & HP-UX, which
we don't support any longer.

Tested on:
    Mac OSX/64 10.10.2 (amazon) w/serial & parallel
    (h5committest not required on this branch)
2015-02-20 15:52:39 -05:00
Quincey Koziol
707965be8a [svn-r26257] Description:
Remove the LDOUBLE_TO_INTEGER_ACCURATE macro, since it was added to work
around non-standard behavior on SGI IRIX, which we are no longer supporting.

Tested on:
    Mac OSX/64 10.10.2 (amazon) w/serial
    (h5committest not required on this branch)
2015-02-20 14:19:15 -05:00
Allen Byrne
fef1ffe690 [svn-r26256] Remove file - obsoleted by cmake 3.1 minimum 2015-02-20 14:01:32 -05:00
Allen Byrne
42a97ddeff [svn-r26255] Remove file - obsoleted by cmake 3.1 minimum 2015-02-20 14:01:19 -05:00
Scot Breitenfeld
57a1c0b93b [svn-r26254] Changed mpi test to use include 'mpif.h' 2015-02-20 13:30:47 -05:00
Allen Byrne
f679b9006d [svn-r26253] Update CMake with fortran source properties and defines, correct name of hl fortran examples option check 2015-02-20 12:25:56 -05:00
Dana Robinson
54a36600c0 [svn-r26249] Removed warnings about NO TRACE from bin/trace script.
Fixes: HDFFV-9098

Tested on: jam (bin/trace only - causes no source changes)
2015-02-20 09:48:18 -05:00
Scot Breitenfeld
6ce3158da7 [svn-r26247] Reverted back from using 'USE MPI' to include 'mpif.h' since windows does not seem to support 'USE MPI'. 2015-02-20 08:59:18 -05:00
Dana Robinson
5867b6db9e [svn-r26246] Corrects a regular expression in the bin/trace Perl script that did not
match API calls which return a pointer.

Fixes: HDFFV-9141

Tested on: h5committest
2015-02-20 08:04:19 -05:00
Dana Robinson
9d993c5b76 [svn-r26245] Fixed some mixed tabs/spaces.
No code changes.
2015-02-20 01:50:31 -05:00
Scot Breitenfeld
3eeed2f1d5 [svn-r26241] Fixed issue with default 8 byte integers using xlf compilers. 2015-02-19 11:17:16 -05:00
Dana Robinson
fc082e60f3 [svn-r26236] Updated the MANIFEST file after deleting VMS support files.
Tested on: bin/chkmanifest
2015-02-19 09:39:33 -05:00
Dana Robinson
9ecbdc858c [svn-r26234] Removed VMS support from the library. A tag (vms_last_support_trunk) was created just before the VMS files were deleted. 2015-02-19 09:03:23 -05:00
Scot Breitenfeld
3a03c275e9 [svn-r26233] Disable h5tenum_insert_f if F2003 is enabled. 2015-02-19 09:02:36 -05:00
Dana Robinson
a8a9b47170 [svn-r26229] Removed NO TRACE notifications from bin/trace script.
Fixes: HDFFV-9098

Tested on: 64-bit linux VM (autogen only)
2015-02-19 03:07:07 -05:00
Dana Robinson
ec90898719 [svn-r26228] Added a helpful note to autogen.sh about the Xcode/OS X bison bug
that causes a circular dependency issue.

Tested on: 64-bit linux VM (autogen only - just a comment change)
2015-02-19 02:57:53 -05:00
Dana Robinson
14664baf4f [svn-r26227] Removed bin/compile, which is a generated file.
Removed bin/mkinstalldirs which is both generated and obsolete.

Part of: HDFFV-9067

Tested on: 64-bit linux VM
2015-02-19 02:49:32 -05:00
Dana Robinson
265782d3eb [svn-r26226] Fixed the --with-pthread option so that it correctly handles 'yes' and
'no', which was broken after other work in this area.

Part of: HDFFV-9087

Tested on: 64-bit linux VM
2015-02-19 02:44:55 -05:00
Dana Robinson
a2b08b6e27 [svn-r26221] Removed VMS files. VMS is no longer a supported platform. 2015-02-18 16:15:35 -05:00
Neil Fortner
a5460b731d [svn-r26199] INCOMPLETE, UNWORKING CODE
Fix doubled vds.c
2015-02-17 16:12:58 -05:00
Neil Fortner
1199ab1f48 [svn-r26198] INCOMPLETE, UNWORKING CODE
Commit progress through 1610 CST 2/17/15
2015-02-17 16:11:22 -05:00
Mohamad Chaarawi
d38f3d888d [svn-r26171] fix MPE setup. 2015-02-13 16:21:00 -05:00
Quincey Koziol
8b98b9ee92 [svn-r26169] Description:
Remove generated header file from repository, and add section to
autogen.sh that generates it.

Tested on:
    Mac OSX/64 10.10.2 (amazon)
2015-02-13 14:22:21 -05:00
Dana Robinson
e9144293c1 [svn-r26168] Added --force-missing to automake. It has to be used WITH --add-missing;
it's not a replacement.

Part of HDFFV-9114

Tested on jam with the -p option
2015-02-13 11:23:08 -05:00
Dana Robinson
df7c8f6bc9 [svn-r26166] Changed the automake --force-missing option back to --add-missing.
Part of HDFFV-9114

Tested on: Cygwin
2015-02-13 11:10:35 -05:00
Albert Cheng
6b01332709 [svn-r26165] HDF5-9117: if testing for proper working 'tr' command is needed.
Long time ago, the tr command in some platform does not work properly and this test was added
to detect broken tr and abort the configure process.
We are not aware of such broken tr command in current systems and decided to retire this test.

The setup of ${TR} is still needed as it is used to process DEBUG_PKG.

Tested: in jam using "./configure" and "./configure --enable-debug=all".
2015-02-13 10:15:49 -05:00
Dana Robinson
0829df23e5 [svn-r26164] Updated autogen.sh to use the --force option on all tools
when available. Also added the --copy option to to libtoolize
so files are copied and not symlinked.

Part of HDFFV-9114

Tested on jam.

- autogen.sh -p
- configure (out-of-source)
- Modified configure.ac
- Re-run autogen.sh -p
- Re-run configure
- make

Without the fix, make fails when it notes out-of-date autotools
files and re-runs the tools, picking up jam's elderly versions.
With the fix, make succeeds.
2015-02-13 04:22:31 -05:00
Neil Fortner
d273b2a2f8 [svn-r26154] INCOMPLETE, UNWORKING CODE
Add H5Dvirtual.c mistakenly omitted from last checkin.
2015-02-10 15:14:00 -05:00
Neil Fortner
14200fef67 [svn-r26153] INCOMPLETE, UNWORKING CODE
Commit progress through 2/10/15 at 1500 CST
2015-02-10 14:58:09 -05:00
Dana Robinson
99c4ec387c [svn-r26145] Removed bin/reconfigure.
The autogen.sh script seems to work in enough places
and for enough people to warrant removing bin/reconfigure.
2015-02-07 02:05:34 -05:00
Dana Robinson
dcd8c9f487 [svn-r26144] Removed bin/genltanalyze from the MANIFEST since that file has
been permanently deleted. I've not removed all the generated
files from the MANIFEST, though, since I'm waiting on a decision
as to whether we leave those in or not.

Tested on: bin/chkmanifest after running autogen.sh
2015-02-07 01:34:24 -05:00
Dana Robinson
7590687d4b [svn-r26143] Merged r26096-26142 from trunk.
Tested on: jam w/ Fortran and C++
2015-02-07 01:14:12 -05:00
Dana Robinson
a7def93aa3 [svn-r26142] Updated autogen.sh so it works on OS-X. Note that this does require
installing the autotools via a package manager like Homebrew since
they are not installed with XCode.

Part of: HDFFV-9114

Tested on: OS-X 10.10.2 (Yosemite) with XCode 6.1.1
2015-02-06 23:24:31 -05:00
Dana Robinson
d63cdb36cf [svn-r26136] Updated autogen.sh to run flex and bison, replacing the (incomplete)
bin/genltanalyze script, which has been deleted. Also removed the
generated hl/src/H5LTparse.c/h and H5LTanalyze.c files.

Part of: HDFFV-9120

Tested on: Local Ubuntu VM
2015-02-05 21:39:36 -05:00
Dana Robinson
eea4f45172 [svn-r26135] Updated autogen.sh to always run API-oriented scripts. Removed
the -s option from autogen.sh. Removed several generated H5E
files from version control as well as H5version.h since these
will always be regenerated.

Part of: HDFFV-9120

Tested on: Local Ubuntu VM
2015-02-05 20:02:30 -05:00
Scot Breitenfeld
167619a75d [svn-r26132] reverted change 26177
svn merge -c -26117 .

Shared Fortran libraries don't work on Mac, the check for building shared on Mac needs to stay in.
2015-02-05 14:36:51 -05:00
Dana Robinson
e8013712b2 [svn-r26130] Updated autogen.sh to try glibtoolize if libtoolize is
not found. Allows reconfiguration on OS-X.

Part of: HDFFV-9120

Untested since we have no suitable OS-X machines
2015-02-05 13:31:21 -05:00
Dana Robinson
ba739af91f [svn-r26129] Removed some additional generated files that were triggering autotools
re-builds, which would fail due to incorrect autotools versions.

Part of: HDFFV-9120

Tested on: jam
2015-02-05 11:54:52 -05:00
Dana Robinson
01c7b17dac [svn-r26128] - Removed libtool generated/copied files.
- Modified autogen.sh to run libtoolize.
  NOTE: OS-X often uses glibtoolize. This will be fixed soon.

- Addational helpful output added to autogen.sh.

Part of HDFFV-9120

Tested on: 64-bit Linux VM
2015-02-05 11:21:21 -05:00
Scot Breitenfeld
46d39603ad [svn-r26127] Fixed typo. 2015-02-05 09:59:15 -05:00
Scot Breitenfeld
8a528170ec [svn-r26117] Autotools work HDFFV-9067,
Removed restiction of disabling shared libraries on the MAC, H5_FORTRAN_SHARED was replaced with HAVE_SHARED_CONDITIONAL since H5_FORTRAN_SHARED was removed.

tested: jam
2015-02-03 10:42:15 -05:00
Mohamad Chaarawi
cbf280a22d [svn-r26115] explain why If RUNSERIAL or RUNPARALLEL is the word `none' then replace it with empty string. 2015-02-03 09:33:25 -05:00
Mohamad Chaarawi
473feff3c6 [svn-r26114] remove option to toggle large file support. 2015-02-02 15:54:59 -05:00
Scot Breitenfeld
68631b6e95 [svn-r26113] Updated configure and the parallel tests to 'USE mpi' instead of 'include 'mpih.f'
tested jam (mpich + gnu).
2015-02-02 13:52:35 -05:00
Dana Robinson
51de1ce902 [svn-r26100] Removed maintainer mode (AM_MAINTAINER_MODE) from configure.ac.
This is no longer needed since we don't check in generated files anymore.
Actually, it was not really recommended in the first place:

http://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html

Part of: HDFFV-9122

Tested on: jam
2015-02-02 04:16:07 -05:00
Dana Robinson
a36942f59f [svn-r26099] Updated manifest
Part of: HDFFV-9120
2015-02-02 03:53:59 -05:00
Dana Robinson
010c3e7e39 [svn-r26098] Removed copied m4 files from version control.
Developers will now have to run bin/reconfigure (deprecated, will be removed
soon) or autogen.sh after checking out code.

Part of: HDFFV-9120

Tested on: jam with Fortran and C++
2015-02-02 03:05:02 -05:00
Dana Robinson
e2240d544e [svn-r26097] Removed configure and Makefile.in files from version control.
Developers will now have to run bin/reconfigure (deprecated, will be removed
soon) or autogen.sh after checking out code.

Part of: HDFFV-9120

Tested on: jam with Fortran and C++
2015-02-02 02:50:25 -05:00
Dana Robinson
cd1d1d41df [svn-r26096] Merged r26024-26095 from trunk.
Tested on: jam with Fortran and C++
2015-02-02 01:46:40 -05:00
Dana Robinson
45eefdbdea [svn-r26095] Added executable property to distdep. 2015-02-02 01:05:20 -05:00
Dana Robinson
0af31e6938 [svn-r26093] Updated manifest. 2015-02-01 14:25:19 -05:00
Dana Robinson
8387b3fdfa [svn-r26091] Fixed some missing comment text in the autogen.sh script.
Part of HDFFV-9114

Tested on: jam
2015-01-31 08:54:31 -05:00
Dana Robinson
46ea85c6cb [svn-r26090] Added an autogen.sh script.
Note that bin/reconfigure still exists. It will be removed at a later
date.

Part of HDFFV-9114

Tested on: jam
2015-01-31 08:32:42 -05:00
Dana Robinson
ba002bcc8f [svn-r26086] Solaris no longer has issues with requiring early checking for time
functions so the checks were merged with the other system call
checks.

Fixes HDFFV-9083

Tested on: Linux (jam) and Solaris (emu)
2015-01-30 06:57:10 -05:00
Dana Robinson
8cb70b47cb [svn-r26085] Improved the direct VFD configure checks.
- Results of O_DIRECT and posix_memalign() checks are now
  output so users can more easily diagnose problems.

- Configure now fails if --enable-direct-vfd was requested
  but either O_DIRECT or posix_memalign() are not
  present.

Part of HDFFV-7566

Tested on: jam (configure only)
2015-01-30 05:38:59 -05:00
Dana Robinson
21a38c4e67 [svn-r26084] Configure now just checks for O_DIRECT being defined instead of trying
to build and run a program using it, which is problematic (depends on
file system, issues with cross-compiling).

Part of HDFFV-9057

Tested on: jam (configure only)
2015-01-30 04:42:26 -05:00
Dana Robinson
ec45cabfc7 [svn-r26083] Changed the default for building the direct VFD to 'no'.
Updated the direct VFD help string to make it more clear where
it is suported.

Part of HDFFV-7566 and HDFFV-7567

Tested on: jam (configure only)
2015-01-30 03:08:57 -05:00
Dana Robinson
37d1800ec0 [svn-r26082] Moved the high-level library checks up to the same place where
Fortran and C++ are checked. This will make it easier to
handle threadsafe/high-level combinations later.

Also changed the default of --enable-pthread to 'check' and
removed yes/no behavior. If you ask for thread-safety, you
can't disable Pthreads...

Part of HDFFV-8719

Tested on: jam (configure only)
2015-01-30 02:38:40 -05:00
Dana Robinson
adc1845b48 [svn-r26081] Moved the check for pthread_attr_setscope() into the thread-safe checks
section. Documented its necessity and added a cross-compiling option
and helpful comment.

Also removed a check for BSDgettimeofday from configure.ac, which
was for Irix 5.3 support.

Part of HDFFV-9087

Tested on: jam with threadsafe
2015-01-29 18:48:20 -05:00
Dana Robinson
190ff778af [svn-r26080] Removed unused HAVE_TZNAME define from configuration files.
Also removed a missed HAVE___GMTOFF from CMake.

Part of HDFFV-9085

Tested on: jam
2015-01-29 17:37:37 -05:00
Dana Robinson
da2a2d9400 [svn-r26079] Removed obsolete HAVE___TM_GMTOFF defines. This is an artifact of the Linux
fork of glibc. It's been deprecated since at least 1997.

Part of HDFFV-9085

Tested on: jam
2015-01-29 17:33:01 -05:00
Dana Robinson
5bf140387f [svn-r26078] Changed a timezone struct to NULL in testpar/t_cache.c.
Part of HDFFV-9085

Tested on: jam w/ parallel
2015-01-29 17:06:28 -05:00
Dana Robinson
edc8d356f3 [svn-r26077] Removed unused HAVE_TM_ZONE and HAVE_STRUCT_TM_TM_ZONE defines from
VMS and CMake pubconfs.

Part of HDFFV-9085

Tested on: jam
2015-01-29 16:32:32 -05:00
Dana Robinson
f44d493a4b [svn-r26076] Removed gettimeofday() time zone struct functionality.
Part of HDFFV-9085

Tested on: jam
2015-01-29 16:02:19 -05:00
Dana Robinson
a3eb3ac333 [svn-r26075] Removed (HD)BSDtimeofday and H5_HAVE_BSDGETTIMEOFDAY. This is an obsolete
system call from Irix 5.3.

Part of HDFFV-9085

Tested on: jam
2015-01-29 15:28:13 -05:00
Dana Robinson
682dcf403a [svn-r26072] Updated libhdf5.settings.in so that it no longer lists internal filters.
Part of HDFFV-9086

Tested on: jam (configure only)
2015-01-29 09:26:46 -05:00
Dana Robinson
aea0b5b46e [svn-r26071] Moved setting H5_DEFAULT_VFD from configure to src/H5private.h.
Fixes HDFFV-9081

Tested on: jam
2015-01-29 09:15:48 -05:00
Dana Robinson
fec3d82085 [svn-r26070] Removed internal filter configuration from CMake
Part of HDFFV-9086
2015-01-29 08:22:11 -05:00
Dana Robinson
45aece2434 [svn-r26069] Removed the option to selectively disable internal filters like n-bit
at compile time.

Fixes HDFFV-9086

Tested on: jam, both serial and parallel w/ fortran & C++
2015-01-29 08:19:22 -05:00
Scot Breitenfeld
cc7cdaac59 [svn-r26063] Fixed the wrong number of arguments being used for MPI_FILE_OPEN. Kept using include "mpif.h" since it is not going to be depriciated. But 'USE mpi' will work now that the API is correct. 2015-01-28 10:37:01 -05:00
Scot Breitenfeld
052638dbc8 [svn-r26062] Changed the fortran test back from "USE mpi" to "include "mpif.h"". Using the module causes problems on the Cray (hopper). 2015-01-28 10:01:23 -05:00
Scot Breitenfeld
bc0d6a1500 [svn-r26061] Fixed unintentional typo. 2015-01-28 08:54:23 -05:00
Scot Breitenfeld
7046addd0b [svn-r26060] Fix for HDFFV-9091
405-408::fortran vars should be scoped

Scoped:

HAVE_SIZEOF
HAVE_C_SIZEOF
HAVE_STORAGE_SIZE
FORTRAN_DEFAULT_REALisDBLE

to where the tests are (in m4/aclocal_fc.m4)

Tested: jam (gnu)
2015-01-27 16:52:53 -05:00
Scot Breitenfeld
f142970ac2 [svn-r26059] Fix for: HDFFV-9095
4159:: Check if Fortran's default real is double precision. If it is and HL is being built then configure should fail due to bug HDFFV-889.

Fix:
This check should be located where HL is check for, and it is. Updated the comment to elimenate confusion.
2015-01-27 16:35:30 -05:00
Scot Breitenfeld
06587c6e91 [svn-r26057] Fix for: HDFFV-9094
change include 'mpif.h' to module in tests

Solution:

changed to 'USE mpi' and moved the tests to m4/aclocal_fc.m4

Tested: jam (mpicc, mpif90)
2015-01-27 16:24:31 -05:00
Mohamad Chaarawi
4a10dbe011 [svn-r26055] Updates for:
Discuss and Remove Infering parallel compilers (C and Fortran) from configure.ac 
https://jira.hdfgroup.uiuc.edu/browse/HDFFV-9068 

Remove restriction to build shared with parallel 
https://jira.hdfgroup.uiuc.edu/browse/HDFFV-9069 

Cleanup parallel sections in configure.ac 
https://jira.hdfgroup.uiuc.edu/browse/HDFFV-9096 

tested h5committest
2015-01-27 15:59:48 -05:00
Scot Breitenfeld
b2516b909a [svn-r26054] Fix for: HDFFV-9089
375::Compile the Fortran 77/90/95 interface -> remove 77 from comment

Removed from comment.
2015-01-27 15:30:29 -05:00
Scot Breitenfeld
f1da79edff [svn-r26053] Added comments. 2015-01-27 15:20:26 -05:00
Scot Breitenfeld
d29c5a6e6a [svn-r26052] Fixed false positive tests for intrensic functions.
Tested: jam (mpi, gfortran, intel)
        --enable-fortran, and --enable-fortran --enable-fortran2003
2015-01-27 15:16:07 -05:00
Scot Breitenfeld
4d34a0c6ad [svn-r26051] Fix for HDFFV-9092
Change AC_TRY_RUN TO AC_TRY_COMPILE

Changed all the instances of AC_TRY_RUN for the Fortran and C++ tests to use
AC_COMPILE_IFELSE and moved all the tests to new files in m4 directory:

aclocal_cxx.m4 (for C++ tests)
aclocal_fc.m4 (for Fortran tests)

tested: jam
2015-01-27 12:17:09 -05:00
Scot Breitenfeld
1e85e7ca52 [svn-r26047] Fix for HDFFV-9092
Change AC_TRY_RUN TO AC_TRY_COMPILE 

Changed all the instances of AC_TRY_RUN for the Fortran and C++ tests to use
AC_COMPILE_IFELSE

tested: jam
2015-01-27 10:29:06 -05:00
Dana Robinson
b10f26ab18 [svn-r26042] Updated configure.ac so that POSIX_C_SOURCE=200112L and GNU_SOURCE
are defined. The former is for posix_memalign() and the latter for
the O_DIRECT flag for open(). Both are for direct VFD support.

Fixes HDFFV-9088

Tested on: jam
2015-01-26 22:31:03 -05:00
Dana Robinson
4e37d30dba [svn-r26029] Updated the comment on the Cygwin 'srcdir= and time' test to indicate
that it's still an issue with recent versions of Cygwin.

Fixes HDFFV-9082

Tested on: jam (bin/reconfigure only - just a comment change)
2015-01-26 06:14:54 -05:00
Dana Robinson
699b27ee4e [svn-r26028] Removed code from configure.ac that #defined (H5)_NO_SHARED_WRITING under
CodeWarrior as a work-around to broken open() functionality (it's not clear
which version). The only effect of this #define was to cause test_file_close()
in test/tfile.c to be skipped.

Fixes HDFFV-9080

Tested on: jam

We don't have CodeWarrior, so I just ensured the deletion didn't adversely
affect a typical build.
2015-01-26 05:06:53 -05:00
Dana Robinson
c5741c15d2 [svn-r26027] Copied configure.ac to configure.ac.orig for reference. 2015-01-26 01:47:06 -05:00
Dana Robinson
8249ada359 [svn-r26026] Added BRANCH.txt 2015-01-25 17:57:04 -05:00
1396 changed files with 136588 additions and 265630 deletions

15
BRANCH.txt Normal file
View File

@@ -0,0 +1,15 @@
autotools_rework
The purpose of this branch is to make changes to the autotools files,
particularly configure.ac. This will remove a lot of old cruft and update
the input files. This effort was started in January 2015 and should be
completed within the year.
This branch tracks the trunk.
Dana Robinson and Allen Byrne are the owners of this branch.
This branch should be closed when the bulk of the autotools work is
complete and has been merged into the trunk and 1.8 branch. This
work should be completed by mid-2015.

View File

@@ -1,21 +1,4 @@
#-----------------------------------------------------------------------------
# Options for HDF5 Filters
#-----------------------------------------------------------------------------
MACRO (HDF5_SETUP_FILTERS FILTER)
option (HDF5_USE_FILTER_${FILTER} "Use the ${FILTER} Filter" ON)
if (HDF5_USE_FILTER_${FILTER})
set (H5_HAVE_FILTER_${FILTER} 1)
set (FILTERS "${FILTERS} ${FILTER}")
endif (HDF5_USE_FILTER_${FILTER})
# message (STATUS "Filter ${FILTER} is ${HDF5_USE_FILTER_${FILTER}}")
ENDMACRO (HDF5_SETUP_FILTERS)
HDF5_SETUP_FILTERS (SHUFFLE)
HDF5_SETUP_FILTERS (FLETCHER32)
HDF5_SETUP_FILTERS (NBIT)
HDF5_SETUP_FILTERS (SCALEOFFSET)
include (ExternalProject)
#option (HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO SVN TGZ)" "NO")
set (HDF5_ALLOW_EXTERNAL_SUPPORT "NO" CACHE STRING "Allow External Library Building (NO SVN TGZ)")
@@ -24,8 +7,8 @@ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MAT
option (ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 1)
option (SZIP_USE_EXTERNAL "Use External Library Building for SZIP" 1)
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN")
set (ZLIB_URL ${ZLIB_SVN_URL})
set (SZIP_URL ${SZIP_SVN_URL})
set (ZLIB_URL ${ZLIB_SVN_URL} CACHE STRING "Path to zlib Subversion repository")
set (SZIP_URL ${SZIP_SVN_URL} CACHE STRING "Path to szip Subversion repository")
elseif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
if (NOT TGZPATH)
set (TGZPATH ${HDF5_SOURCE_DIR})
@@ -45,9 +28,13 @@ option (HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" OFF)
if (HDF5_ENABLE_Z_LIB_SUPPORT)
if (NOT H5_ZLIB_HEADER)
if (NOT ZLIB_USE_EXTERNAL)
find_package (ZLIB NAMES ${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT})
find_package (ZLIB NAMES ${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared)
if (NOT ZLIB_FOUND)
find_package (ZLIB) # Legacy find
if (ZLIB_FOUND)
set (LINK_LIBS ${LINK_LIBS} ${ZLIB_LIBRARIES})
set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${ZLIB_LIBRARIES})
endif (ZLIB_FOUND)
endif (NOT ZLIB_FOUND)
endif (NOT ZLIB_USE_EXTERNAL)
if (ZLIB_FOUND)
@@ -56,10 +43,10 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT)
set (H5_HAVE_LIBZ 1)
set (H5_ZLIB_HEADER "zlib.h")
set (ZLIB_INCLUDE_DIR_GEN ${ZLIB_INCLUDE_DIR})
set (ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
set (ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR})
else (ZLIB_FOUND)
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
EXTERNAL_ZLIB_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT} ${LIB_TYPE})
EXTERNAL_ZLIB_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT})
set (H5_HAVE_FILTER_DEFLATE 1)
set (H5_HAVE_ZLIB_H 1)
set (H5_HAVE_LIBZ 1)
@@ -77,7 +64,10 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT)
if (H5_HAVE_FILTER_DEFLATE)
set (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} DEFLATE")
endif (H5_HAVE_FILTER_DEFLATE)
set (LINK_LIBS ${LINK_LIBS} ${ZLIB_LIBRARIES})
if (BUILD_SHARED_LIBS)
set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${ZLIB_SHARED_LIBRARY})
endif (BUILD_SHARED_LIBS)
set (LINK_LIBS ${LINK_LIBS} ${ZLIB_STATIC_LIBRARY})
INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIRS})
message (STATUS "Filter ZLIB is ON")
endif (HDF5_ENABLE_Z_LIB_SUPPORT)
@@ -89,9 +79,13 @@ option (HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF)
if (HDF5_ENABLE_SZIP_SUPPORT)
option (HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF)
if (NOT SZIP_USE_EXTERNAL)
find_package (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT})
find_package (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared)
if (NOT SZIP_FOUND)
find_package (SZIP) # Legacy find
if (SZIP_FOUND)
set (LINK_LIBS ${LINK_LIBS} ${SZIP_LIBRARIES})
set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${SZIP_LIBRARIES})
endif (SZIP_FOUND)
endif (NOT SZIP_FOUND)
endif (NOT SZIP_USE_EXTERNAL)
if (SZIP_FOUND)
@@ -99,10 +93,10 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
set (H5_HAVE_SZLIB_H 1)
set (H5_HAVE_LIBSZ 1)
set (SZIP_INCLUDE_DIR_GEN ${SZIP_INCLUDE_DIR})
set (SZIP_INCLUDE_DIRS ${SZIP_INCLUDE_DIR})
set (SZIP_INCLUDE_DIRS ${SZIP_INCLUDE_DIRS} ${SZIP_INCLUDE_DIR})
else (SZIP_FOUND)
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
EXTERNAL_SZIP_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT} ${LIB_TYPE} ${HDF5_ENABLE_SZIP_ENCODING})
EXTERNAL_SZIP_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT} ${HDF5_ENABLE_SZIP_ENCODING})
set (H5_HAVE_FILTER_SZIP 1)
set (H5_HAVE_SZLIB_H 1)
set (H5_HAVE_LIBSZ 1)
@@ -111,7 +105,10 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
message (FATAL_ERROR "SZIP is Required for SZIP support in HDF5")
endif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
endif (SZIP_FOUND)
set (LINK_LIBS ${LINK_LIBS} ${SZIP_LIBRARIES})
if (BUILD_SHARED_LIBS)
set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${SZIP_SHARED_LIBRARY})
endif (BUILD_SHARED_LIBS)
set (LINK_LIBS ${LINK_LIBS} ${SZIP_STATIC_LIBRARY})
INCLUDE_DIRECTORIES (${SZIP_INCLUDE_DIRS})
message (STATUS "Filter SZIP is ON")
if (H5_HAVE_FILTER_SZIP)

View File

@@ -1,4 +1,4 @@
include (${HDF_RESOURCES_DIR}/CMakePackageConfigHelpers.cmake)
include (CMakePackageConfigHelpers)
#-----------------------------------------------------------------------------
# Check for Installation Utilities
@@ -79,11 +79,11 @@ configure_package_config_file (
#-----------------------------------------------------------------------------
if (NOT HDF5_EXTERNALLY_CONFIGURED)
configure_file (
${HDF_RESOURCES_DIR}/FindHDF5.cmake.in
${HDF5_BINARY_DIR}/CMakeFiles/FindHDF5${HDF_PACKAGE_EXT}.cmake @ONLY
${HDF_RESOURCES_DIR}/FindHDF5.cmake.in
${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/FindHDF5${HDF_PACKAGE_EXT}.cmake @ONLY
)
install (
FILES ${HDF5_BINARY_DIR}/CMakeFiles/FindHDF5${HDF_PACKAGE_EXT}.cmake
FILES ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/FindHDF5${HDF_PACKAGE_EXT}.cmake
DESTINATION ${HDF5_INSTALL_CMAKE_DIR}
COMPONENT configinstall
)
@@ -97,14 +97,14 @@ set (SHARE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${HDF5_INSTALL_CMAKE_DIR}" )
set (CURRENT_BUILD_DIR "${CMAKE_INSTALL_PREFIX}" )
configure_package_config_file (
${HDF_RESOURCES_DIR}/hdf5-config.cmake.in
"${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake"
"${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake"
INSTALL_DESTINATION "${HDF5_INSTALL_CMAKE_DIR}"
PATH_VARS INCLUDE_INSTALL_DIR SHARE_INSTALL_DIR CURRENT_BUILD_DIR
)
if (NOT HDF5_EXTERNALLY_CONFIGURED)
install (
FILES ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake
FILES ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config.cmake
DESTINATION ${HDF5_INSTALL_CMAKE_DIR}
COMPONENT configinstall
)
@@ -116,10 +116,10 @@ endif (NOT HDF5_EXTERNALLY_CONFIGURED)
if (NOT HDF5_EXTERNALLY_CONFIGURED)
configure_file (
${HDF_RESOURCES_DIR}/hdf5-config-version.cmake.in
${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake @ONLY
${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake @ONLY
)
install (
FILES ${HDF5_BINARY_DIR}/CMakeFiles/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake
FILES ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake
DESTINATION ${HDF5_INSTALL_CMAKE_DIR}
COMPONENT configinstall
)
@@ -134,12 +134,12 @@ else (H5_WORDS_BIGENDIAN)
set (BYTESEX little-endian)
endif (H5_WORDS_BIGENDIAN)
configure_file (
${HDF_RESOURCES_DIR}/libhdf5.settings.cmake.in
${HDF_RESOURCES_DIR}/libhdf5.settings.cmake.in
${HDF5_BINARY_DIR}/libhdf5.settings @ONLY
)
install (
FILES ${HDF5_BINARY_DIR}/libhdf5.settings
DESTINATION ${HDF5_INSTALL_CMAKE_DIR}
DESTINATION ${HDF5_INSTALL_LIB_DIR}
COMPONENT libraries
)
@@ -167,18 +167,26 @@ install (
option (HDF5_PACK_EXAMPLES "Package the HDF5 Library Examples Compressed File" OFF)
if (HDF5_PACK_EXAMPLES)
configure_file (
${HDF_RESOURCES_DIR}/HDF518_Examples.cmake.in
${HDF5_BINARY_DIR}/HDF518_Examples.cmake @ONLY
${HDF_RESOURCES_DIR}/HDF5_Examples.cmake.in
${HDF5_BINARY_DIR}/HDF5_Examples.cmake @ONLY
)
install (
FILES ${HDF5_BINARY_DIR}/HDF518_Examples.cmake
FILES ${HDF5_BINARY_DIR}/HDF5_Examples.cmake
DESTINATION ${HDF5_INSTALL_DATA_DIR}
COMPONENT hdfdocuments
)
if (EXISTS "${HDF5_EXAMPLES_COMPRESSED_DIR}/${HDF5_EXAMPLES_COMPRESSED}")
execute_process(
COMMAND ${CMAKE_COMMAND} -E tar xzf ${HDF5_EXAMPLES_COMPRESSED_DIR}/${HDF5_EXAMPLES_COMPRESSED}
)
install (
DIRECTORY ${HDF5_BINARY_DIR}/HDF5Examples
DESTINATION ${HDF5_INSTALL_DATA_DIR}
USE_SOURCE_PERMISSIONS
COMPONENT hdfdocuments
)
install (
FILES
${HDF5_EXAMPLES_COMPRESSED_DIR}/${HDF5_EXAMPLES_COMPRESSED}
${HDF5_SOURCE_DIR}/release_docs/USING_CMake_Examples.txt
DESTINATION ${HDF5_INSTALL_DATA_DIR}
COMPONENT hdfdocuments
@@ -287,16 +295,20 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
set (CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/release_docs/RELEASE.txt")
endif (EXISTS "${HDF5_SOURCE_DIR}/release_docs")
set (CPACK_PACKAGE_RELOCATABLE TRUE)
set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}/${CPACK_PACKAGE_NAME}/${CPACK_PACKAGE_VERSION}")
if (OVERRIDE_INSTALL_VERSION)
set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}/${CPACK_PACKAGE_NAME}/${OVERRIDE_INSTALL_VERSION}")
else (OVERRIDE_INSTALL_VERSION)
set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}/${CPACK_PACKAGE_NAME}/${CPACK_PACKAGE_VERSION}")
endif (OVERRIDE_INSTALL_VERSION)
set (CPACK_PACKAGE_ICON "${HDF_RESOURCES_EXT_DIR}/hdf.bmp")
set (CPACK_GENERATOR "TGZ")
set (CPACK_GENERATOR "TGZ")
if (WIN32)
set (CPACK_GENERATOR "ZIP")
set (CPACK_GENERATOR "ZIP")
if (NSIS_EXECUTABLE)
list (APPEND CPACK_GENERATOR "NSIS")
endif (NSIS_EXECUTABLE)
if (NSIS_EXECUTABLE)
list (APPEND CPACK_GENERATOR "NSIS")
endif (NSIS_EXECUTABLE)
# Installers for 32- vs. 64-bit CMake:
# - Root install directory (displayed to end user at installer-run time)
# - "NSIS package/display name" (text used in the installer GUI)
@@ -316,14 +328,17 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
# set the package header icon for MUI
set (CPACK_PACKAGE_ICON "${HDF_RESOURCES_EXT_DIR}\\\\hdf.bmp")
set (CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_PACKAGE_NAME}")
set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}\\\\${CPACK_PACKAGE_NAME}\\\\${CPACK_PACKAGE_VERSION}")
set (CPACK_MONOLITHIC_INSTALL ON)
if (OVERRIDE_INSTALL_VERSION)
set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}\\\\${CPACK_PACKAGE_NAME}\\\\${OVERRIDE_INSTALL_VERSION}")
else (OVERRIDE_INSTALL_VERSION)
set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}\\\\${CPACK_PACKAGE_NAME}\\\\${CPACK_PACKAGE_VERSION}")
endif (OVERRIDE_INSTALL_VERSION)
set (CPACK_NSIS_CONTACT "${HDF5_PACKAGE_BUGREPORT}")
set (CPACK_NSIS_MODIFY_PATH ON)
if (WIX_EXECUTABLE)
list (APPEND CPACK_GENERATOR "WIX")
endif (WIX_EXECUTABLE)
if (WIX_EXECUTABLE)
list (APPEND CPACK_GENERATOR "WIX")
endif (WIX_EXECUTABLE)
#WiX variables
set (CPACK_WIX_UNINSTALL "1")
# .. variable:: CPACK_WIX_LICENSE_RTF
@@ -361,30 +376,31 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
#
# This image must be 493 by 312 pixels.
#
set(CPACK_WIX_PROPERTY_ARPCOMMENTS "HDF5 (Hierarchical Data Format 5) Software Library and Utilities")
set(CPACK_WIX_PROPERTY_ARPURLINFOABOUT "${HDF5_PACKAGE_URL}")
set(CPACK_WIX_PROPERTY_ARPHELPLINK "${HDF5_PACKAGE_BUGREPORT}")
if (BUILD_SHARED_LIBS)
set(CPACK_WIX_PATCH_FILE "${HDF_RESOURCES_DIR}/patch.xml")
endif (BUILD_SHARED_LIBS)
elseif (APPLE)
list (APPEND CPACK_GENERATOR "DragNDrop")
list (APPEND CPACK_GENERATOR "DragNDrop")
set (CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE ON)
set (CPACK_PACKAGING_INSTALL_PREFIX "/${CPACK_PACKAGE_INSTALL_DIRECTORY}")
set (CPACK_PACKAGE_ICON "${HDF_RESOURCES_EXT_DIR}/hdf.icns")
if (HDF5_PACK_MACOSX_BUNDLE)
list (APPEND CPACK_GENERATOR "Bundle")
option (HDF5_PACK_MACOSX_FRAMEWORK "Package the HDF5 Library in a Frameworks" OFF)
if (HDF5_PACK_MACOSX_FRAMEWORK AND HDF5_BUILD_FRAMEWORKS)
set (CPACK_BUNDLE_NAME "${HDF5_PACKAGE_STRING}")
set (CPACK_BUNDLE_LOCATION "/") # make sure CMAKE_INSTALL_PREFIX ends in /
set (CMAKE_INSTALL_PREFIX "/${CPACK_BUNDLE_NAME}.framework/Versions/${CPACK_PACKAGE_VERSION}/${CPACK_PACKAGE_NAME}/")
set (CPACK_BUNDLE_ICON "${HDF_RESOURCES_EXT_DIR}/hdf.icns")
set (CPACK_BUNDLE_PLIST "${HDF5_BINARY_DIR}/CMakeFiles/Info.plist")
set (CPACK_APPLE_GUI_INFO_STRING "HDF5 (Hierarchical Data Format 5) Software Library and Utilities")
set (CPACK_APPLE_GUI_COPYRIGHT "Copyright © 2006-2014 by The HDF Group. All rights reserved.")
set (CPACK_SHORT_VERSION_STRING "${CPACK_PACKAGE_VERSION}")
set (CPACK_APPLE_GUI_BUNDLE_NAME "${HDF5_PACKAGE_STRING}")
set (CPACK_APPLE_GUI_VERSION_STRING "${CPACK_PACKAGE_VERSION_STRING}")
set (CPACK_APPLE_GUI_SHORT_VERSION_STRING "${CPACK_PACKAGE_VERSION}")
#-----------------------------------------------------------------------------
# Configure the Info.plist file for the install bundle
#-----------------------------------------------------------------------------
configure_file (
${HDF_RESOURCES_EXT_DIR}/CPack.Info.plist.in
${HDF_RESOURCES_DIR}/CPack.Info.plist.in
${HDF5_BINARY_DIR}/CMakeFiles/Info.plist @ONLY
)
configure_file (
@@ -397,19 +413,18 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
)
install (
FILES ${HDF5_BINARY_DIR}/CMakeFiles/PkgInfo
${HDF5_BINARY_DIR}/CMakeFiles/version.plist
DESTINATION ..
)
endif (HDF5_PACK_MACOSX_BUNDLE)
endif (HDF5_PACK_MACOSX_FRAMEWORK AND HDF5_BUILD_FRAMEWORKS)
else (WIN32)
list (APPEND CPACK_GENERATOR "STGZ")
list (APPEND CPACK_GENERATOR "STGZ")
set (CPACK_PACKAGING_INSTALL_PREFIX "/${CPACK_PACKAGE_INSTALL_DIRECTORY}")
set (CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE ON)
set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries")
set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${HDF5_PACKAGE_BUGREPORT}")
# list (APPEND CPACK_GENERATOR "RPM")
# list (APPEND CPACK_GENERATOR "RPM")
set (CPACK_RPM_PACKAGE_RELEASE "1")
set (CPACK_RPM_COMPONENT_INSTALL ON)
set (CPACK_RPM_PACKAGE_RELOCATABLE ON)
@@ -417,7 +432,7 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
set (CPACK_RPM_PACKAGE_GROUP "Development/Libraries")
set (CPACK_RPM_PACKAGE_URL "${HDF5_PACKAGE_URL}")
set (CPACK_RPM_PACKAGE_SUMMARY "HDF5 is a unique technology suite that makes possible the management of extremely large and complex data collections.")
set (CPACK_RPM_PACKAGE_DESCRIPTION
set (CPACK_RPM_PACKAGE_DESCRIPTION
"The HDF5 technology suite includes:
* A versatile data model that can represent very complex data objects and a wide variety of metadata.
@@ -433,14 +448,14 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
The HDF5 data model, file format, API, library, and tools are open and distributed without charge.
"
)
#-----------------------------------------------------------------------------
# Configure the spec file for the install RPM
#-----------------------------------------------------------------------------
# configure_file ("${HDF5_RESOURCES_DIR}/hdf5.spec.in" "${CMAKE_CURRENT_BINARY_DIR}/${HDF5_PACKAGE_NAME}.spec" @ONLY IMMEDIATE)
# set (CPACK_RPM_USER_BINARY_SPECFILE "${CMAKE_CURRENT_BINARY_DIR}/${HDF5_PACKAGE_NAME}.spec")
endif (WIN32)
# By default, do not warn when built on machines using only VS Express:
if (NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
set (CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
@@ -448,126 +463,170 @@ The HDF5 data model, file format, API, library, and tools are open and distribut
include (InstallRequiredSystemLibraries)
set (CPACK_INSTALL_CMAKE_PROJECTS "${HDF5_BINARY_DIR};HDF5;ALL;/")
if (HDF5_PACKAGE_EXTLIBS)
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
if (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;libraries;/")
set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;headers;/")
set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;configinstall;/")
if (WIN32)
set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;ALL;/")
else (WIN32)
set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;libraries;/")
set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;headers;/")
set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;configinstall;/")
endif (WIN32)
endif (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
if (SZIP_FOUND AND SZIP_USE_EXTERNAL)
set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;libraries;/")
set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;headers;/")
set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;configinstall;/")
if (WIN32)
set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;ALL;/")
else (WIN32)
set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;libraries;/")
set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;headers;/")
set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;configinstall;/")
endif (WIN32)
endif (SZIP_FOUND AND SZIP_USE_EXTERNAL)
endif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
endif (HDF5_PACKAGE_EXTLIBS)
include (CPack)
cpack_add_install_type(Full DISPLAY_NAME "Everything")
cpack_add_install_type(Developer)
cpack_add_component_group(Runtime)
cpack_add_component_group(Documents
EXPANDED
DESCRIPTION "Release notes for developing HDF5 applications"
)
cpack_add_component_group(Development
EXPANDED
DESCRIPTION "All of the tools you'll need to develop HDF5 applications"
)
cpack_add_component_group(Applications
EXPANDED
DESCRIPTION "Tools for HDF5 files"
)
#---------------------------------------------------------------------------
# Now list the cpack commands
#---------------------------------------------------------------------------
CPACK_ADD_COMPONENT (hdfapplications
DISPLAY_NAME "HDF5 Applications"
DEPENDS libraries
GROUP Applications
)
CPACK_ADD_COMPONENT (libraries
cpack_add_component (libraries
DISPLAY_NAME "HDF5 Libraries"
GROUP Runtime
INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (headers
DISPLAY_NAME "HDF5 Headers"
cpack_add_component (headers
DISPLAY_NAME "HDF5 Headers"
DEPENDS libraries
GROUP Development
INSTALL_TYPES Full Developer
)
CPACK_ADD_COMPONENT (hdfdocuments
cpack_add_component (hdfdocuments
DISPLAY_NAME "HDF5 Documents"
GROUP Documents
INSTALL_TYPES Full Developer
)
CPACK_ADD_COMPONENT (configinstall
DISPLAY_NAME "HDF5 CMake files"
cpack_add_component (configinstall
DISPLAY_NAME "HDF5 CMake files"
DEPENDS libraries
GROUP Development
INSTALL_TYPES Full Developer User
)
if (HDF5_BUILD_FORTRAN)
CPACK_ADD_COMPONENT (fortlibraries
DISPLAY_NAME "HDF5 Fortran Libraries"
cpack_add_component (fortlibraries
DISPLAY_NAME "HDF5 Fortran Libraries"
DEPENDS libraries
GROUP Runtime
INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (fortheaders
DISPLAY_NAME "HDF5 Fortran Headers"
cpack_add_component (fortheaders
DISPLAY_NAME "HDF5 Fortran Headers"
DEPENDS fortlibraries
GROUP Development
INSTALL_TYPES Full Developer
)
endif (HDF5_BUILD_FORTRAN)
if (HDF5_BUILD_CPP_LIB)
CPACK_ADD_COMPONENT (cpplibraries
DISPLAY_NAME "HDF5 C++ Libraries"
cpack_add_component (cpplibraries
DISPLAY_NAME "HDF5 C++ Libraries"
DEPENDS libraries
GROUP Runtime
INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (cppheaders
DISPLAY_NAME "HDF5 C++ Headers"
cpack_add_component (cppheaders
DISPLAY_NAME "HDF5 C++ Headers"
DEPENDS cpplibraries
GROUP Development
INSTALL_TYPES Full Developer
)
endif (HDF5_BUILD_CPP_LIB)
if (HDF5_BUILD_TOOLS)
CPACK_ADD_COMPONENT (toolsapplications
DISPLAY_NAME "HDF5 Tools Applications"
cpack_add_component (toolsapplications
DISPLAY_NAME "HDF5 Tools Applications"
DEPENDS toolslibraries
GROUP Applications
INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (toolslibraries
DISPLAY_NAME "HDF5 Tools Libraries"
cpack_add_component (toolslibraries
DISPLAY_NAME "HDF5 Tools Libraries"
DEPENDS libraries
GROUP Runtime
INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (toolsheaders
DISPLAY_NAME "HDF5 Tools Headers"
cpack_add_component (toolsheaders
DISPLAY_NAME "HDF5 Tools Headers"
DEPENDS toolslibraries
GROUP Development
INSTALL_TYPES Full Developer
)
endif (HDF5_BUILD_TOOLS)
if (HDF5_BUILD_HL_LIB)
CPACK_ADD_COMPONENT (hllibraries
DISPLAY_NAME "HDF5 HL Libraries"
cpack_add_component (hllibraries
DISPLAY_NAME "HDF5 HL Libraries"
DEPENDS libraries
GROUP Runtime
INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (hlheaders
DISPLAY_NAME "HDF5 HL Headers"
cpack_add_component (hlheaders
DISPLAY_NAME "HDF5 HL Headers"
DEPENDS hllibraries
GROUP Development
INSTALL_TYPES Full Developer
)
CPACK_ADD_COMPONENT (hltoolsapplications
DISPLAY_NAME "HDF5 HL Tools Applications"
cpack_add_component (hltoolsapplications
DISPLAY_NAME "HDF5 HL Tools Applications"
DEPENDS hllibraries
GROUP Applications
INSTALL_TYPES Full Developer User
)
CPACK_ADD_COMPONENT (hlcpplibraries
DISPLAY_NAME "HDF5 HL C++ Libraries"
DEPENDS hllibraries
GROUP Runtime
)
CPACK_ADD_COMPONENT (hlcppheaders
DISPLAY_NAME "HDF5 HL C++ Headers"
DEPENDS hlcpplibraries
GROUP Development
)
CPACK_ADD_COMPONENT (hlfortlibraries
DISPLAY_NAME "HDF5 HL Fortran Libraries"
DEPENDS fortlibraries
GROUP Runtime
)
if (HDF5_BUILD_CPP_LIB)
cpack_add_component (hlcpplibraries
DISPLAY_NAME "HDF5 HL C++ Libraries"
DEPENDS hllibraries
GROUP Runtime
INSTALL_TYPES Full Developer User
)
cpack_add_component (hlcppheaders
DISPLAY_NAME "HDF5 HL C++ Headers"
DEPENDS hlcpplibraries
GROUP Development
INSTALL_TYPES Full Developer
)
endif (HDF5_BUILD_CPP_LIB)
if (HDF5_BUILD_FORTRAN)
cpack_add_component (hlfortlibraries
DISPLAY_NAME "HDF5 HL Fortran Libraries"
DEPENDS fortlibraries
GROUP Runtime
INSTALL_TYPES Full Developer User
)
endif (HDF5_BUILD_FORTRAN)
endif (HDF5_BUILD_HL_LIB)
endif (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)

View File

@@ -10,6 +10,24 @@ PROJECT (HDF5 C CXX)
# set CMAKE_INSTALL_PREFIX to the required install path.
# Make install can be used to install all components for system-wide use.
#
if ("${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
MESSAGE(FATAL_ERROR "\nERROR! ${PROJECT_NAME} DOES NOT SUPPORT IN SOURCE BUILDS!\n"
"CMAKE_CURRENT_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}"
" == CMAKE_CURRENT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}\n"
"NEXT STEPS:\n"
"(1) Delete the CMakeCache.txt file and the CMakeFiles/ directory\n"
" under the source directory for ${PROJECT_NAME}, otherwise you\n"
" will not be able to configure ${PROJECT_NAME} correctly!\n"
" * For example, on linux machines do:\n"
" $ rm -r CMakeCache.txt CMakeFiles/\n"
"(2) Create a different directory and configure ${PROJECT_NAME} in that directory.\n"
" * For example, on linux machines do:\n"
" $ mkdir MY_BUILD\n"
" $ cd MY_BUILD\n"
" $ cmake [OPTIONS] ..\n"
)
endif ()
#-----------------------------------------------------------------------------
# Instructions for use : Sub-Project Build
#
@@ -29,7 +47,7 @@ PROJECT (HDF5 C CXX)
# dependencies to this variable so that external projects pick them up
#
# HDF5_EXTERNAL_LIB_PREFIX :
# If the parent project needs to install hdf libraries, but avoid
# If the parent project needs to install hdf libraries, but avoid
# name conflicts with system versions, then a prefix may be added
# to ensure that the correct versions configured are used.
#
@@ -53,8 +71,8 @@ PROJECT (HDF5 C CXX)
# # Setup all necessary overrides for zlib so that HDF5 uses our
# # internally compiled zlib rather than any other version
# if (HDF5_ENABLE_Z_LIB_SUPPORT)
# # We must tell the main HDF5 library that it depends on our zlib
# set (HDF5_LIB_DEPENDENCIES vtkzlib)
# # We must tell the main HDF5 library that it depends on our zlib
# set (HDF5_LIB_DEPENDENCIES vtkzlib)
# # Override the zlib header file
# if (VTK_USE_SYSTEM_ZLIB)
# set (H5_ZLIB_HEADER "zlib.h")
@@ -65,10 +83,11 @@ PROJECT (HDF5 C CXX)
# set (ZLIB_LIBRARIES vtkzlib)
# endif (VTK_USE_SYSTEM_ZLIB)
# endif (HDF5_ENABLE_Z_LIB_SUPPORT)
#
#
# # Add the sub project
# add_subdirectory (Utilities/hdf5-1.8)
#-----------------------------------------------------------------------------
string(TIMESTAMP CONFIG_DATE "%Y-%m-%d")
#-----------------------------------------------------------------------------
# Allow Visual Studio solution directories
@@ -84,6 +103,8 @@ if (HDF5_USE_FOLDERS)
endif (HDF5_USE_FOLDERS)
option (HDF5_NO_PACKAGES "CPACK - Disable packaging" OFF)
mark_as_advanced (HDF5_NO_PACKAGES)
option (ALLOW_UNSUPPORTED "Allow unsupported combinations of configure options" OFF)
mark_as_advanced (ALLOW_UNSUPPORTED)
#-----------------------------------------------------------------------------
# Set the core names of all the libraries
@@ -120,18 +141,30 @@ set (HDF5_HL_F90_C_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_HL_F90_C_LIB_
#-----------------------------------------------------------------------------
# Set the target names of all the libraries
#-----------------------------------------------------------------------------
set (HDF5_LIB_TARGET ${HDF5_LIB_CORENAME})
set (HDF5_TEST_LIB_TARGET ${HDF5_TEST_LIB_CORENAME})
set (HDF5_CPP_LIB_TARGET ${HDF5_CPP_LIB_CORENAME})
set (HDF5_HL_LIB_TARGET ${HDF5_HL_LIB_CORENAME})
set (HDF5_HL_CPP_LIB_TARGET ${HDF5_HL_CPP_LIB_CORENAME})
set (HDF5_TOOLS_LIB_TARGET ${HDF5_TOOLS_LIB_CORENAME})
set (HDF5_F90_LIB_TARGET ${HDF5_F90_LIB_CORENAME})
set (HDF5_F90_C_LIB_TARGET ${HDF5_F90_C_LIB_CORENAME})
set (HDF5_F90_TEST_LIB_TARGET ${HDF5_F90_TEST_LIB_CORENAME})
set (HDF5_F90_C_TEST_LIB_TARGET ${HDF5_F90_C_TEST_LIB_CORENAME})
set (HDF5_HL_F90_LIB_TARGET ${HDF5_HL_F90_LIB_CORENAME})
set (HDF5_HL_F90_C_LIB_TARGET ${HDF5_HL_F90_C_LIB_CORENAME})
set (HDF5_LIB_TARGET "${HDF5_LIB_CORENAME}-static")
set (HDF5_TEST_LIB_TARGET "${HDF5_TEST_LIB_CORENAME}-static")
set (HDF5_CPP_LIB_TARGET "${HDF5_CPP_LIB_CORENAME}-static")
set (HDF5_HL_LIB_TARGET "${HDF5_HL_LIB_CORENAME}-static")
set (HDF5_HL_CPP_LIB_TARGET "${HDF5_HL_CPP_LIB_CORENAME}-static")
set (HDF5_TOOLS_LIB_TARGET "${HDF5_TOOLS_LIB_CORENAME}-static")
set (HDF5_F90_LIB_TARGET "${HDF5_F90_LIB_CORENAME}-static")
set (HDF5_F90_C_LIB_TARGET "${HDF5_F90_C_LIB_CORENAME}-static")
set (HDF5_F90_TEST_LIB_TARGET "${HDF5_F90_TEST_LIB_CORENAME}-static")
set (HDF5_F90_C_TEST_LIB_TARGET "${HDF5_F90_C_TEST_LIB_CORENAME}-static")
set (HDF5_HL_F90_LIB_TARGET "${HDF5_HL_F90_LIB_CORENAME}-static")
set (HDF5_HL_F90_C_LIB_TARGET "${HDF5_HL_F90_C_LIB_CORENAME}-static")
set (HDF5_LIBSH_TARGET "${HDF5_LIB_CORENAME}-shared")
set (HDF5_TEST_LIBSH_TARGET "${HDF5_TEST_LIB_CORENAME}-shared")
set (HDF5_CPP_LIBSH_TARGET "${HDF5_CPP_LIB_CORENAME}-shared")
set (HDF5_HL_LIBSH_TARGET "${HDF5_HL_LIB_CORENAME}-shared")
set (HDF5_HL_CPP_LIBSH_TARGET "${HDF5_HL_CPP_LIB_CORENAME}-shared")
set (HDF5_TOOLS_LIBSH_TARGET "${HDF5_TOOLS_LIB_CORENAME}-shared")
set (HDF5_F90_LIBSH_TARGET "${HDF5_F90_LIB_CORENAME}-shared")
set (HDF5_F90_C_LIBSH_TARGET "${HDF5_F90_C_LIB_CORENAME}-shared")
set (HDF5_F90_TEST_LIBSH_TARGET "${HDF5_F90_TEST_LIB_CORENAME}-shared")
set (HDF5_F90_C_TEST_LIBSH_TARGET "${HDF5_F90_C_TEST_LIB_CORENAME}-shared")
set (HDF5_HL_F90_LIBSH_TARGET "${HDF5_HL_F90_LIB_CORENAME}-shared")
set (HDF5_HL_F90_C_LIBSH_TARGET "${HDF5_HL_F90_C_LIB_CORENAME}-shared")
#-----------------------------------------------------------------------------
# Define some CMake variables for use later in the project
@@ -152,13 +185,25 @@ if (NOT HDF5_INSTALL_BIN_DIR)
set (HDF5_INSTALL_BIN_DIR bin)
endif (NOT HDF5_INSTALL_BIN_DIR)
if (NOT HDF5_INSTALL_LIB_DIR)
if (APPLE)
set (HDF5_INSTALL_FMWK_DIR ${CMAKE_INSTALL_FRAMEWORK_PREFIX})
endif (APPLE)
set (HDF5_INSTALL_LIB_DIR lib)
endif (NOT HDF5_INSTALL_LIB_DIR)
if (NOT HDF5_INSTALL_INCLUDE_DIR)
set (HDF5_INSTALL_INCLUDE_DIR include)
endif (NOT HDF5_INSTALL_INCLUDE_DIR)
option (HDF5_BUILD_FRAMEWORKS "TRUE to build as frameworks libraries, FALSE to build according to BUILD_SHARED_LIBS" FALSE)
if (NOT HDF5_INSTALL_DATA_DIR)
if (NOT WIN32)
if (APPLE)
if (HDF5_BUILD_FRAMEWORKS)
set (HDF5_INSTALL_EXTRA_DIR ../SharedSupport)
else (HDF5_BUILD_FRAMEWORKS)
set (HDF5_INSTALL_EXTRA_DIR share)
endif (HDF5_BUILD_FRAMEWORKS)
set (HDF5_INSTALL_FWRK_DIR ${CMAKE_INSTALL_FRAMEWORK_PREFIX})
endif (APPLE)
set (HDF5_INSTALL_DATA_DIR share)
set (HDF5_INSTALL_CMAKE_DIR share/cmake)
else (NOT WIN32)
@@ -167,6 +212,10 @@ if (NOT HDF5_INSTALL_DATA_DIR)
endif (NOT WIN32)
endif (NOT HDF5_INSTALL_DATA_DIR)
if(DEFINED ADDITIONAL_CMAKE_PREFIX_PATH AND EXISTS "${ADDITIONAL_CMAKE_PREFIX_PATH}")
set (CMAKE_PREFIX_PATH ${ADDITIONAL_CMAKE_PREFIX_PATH} ${CMAKE_PREFIX_PATH})
endif(DEFINED ADDITIONAL_CMAKE_PREFIX_PATH AND EXISTS "${ADDITIONAL_CMAKE_PREFIX_PATH}")
#-----------------------------------------------------------------------------
# parse the full version number from H5public.h and include in H5_VERS_INFO
#-----------------------------------------------------------------------------
@@ -246,7 +295,7 @@ endif (NOT HDF5_EXTERNALLY_CONFIGURED)
#-----------------------------------------------------------------------------
# Targets built within this project are exported at Install time for use
# by other projects using FindHDF5.
# by other projects using FindHDF5.
#-----------------------------------------------------------------------------
if (NOT HDF5_EXPORTED_TARGETS)
set (HDF5_EXPORTED_TARGETS "hdf5-targets")
@@ -270,21 +319,23 @@ include (${HDF_RESOURCES_DIR}/ConfigureChecks.cmake)
set (CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
#-----------------------------------------------------------------------------
# Option to Build Shared/Static libs, default is static
# Mac OS X Options
#-----------------------------------------------------------------------------
option (BUILD_SHARED_LIBS "Build Shared Libraries" OFF)
set (LIB_TYPE STATIC)
if (HDF5_BUILD_FRAMEWORKS AND NOT BUILD_SHARED_LIBS)
set (BUILD_SHARED_LIBS ON CACHE BOOL "Build Shared Libraries")
endif (HDF5_BUILD_FRAMEWORKS AND NOT BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
# Option to Build Shared and Static libs, default is static
#-----------------------------------------------------------------------------
option (BUILD_SHARED_LIBS "Build Shared Libraries" ON)
set (H5_ENABLE_SHARED_LIB NO)
set (H5_ENABLE_STATIC_LIB NO)
if (BUILD_SHARED_LIBS)
set (LIB_TYPE SHARED)
set (H5_BUILT_AS_DYNAMIC_LIB 1)
set (H5_ENABLE_SHARED_LIB YES)
else (BUILD_SHARED_LIBS)
set (H5_BUILT_AS_STATIC_LIB 1)
set (H5_ENABLE_STATIC_LIB YES)
set (CMAKE_POSITION_INDEPENDENT_CODE ON)
set (LINK_SHARED_LIBS ${LINK_LIBS})
endif (BUILD_SHARED_LIBS)
set (H5_ENABLE_STATIC_LIB YES)
set (CMAKE_POSITION_INDEPENDENT_CODE ON)
#-----------------------------------------------------------------------------
# Option to Build Static executables
@@ -304,7 +355,7 @@ option (HDF5_ENABLE_COVERAGE "Enable code coverage for Libraries and Programs" O
if (HDF5_ENABLE_COVERAGE)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
set (LDFLAGS "${LDFLAGS} -fprofile-arcs -ftest-coverage")
set (LDFLAGS "${LDFLAGS} -fprofile-arcs -ftest-coverage")
endif (HDF5_ENABLE_COVERAGE)
#-----------------------------------------------------------------------------
@@ -313,7 +364,7 @@ endif (HDF5_ENABLE_COVERAGE)
# option (HDF5_ENABLE_USING_DMALLOC "Indicate that dmalloc is used" OFF)
# if (HDF5_ENABLE_USING_DMALLOC)
# find_package (DMALLOC)
# set (H5_HAVE_DMALLOC DMALLOC_FOUND)
# set (H5_HAVE_DMALLOC DMALLOC_FOUND)
# endif (HDF5_ENABLE_USING_DMALLOC)
#-----------------------------------------------------------------------------
@@ -321,17 +372,25 @@ endif (HDF5_ENABLE_COVERAGE)
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_USING_MEMCHECKER "Indicate that a memory checker is used" OFF)
if (HDF5_ENABLE_USING_MEMCHECKER)
set (H5_USING_MEMCHECKER 1)
set (H5_USING_MEMCHECKER 1)
endif (HDF5_ENABLE_USING_MEMCHECKER)
#-----------------------------------------------------------------------------
# Option to indicate internal memory allocation sanity checks are enabled
#-----------------------------------------------------------------------------
option (HDF5_MEMORY_ALLOC_SANITY_CHECK "Indicate that internal memory allocation sanity checks are enabled" OFF)
if (HDF5_MEMORY_ALLOC_SANITY_CHECK)
set (H5_MEMORY_ALLOC_SANITY_CHECK 1)
endif (HDF5_MEMORY_ALLOC_SANITY_CHECK)
#-----------------------------------------------------------------------------
# Option to use deprecated public API symbols
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_DEPRECATED_SYMBOLS "Enable deprecated public API symbols" ON)
if (HDF5_ENABLE_DEPRECATED_SYMBOLS)
set (H5_NO_DEPRECATED_SYMBOLS 0)
set (H5_NO_DEPRECATED_SYMBOLS 0)
else (HDF5_ENABLE_DEPRECATED_SYMBOLS)
set (H5_NO_DEPRECATED_SYMBOLS 1)
set (H5_NO_DEPRECATED_SYMBOLS 1)
endif (HDF5_ENABLE_DEPRECATED_SYMBOLS)
#-----------------------------------------------------------------------------
@@ -369,10 +428,11 @@ endif (MAKE_SYSTEM)
#-----------------------------------------------------------------------------
# Add some definitions for Debug Builds
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_TRACE "Enable API tracing capability" OFF)
mark_as_advanced (HDF5_ENABLE_TRACE)
if (CMAKE_BUILD_TYPE MATCHES Debug)
add_definitions (-DDEBUG)
# Enable tracing of the API
option (HDF5_ENABLE_TRACE "Enable API tracing capability" ON)
if (HDF5_ENABLE_TRACE)
add_definitions (-DH5_DEBUG_API )
endif (HDF5_ENABLE_TRACE)
@@ -381,37 +441,14 @@ if (CMAKE_BUILD_TYPE MATCHES Debug)
if (HDF5_ENABLE_INSTRUMENT)
set (H5_HAVE_INSTRUMENTED_LIBRARY 1)
endif (HDF5_ENABLE_INSTRUMENT)
mark_as_advanced (HDF5_Enable_Instrument)
#-- NMake Makefiles will overwhelm the console with warnings if -Wall is used.
if (NOT WIN32)
add_definitions (-Wall)
endif (NOT WIN32)
mark_as_advanced (HDF5_ENABLE_INSTRUMENT)
else (CMAKE_BUILD_TYPE MATCHES Debug)
add_definitions (-DNDEBUG)
option (HDF5_ENABLE_TRACE "Enable API tracing capability" OFF)
if (HDF5_ENABLE_TRACE)
add_definitions (-DH5_DEBUG_API )
endif (HDF5_ENABLE_TRACE)
endif (CMAKE_BUILD_TYPE MATCHES Debug)
#-----------------------------------------------------------------------------
# Compiler specific flags : Shouldn't there be compiler tests for these
#-----------------------------------------------------------------------------
if (CMAKE_COMPILER_IS_GNUCC)
if (CMAKE_BUILD_TYPE MATCHES Debug)
set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -finline-functions -fno-common")
else (CMAKE_BUILD_TYPE MATCHES Debug)
set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common")
endif (CMAKE_BUILD_TYPE MATCHES Debug)
endif (CMAKE_COMPILER_IS_GNUCC)
if (CMAKE_COMPILER_IS_GNUCXX)
if (CMAKE_BUILD_TYPE MATCHES Debug)
set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -finline-functions -fno-common")
else (CMAKE_BUILD_TYPE MATCHES Debug)
set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common")
endif (CMAKE_BUILD_TYPE MATCHES Debug)
endif (CMAKE_COMPILER_IS_GNUCXX)
#-----------------------------------------------------------------------------
# Option to embed library info into executables
#-----------------------------------------------------------------------------
@@ -420,210 +457,7 @@ if (HDF5_ENABLE_EMBEDDED_LIBINFO)
set (H5_HAVE_EMBEDDED_LIBINFO 1)
endif (HDF5_ENABLE_EMBEDDED_LIBINFO)
#-----------------------------------------------------------------------------
# Option to allow the user to disable compiler warnings
#-----------------------------------------------------------------------------
option (HDF5_DISABLE_COMPILER_WARNINGS "Disable compiler warnings" OFF)
if (HDF5_DISABLE_COMPILER_WARNINGS)
# MSVC uses /w to suppress warnings. It also complains if another
# warning level is given, so remove it.
if (MSVC)
set (HDF5_WARNINGS_BLOCKED 1)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /w")
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /w")
endif (MSVC)
if (WIN32)
add_definitions (-D_CRT_SECURE_NO_WARNINGS)
endif (WIN32)
# Borland uses -w- to suppress warnings.
if (BORLAND)
set (HDF5_WARNINGS_BLOCKED 1)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w-")
endif (BORLAND)
# Most compilers use -w to suppress warnings.
if (NOT HDF5_WARNINGS_BLOCKED)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
endif (NOT HDF5_WARNINGS_BLOCKED)
endif (HDF5_DISABLE_COMPILER_WARNINGS)
#-----------------------------------------------------------------------------
# CDash is configured to only allow 3000 warnings, so
# break into groups (from the config/gnu-flags file)
#-----------------------------------------------------------------------------
if (NOT MSVC)
if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline")
else (NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -erroff=%none -DBSD_COMP")
endif (NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
# Append warning flags
# Don't use the '-Wtraditional' flag, we're way past having K&R C code
# set (H5_CFLAGS "${H5_CFLAGS} -Wtraditional")
# Don't use the '-Wtraditional-conversion' flag, there's too many warnings
# from GCC's assert macro
# set (H5_CFLAGS "${H5_CFLAGS} -Wtraditional-conversion")
# Append warning flags from gcc-3* case
# (don't use -Wpadded flag for normal builds, many of the warnings its
# issuing can't be fixed and they are making it hard to detect other,
# more important warnings)
#set (H5_CFLAGS "${H5_CFLAGS} -Wfloat-equal -Wmissing-format-attribute -Wpadded")
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wfloat-equal -Wmissing-format-attribute")
# Append warning flags from gcc-3.2* case
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wmissing-noreturn -Wpacked -Wdisabled-optimization")
# Enable more format checking flags, beyond the basic -Wformat included
# in -Wall
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wformat=2")
# The "unreachable code" warning appears to be reliable now...
# (this warning was removed in gcc 4.5+)
#set (H5_CFLAGS "${H5_CFLAGS} -Wunreachable-code")
# Append warning flags from gcc-3.3* case
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wendif-labels")
# Append warning flags from gcc-3.4* case
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch")
# Append more extra warning flags that only gcc4.0+ know about
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros")
# Append more extra warning flags that only gcc 4.1+ know about
set (H5_CFLAGS3 "${H5_CFLAGS3} -Wunsafe-loop-optimizations -Wc++-compat")
# Append more extra warning flags that only gcc 4.2+ know about
set (H5_CFLAGS3 "${H5_CFLAGS3} -Wstrict-overflow")
# Append more extra warning flags that only gcc 4.3+ know about
#
# Technically, variable-length arrays are part of the C99 standard, but
# we should approach them a bit cautiously... -QAK
set (H5_CFLAGS3 "${H5_CFLAGS3} -Wlogical-op -Wlarger-than=2048 -Wvla")
# Append more extra warning flags that only gcc 4.4+ know about
set (H5_CFLAGS4 "${H5_CFLAGS4} -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat")
# Append more extra warning flags that only gcc 4.5+ know about
set (H5_CFLAGS4 "${H5_CFLAGS4} -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants")
# Append more extra warning flags that only gcc 4.6+ know about
set (H5_CFLAGS5 "${H5_CFLAGS5} -Wdouble-promotion -Wsuggest-attribute=const -Wtrampolines")
# Append more extra warning flags that only gcc 4.7+ know about
set (H5_CFLAGS5 "${H5_CFLAGS5} -Wstack-usage=8192 -Wvector-operation-performance -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn")
endif (NOT MSVC)
#-----------------------------------------------------------------------------
# Option to allow the user to enable all warnings
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_ALL_WARNINGS "Enable all warnings" OFF)
if (HDF5_ENABLE_ALL_WARNINGS)
if (MSVC)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Wall")
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Wall")
else (MSVC)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic ${H5_CFLAGS1} ${H5_CFLAGS2} ${H5_CFLAGS3} ${H5_CFLAGS4}")
endif (MSVC)
endif (HDF5_ENABLE_ALL_WARNINGS)
#-----------------------------------------------------------------------------
# Option to allow the user to enable warnings by groups
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_GROUPZERO_WARNINGS "Enable group zero warnings" OFF)
if (HDF5_ENABLE_GROUPZERO_WARNINGS)
if (MSVC)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W1")
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W1")
else (MSVC)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic")
endif (MSVC)
endif (HDF5_ENABLE_GROUPZERO_WARNINGS)
#-----------------------------------------------------------------------------
# Option to allow the user to enable warnings by groups
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_GROUPONE_WARNINGS "Enable group one warnings" OFF)
if (HDF5_ENABLE_GROUPONE_WARNINGS)
if (MSVC)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W2")
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W2")
else (MSVC)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS1}")
endif (MSVC)
endif (HDF5_ENABLE_GROUPONE_WARNINGS)
#-----------------------------------------------------------------------------
# Option to allow the user to enable warnings by groups
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_GROUPTWO_WARNINGS "Enable group two warnings" OFF)
if (HDF5_ENABLE_GROUPTWO_WARNINGS)
if (MSVC)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3")
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3")
else (MSVC)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS2}")
endif (MSVC)
endif (HDF5_ENABLE_GROUPTWO_WARNINGS)
#-----------------------------------------------------------------------------
# Option to allow the user to enable warnings by groups
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_GROUPTHREE_WARNINGS "Enable group three warnings" OFF)
if (HDF5_ENABLE_GROUPTHREE_WARNINGS)
if (MSVC)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
else (MSVC)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS3}")
endif (MSVC)
endif (HDF5_ENABLE_GROUPTHREE_WARNINGS)
#-----------------------------------------------------------------------------
# Option to allow the user to enable warnings by groups
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_GROUPFOUR_WARNINGS "Enable group four warnings" OFF)
if (HDF5_ENABLE_GROUPFOUR_WARNINGS)
if (NOT MSVC)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS4}")
endif (NOT MSVC)
endif (HDF5_ENABLE_GROUPFOUR_WARNINGS)
#-----------------------------------------------------------------------------
# Option to allow the user to enable warnings by groups
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_GROUPFIVE_WARNINGS "Enable group five warnings" OFF)
if (HDF5_ENABLE_GROUPFIVE_WARNINGS)
if (NOT MSVC)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS5}")
endif (NOT MSVC)
endif (HDF5_ENABLE_GROUPFIVE_WARNINGS)
#-----------------------------------------------------------------------------
# This is in here to help some of the GCC based IDES like Eclipse
# and code blocks parse the compiler errors and warnings better.
#-----------------------------------------------------------------------------
if (CMAKE_COMPILER_IS_GNUCC)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0")
endif (CMAKE_COMPILER_IS_GNUCC)
if (CMAKE_COMPILER_IS_GNUCXX)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0")
endif (CMAKE_COMPILER_IS_GNUCXX)
include (${HDF_RESOURCES_DIR}/HDFCompilerFlags.cmake)
#-----------------------------------------------------------------------------
# All libs/tests/examples need the main include directories
@@ -654,6 +488,7 @@ endif (HDF5_ENABLE_PARALLEL)
# Parallel IO usage requires MPI to be Linked and Included
if (H5_HAVE_PARALLEL)
set (LINK_LIBS ${LINK_LIBS} ${MPI_C_LIBRARIES})
set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${MPI_C_LIBRARIES})
if (MPI_C_LINK_FLAGS)
set (CMAKE_EXE_LINKER_FLAGS "${MPI_C_LINK_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")
endif (MPI_C_LINK_FLAGS)
@@ -685,6 +520,9 @@ endif (HDF5_USE_18_API_DEFAULT)
#-----------------------------------------------------------------------------
include (UserMacros.cmake)
#-----------------------------------------------------------------------------
# Include filter (zlib, szip, etc.) macros
#-----------------------------------------------------------------------------
include (CMakeFilters.cmake)
#-----------------------------------------------------------------------------
@@ -697,7 +535,7 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED)
if (HDF5_ENABLE_Z_LIB_SUPPORT AND ZLIB_FOUND)
PACKAGE_ZLIB_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT})
endif (HDF5_ENABLE_Z_LIB_SUPPORT AND ZLIB_FOUND)
if (HDF5_ENABLE_SZIP_SUPPORT AND SZIP_FOUND)
PACKAGE_SZIP_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT})
endif (HDF5_ENABLE_SZIP_SUPPORT AND SZIP_FOUND)
@@ -705,41 +543,58 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED)
endif (NOT HDF5_EXTERNALLY_CONFIGURED)
#-----------------------------------------------------------------------------
# Option to use threadsafe
# Note: Currently CMake only allows configuring of threadsafe on
# non-Cygwin WINDOWS.
#-----------------------------------------------------------------------------
if (WIN32)
option (HDF5_ENABLE_THREADSAFE "Enable thread-safety" OFF)
if (HDF5_ENABLE_THREADSAFE)
# check for unsupported options
if (H5_BUILT_AS_STATIC_LIB)
message (FATAL_ERROR " **** thread-safety option not supported with static library **** ")
endif (H5_BUILT_AS_STATIC_LIB)
if (HDF5_ENABLE_PARALLEL)
option (HDF5_ENABLE_THREADSAFE "Enable thread-safety" OFF)
if (HDF5_ENABLE_THREADSAFE)
# check for unsupported options
message (STATUS " **** thread-safety option not supported with static library **** ")
message (STATUS " **** thread-safety option will not be used building static library **** ")
if (HDF5_ENABLE_PARALLEL)
if (NOT ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** parallel and thread-safety options are not supported **** ")
endif (HDF5_ENABLE_PARALLEL)
if (HDF5_BUILD_FORTRAN)
else (NOT ALLOW_UNSUPPORTED)
message (STATUS " **** Allowing unsupported parallel and thread-safety options **** ")
endif (NOT ALLOW_UNSUPPORTED)
endif (HDF5_ENABLE_PARALLEL)
if (HDF5_BUILD_FORTRAN)
if (NOT ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** Fortran and thread-safety options are not supported **** ")
endif (HDF5_BUILD_FORTRAN)
if (HDF5_BUILD_CPP_LIB)
else (NOT ALLOW_UNSUPPORTED)
message (STATUS " **** Allowing unsupported Fortran and thread-safety options **** ")
endif (NOT ALLOW_UNSUPPORTED)
endif (HDF5_BUILD_FORTRAN)
if (HDF5_BUILD_CPP_LIB)
if (NOT ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** C++ and thread-safety options are not supported **** ")
endif (HDF5_BUILD_CPP_LIB)
set (H5_HAVE_THREADSAFE 1)
if (H5_HAVE_IOEO)
message (STATUS " **** Win32 threads requires WINVER>=0x600 (Windows Vista/7/8) **** ")
set (H5_HAVE_WIN_THREADS 1)
else (H5_HAVE_IOEO)
if (NOT H5_HAVE_PTHREAD_H)
set (H5_HAVE_THREADSAFE 0)
message (FATAL_ERROR " **** thread-safe option requires Win32 threads or Pthreads **** ")
endif (NOT H5_HAVE_PTHREAD_H)
endif (H5_HAVE_IOEO)
endif (HDF5_ENABLE_THREADSAFE)
endif (WIN32)
else (NOT ALLOW_UNSUPPORTED)
message (STATUS " **** Allowing unsupported C++ and thread-safety options **** ")
endif (NOT ALLOW_UNSUPPORTED)
endif (HDF5_BUILD_CPP_LIB)
if (HDF5_BUILD_HL_LIB)
if (NOT ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** HL and thread-safety options are not supported **** ")
else (NOT ALLOW_UNSUPPORTED)
message (STATUS " **** Allowing unsupported HL and thread-safety options **** ")
endif (NOT ALLOW_UNSUPPORTED)
endif (HDF5_BUILD_HL_LIB)
if (H5_HAVE_IOEO)
message (STATUS " **** Win32 threads requires WINVER>=0x600 (Windows Vista/7/8) **** ")
set (H5_HAVE_WIN_THREADS 1)
else (H5_HAVE_IOEO)
if (NOT H5_HAVE_PTHREAD_H)
message (FATAL_ERROR " **** thread-safe option requires Win32 threads or Pthreads **** ")
endif (NOT H5_HAVE_PTHREAD_H)
endif (H5_HAVE_IOEO)
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads)
if (NOT Threads_FOUND)
message (STATUS " **** thread-safe package not found - threads still might work **** ")
endif (NOT Threads_FOUND)
endif (HDF5_ENABLE_THREADSAFE)
# -----------------------------------------------------------------------
# wrapper script variables
#
#
#set (CFLAGS "${C_DEFINES}")
#set (CXXFLAGS "${CXX_DEFINES}")
@@ -751,23 +606,44 @@ add_subdirectory (${HDF5_SOURCE_DIR}/src ${PROJECT_BINARY_DIR}/src)
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
if (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
ADD_DEPENDENCIES (${HDF5_LIB_TARGET} ZLIB)
if (BUILD_SHARED_LIBS)
add_dependencies (${HDF5_LIBSH_TARGET} ZLIB)
endif (BUILD_SHARED_LIBS)
endif (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
if (SZIP_FOUND AND SZIP_USE_EXTERNAL)
ADD_DEPENDENCIES (${HDF5_LIB_TARGET} SZIP)
if (BUILD_SHARED_LIBS)
add_dependencies (${HDF5_LIBSH_TARGET} SZIP)
endif (BUILD_SHARED_LIBS)
endif (SZIP_FOUND AND SZIP_USE_EXTERNAL)
endif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
#-----------------------------------------------------------------------------
# Dashboard and Testing Settings
#-----------------------------------------------------------------------------
option (BUILD_TESTING "Build HDF5 Unit Testing" OFF)
option (BUILD_TESTING "Build HDF5 Unit Testing" ON)
if (BUILD_TESTING)
set (DART_TESTING_TIMEOUT 1200
CACHE INTEGER
"Timeout in seconds for each test (default 1200=20minutes)"
)
option (HDF5_TEST_VFD "Execute tests with different VFDs" OFF)
mark_as_advanced (HDF5_TEST_VFD)
if (HDF5_TEST_VFD)
option (HDF5_TEST_FHEAP_VFD "Execute tests with different VFDs" ON)
mark_as_advanced (HDF5_TEST_FHEAP_VFD)
endif (HDF5_TEST_VFD)
option (HDF_TEST_EXPRESS "Control testing framework (0-3)" "0")
mark_as_advanced (HDF_TEST_EXPRESS)
enable_testing ()
include (CTest)
include (${HDF5_SOURCE_DIR}/CTestConfig.cmake)
configure_file (${HDF_RESOURCES_DIR}/CTestCustom.cmake ${HDF5_BINARY_DIR}/CTestCustom.ctest @ONLY)
if (NOT HDF5_EXTERNALLY_CONFIGURED)
if (EXISTS "${HDF5_SOURCE_DIR}/test" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/test")
add_subdirectory (${HDF5_SOURCE_DIR}/tools/lib ${PROJECT_BINARY_DIR}/tools/lib)
@@ -779,18 +655,39 @@ if (BUILD_TESTING)
endif (EXISTS "${HDF5_SOURCE_DIR}/testpar" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/testpar")
endif (H5_HAVE_PARALLEL)
endif (NOT HDF5_EXTERNALLY_CONFIGURED)
option (HDF5_TEST_VFD "Execute tests with different VFDs" OFF)
mark_as_advanced (HDF5_TEST_VFD)
if (HDF5_TEST_VFD)
option (HDF5_TEST_FHEAP_VFD "Execute tests with different VFDs" ON)
mark_as_advanced (HDF5_TEST_FHEAP_VFD)
endif (HDF5_TEST_VFD)
include (${HDF5_SOURCE_DIR}/CTestConfig.cmake)
configure_file (${HDF_RESOURCES_DIR}/CTestCustom.cmake ${HDF5_BINARY_DIR}/CTestCustom.ctest @ONLY)
endif (BUILD_TESTING)
#-----------------------------------------------------------------------------
# Option to build HDF5 Tools
#-----------------------------------------------------------------------------
if (EXISTS "${HDF5_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/tools")
option (HDF5_BUILD_TOOLS "Build HDF5 Tools" ON)
if (HDF5_BUILD_TOOLS)
add_subdirectory (${HDF5_SOURCE_DIR}/tools ${PROJECT_BINARY_DIR}/tools)
endif (HDF5_BUILD_TOOLS)
endif (EXISTS "${HDF5_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/tools")
#-----------------------------------------------------------------------------
# Option to build examples
#-----------------------------------------------------------------------------
if (EXISTS "${HDF5_SOURCE_DIR}/examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/examples")
option (HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" ON)
if (HDF5_BUILD_EXAMPLES)
add_subdirectory (${HDF5_SOURCE_DIR}/examples ${PROJECT_BINARY_DIR}/examples)
endif (HDF5_BUILD_EXAMPLES)
endif (EXISTS "${HDF5_SOURCE_DIR}/examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/examples")
#-----------------------------------------------------------------------------
# Option to build High Level API's
#-----------------------------------------------------------------------------
if (EXISTS "${HDF5_SOURCE_DIR}/hl" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl")
option (HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" ON)
if (HDF5_BUILD_HL_LIB)
set (H5_INCLUDE_HL 1)
add_subdirectory (${HDF5_SOURCE_DIR}/hl ${PROJECT_BINARY_DIR}/hl)
endif (HDF5_BUILD_HL_LIB)
endif (EXISTS "${HDF5_SOURCE_DIR}/hl" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl")
#-----------------------------------------------------------------------------
# Option to build Fortran bindings/tests/examples
# Make sure this appears before the CONFIGURE_FILE step
@@ -801,12 +698,29 @@ set (H5_FC_FUNC "H5_FC_FUNC(name,NAME) name ## _")
set (H5_FC_FUNC_ "H5_FC_FUNC_(name,NAME) name ## _")
if (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/fortran")
option (HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF)
option (SKIP_HDF5_FORTRAN_SHARED "Do not build the fortran shared libraries" OFF)
if (HDF5_BUILD_FORTRAN)
if (BUILD_SHARED_LIBS AND APPLE)
message (FATAL_ERROR " **** Shared FORTRAN libraries are unsupported **** ")
if (NOT ALLOW_UNSUPPORTED)
message (STATUS " **** Shared FORTRAN libraries are unsupported **** ")
set (SKIP_HDF5_FORTRAN_SHARED ON)
else (NOT ALLOW_UNSUPPORTED)
message (STATUS " **** Allowing unsupported Fortran shared libraries **** ")
endif (NOT ALLOW_UNSUPPORTED)
endif (BUILD_SHARED_LIBS AND APPLE)
option (HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" ON)
include (${HDF_RESOURCES_EXT_DIR}/HDFUseFortran.cmake)
message (STATUS "Fortran compiler ID is ${CMAKE_Fortran_COMPILER_ID}")
# Building with PGI requires CMake 3.3 or greater because previous versions
# of CMake add the wrong compiler flag for the PGI Fortran compiler.
if ("${CMAKE_Fortran_COMPILER_ID}" MATCHES "PGI" AND "${CMAKE_VERSION}" VERSION_LESS "3.3")
message (FATAL_ERROR " **** PGI FORTRAN REQUIRES CMAKE VERSION 3.3 OR GREATER **** ")
endif ()
include (${HDF_RESOURCES_DIR}/HDF5UseFortran.cmake)
if (HDF5_ENABLE_F2003)
if (NOT FORTRAN_HAVE_ISO_C_BINDING)
set (HDF5_ENABLE_F2003 OFF)
@@ -815,7 +729,7 @@ if (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/for
# -----------------------------------------------------------------------
# wrapper script variables
#
#
# set (FCFLAGS "${Fortran_DEFINES}")
add_subdirectory (${HDF5_SOURCE_DIR}/fortran ${PROJECT_BINARY_DIR}/fortran)
@@ -828,56 +742,35 @@ if (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/for
endif (HDF5_BUILD_FORTRAN)
endif (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/fortran")
#-----------------------------------------------------------------------------
# Option to build examples
#-----------------------------------------------------------------------------
if (EXISTS "${HDF5_SOURCE_DIR}/examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/examples")
option (HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" OFF)
if (HDF5_BUILD_EXAMPLES)
add_subdirectory (${HDF5_SOURCE_DIR}/examples ${PROJECT_BINARY_DIR}/examples)
endif (HDF5_BUILD_EXAMPLES)
endif (EXISTS "${HDF5_SOURCE_DIR}/examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/examples")
#-----------------------------------------------------------------------------
# Option to build HDF5 C++ Library
#-----------------------------------------------------------------------------
if (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
option (HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" OFF)
option (HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" ON)
if (HDF5_BUILD_CPP_LIB)
# check for unsupported options
if (HDF5_ENABLE_PARALLEL)
message (FATAL_ERROR " **** Parallel and C++ options are mutually exclusive **** ")
if (NOT ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** Parallel and C++ options are mutually exclusive **** ")
else (NOT ALLOW_UNSUPPORTED)
message (STATUS " **** Allowing unsupported Parallel and C++ options **** ")
endif (NOT ALLOW_UNSUPPORTED)
endif (HDF5_ENABLE_PARALLEL)
if (CMAKE_NO_STD_NAMESPACE)
set (H5_NO_STD 1)
endif (CMAKE_NO_STD_NAMESPACE)
add_subdirectory (${HDF5_SOURCE_DIR}/c++ ${PROJECT_BINARY_DIR}/c++)
if (HDF5_BUILD_HL_LIB)
if (EXISTS "${HDF5_SOURCE_DIR}/hl/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl/c++")
#-- Build the High Level Fortran source codes
add_subdirectory (${HDF5_SOURCE_DIR}/hl/c++ ${PROJECT_BINARY_DIR}/hl/c++)
endif (EXISTS "${HDF5_SOURCE_DIR}/hl/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl/c++")
endif (HDF5_BUILD_HL_LIB)
endif (HDF5_BUILD_CPP_LIB)
endif (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
#-----------------------------------------------------------------------------
# Option to build HDF5 Tools
#-----------------------------------------------------------------------------
if (EXISTS "${HDF5_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/tools")
option (HDF5_BUILD_TOOLS "Build HDF5 Tools" OFF)
if (HDF5_BUILD_TOOLS)
add_subdirectory (${HDF5_SOURCE_DIR}/tools ${PROJECT_BINARY_DIR}/tools)
endif (HDF5_BUILD_TOOLS)
endif (EXISTS "${HDF5_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/tools")
#-----------------------------------------------------------------------------
# Option to build High Level API's
#-----------------------------------------------------------------------------
if (EXISTS "${HDF5_SOURCE_DIR}/hl" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl")
option (HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" OFF)
if (HDF5_BUILD_HL_LIB)
set (H5_INCLUDE_HL 1)
add_subdirectory (${HDF5_SOURCE_DIR}/hl ${PROJECT_BINARY_DIR}/hl)
endif (HDF5_BUILD_HL_LIB)
endif (EXISTS "${HDF5_SOURCE_DIR}/hl" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/hl")
#-----------------------------------------------------------------------------
# Check if Fortran's default real is double precision. If it is and HL is
# Check if Fortran's default real is double precision. If it is and HL is
# being built then configure should fail due to bug HDFFV-889.
#-----------------------------------------------------------------------------
if (HDF5_BUILD_FORTRAN AND HDF5_BUILD_HL_LIB )

View File

@@ -4,7 +4,7 @@ HDF5 (Hierarchical Data Format 5) Software Library and Utilities
-----------------------------------------------------------------------------
HDF5 (Hierarchical Data Format 5) Software Library and Utilities
Copyright 2006-2014 by The HDF Group.
Copyright 2006-2015 by The HDF Group.
NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities
Copyright 1998-2006 by the Board of Trustees of the University of Illinois.

View File

@@ -9,10 +9,10 @@ set (CTEST_NIGHTLY_START_TIME "18:00:00 CST")
set (CTEST_DROP_METHOD "http")
if (CDASH_LOCAL)
set (CTEST_DROP_SITE "72.36.68.252")
set (CTEST_DROP_SITE "10.10.10.82")
set (CTEST_DROP_LOCATION "/submit.php?project=HDF5Trunk")
else (CDASH_LOCAL)
set (CTEST_DROP_SITE "cdash.hdfgroup.uiuc.edu")
set (CTEST_DROP_SITE "cdash.hdfgroup.org")
set (CTEST_DROP_LOCATION "/submit.php?project=HDF5+Trunk")
endif (CDASH_LOCAL)
set (CTEST_DROP_SITE_CDASH TRUE)
@@ -23,9 +23,9 @@ set (VALGRIND_COMMAND_OPTIONS "-v --tool=memcheck --leak-check=full --track-fds=
set (CTEST_MEMORYCHECK_COMMAND "/usr/bin/valgrind")
set (CTEST_MEMORYCHECK_COMMAND_OPTIONS "-v --tool=memcheck --leak-check=full --track-fds=yes --num-callers=50 --show-reachable=yes --track-origins=yes --malloc-fill=0xff --free-fill=0xfe")
set (CTEST_TEST_TIMEOUT 1200 CACHE STRING
"Maximum time allowed before CTest will kill the test.")
set (DART_TESTING_TIMEOUT 1200 CACHE STRING
set (CTEST_TEST_TIMEOUT 600 CACHE STRING
"Maximum time allowed before CTest will kill the test.")
set (DART_TESTING_TIMEOUT 600 CACHE STRING
"Maximum time allowed before CTest will kill the test." FORCE)
SET(CTEST_SUBMIT_RETRY_DELAY 20 CACHE STRING

836
MANIFEST

File diff suppressed because it is too large Load Diff

View File

@@ -87,7 +87,7 @@ CHECK_CLEANFILES+=*-tmp
test _test: check
lib progs check-p check-s:
@@SETX@; for d in $(SUBDIRS); do \
for d in $(SUBDIRS); do \
if test $$d != .; then \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
fi; \
@@ -95,7 +95,7 @@ lib progs check-p check-s:
# Make all, tests, and (un)install
tests:
@@SETX@; for d in $(SUBDIRS); do \
for d in $(SUBDIRS); do \
if test $$d != .; then \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
fi; \
@@ -103,7 +103,7 @@ tests:
# Check-clean also recurses into examples directory
check-clean:
@@SETX@; for d in $(SUBDIRS) examples; do \
for d in $(SUBDIRS) examples; do \
if test $$d != .; then \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
fi; \
@@ -130,7 +130,7 @@ uninstall-all:
# Install examples in this directory and recursively
install-examples uninstall-examples:
@@SETX@; for d in examples $(HDF5_INTERFACES) $(HL); do \
for d in examples $(HDF5_INTERFACES) $(HL); do \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
done
@@ -177,7 +177,7 @@ trace:
# Run tests with different Virtual File Drivers.
# Currently, only invoke check-vfd in the test directory.
check-vfd:
@@SETX@; for d in src test; do \
for d in src test; do \
if test $$d != .; then \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
fi; \

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
HDF5 version 1.9.215 currently under development
HDF5 version 1.9.234 currently under development
Please refer to the release_docs/INSTALL file for installation instructions.
------------------------------------------------------------------------------
@@ -8,7 +8,7 @@ specific to this release of the library. Several INSTALL* files can also be
found in the release_docs/ directory: INSTALL contains instructions for
compiling and installing the library; INSTALL_parallel contains instructions
for installing the parallel version of the library; similarly-named files
contain instructions for VMS and several environments on MS Windows systems.
contain instructions for several environments on MS Windows systems.
Documentation for this release can be found at the following URL:
http://www.hdfgroup.org/HDF5/doc/.

View File

@@ -19,4 +19,4 @@ endif (BUILD_USER_DEFINED_LIBS)
#-----------------------------------------------------------------------------
#------------------- E X A M P L E E N D -----------------------------------
#-----------------------------------------------------------------------------

9774
aclocal.m4 vendored

File diff suppressed because it is too large Load Diff

View File

@@ -53,87 +53,3 @@ esac
rm -rf conftest*[]dnl
])# _AC_SYS_LARGEFILE_MACRO_VALUE
dnl -------------------------------------------------------------------------
dnl AC_F9X_MODS()
dnl
dnl Check how F9X handles modules. This macro also checks which
dnl command-line option to use to include the module once it's built.
dnl
AC_DEFUN(AC_F9X_MODS,
[AC_MSG_CHECKING(what $FC does with modules)
AC_LANG_PUSH(Fortran)
test -d conftestdir || mkdir conftestdir
cd conftestdir
rm -rf *
cat >conftest.$ac_ext <<EOF
module module
integer foo
end module module
EOF
eval $ac_compile
modfiles=""
F9XMODEXT=""
for f in conftest.o module.mod MODULE.mod module.M MODULE.M; do
if test -f "$f" ; then
modfiles="$f"
case "$f" in
*.o) F9XMODEXT="o" ;;
*.mod) F9XMODEXT="mod" ;;
*.M) F9XMODEXT="M" ;;
esac
fi
done
echo $modfiles 6>&1
if test "$modfiles" = file.o; then
echo $ac_n "checking whether $FC -em is saner""... $ac_c" 1>&6
OLD_FCFLAGS=$FCFLAGS
FCFLAGS="$FCFLAGS -em"
eval $ac_compile
modfiles=""
for f in file.o module.mod MODULE.mod module.M MODULE.M; do
test -f $f && modfiles="$f"
done
if test "$modfiles" = "file.o"; then
FCFLAGS=$OLD_FCFLAGS
echo no 6>&1
else
echo yes 6>&1
fi
fi
cd ..
AC_MSG_CHECKING(how $FC finds modules)
for flag in "-I" "-M" "-p"; do
cat >conftest.$ac_ext <<EOF
program conftest
use module
end program conftest
EOF
ac_compile='${FC-f90} $FCFLAGS ${flag}conftestdir -c conftest.$ac_ext 1>&AS_MESSAGE_LOG_FD'
if AC_TRY_EVAL(ac_compile); then
F9XMODFLAG=$flag
break
fi
done
if test -n "$F9XMODFLAG"; then
echo $F9XMODFLAG 1>&6
FCFLAGS="$F9XMODFLAG. $FCFLAGS"
else
echo unknown 1>&6
fi
AC_SUBST(F9XMODFLAG)
AC_SUBST(F9XMODEXT)
rm -rf conftest*
AC_LANG_POP(Fortran)
])

300
autogen.sh Executable file
View File

@@ -0,0 +1,300 @@
#! /bin/bash
#
# Copyright by The HDF Group.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the files COPYING and Copyright.html. COPYING can be found at the root
# of the source code distribution tree; Copyright.html can be found at the
# root level of an installed copy of the electronic document set and is
# linked from the top-level documents page. It can also be found at
# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have access
# to either file, you may request a copy from help@hdfgroup.org.
#
# A script to reconfigure autotools for HDF5, and to recreate other
# generated files specifc to HDF5.
#
# IMPORTANT OS X NOTE
#
# If you are using OS X, you will probably not have the autotools
# installed, even if you have the Xcode command-line tools.
#
# The easiest way to fix this is to install everything via Homebrew:
#
# http://brew.sh/
#
# After you install the base packages, install autoconf, automake,
# and libtool.
#
# brew install autoconf
# brew install automake
# brew install libtool
#
# This only takes a few minutes. Note that libtool and libtoolize will
# be glibtool and glibtoolize so as not to conflict with Apple's non-gnu
# tools. This autogen.sh script handles this for you.
#
# END IMPORTANT OS X NOTE
#
# If you want to use a particular version of the autotools, the paths
# to each tool can be overridden using the following environment
# variables:
#
# HDF5_ACLOCAL
# HDF5_AUTOHEADER
# HDF5_AUTOMAKE
# HDF5_AUTOCONF
# HDF5_LIBTOOL
# HDF5_M4
#
# Note that aclocal will attempt to include libtool's share/aclocal
# directory.
#
# This script takes two potential options:
#
# -p
#
# When this is selected, the autotools versions are set to the paths
# and versions used by The HDF Group to produce the released versions
# of the library.
#
# NOTE: This is probably temporary. Once we update our dev machines
# to have recent versions of the autotools this option will probably
# be removed.
#
# -v
#
# This emits some extra information, mainly tool versions.
echo
echo "**************************"
echo "* HDF5 autogen.sh script *"
echo "**************************"
echo
# Default is not production
production=false
# Default is not verbose output
verbose=false
optspec=":hpv-"
while getopts "$optspec" optchar; do
case "${optchar}" in
h)
echo "usage: $0 [OPTIONS]"
echo
echo " -h Print this help message."
echo
echo " -p Used by THG to use hard-codes autotools"
echo " paths on THG machines. Not for non-HDF-Group"
echo " users!"
echo
echo " -v Show more verbose output."
echo
echo " NOTE: Each tool can be set via an environment variable."
echo " These are documented inside this autogen.sh script."
echo
exit 0
;;
p)
echo "Setting THG production mode..."
echo
production=true
;;
v)
echo "Setting verbosity: high"
echo
verbose=true
;;
*)
if [ "$OPTERR" != 1 ] || [ "${optspec:0:1}" = ":" ]; then
echo "Non-option argument: '-${OPTARG}'" >&2
fi
;;
esac
done
if [ "$production" = true ] ; then
# Production mode
#
# Hard-code canonical HDF Group tool locations.
# If paths to tools are not specified, assume they are
# located in /usr/hdf/bin/AUTOTOOLS and set paths accordingly.
if test -z ${HDF5_AUTOCONF}; then
HDF5_AUTOCONF=/usr/hdf/bin/AUTOTOOLS/autoconf
fi
if test -z ${HDF5_AUTOMAKE}; then
HDF5_AUTOMAKE=/usr/hdf/bin/AUTOTOOLS/automake
fi
if test -z ${HDF5_AUTOHEADER}; then
HDF5_AUTOHEADER=/usr/hdf/bin/AUTOTOOLS/autoheader
fi
if test -z ${HDF5_ACLOCAL}; then
HDF5_ACLOCAL=/usr/hdf/bin/AUTOTOOLS/aclocal
fi
if test -z ${HDF5_LIBTOOL}; then
HDF5_LIBTOOL=/usr/hdf/bin/AUTOTOOLS/libtool
fi
if test -z ${HDF5_M4}; then
HDF5_M4=/usr/hdf/bin/AUTOTOOLS/m4
fi
else
# Not in production mode
#
# If paths to autotools are not specified, use whatever the system
# has installed as the default. We use 'which <tool>' to
# show exactly what's being used.
if test -z ${HDF5_AUTOCONF}; then
HDF5_AUTOCONF=$(which autoconf)
fi
if test -z ${HDF5_AUTOMAKE}; then
HDF5_AUTOMAKE=$(which automake)
fi
if test -z ${HDF5_AUTOHEADER}; then
HDF5_AUTOHEADER=$(which autoheader)
fi
if test -z ${HDF5_ACLOCAL}; then
HDF5_ACLOCAL=$(which aclocal)
fi
if test -z ${HDF5_LIBTOOL}; then
case "`uname`" in
Darwin*)
# libtool on OS-X is non-gnu
HDF5_LIBTOOL=$(which glibtool)
;;
*)
HDF5_LIBTOOL=$(which libtool)
;;
esac
fi
if test -z ${HDF5_M4}; then
HDF5_M4=$(which m4)
fi
fi # production
# Make sure that these versions of the autotools are in the path
AUTOCONF_DIR=`dirname ${HDF5_AUTOCONF}`
LIBTOOL_DIR=`dirname ${HDF5_LIBTOOL}`
M4_DIR=`dirname ${HDF5_M4}`
PATH=${AUTOCONF_DIR}:${LIBTOOL_DIR}:${M4_DIR}:$PATH
# Make libtoolize match the specified libtool
case "`uname`" in
Darwin*)
# On OS X, libtoolize could be named glibtoolize or
# libtoolize. Try the former first, then fall back
# to the latter if it's not found.
HDF5_LIBTOOLIZE="${LIBTOOL_DIR}/glibtoolize"
if [ ! -f $HDF5_LIBTOOLIZE ] ; then
HDF5_LIBTOOLIZE="${LIBTOOL_DIR}/libtoolize"
fi
;;
*)
HDF5_LIBTOOLIZE="${LIBTOOL_DIR}/libtoolize"
;;
esac
# Run autotools in order
#
# When available, we use the --force option to ensure all files are
# updated. This prevents the autotools from re-running to fix dependencies
# during the 'make' step, which can be a problem if environment variables
# were set on the command line during autogen invocation.
# Some versions of libtoolize will suggest that we add ACLOCAL_AMFLAGS
# = '-I m4'. This is already done in commence.am, which is included
# in Makefile.am. You can ignore this suggestion.
# LIBTOOLIZE
libtoolize_cmd="${HDF5_LIBTOOLIZE} --copy --force"
echo ${libtoolize_cmd}
if [ "$verbose" = true ] ; then
${HDF5_LIBTOOLIZE} --version
fi
${libtoolize_cmd} || exit 1
echo
echo "NOTE: You can ignore the warning about adding -I m4."
echo " We already do this in an included file."
echo
# ACLOCAL
if test -e "${LIBTOOL_DIR}/../share/aclocal" ; then
aclocal_include="-I ${LIBTOOL_DIR}/../share/aclocal"
fi
aclocal_cmd="${HDF5_ACLOCAL} --force -I m4 ${aclocal_include}"
echo ${aclocal_cmd}
if [ "$verbose" = true ] ; then
${HDF5_ACLOCAL} --version
fi
${aclocal_cmd} || exit 1
echo
# AUTOHEADER
autoheader_cmd="${HDF5_AUTOHEADER} --force"
echo ${autoheader_cmd}
if [ "$verbose" = true ] ; then
${HDF5_AUTOHEADER} --version
fi
${autoheader_cmd} || exit 1
echo
# AUTOMAKE
automake_cmd="${HDF5_AUTOMAKE} --copy --add-missing --force-missing"
echo ${automake_cmd}
if [ "$verbose" = true ] ; then
${HDF5_AUTOMAKE} --version
fi
${automake_cmd} || exit 1
echo
# AUTOCONF
autoconf_cmd="${HDF5_AUTOCONF} --force"
echo ${autoconf_cmd}
if [ "$verbose" = true ] ; then
${HDF5_AUTOCONF} --version
fi
${autoconf_cmd} || exit 1
echo
# Run scripts that process source.
# Run trace script
# The trace script adds H5TRACE macros to library source files. It should
# have no effect on files that don't have HDF5 API macros in them.
echo
echo "Running trace script:"
bin/trace src/H5*.c || exit 1
# Run make_err
# make_err automatically generates the H5E headers that create error message
# types for HDF5.
echo
echo "Running error generation script:"
bin/make_err src/H5err.txt || exit 1
# Run make_vers
# make_vers automatically generates the public headers that define the API version
# macros for HDF5.
echo
echo "Running API version generation script:"
bin/make_vers src/H5vers.txt || exit 1
# Run make_overflow
# make_overflow automatically generates macros for detecting overflows for type
# conversion.
echo
echo "Running overflow macro generation script:"
bin/make_overflow src/H5overflow.txt || exit 1
echo
exit 0

402
bin/bbrelease Executable file
View File

@@ -0,0 +1,402 @@
#!/bin/sh
#
# 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
# terms governing use, modification, and redistribution, is contained in
# the files COPYING and Copyright.html. COPYING can be found at the root
# of the source code distribution tree; Copyright.html can be found at the
# root level of an installed copy of the electronic HDF5 document set and
# is linked from the top-level documents page. It can also be found at
# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
# access to either file, you may request a copy from help@hdfgroup.org.
#
# Make a release of hdf5.
#
# Programmer: Robb Matzke
# Creation date: on or before 1998-01-29.
#
# Modifications
# Robb Matzke, 1999-07-16
# The SunOS 5.6 sed *must* have slashes as delimiters. I changed things like
# `sed s+/CVS++' to `sed 's/\/CVS//'
#
# Albert Cheng, 1999-10-26
# Moved the MANIFEST checking to a separate command file so that
# it can be invoked individually.
#
# Albert Cheng, 2004-08-14
# Added the --private option.
#
# James Laird, 2005-09-07
# Added the md5 method.
# Function definitions
#
# Print Usage page
USAGE()
{
cat << EOF
Usage: $0 -d <dir> [--docver BRANCHNAME] [-h] [--nocheck] [--private] <methods> ...
-d DIR The name of the directory where the releas(es) should be
placed.
--docver BRANCHNAME This is added for 1.8 and beyond to get the correct
version of documentation files from the hdf5docs
repository. BRANCHNAME for v1.8 should be hdf5_1_8.
-h print the help page.
--nocheck Ignore errors in MANIFEST file.
--private Make a private release with today's date in version information.
--revision Make a private release with the code revision number in version information.
This must be run at the top level of the source directory.
The other command-line options are the names of the programs to use
for compressing the resulting tar archive (if none are given then
"tar" is assumed):
tar -- use tar and don't do any compressing.
gzip -- use gzip with "-9" and append ".gz" to the output name.
bzip2 -- use bzip2 with "-9" and append ".bz2" to the output name.
zip -- convert all text files to DOS style and form a zip file for Windows use.
doc -- produce the latest doc tree in addition to the archive.
An md5 checksum is produced for each archive created and stored in the md5 file.
Examples:
$ bin/release -d /tmp
/tmp/hdf5-1.8.13-RELEASE.txt
/tmp/hdf5-1.8.13.md5
/tmp/hdf5-1.8.13.tar
$ bin/release -d /tmp gzip
/tmp/hdf5-1.8.13-RELEASE.txt
/tmp/hdf5-1.8.13.md5
/tmp/hdf5-1.8.13.tar.gz
$ bin/release -d /tmp tar gzip zip
/tmp/hdf5-1.8.13-RELEASE.txt
/tmp/hdf5-1.8.13.md5
/tmp/hdf5-1.8.13.tar
/tmp/hdf5-1.8.13.tar.gz
/tmp/hdf5-1.8.13.tar.zip
EOF
}
# Function name: tar2zip
# Convert the release tarball to a Windows zipball.
#
# Programmer: Albert Cheng
# Creation date: 2014-04-23
#
# Modifications
#
# Steps:
# 1. untar the tarball in a temporay directory;
# Note: do this in a temporary directory to avoid changing
# the original source directory which maybe around.
# 2. convert all its text files to DOS (LF-CR) style;
# 3. form a zip file which is usable by Windows users.
#
# Parameters:
# $1 version
# $2 release tarball
# $3 output zipball file name
#
# Returns 0 if successful; 1 otherwise
#
tar2zip()
{
if [ $# -ne 3 ]; then
echo "usage: tar2zip <tarfilename> <zipfilename>"
return 1
fi
ztmpdir=/tmp/tmpdir$$
mkdir -p $ztmpdir
version=$1
tarfile=$2
zipfile=$3
# step 1: untar tarball in ztmpdir
(cd $ztmpdir; tar xf -) < $tarfile
# sanity check
if [ ! -d $ztmpdir/$version ]; then
echo "untar did not create $ztmpdir/$version source dir"
# cleanup
rm -rf $ztmpdir
return 1
fi
# step 2: convert text files
# There maybe a simpler way to do this.
# options used in unix2dos:
# -k Keep the date stamp
# -q quiet mode
# grep redirect output to /dev/null because -q or -s are not portable.
find $ztmpdir/$version | \
while read inf; do \
if file $inf | grep "$inf\: .*text" > /dev/null 2>&1 ; then \
unix2dos -q -k $inf; \
fi\
done
# step 3: make zipball
# -9 maximum compression
# -y Store symbolic links as such in the zip archive
# -r recursive
# -q quiet
(cd $ztmpdir; zip -9 -y -r -q $version.zip $version)
mv $ztmpdir/$version.zip $zipfile
# cleanup
rm -rf $ztmpdir
}
# This command must be run at the top level of the hdf5 source directory.
# Verify this requirement.
# Since we are running bbrelease to create an HDF5 source tarfile for buildbot
# testing with source that is not for release, there is not a file named
# "configure" but there will be one named "configure.ac". The "configure"
# file will be created when autogen.sh runs. There probably will always
# be a bin/release file, but just in case it is removed, we can check for
# this script, bbrelease, in the bin directory. The bin/release script should
# continue to check for "configure" because it should be present in release
# source.
if [ ! \( -f configure.ac -a -f bin/bbrelease \) ]; then
echo "$0 must be run at the top level of the hdf5 source directory"
exit 1
fi
# Defaults
DEST=releases
VERS=`perl bin/h5vers`
VERS_OLD=
test "$VERS" || exit 1
verbose=yes
check=yes
release_date=`date +%F`
today=`date +%Y%m%d`
pmode='no'
revmode='no'
tmpdir="../#release_tmp.$$" # tmp work directory
DOC_URL=http://svn.hdfgroup.uiuc.edu/hdf5doc/trunk
CPPLUS_RM_NAME=cpplus_RM
# Restore previous Version information
RESTORE_VERSION()
{
if [ X-${VERS_OLD} != X- ]; then
echo restoring version information back to $VERS_OLD
rm -f config/lt_vers.am
cp $tmpdir/lt_vers.am config/lt_vers.am
bin/h5vers -s $VERS_OLD
VERS_OLD=
fi
}
# Command-line arguments
while [ -n "$1" ]; do
arg=$1
shift
case "$arg" in
-d)
DEST=$1
shift
;;
--nocheck)
check=no
;;
-h)
USAGE
exit 0
;;
--private)
pmode=yes
;;
--revision)
revmode=yes
;;
--docver)
DOCVERSION=$1
shift
;;
-*)
echo "Unknown switch: $arg" 1>&2
USAGE
exit 1
;;
*)
methods="$methods $arg"
;;
esac
done
# Default method is tar
if [ "X$methods" = "X" ]; then
methods="tar"
fi
# Create the temporay work directory.
if mkdir $tmpdir; then
echo "temporary work directory for release. "\
"Can be deleted after release completes." > $tmpdir/README
else
echo "Failed to mkdir tmpdir($tmpdir)"
exit 1
fi
# setup restoration in case of abort.
trap RESTORE_VERSION 0
if [ X$pmode = Xyes ]; then
VERS_OLD=$VERS
# Copy old version of config/lt_vers.am, since it's hard to
# "undo" changes to it.
cp config/lt_vers.am $tmpdir
# Set version information to m.n.r-of$today.
# (h5vers does not correctly handle just m.n.r-$today.)
VERS=`echo $VERS | sed -e s/-.*//`-of$today
echo Private release of $VERS
bin/h5vers -s $VERS
fi
if [ X$revmode = Xyes ]; then
VERS_OLD=$VERS
# Copy old version of config/lt_vers.am, since it's hard to
# "undo" changes to it.
cp config/lt_vers.am $tmpdir
branch=`svn info | grep ^URL: | awk -F/ '{print $NF}'`
revision=`svn info | grep "Revision:" | awk '{print $2}'`
# Set version information to m.n.r-r$revision.
# (h5vers does not correctly handle just m.n.r-$today.)
VERS=`echo $VERS | sed -e s/-.*//`-r$revision
echo Private release of $VERS
bin/h5vers -s $VERS
HDF5_VERS=hdf5-$branch-r$revision
# use a generic directory name for revision releases
HDF5_IN_VERS=hdfsrc
else
# Store hdf5-$VERS ("hdf5-1.7.51", e.g.) to a variable to avoid typos
HDF5_VERS=hdf5-$VERS
# directory name matches tar file name for non-revision releases
HDF5_IN_VERS=$HDF5_VERS
fi
test "$verbose" && echo "Releasing $HDF5_VERS to $DEST" 1>&2
if [ ! -d $DEST ]; then
echo " Destination directory $DEST does not exist" 1>&2
exit 1
fi
# Check the validity of the MANIFEST file.
bin/chkmanifest || fail=yes
if [ "X$fail" = "Xyes" ]; then
if [ $check = yes ]; then
exit 1
else
echo "Continuing anyway..."
fi
fi
# Create a manifest that contains only files for distribution.
MANIFEST=$tmpdir/H5_MANIFEST
grep '^\.' MANIFEST | grep -v _DO_NOT_DISTRIBUTE_ >$MANIFEST
# Prepare the source tree for a release.
#ln -s `pwd` $tmpdir/$HDF5_VERS || exit 1
ln -s `pwd` $tmpdir/$HDF5_IN_VERS || exit 1
# Save a backup copy of Makefile if exists.
test -f Makefile && mv Makefile $tmpdir/Makefile.x
cp -p Makefile.dist Makefile
# Update README.txt and release_docs/RELEASE.txt with release information in
# line 1.
for f in README.txt release_docs/RELEASE.txt; do
echo "HDF5 version $VERS released on $release_date" >$f.x
sed -e 1d $f >>$f.x
mv $f.x $f
# Make sure new files are of the right access mode
chmod 644 $f
done
# trunk is different than branches.
if [ "${DOCVERSION}" ]; then
DOC_URL=http://svn.hdfgroup.uiuc.edu/hdf5doc/branches/${DOCVERSION}
fi
# Create the tar file
test "$verbose" && echo " Running tar..." 1>&2
( \
cd $tmpdir; \
tar cf $HDF5_VERS.tar $HDF5_IN_VERS/Makefile \
`sed 's/^\.\//'$HDF5_IN_VERS'\//' $MANIFEST` || exit 1 \
)
# Compress
MD5file=$HDF5_VERS.md5
cp /dev/null $DEST/$MD5file
for comp in $methods; do
case $comp in
tar)
cp -p $tmpdir/$HDF5_VERS.tar $DEST/$HDF5_VERS.tar
(cd $DEST; md5sum $HDF5_VERS.tar >> $MD5file)
;;
gzip)
test "$verbose" && echo " Running gzip..." 1>&2
gzip -9 <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.gz
(cd $DEST; md5sum $HDF5_VERS.tar.gz >> $MD5file)
;;
bzip2)
test "$verbose" && echo " Running bzip2..." 1>&2
bzip2 -9 <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.bz2
(cd $DEST; md5sum $HDF5_VERS.tar.bz2 >> $MD5file)
;;
zip)
test "$verbose" && echo " Creating zip ball..." 1>&2
tar2zip $HDF5_IN_VERS $tmpdir/$HDF5_VERS.tar $DEST/$HDF5_VERS.zip 1>&2
(cd $DEST; md5sum $HDF5_VERS.zip >> $MD5file)
;;
doc)
if [ "${DOCVERSION}" = "" ]; then
DOCVERSION=trunk
fi
test "$verbose" && echo " Creating docs..." 1>&2
# Check out docs from svn repo
(cd $tmpdir; svn co $DOC_URL > /dev/null) || exit 1
# Create doxygen C++ RM
(cd c++/src && doxygen cpp_doc_config > /dev/null ) || exit 1
# Replace version of C++ RM with just-created version
rm -rf $tmpdir/${DOCVERSION}/html/$CPPLUS_RM_NAME
mv c++/src/$CPPLUS_RM_NAME $tmpdir/${DOCVERSION}/html/$CPPLUS_RM_NAME
# Compress the docs and move them to the release area
mv $tmpdir/$DOCVERSION $tmpdir/${HDF5_VERS}_docs
(cd $tmpdir && tar cf ${HDF5_VERS}_docs.tar ${HDF5_VERS}_docs)
mv $tmpdir/${HDF5_VERS}_docs.tar $DEST
;;
*)
echo "***Error*** Unknown method $comp"
exit 1
;;
esac
done
# Copy the RELEASE.txt to the release area.
cp release_docs/RELEASE.txt $DEST/$HDF5_VERS-RELEASE.txt
# Remove distributed Makefile and restore previous Makefile if existed.
rm -f Makefile
test -f $tmpdir/Makefile.x && mv $tmpdir/Makefile.x Makefile
# Restore OLD version information, then no need for trap.
if [ X$pmode = Xyes ] || [ X$revmode = Xyes ]; then
RESTORE_VERSION
trap 0
fi
# Remove temporary things
rm -rf $tmpdir
exit 0

View File

@@ -159,19 +159,6 @@ LOCATE_SZLIB()
HP-UX)
szlibpaths="/afs/ncsa/projects/hdf/packages/szip_new/HPUX-11.00"
;;
IRIX)
szlibpaths="/afs/ncsa/projects/hdf/packages/szip_new/IRIX64-6.5-32bit"
;;
IRIX64)
case "$CC" in
*-n32)
szlibpaths="/afs/ncsa/projects/hdf/packages/szip_new/IRIX64-6.5-32bit"
;;
*)
szlibpaths="/afs/ncsa/projects/hdf/packages/szip_new/IRIX64-6.5"
;;
esac
;;
Linux)
case `uname -m` in
i686)

View File

@@ -56,7 +56,6 @@ HTM_COPYRIGHT=/tmp/h5chkright_HTM.$$ # HTML style copyright
SH_COPYRIGHT=/tmp/h5chkright_SH.$$ # SHELL style copyright
SH_COPYRIGHT2=/tmp/h5chkright_SH2.$$ # SHELL style copyright, 2nd style.
WINBAT_COPYRIGHT=/tmp/h5chkright_WINBAT.$$ # Windows Batch file Copyright notice
VMSCMD_COPYRIGHT=/tmp/h5chkright_VMSCMD.$$ # VMS command file Copyright notice
CONFIGURE_AC_COPYRIGHT=/tmp/h5chkright_CONFIGURE_AC.$$ # configure.ac file Copyright notice
tmpfixfile=/tmp/h5chkright_fix.$$ # Temporary fixed copy of file
@@ -221,22 +220,6 @@ dnl root level of an installed copy of the electronic HDF5 document set and
dnl is linked from the top-level documents page. It can also be found at
dnl http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
dnl access to either file, you may request a copy from help@hdfgroup.org.
EOF
# VMS command file Copyright notice
cat > ${VMSCMD_COPYRIGHT} << \EOF
$!# 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
$!# terms governing use, modification, and redistribution, is contained in
$!# the files COPYING and Copyright.html. COPYING can be found at the root
$!# of the source code distribution tree; Copyright.html can be found at the
$!# root level of an installed copy of the electronic HDF5 document set and
$!# is linked from the top-level documents page. It can also be found at
$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
$!# access to either file, you may request a copy from help@hdfgroup.org.
EOF
}
@@ -611,28 +594,6 @@ BATCH_FILE()
}
# Check Windows Batch files
#
VMSCMD_FILE()
{
f=$1
case `MATCH_COPYRIGHT $VMSCMD_COPYRIGHT $f` in
PASSED)
PASSED $f
return
;;
FAILED)
# show the difference
FAILED $f
$DIFF ${EXTRACTEDFILE} ${VMSCMD_COPYRIGHT}
if [ -n "$FIXIT" ]; then
FIX_COPYRIGHT $VMSCMD_COPYRIGHT $f
fi
;;
esac
}
# Check Configure.in type files
#
CONFIGURE_AC_FILE()
@@ -834,10 +795,6 @@ while read file; do
# Windows Batch files
BATCH_FILE ${file}
;;
*.com )
# VMS Command files
VMSCMD_FILE ${file}
;;
*.h5 | *.hdf5 )
# Ignore HDF5 data files
continue

View File

@@ -17,78 +17,23 @@
# Check that all the files in MANIFEST exist and that (if this is a
# SVN checkout) that all the SVN-managed files appear in the
# MANIFEST.
#
verbose=yes
MANIFEST=/tmp/HD_MANIFEST.$$
SVNENTRY=/tmp/HD_SVNENTRY.$$
# function definitions
GETSVNENTRIES_13 ()
# Purpose: Extract filenames from the svn v1.3.* entries file
# $1: directory name in which the svn entries is.
# steps:
# 1. remove all single line entries so that step 2 does not fail on them.
# 2. merge all multiple lines entries into single lines.
# 3. remove all non file entries.
# 4. insert a blank line because some entries files has no kind="file"
# entry and ed does not like to do g on an empty file.
# 5. remove everything except the file name.
# 6. remove all blank lines, including the inserted one.
{
cp $1/entries $SVNENTRY
chmod u+w $SVNENTRY # entries file is not writable.
ed - $SVNENTRY <<EOF
g/^<.*>$/d
g/^</.,/>$/j
v/kind="file"/d
a
.
g/.*name="/s///
g/".*/s///
g/^$/d
w
q
EOF
cat $SVNENTRY
rm $SVNENTRY
}
GETSVNENTRIES_14 ()
# Purpose: Extract filenames from the svn v1.4.* entries file
# $1: directory name in which the svn entries is.
# steps:
# 1. all valid files are followed by a line containing "file" only.
# 2. find them by looking for "file" first, then mark its preceding line as
# wanted.
# 3. remove all non-marked line.
# 4. insert a blank line because some entries files has no kind="file"
# entry and ed does not like to do g on an empty file.
# 5. remove the marks.
{
cp $1/entries $SVNENTRY
chmod u+w $SVNENTRY # entries file is not writable.
ed - $SVNENTRY <<EOF
g/^file$/-s/^/%WANTED%/
v/%WANTED%/d
a
.
g/^%WANTED%/s///
w
q
EOF
cat $SVNENTRY
rm $SVNENTRY
}
AUTOGEN=./autogen.sh
AUTOGEN_LOG=/tmp/autogen.log.$$
# Main
test "$verbose" && echo " Checking MANIFEST..." 1>&2
# clean up $MANIFEST file when exits
trap "rm -f $MANIFEST" 0
# Only split lines on newline, not whitespace
set -f
IFS='
'
# First make sure i am in the directory in which there is an MANIFEST file
# and then do the checking from there. Will try the following,
# current directory, parent directory, the directory this command resides.
@@ -107,6 +52,19 @@ else
fi
fi
# Do an autogen if generated files (e.g., configure) is not present
if [ ! -f configure ]; then
echo " running $AUTOGEN -p"
$AUTOGEN -p > $AUTOGEN_LOG 2>&1
if [ $? -ne 0 ]; then
echo $AUTOGEN encountered error. Abort.
echo output from $AUTOGEN:
cat $AUTOGEN_LOG
exit 1
fi
rm $AUTOGEN_LOG
fi
# Check for duplicate entries. This can be done at any time, but it may as
# well be sooner so that if something else fails the presence of duplicates
# will already be known.
@@ -132,36 +90,55 @@ for file in `cat $MANIFEST`; do
fi
done
# Get the list of files under version control and check that they are
# present.
#
# First get a list of all the pending files with svn stat and
# check those.
svn_stat=`svn stat -q`
for file in $svn_stat; do
# Inspect the .svn/entries to figure out what version of svn file entry is
# used.
# The following algorithm is formed via reverse engineering.
# I don't know what the official svn format is if such a specification exists.
# Algorithm:
# If the first line of the file has 'xml version="1.0"' in it, it is created
# by svn 1.3 or older; else if it has '^file$' in it, it is created by svn 1.4.
svn_entry_file=.svn/entries
if head -1 $svn_entry_file | grep 'xml version="1.0"' > /dev/null 2>&1;then
getsvnentries=GETSVNENTRIES_13
elif grep '^file$' $svn_entry_file > /dev/null 2>&1; then
getsvnentries=GETSVNENTRIES_14
else
echo "Unknown svn entries format. Aborted"
exit 1
fi
# Newly added files are not listed by svn ls, which
# we check later.
for svn in `find . -type d -name .svn -print`; do
path=`echo $svn |sed 's/\/.svn//'`
for file in `$getsvnentries $svn`; do
if (grep ^$path/$file$ $MANIFEST >/dev/null); then
:
else
echo "+ $path/$file"
fail=yes
fi
done
# The line listing new files starts with 'A'.
letter=`echo $file | head -c 1`
if [ "$letter" = "A" ]; then
# Convert the seven Subversion status columns to './' so it matches
# the manifest file name.
#
# There is a space between the status columns and file name, hence
# the '8' instead of '7'.
path=`echo $file | sed 's/^.\{8\}/\.\//g'`
# Ignore directories
if [ ! -d $path ]; then
if (grep ^$path$ $MANIFEST >/dev/null); then
:
else
echo "- $path"
fail=yes
fi
fi
fi
done
# Next check svn ls, which gets a list of all files that are
# checked in.
svn_ls=`svn ls -R`
for file in $svn_ls; do
path="./${file}"
# Ignore directories
if [ ! -d $path ]; then
if (grep ^$path$ $MANIFEST >/dev/null); then
:
else
echo "+ $path"
fail=yes
fi
fi
done
# Finish up
if [ "X$fail" = "Xyes" ]; then
cat 1>&2 <<EOF
The MANIFEST is out of date. Files marked with a minus sign (-) no

View File

@@ -12,8 +12,6 @@
DPRINT=:
#DPRINT=echo
# use the ctest scripting method if --script is given
if [ "$1" != "--script" ]; then
# variable names
# The "extra" number is the step number and easier to see all logfiles in
# the sorted order of steps
@@ -23,6 +21,8 @@ makelog="#${progname}_2build.log"
testlog="#${progname}_3test.log"
packlog="#${progname}_4pack.log"
installlog="#${progname}_5install.log"
vflag=1 # verbose flag default to on.
config_summary=libhdf5.settings
exit_code=0
# This command should be in the source directory's bin/
@@ -46,9 +46,17 @@ cacheinit=$srcdir/config/cmake/cacheinit.cmake
build_cpp_lib=-DHDF5_BUILD_CPP_LIB:BOOL=OFF # C++ interface default off
build_fortran=-DHDF5_BUILD_FORTRAN:BOOL=OFF # Fortran interface default off
build_hl_lib=-DHDF5_BUILD_HL_LIB:BOOL=ON # High Level interface default on
build_threadsafe=-DHDF5_ENABLE_THREADSAFE:BOOL=OFF # Threadsafe feature default off
build_testing=-DBUILD_TESTING:BOOL=ON # Build tests default on
build_tools=-DHDF5_BUILD_TOOLS:BOOL=ON # Build tools default on
with_zlib=-DHDF5_ENABLE_Z_LIB_SUPPORT=ON # enable zlib filter default on
with_szlib=-DHDF5_ENABLE_SZIP_SUPPORT=OFF # enables szip filter default off
szlib_path="" # szip lib path default off
shared_lib=-DBUILD_SHARED_LIBS:BOOL=ON # enables shared lib; default on
njobs="" # number of jobs (commands) to
# run simultaneously; default is
# value from $MAKE if defined,
# otherwise none (1)
#=============
# Function definitions
@@ -75,11 +83,26 @@ Usage: $progname [<options>]
enable or disable c++ API. Default is off.
--enable-hl | --disable-hl:
enable or disable high level API. Default is on.
--enable-threadsafe | --disable-threadsafe:
enable or disable threadsafe feature. Default is off
--enable-shared | --disable-shared:
enable or disable shared lib. Default is on.
--enable-tools | --disable-tools:
enable or disable building tools. Default is on.
--enable-testing | --disable-testing:
enable or disable building tests. Default is on.
--with-zlib | --with-zlib=<libpath> | --without-zlib:
Use zlib library for external deflate I/O filter. Default is on.
--with-szlib | --with-szlib=<libpath> | --without-szlib:
Use szlib library for external deflate I/O filter. Default is on.
--njobs=<-j N>:
number of jobs (commands) to run simultaneously; default is value from
$MAKE if defined, otherwise none
--enable-verbose | --disable-verbose:
enable or disable verbose output. Default is on.
--help: shows details help page
<libpath>: the file path to the library, expect <libpath>/lib and <libpath>/include.
EOF
}
@@ -106,7 +129,7 @@ STEP()
(TIMESTAMP; nerror=0 ;
echo "eval $command"
eval $command || nerror=1 ;
TIMESTAMP; exit $nerror) < /dev/null >> "$logfile" 2>&1
TIMESTAMP; exit $nerror) < /dev/null > "$logfile" 2>&1
if [ $? -ne 0 ]; then
echo "error in '$banner'. $progname aborted."
exit 1
@@ -114,6 +137,60 @@ STEP()
}
# Install the generated installation image file. Different platform uses
# different image files.
# Linux: HDF5-<version>-Linux.sh file
# Mac OS X: Not implemented yet
# Others: Not implemented yet
INSTALL_HDF5()
{
myos="`uname -s`"
case "$myos" in
Linux)
install_file=./HDF5-${version}-Linux.sh
$install_file --skip-license $*
;;
Darwin) # Mac OSX DMG file
# These steps were a kludge. Need proper support from Cmake engineering.
echo Darwin install step needs proper implementation. Quit.
return 1
#
install_file=HDF5-${version}-Darwin.dmg
test -d hdf5 || mkdir hdf5
basename=`basename $install_file .dmg`
# mount the DMG file as /Volumes/$basename
# echo 'Y' as yes for license.
echo Y | hdiutil mount $install_file
# copy the contents to the install location
cp -R "/Volumes/$basename/HDF_Group" hdf5
# unmount the DMG file
hdiutil unmount /Volumes/$basename
;;
*) # unknown/unsupported OS.
echo "INSTALL_HDF5: Error--unknown/unsupported OS($myos)"
return 1
;;
esac
}
# Print logfiles.
# $*: logfiles
DUMP_LOGFILE()
{
for x in $*; do
if [ -f $x ]; then
echo "=================================="
echo "Dumping $x"
echo "=================================="
cat $x
echo "==== END $x ====="
echo
fi
done
}
#==========
# main
#==========
@@ -121,6 +198,12 @@ STEP()
# Show a start time stamp
TIMESTAMP
# Initialize njobs if $AMKE is defined
if [ -n "$MAKE" ]; then
# assume all arguments are for --jobs
njobs=`echo $MAKE | cut -s -d' ' -f2-`
fi
# Parse Cmake configure options
# --enable-XXX or --disable-XXX will enable or disable feature XXX.
# XXX can be:
@@ -149,6 +232,18 @@ while [ $# -gt 0 ]; do
--disable-hl)
build_hl_lib=-DHDF5_BUILD_HL_LIB:BOOL=OFF
;;
--enable-threadsafe)
build_threadsafe=-DHDF5_ENABLE_THREADSAFE:BOOL=ON
;;
--disable-threadsafe)
build_threadsafe=-DHDF5_ENABLE_THREADSAFE:BOOL=OFF
;;
--enable-shared)
shared_lib=-DBUILD_SHARED_LIBS:BOOL=ON
;;
--disable-shared)
shared_lib=-DBUILD_SHARED_LIBS:BOOL=OFF
;;
--enable-tools)
build_tools=-DHDF5_BUILD_TOOLS:BOOL=ON
;;
@@ -161,18 +256,52 @@ while [ $# -gt 0 ]; do
--disable-testing)
build_testing=-DBUILD_TESTING:BOOL=OFF
;;
--with-zlib)
with_zlib=-DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=ON
;;
--with-zlib=*)
xarg=`echo $1 | cut -d= -f2-`
with_zlib="-DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=ON -DZLIB_ROOT=$xarg"
;;
--without-zlib)
with_zlib=-DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF
;;
--with-szlib)
with_szlib=-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=ON
szlib_path="" # szlib is in default paths
;;
--with-szlib=*)
xarg=`echo $1 | cut -d= -f2-`
with_szlib="-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=ON"
szlib_path="SZIP_INSTALL=$xarg"
;;
--without-szlib)
with_szlib=-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF
szlib_path="" # reset the path
;;
--njobs=*)
njobs=`echo $1 | cut -d= -f2-`
;;
--enable-verbose)
vflag=1
;;
--disable-verbose)
vflag=0
;;
--help)
# print the detail help page and exit
HELP
exit 0
;;
*)
echo "Unknown options"
echo "Unknown options: $1"
HELP
exit 1
;;
esac
shift
done
$DPRINT after option parsing vflag=$vflag
# Always display the brief help page
HELP_BRIEF
@@ -194,290 +323,50 @@ if [ $? != 0 ]; then
echo $vers failed. Aborted.
exit 1
fi
echo Running Cmake for HDF5-${version} ...
# setup output of all the log files if verbose is on upon exit
trap \
"if [ $vflag -ne 0 ]; then DUMP_LOGFILE \$configlog \$makelog \$testlog \$packlog \$installlog; fi" \
0
echo Running Cmake for HDF5-${version} ...
# 4. Configure the C library, tools and tests with this command:
STEP "Configure..." "cmake \
# If successful, append the configure summary to the configure logfile.
STEP "Configure..." \
"env ${szlib_path} \
cmake \
-C $cacheinit \
$build_cpp_lib \
$build_fortran \
$build_hl_lib \
$build_threadsafe \
$shared_lib \
$build_testing \
$build_tools \
$srcdir" $configlog
$with_zlib \
$with_szlib \
$srcdir" $configlog &&\
cat $config_summary >> $configlog
# 5. Build the C library, tools and tests with this command:
STEP "Build the library, tools and tests, ..." "cmake --build . --config Release" $makelog
STEP "Build the library, tools and tests, ..." "cmake --build . --config Release -- $njobs" $makelog
# 6. Test the C library and tools with this command:
STEP "Test the library and tools..." "ctest . -C Release" $testlog
STEP "Test the library and tools..." "ctest . -C Release $njobs" $testlog
# 7. Create an install image with this command:
STEP "Create an install image..." "cpack -C Release CPackConfig.cmake" $packlog
# The implementation of installation is imcomplete (only works for linux).
# Screen it out for now till it is completed.
if false; then
# 8. Install with this command:
STEP "Install..." "./HDF5-${version}-Linux.sh --skip-license" $installlog
STEP "Install..." "INSTALL_HDF5" $installlog
fi
# save the last exit code
exit_code=$?
# Show a closing time stamp
TIMESTAMP
exit $exit_code
else
# ---------------
# older version
# ---------------
# variable names
progname=`basename $0` # program name
cminfile="cmakemin.$$" # Cmake minimum file
cfgfile=$progname.$$ # configure file
ctest_log=ctest.log # output of ctest script
install_log=install.log # output of installation
$DPRINT $cfgfile
# Remove temporary generated files if exit 0
trap "rm -f $cminfile $cfgfile" 0
#=============
# Function definitions
#=============
TIMESTAMP()
{
echo "=====" "`date`" "====="
}
#==========
# main
#==========
# Show a start time stamp
TIMESTAMP
# Explain what and where log files are.
cat <<EOF
$ctest_log: output of ctest script.
$install_log: output of installation
Log files will be stored in Testing/Temporary:
LastConfigure_<timestamp>.log: output of configure
LastBuild_<timestamp>.log: output of build
LastTest_<timestamp>.log: output of testing
LastTestsFailed_<timestamp>.log: list of failed tests
EOF
# First generate the two needed input files, the $cimnfile and $cfgfile.
# Then use ctest to use the two input files.
#==========
# create the configure file
#==========
# Create the cmake minimum required file to be used by the following
# configure file. Though not absolute needed, it is better to generate
# this file before the configure file. Quote the EOF to preven substitution
# in the text.
#==========
#==========
cat > $cfgfile <<'EOF'
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
########################################################
# This dashboard is maintained by The HDF Group
# For any comments please contact cdashhelp@hdfgroup.org
#
########################################################
set (CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY})
set (CTEST_SOURCE_DIRECTORY "../hdf5")
set (CTEST_BINARY_DIRECTORY ".")
set (CTEST_CMAKE_GENERATOR "Unix Makefiles")
set (CTEST_BUILD_CONFIGURATION "Release")
set (CTEST_MAX_N 8)
# -- CDash variables
set (LOCAL_NO_SUBMIT TRUE) # No CDash submit.
set (MODEL "Experimental")
set (CDASH_LOCAL TRUE)
set (SITE_BUILDNAME_SUFFIX "cmakehdf5")
# -- URL set for internal check, default is to not update
set (LOCAL_SKIP_UPDATE TRUE)
set (REPOSITORY_URL "http://svn.${hdfgroup_url}/hdf5/branches/hdf5_1_8")
# -- Standard build options
set (ADD_BUILD_OPTIONS "-DCMAKE_INSTALL_PREFIX:PATH=${CTEST_BINARY_DIRECTORY} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=\"SVN\" -DHDF5_PACKAGE_EXTLIBS:BOOL=ON")
# Use multiple CPU cores to build
include(ProcessorCount)
ProcessorCount(N)
if(NOT N EQUAL 0)
if(N GREATER ${CTEST_MAX_N})
set(N ${CTEST_MAX_N})
endif(N GREATER ${CTEST_MAX_N})
set(CTEST_BUILD_FLAGS -j${N})
set(ctest_test_args ${ctest_test_args} PARALLEL_LEVEL ${N})
endif()
# -----------------------------------------------------------
# -- Get environment
# -----------------------------------------------------------
## -- set hostname
## --------------------------
find_program (HOSTNAME_CMD NAMES hostname)
exec_program (${HOSTNAME_CMD} ARGS OUTPUT_VARIABLE HOSTNAME)
set (CTEST_SITE "${HOSTNAME}${CTEST_SITE_EXT}")
find_program (UNAME NAMES uname)
macro (getuname name flag)
exec_program ("${UNAME}" ARGS "${flag}" OUTPUT_VARIABLE "${name}")
endmacro (getuname)
getuname (osname -s)
getuname (osrel -r)
getuname (cpu -m)
if (SITE_BUILDNAME_SUFFIX)
set (CTEST_BUILD_NAME "${osname}-${osrel}-${cpu}-${SITE_BUILDNAME_SUFFIX}")
else (SITE_BUILDNAME_SUFFIX)
set (CTEST_BUILD_NAME "${osname}-${osrel}-${cpu}")
endif (SITE_BUILDNAME_SUFFIX)
# -----------------------------------------------------------
set (BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDNAME:STRING=${CTEST_BUILD_NAME}")
#-----------------------------------------------------------------------------
# MAC machines need special option
#-----------------------------------------------------------------------------
if (APPLE)
# Compiler choice
execute_process(COMMAND xcrun --find cc OUTPUT_VARIABLE XCODE_CC OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE)
SET(ENV{CC} "${XCODE_CC}")
SET(ENV{CXX} "${XCODE_CXX}")
# Shared fortran is not supported, build static
set (BUILD_OPTIONS "${BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_ANSI_CFLAGS:STRING=-fPIC")
set (BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF")
endif (APPLE)
# -----------------------------------------------------------
find_package (Subversion)
set (CTEST_UPDATE_COMMAND "${Subversion_SVN_EXECUTABLE}")
# -- Only clean build folder if LOCAL_CLEAR_BUILD is set
if (LOCAL_CLEAR_BUILD)
set (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
ctest_empty_binary_directory (${CTEST_BINARY_DIRECTORY})
endif (LOCAL_CLEAR_BUILD)
#-----------------------------------------------------------------------------
# Send the main script as a note.
list (APPEND CTEST_NOTES_FILES
"${CMAKE_CURRENT_LIST_FILE}"
"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake"
)
# Check for required variables.
foreach (req
CTEST_CMAKE_GENERATOR
CTEST_SITE
CTEST_BUILD_NAME
)
if (NOT DEFINED ${req})
message(FATAL_ERROR "The containing script must set ${req}")
endif (NOT DEFINED ${req})
endforeach (req)
## -- set output to english
set($ENV{LC_MESSAGES} "en_EN")
#-----------------------------------------------------------------------------
# Initialize the CTEST commands
#------------------------------
set (CTEST_CMAKE_COMMAND "\"${CMAKE_COMMAND}\"")
set (CTEST_CONFIGURE_COMMAND
"${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_BUILD_CONFIGURATION} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_SOURCE_DIRECTORY}\"")
# Print summary information.
foreach (v
CTEST_SITE
CTEST_BUILD_NAME
CTEST_SOURCE_DIRECTORY
CTEST_BINARY_DIRECTORY
CTEST_CMAKE_GENERATOR
CTEST_BUILD_CONFIGURATION
CTEST_CONFIGURE_COMMAND
CTEST_SCRIPT_DIRECTORY
)
set (vars "${vars} ${v}=[${${v}}]\n")
endforeach (v)
message ("Dashboard script configuration:\n${vars}\n")
CTEST_START (${MODEL} TRACK ${MODEL})
if (NOT LOCAL_SKIP_UPDATE)
CTEST_UPDATE (SOURCE "${CTEST_SOURCE_DIRECTORY}")
endif (NOT LOCAL_SKIP_UPDATE)
CTEST_CONFIGURE (BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
if(NOT res STREQUAL "0")
message (FATAL_ERROR "Configure FAILED")
endif()
message ("Configure DONE")
CTEST_READ_CUSTOM_FILES ("${CTEST_BINARY_DIRECTORY}")
if (NOT LOCAL_NO_SUBMIT)
CTEST_SUBMIT (PARTS Update Configure Notes)
endif (NOT LOCAL_NO_SUBMIT)
CTEST_BUILD (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND RETURN_VALUE res)
if (NOT LOCAL_NO_SUBMIT)
CTEST_SUBMIT (PARTS Build)
endif (NOT LOCAL_NO_SUBMIT)
if(NOT res STREQUAL "0")
message (FATAL_ERROR "Build FAILED")
endif()
message ("build DONE")
if (NOT LOCAL_SKIP_TEST)
CTEST_TEST (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args} RETURN_VALUE res)
if (NOT LOCAL_NO_SUBMIT)
CTEST_SUBMIT (PARTS Test)
endif (NOT LOCAL_NO_SUBMIT)
if(NOT res STREQUAL "0")
message (FATAL_ERROR "Test FAILED")
endif()
message ("test DONE")
endif (NOT LOCAL_SKIP_TEST)
if(NOT LOCAL_MEMCHECK_TEST)
##-----------------------------------------------
## Package the product
##-----------------------------------------------
execute_process(COMMAND cpack -C ${CTEST_BUILD_CONFIGURATION} -V
WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY}
RESULT_VARIABLE cpackResult
OUTPUT_VARIABLE cpackLog
ERROR_VARIABLE cpackLog.err
)
file(WRITE ${CTEST_BINARY_DIRECTORY}/cpack.log "${cpackLog.err}" "${cpackLog}")
endif(NOT LOCAL_MEMCHECK_TEST)
#-----------------------------------------------------------------------------
message ("DONE")
EOF
# Run ctest
ctest -S $cfgfile -C Release -V -O $ctest_log
exit_code=$?
if [ $exit_code = 0 ]; then
echo CTest script completed without error
else
echo Error encountered CTest script
fi
# Using HDF5-*.sh because actual name is unavailable
install_sh=HDF5-*.sh
echo installing with $install_sh ...
./$install_sh --skip-license > $install_log
exit_code=$?
if [ $exit_code = 0 ]; then
echo Complete without error
else
echo Error encountered
fi
TIMESTAMP
exit $exit_code
fi

View File

@@ -1,113 +0,0 @@
#! /bin/sh
#
# 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
# terms governing use, modification, and redistribution, is contained in
# the files COPYING and Copyright.html. COPYING can be found at the root
# of the source code distribution tree; Copyright.html can be found at the
# root level of an installed copy of the electronic HDF5 document set and
# is linked from the top-level documents page. It can also be found at
# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
# access to either file, you may request a copy from help@hdfgroup.org.
#
# Wrapper for compilers which do not understand `-c -o'.
# Copyright 1999, 2000 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Usage:
# compile PROGRAM [ARGS]...
# `-o FOO.o' is removed from the args passed to the actual compile.
prog=$1
shift
ofile=
cfile=
args=
while test $# -gt 0; do
case "$1" in
-o)
# configure might choose to run compile as `compile cc -o foo foo.c'.
# So we do something ugly here.
ofile=$2
shift
case "$ofile" in
*.o | *.obj)
;;
*)
args="$args -o $ofile"
ofile=
;;
esac
;;
*.c)
cfile=$1
args="$args $1"
;;
*)
args="$args $1"
;;
esac
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no `-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# `.c' file was seen then we are probably linking. That is also
# ok.
exec "$prog" $args
fi
# Name of file we expect compiler to create.
cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
# Create the lock directory.
# Note: use `[/.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo $cofile | sed -e 's|[/.-]|_|g'`.d
while true; do
if mkdir $lockdir > /dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir $lockdir; exit 1" 1 2 15
# Run the compile.
"$prog" $args
status=$?
if test -f "$cofile"; then
mv "$cofile" "$ofile"
fi
rmdir $lockdir
exit $status

1526
bin/config.guess vendored

File diff suppressed because it is too large Load Diff

1658
bin/config.sub vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,529 +0,0 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2005-02-09.22
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by `PROGRAMS ARGS'.
object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "depcomp $scriptversion"
exit $?
;;
esac
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
tr ' ' '
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
' ' ' >> $depfile
echo >> $depfile
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> $depfile
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
tmpdepfile="$stripped.u"
if test "$libtool" = yes; then
"$@" -Wc,-M
else
"$@" -M
fi
stat=$?
if test -f "$tmpdepfile"; then :
else
stripped=`echo "$stripped" | sed 's,^.*/,,'`
tmpdepfile="$stripped.u"
fi
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
if test -f "$tmpdepfile"; then
outname="$stripped.o"
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
icc)
# Intel's C compiler understands `-MD -MF file'. However on
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
# ICC 7.0 will fill foo.d with something like
# foo.o: sub/foo.c
# foo.o: sub/foo.h
# which is wrong. We want:
# sub/foo.o: sub/foo.c
# sub/foo.o: sub/foo.h
# sub/foo.c:
# sub/foo.h:
# ICC 7.1 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using \ :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each line is of the form `foo.o: dependent.h',
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
# With Tru64 cc, shared objects can also be used to make a
# static library. This mecanism is used in libtool 1.4 series to
# handle both shared and static libraries in a single compilation.
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
#
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries. These two
# compilations output dependencies in in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
tmpdepfile2=$dir$base.o.d # libtool 1.5
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD
else
tmpdepfile1=$dir$base.o.d
tmpdepfile2=$dir$base.d
tmpdepfile3=$dir$base.d
tmpdepfile4=$dir$base.d
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
# Require at least two characters before searching for `:'
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
"$@" $dashmflag |
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
' < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
cleared=no
for arg in "$@"; do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
"$@" -E |
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"$@" || exit $?
IFS=" "
for arg
do
case "$arg" in
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

0
bin/distdep Normal file → Executable file
View File

View File

@@ -1,65 +0,0 @@
#!/bin/sh
##
## 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
## terms governing use, modification, and redistribution, is contained in
## the files COPYING and Copyright.html. COPYING can be found at the root
## of the source code distribution tree; Copyright.html can be found at the
## root level of an installed copy of the electronic HDF5 document set and
## is linked from the top-level documents page. It can also be found at
## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have
## access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu.
##
# regenerate hl/src/H5LTanalyze.c
# HDF5 currently uses the following versions of the bison flex:
BISON_VERSION="bison (GNU Bison) 2.7"
FLEX_VERSION="flex 2.5.37"
# If paths to bison flex are not specified by the user, assume tools are
# running on jam in /mnt/hdf/packages and set paths accordingly.
if test -z ${BISON}; then
BISON=/usr/hdf/bin/bison
fi
if test -z ${FLEX}; then
FLEX=/usr/hdf/bin/flex
fi
# Check version numbers of all bison flex against the "correct" versions
BI_VERS=`${BISON} --version 2>&1 | grep "^${BISON_VERSION}"`
if test -z "${BI_VERS}"; then
echo "${BISON} version is not ${BISON_VERSION}"
exit 1
fi
FL_VERS=`${FLEX} --version 2>&1 | grep "^${FLEX_VERSION}"`
if test -z "${FL_VERS}"; then
echo "${FLEX} version is not ${FLEX_VERSION}"
exit 1
fi
# Make sure that the tools are in the path.
BISON_DIR=`dirname ${BISON}`
FLEX_DIR=`dirname ${FLEX}`
# Main body
cd hl/src
echo "Generate hl/src/H5LTparse.c from hl/src/H5LTparse.y"
bison -pH5LTyy -o H5LTparse.c -d H5LTparse.y
echo "Generate hl/src/H5LTanalyze.c from hl/src/H5LTanalyze.l"
flex --nounistd -PH5LTyy -oH5LTanalyze.c H5LTanalyze.l
# fix H5LTparse.c to declare H5LTyyparse return type as an hid_t
# instead of int. Currently the generated function H5LTyyparse is
# generated with a return value of type int, which is a mapping to the
# flex yyparse function. The return value in the HL library should be
# an hid_t.
# I propose to not use flex to generate this function, but for now I am
# adding a perl command to find and replace this function declaration in
# H5LTparse.c.
perl -0777 -pi -e 's/int\nyyparse/hid_t\nyyparse/igs' H5LTparse.c
perl -0777 -pi -e 's/int H5LTyyparse/hid_t H5LTyyparse/igs' H5LTparse.c
cd ../..
exit 0

252
bin/genparser Executable file
View File

@@ -0,0 +1,252 @@
#! /bin/bash
#
# Copyright by The HDF Group.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the files COPYING and Copyright.html. COPYING can be found at the root
# of the source code distribution tree; Copyright.html can be found at the
# root level of an installed copy of the electronic document set and is
# linked from the top-level documents page. It can also be found at
# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have access
# to either file, you may request a copy from help@hdfgroup.org.
#
# This script runs flex/lex and bison/yacc to generate parser code for
# the high-level library. It used to be a part of autogen.sh, but many
# people encountered problems with installing flex and bison on their
# system and the parser code rarely changes, so those parts of the
# script were moved to their own file.
#
# NOTE CAREFULLY!
#
# There is NO dependency in either the autotools or CMake to regenerate
# the parser code. If you modify H5LT analyze.l or H5LTparse.y, you
# will need to run this scrpit manually on a system with a suitable
# lexer and parser generator.
#
# IMPORTANT OS X NOTE
#
# If you are using OS X, you will probably not have flex or bison
# installed. In addtion, even if you do have bison installed, the bison
# version you have installed may also have a bug that makes it unable to
# process our input files.
#
# The easiest way to fix this is to install everything via Homebrew:
#
# http://brew.sh/
#
# After you install the base packages, install flex/bison.
#
# brew install flex
# brew install bison
#
# END IMPORTANT OS X NOTE
#
# If you want to use a particular version of flex or bison, the paths
# to each tool can be overridden using the following environment
# variables:
#
# HDF5_FLEX
# HDF5_BISON
#
# This script takes two potential options:
#
# -p
#
# When this is selected, the flex/bison versions are set to the paths
# and versions used by The HDF Group to produce the released versions
# of the library.
#
# NOTE: This is probably temporary. Once we update our dev machines
# to have recent versions of the autotools this option will probably
# be removed.
#
# -v
#
# This emits some extra information, mainly tool versions.
echo
echo "*******************************************"
echo "* HDF5 high-level parser generator script *"
echo "*******************************************"
echo
# Default is not verbose output
verbose=false
optspec=":hpv-"
while getopts "$optspec" optchar; do
case "${optchar}" in
h)
echo "usage: $0 [OPTIONS] /path/to/hl/src/directory"
echo
echo " -h Print this help message."
echo
echo " -p Used by THG to use hard-codes flex/bison"
echo " paths on THG machines. Not for non-HDF-Group"
echo " users!"
echo
echo " -v Show more verbose output."
echo
echo " NOTE: Each tool can be set via an environment variable."
echo " These are documented inside this script."
echo
exit 0
;;
p)
echo "Setting THG production mode..."
echo
production=true
;;
v)
echo "Setting verbosity: high"
echo
verbose=true
;;
*)
if [ "$OPTERR" != 1 ] || [ "${optspec:0:1}" = ":" ]; then
echo "Non-option argument: '-${OPTARG}'" >&2
fi
;;
esac
done
# Get the path to the hl src directory
shift $(($OPTIND - 1))
path_to_hl_src=$1
if test -z ${path_to_hl_src}; then
echo "*** ERROR *** - Path to hl/src not set"
echo "Please add the path to the hl/src directory as a parameter"
echo "See $0 -h for more help."
echo
exit -1
fi
if [ "$production" = true ] ; then
# Production mode
#
# Hard-code canonical HDF Group tool locations.
# If paths to tools are not specified, assume they are
# located in /usr/hdf/bin/AUTOTOOLS and set paths accordingly.
if test -z ${HDF5_BISON}; then
HDF5_BISON=/usr/hdf/bin/AUTOTOOLS/bison
fi
if test -z ${HDF5_FLEX}; then
HDF5_FLEX=/usr/hdf/bin/AUTOTOOLS/flex
fi
else
# Not in production mode
#
# If paths to autotools are not specified, use whatever the system
# has installed as the default. We use 'which <tool>' to
# show exactly what's being used.
if test -z ${HDF5_BISON}; then
HDF5_BISON=$(which bison)
fi
if test -z ${HDF5_FLEX}; then
HDF5_FLEX=$(which flex)
fi
fi # production
# Make sure that these versions of the tools are in the path
BISON_DIR=`dirname ${HDF5_BISON}`
FLEX_DIR=`dirname ${HDF5_FLEX}`
PATH=${FLEX_DIR}:${BISON_DIR}:$PATH
# Run flex and bison
# automatically generates hl/src/H5LTanalyze.c and hl/src/H5LTparse.c
# Note that, as of Xcode 6.1 (2015), the default bison version on OS X
# is old enough to have the circular dependency bug. You'll have
# to install a later version of bison. See the OS X note at the top
# of this script.
echo
echo "Generating H5LT parser code (requires yacc/bison):"
echo "Generate hl/src/H5LTparse.c from hl/src/H5LTparse.y"
# HDF5_BISON is set via the environment or 'which bison', above
if test -z ${HDF5_BISON}; then
echo
echo "*************************"
echo " ERROR - bison not found"
echo "*************************"
echo "bison is required to generate parser code in H5LT"
echo
exit 127
fi
if [ "$verbose" = true ] ; then
${HDF5_BISON} --version
fi
${HDF5_BISON} -pH5LTyy -o ${path_to_hl_src}/H5LTparse.c -d ${path_to_hl_src}/H5LTparse.y
echo
echo "Generating H5LT lexer code (requires lex/flex):"
echo "Generate hl/src/H5LTanalyze.c from hl/src/H5LTanalyze.l"
# HDF5_FLEX is set via the environment or 'which flex', above
if test -z ${HDF5_FLEX}; then
echo
echo "************************"
echo " ERROR - flex not found"
echo "************************"
echo "flex is required to generate lexer code in H5LT"
echo
exit 127
fi
if [ "$verbose" = true ] ; then
${HDF5_FLEX} --version
fi
${HDF5_FLEX} --nounistd -PH5LTyy -o ${path_to_hl_src}/H5LTanalyze.c ${path_to_hl_src}/H5LTanalyze.l
# fix H5LTparse.c to declare H5LTyyparse return type as an hid_t
# instead of int. Currently the generated function H5LTyyparse is
# generated with a return value of type int, which is a mapping to the
# flex yyparse function. The return value in the HL library should be
# an hid_t.
# I propose to not use flex to generate this function, but for now I am
# adding a perl command to find and replace this function declaration in
# H5LTparse.c.
perl -0777 -pi -e 's/int yyparse/hid_t yyparse/igs' ${path_to_hl_src}/H5LTparse.c
perl -0777 -pi -e 's/int\nyyparse/hid_t\nyyparse/igs' ${path_to_hl_src}/H5LTparse.c
perl -0777 -pi -e 's/int H5LTyyparse/hid_t H5LTyyparse/igs' ${path_to_hl_src}/H5LTparse.c
# Add code that disables warnings in the flex/bison-generated code.
#
# Note that the GCC pragmas did not exist until gcc 4.2. Earlier versions
# will simply ignore them, but we want to avoid those warnings.
for f in ${path_to_hl_src}/H5LTparse.c ${path_to_hl_src}/H5LTanalyze.c
do
echo '#if __GNUC__ >= 4 && __GNUC_MINOR__ >=2 ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wconversion" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wimplicit-function-declaration" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wlarger-than=" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wmissing-prototypes" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wnested-externs" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wold-style-definition" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wredundant-decls" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wsign-compare" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wsign-conversion" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wstrict-overflow" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wstrict-prototypes" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wsuggest-attribute=pure" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wswitch-default" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wunused-function" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wunused-macros" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wunused-parameter" ' >> tmp.out
echo '#elif defined __SUNPRO_CC ' >> tmp.out
echo '#pragma disable_warn ' >> tmp.out
echo '#elif defined _MSC_VER ' >> tmp.out
echo '#pragma warning(push, 1) ' >> tmp.out
echo '#endif ' >> tmp.out
cat $f >> tmp.out
mv tmp.out $f
done
echo
exit 0

View File

@@ -159,10 +159,10 @@ while ($_ = shift) {
die "mutually exclusive options given\n" if $set && $inc;
# Determine file to use as H5public.h, README.txt,
# release_docs/RELEASE.txt, configure.ac, windows/src/H5pubconf.h,
# vms/src/h5pubconf.h and config/lt_vers.am.
# release_docs/RELEASE.txt, configure.ac, windows/src/H5pubconf.h
# and config/lt_vers.am.
# The README.txt, release_docs/RELEASE.txt, configure.ac,
# vms/src/h5pubconf.h, windows/src/H5pubconf.h, and config/lt_vers.am
# windows/src/H5pubconf.h, and config/lt_vers.am
# files are always in the directory above H5public.h
unless ($file) {
for (@files) {
@@ -187,10 +187,10 @@ die "unable to read file: $RELEASE\n" unless -r $file;
my $CONFIGURE = $file;
$CONFIGURE =~ s/[^\/]*$/..\/configure.ac/;
die "unable to read file: $CONFIGURE\n" unless -r $file;
# vms/src/h5pubconf.h
my $H5VMSPUBCONF = $file;
$H5VMSPUBCONF =~ s/[^\/]*$/..\/vms\/src\/h5pubconf.h/;
die "unable to read file: $H5VMSPUBCONF\n" unless -r $file;
# cpp_doc_config
my $CPP_DOC_CONFIG = $file;
$CPP_DOC_CONFIG =~ s/[^\/]*$/..\/c++\/src\/cpp_doc_config/;
die "unable to read file: $CPP_DOC_CONFIG\n" unless -r $file;
# Get the current version number.
open FILE, $file or die "unable to open $file: $!\n";
@@ -238,8 +238,8 @@ if ($set) {
$README = "";
$RELEASE = "";
$CONFIGURE = "";
$H5VMSPUBCONF = "";
$LT_VERS = "";
$CPP_DOC_CONFIG = "";
$LT_VERS = "";
@newver = @curver;
}
@@ -314,6 +314,46 @@ if ($RELEASE) {
close FILE;
}
# Update the c++/src/cpp_doc_config file
if ($CPP_DOC_CONFIG) {
my $data = read_file($CPP_DOC_CONFIG);
my $version_string = sprintf("\"%d.%d.%d%s %s\"",
@newver[0,1,2],
$newver[3] eq "" ? "" : "-".$newver[3],
"currently under development");
$data =~ s/PROJECT_NUMBER\s*=.*/PROJECT_NUMBER = $version_string/;
write_file($CPP_DOC_CONFIG, $data);
}
# helper function to read the file for updating c++/src/cpp_doc_config file.
# The version string in that file is not at the top, so the string replacement
# is not for the first line, and reading/writing the entire file as one string
# facilitates the substring replacement.
sub read_file {
my ($filename) = @_;
open my $in, $filename or die "Could not open '$filename' for reading $!";
local $/ = undef;
my $all = <$in>;
close $in;
return $all;
}
# helper function to write the file for updating c++/src/cpp_doc_config file.
sub write_file {
my ($filename, $content) = @_;
open my $out, ">$filename" or die "Could not open '$filename' for writing $!";;
print $out $content;
close $out;
return;
}
sub gen_configure {
my ($name, $conf) = @_;
@@ -337,12 +377,12 @@ sub gen_configure {
$conf =~ /^(.*?)\/?configure.ac$/;
if ($1) {
$rc = system("cd $1 && bin/reconfigure >/dev/null 2>/dev/null && rm -rf autom4te.cache");
$rc = system("cd $1 && ./autogen.sh -p >/dev/null 2>/dev/null && rm -rf autom4te.cache");
} else {
$rc = system("bin/reconfigure >/dev/null 2>/dev/null && rm -rf autom4te.cache");
$rc = system("./autogen.sh -p >/dev/null 2>/dev/null && rm -rf autom4te.cache");
}
if ($rc) {
printf("bin/reconfigure failed with exit code %d. Aborted.\n", $rc);
printf("./autogen.sh -p failed with exit code %d. Aborted.\n", $rc);
exit 1;
}
}
@@ -387,9 +427,6 @@ sub gen_h5pubconf {
close FILE;
}
# Update the VMS-maintained h5pubconf.h file
gen_h5pubconf("HDF5", $H5VMSPUBCONF, @newver) if $H5VMSPUBCONF;
# Print the new version number
if ($verbose) {
printf("version %d.%d release %d%s\n", @newver[0,1,2],

View File

@@ -1,520 +0,0 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2009-04-28.21; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
nl='
'
IFS=" "" $nl"
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-}
if test -z "$doit"; then
doit_exec=exec
else
doit_exec=$doit
fi
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
chgrpprog=${CHGRPPROG-chgrp}
chmodprog=${CHMODPROG-chmod}
chownprog=${CHOWNPROG-chown}
cmpprog=${CMPPROG-cmp}
cpprog=${CPPROG-cp}
mkdirprog=${MKDIRPROG-mkdir}
mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
posix_glob='?'
initialize_posix_glob='
test "$posix_glob" != "?" || {
if (set -f) 2>/dev/null; then
posix_glob=
else
posix_glob=:
fi
}
'
posix_mkdir=
# Desired mode of installed file.
mode=0755
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
mvcmd=$mvprog
rmcmd="$rmprog -f"
stripcmd=
src=
dst=
dir_arg=
dst_arg=
copy_on_change=false
no_target_directory=
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
--help display this help and exit.
--version display version info and exit.
-c (ignored)
-C install only if different (preserve the last data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
"
while test $# -ne 0; do
case $1 in
-c) ;;
-C) copy_on_change=true;;
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
case $mode in
*' '* | *' '* | *'
'* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
-o) chowncmd="$chownprog $2"
shift;;
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
shift;;
-T) no_target_directory=true;;
--version) echo "$0 $scriptversion"; exit $?;;
--) shift
break;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
*) break;;
esac
shift
done
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dst_arg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dst_arg"
shift # fnord
fi
shift # arg
dst_arg=$arg
done
fi
if test $# -eq 0; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if test -z "$dir_arg"; then
trap '(exit $?); exit' 1 2 13 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
case $mode in
# Optimize common cases.
*644) cp_umask=133;;
*755) cp_umask=22;;
*[0-7])
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
fi
for src
do
# Protect names starting with `-'.
case $src in
-*) src=./$src;;
esac
if test -n "$dir_arg"; then
dst=$src
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dst_arg
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
# Prefer dirname, but fall back on a substitute if dirname fails.
dstdir=`
(dirname "$dst") 2>/dev/null ||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$dst" : 'X\(//\)[^/]' \| \
X"$dst" : 'X\(//\)$' \| \
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$dst" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'
`
test -d "$dstdir"
dstdir_status=$?
fi
fi
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
*[0-7])
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
else
mkdir_mode=
fi
posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writeable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
fi
trap '' 0;;
esac;;
esac
if
$posix_mkdir && (
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
/*) prefix='/';;
-*) prefix='./';;
*) prefix='';;
esac
eval "$initialize_posix_glob"
oIFS=$IFS
IFS=/
$posix_glob set -f
set fnord $dstdir
shift
$posix_glob set +f
IFS=$oIFS
prefixes=
for d
do
test -z "$d" && continue
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
if $posix_mkdir; then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
prefix=$prefix/
done
if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
fi
fi
fi
if test -n "$dir_arg"; then
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
eval "$initialize_posix_glob" &&
$posix_glob set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
$posix_glob set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
rm -f "$dsttmp"
else
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
test ! -f "$dst" ||
$doit $rmcmd -f "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
trap '' 0
fi
done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:

View File

@@ -67,33 +67,6 @@ case "$OSname" in
;;
esac
;;
IRIX)
swpaths="/afs/ncsa/packages/hdf/IRIX_6.5"
;;
IRIX64)
case "$CC" in
cc|"") #default cc
abi=`cc -show_defaults 2>&1 | grep 'default abi'`
case $abi in
*-n32)
swpaths="/afs/ncsa/packages/hdf/IRIX64-n32_6.5"
;;
*-64)
swpaths="/afs/ncsa/packages/hdf/IRIX64_6.5"
;;
*)
swpaths="/afs/ncsa/packages/hdf/IRIX64_6.5"
;;
esac # $abi
;;
*-n32)
swpaths="/afs/ncsa/packages/hdf/IRIX64-n32_6.5"
;;
*)
swpaths="/afs/ncsa/packages/hdf/IRIX64_6.5"
;;
esac
;;
Linux)
swpaths="/afs/ncsa/packages/hdf/Linux"
;;
@@ -150,36 +123,6 @@ case "$OSname" in
;;
esac
;;
IRIX)
swpaths="/afs/ncsa/packages/hdf5/IRIX_6.5"
;;
IRIX64)
case "$CC" in
cc|"") #default cc
abi=`cc -show_defaults 2>&1 | grep 'default abi'`
case $abi in
*-n32)
swpaths="/afs/ncsa/packages/hdf5/IRIX64-n32_6.5"
;;
*-64)
#swpaths="/afs/ncsa/packages/hdf5/IRIX64_6.5"
swpaths="/afs/ncsa/packages/hdf5/5-1.4.3-irix64"
;;
*)
#swpaths="/afs/ncsa/packages/hdf5/IRIX64_6.5"
swpaths="/afs/ncsa/packages/hdf5/5-1.4.3-irix64"
;;
esac # $abi
;;
*-n32)
swpaths="/afs/ncsa/packages/hdf5/IRIX64-n32_6.5"
;;
*)
#swpaths="/afs/ncsa/packages/hdf5/IRIX64_6.5"
swpaths="/afs/ncsa/packages/hdf5/5-1.4.3-irix64"
;;
esac
;;
Linux)
swpaths="/afs/ncsa/packages/hdf5/Linux"
;;

File diff suppressed because it is too large Load Diff

View File

@@ -175,6 +175,12 @@ sub create_public ($) {
print_warning(*HEADER);
print_startprotect(*HEADER, $file);
# Begin extern C block
print HEADER "\n";
print HEADER "#ifdef __cplusplus\n";
print HEADER "extern \"C\" {\n";
print HEADER "#endif\n";
# Iterate over all the major errors
print HEADER "\n/*********************/\n";
print HEADER "/* Major error codes */\n";
@@ -202,6 +208,12 @@ sub create_public ($) {
}
}
# End extern C block
print HEADER "\n";
print HEADER "#ifdef __cplusplus\n";
print HEADER "}\n";
print HEADER "#endif\n";
print_endprotect(*HEADER, $file);
# Close header file

View File

@@ -1,215 +0,0 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
scriptversion=2013-10-28.13; # UTC
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
echo 1>&2 "Try '$0 --help' for more information"
exit 1
fi
case $1 in
--is-lightweight)
# Used by our autoconf macros to check whether the available missing
# script is modern enough.
exit 0
;;
--run)
# Back-compat with the calling convention used by older automake.
shift
;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
Supported PROGRAM values:
aclocal autoconf autoheader autom4te automake makeinfo
bison yacc flex lex help2man
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
'g' are ignored when checking the name.
Send bug reports to <bug-automake@gnu.org>."
exit $?
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)"
exit $?
;;
-*)
echo 1>&2 "$0: unknown '$1' option"
echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
# Run the given program, remember its exit status.
"$@"; st=$?
# If it succeeded, we are done.
test $st -eq 0 && exit 0
# Also exit now if we it failed (or wasn't found), and '--version' was
# passed; such an option is passed most likely to detect whether the
# program is present and works.
case $2 in --version|--help) exit $st;; esac
# Exit code 63 means version mismatch. This often happens when the user
# tries to use an ancient version of a tool on a file that requires a
# minimum version.
if test $st -eq 63; then
msg="probably too old"
elif test $st -eq 127; then
# Program was missing.
msg="missing on your system"
else
# Program was found and executed, but failed. Give up.
exit $st
fi
perl_URL=http://www.perl.org/
flex_URL=http://flex.sourceforge.net/
gnu_software_URL=http://www.gnu.org/software
program_details ()
{
case $1 in
aclocal|automake)
echo "The '$1' program is part of the GNU Automake package:"
echo "<$gnu_software_URL/automake>"
echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/autoconf>"
echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>"
;;
autoconf|autom4te|autoheader)
echo "The '$1' program is part of the GNU Autoconf package:"
echo "<$gnu_software_URL/autoconf/>"
echo "It also requires GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>"
;;
esac
}
give_advice ()
{
# Normalize program name to check for.
normalized_program=`echo "$1" | sed '
s/^gnu-//; t
s/^gnu//; t
s/^g//; t'`
printf '%s\n' "'$1' is $msg."
configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
case $normalized_program in
autoconf*)
echo "You should only need it if you modified 'configure.ac',"
echo "or m4 files included by it."
program_details 'autoconf'
;;
autoheader*)
echo "You should only need it if you modified 'acconfig.h' or"
echo "$configure_deps."
program_details 'autoheader'
;;
automake*)
echo "You should only need it if you modified 'Makefile.am' or"
echo "$configure_deps."
program_details 'automake'
;;
aclocal*)
echo "You should only need it if you modified 'acinclude.m4' or"
echo "$configure_deps."
program_details 'aclocal'
;;
autom4te*)
echo "You might have modified some maintainer files that require"
echo "the 'autom4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)
echo "You should only need it if you modified a '.y' file."
echo "You may want to install the GNU Bison package:"
echo "<$gnu_software_URL/bison/>"
;;
lex*|flex*)
echo "You should only need it if you modified a '.l' file."
echo "You may want to install the Fast Lexical Analyzer package:"
echo "<$flex_URL>"
;;
help2man*)
echo "You should only need it if you modified a dependency" \
"of a man page."
echo "You may want to install the GNU Help2man package:"
echo "<$gnu_software_URL/help2man/>"
;;
makeinfo*)
echo "You should only need it if you modified a '.texi' file, or"
echo "any other file indirectly affecting the aspect of the manual."
echo "You might want to install the Texinfo package:"
echo "<$gnu_software_URL/texinfo/>"
echo "The spurious makeinfo call might also be the consequence of"
echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
echo "want to install GNU make:"
echo "<$gnu_software_URL/make/>"
;;
*)
echo "You might have modified some files without having the proper"
echo "tools for further handling them. Check the 'README' file, it"
echo "often tells you about the needed prerequisites for installing"
echo "this package. You may also peek at any GNU archive site, in"
echo "case some other package contains this missing '$1' program."
;;
esac
}
give_advice "$1" | sed -e '1s/^/WARNING: /' \
-e '2,$s/^/ /' >&2
# Propagate the correct exit status (expected to be 127 for a program
# not found, 63 for a program that failed due to version mismatch).
exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:

View File

@@ -1,101 +0,0 @@
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain
# $Id$
errstatus=0
dirmode=""
usage="\
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
# process command line arguments
while test $# -gt 0 ; do
case "${1}" in
-h | --help | --h* ) # -h for help
echo "${usage}" 1>&2; exit 0 ;;
-m ) # -m PERM arg
shift
test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
dirmode="${1}"
shift ;;
-- ) shift; break ;; # stop option processing
-* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option
* ) break ;; # first non-opt arg
esac
done
for file
do
if test -d "$file"; then
shift
else
break
fi
done
case $# in
0) exit 0 ;;
esac
case $dirmode in
'')
if mkdir -p -- . 2>/dev/null; then
echo "mkdir -p -- $*"
exec mkdir -p -- "$@"
fi ;;
*)
if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
echo "mkdir -m $dirmode -p -- $*"
exec mkdir -m "$dirmode" -p -- "$@"
fi ;;
esac
for file
do
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
shift
pathcomp=
for d
do
pathcomp="$pathcomp$d"
case "$pathcomp" in
-* ) pathcomp=./$pathcomp ;;
esac
if test ! -d "$pathcomp"; then
echo "mkdir $pathcomp"
mkdir "$pathcomp" || lasterr=$?
if test ! -d "$pathcomp"; then
errstatus=$lasterr
else
if test ! -z "$dirmode"; then
echo "chmod $dirmode $pathcomp"
lasterr=""
chmod "$dirmode" "$pathcomp" || lasterr=$?
if test ! -z "$lasterr"; then
errstatus=$lasterr
fi
fi
fi
fi
pathcomp="$pathcomp/"
done
done
exit $errstatus
# Local Variables:
# mode: shell-script
# sh-indentation: 3
# End:
# mkinstalldirs ends here

View File

@@ -1,152 +0,0 @@
#! /bin/sh
#
# 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
# terms governing use, modification, and redistribution, is contained in
# the files COPYING and Copyright.html. COPYING can be found at the root
# of the source code distribution tree; Copyright.html can be found at the
# root level of an installed copy of the electronic HDF5 document set and
# is linked from the top-level documents page. It can also be found at
# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
# access to either file, you may request a copy from help@hdfgroup.org.
#
# A script to reconfigure autotools for HDF5, and to recreate other
# generated files specifc to HDF5.
# If the paths of the autotools are not specified by the user, they
# are hardcoded to point to their locations on HDF5 Linux machines.
# Users can specify the locations of the autotools with the following
# variables:
# AUTOCONF, AUTOMAKE, ACLOCAL, AUTOHEADER should be the path to the
# corresponding tools.
# LIBTOOL_DIR should be the path to the base libtool directory;
# $LIBTOOL_DIR/bin/libtool should invoke libtool, while
# $LIBTOOL_DIR/share/aclocal needs to be included by aclocal.
# Be very careful when specifying these tools manually! There are a lot
# of versions that can get confused (not even counting the m4 utility)!
# HDF5 currently uses the following versions of the autotools:
AUTOCONF_VERSION="autoconf (GNU Autoconf) 2.69"
AUTOMAKE_VERSION="automake (GNU automake) 1.14.1"
AUTOHEADER_VERSION="autoheader (GNU Autoconf) 2.69"
ACLOCAL_VERSION="aclocal (GNU automake) 1.14.1"
LIBTOOL_VERSION="(GNU libtool) 2.4.2"
M4_VERSION="m4 (GNU M4) 1.4.17"
#
# When upgrading automake's version, don't forget to also update its
# helper utilities, especially depcomp.
# If paths to autotools are not specified by the user, assume tools are
# running on jam in /mnt/hdf/packages and set paths accordingly.
if test -z ${AUTORECONF}; then
AUTORECONF=/mnt/hdf/packages/autoconf/autoconf-2.69/bin/autoreconf
fi
if test -z ${AUTOCONF}; then
AUTOCONF=/mnt/hdf/packages/autoconf/autoconf-2.69/bin/autoconf
fi
if test -z ${AUTOMAKE}; then
AUTOMAKE=/mnt/hdf/packages/automake/automake-1.14.1/bin/automake-1.14
fi
if test -z ${AUTOHEADER}; then
AUTOHEADER=/mnt/hdf/packages/autoconf/autoconf-2.69/bin/autoheader
fi
if test -z ${ACLOCAL}; then
ACLOCAL=/mnt/hdf/packages/automake/automake-1.14.1/bin/aclocal-1.14
fi
if test -z ${LIBTOOL}; then
LIBTOOL=/mnt/hdf/packages/libtool/libtool-2.4.2/bin/libtool
fi
if test -z ${M4}; then
M4=/mnt/hdf/packages/m4/m4-1.4.17/bin/m4
fi
# Check version numbers of all autotools against the "correct" versions
AC_VERS=`${AUTOCONF} --version 2>&1 | grep "^${AUTOCONF_VERSION}"`
if test -z "${AC_VERS}"; then
echo "${AUTOCONF} version is not ${AUTOCONF_VERSION}"
exit 1
fi
AM_VERS=`${AUTOMAKE} --version 2>&1 | grep "^${AUTOMAKE_VERSION}"`
if test -z "${AM_VERS}"; then
echo "${AUTOMAKE} version is not ${AUTOMAKE_VERSION}"
exit 1
fi
AH_VERS=`${AUTOHEADER} --version 2>&1 | grep "^${AUTOHEADER_VERSION}"`
if test -z "${AH_VERS}"; then
echo "${AUTOHEADER} version is not ${AUTOHEADER_VERSION}"
exit 1
fi
AL_VERS=`${ACLOCAL} --version 2>&1 | grep "^${ACLOCAL_VERSION}"`
if test -z "${AL_VERS}"; then
echo "${ACLOCAL} version is not ${ACLOCAL_VERSION}"
exit 1
fi
LT_VERS=`${LIBTOOL} --version 2>&1 | grep "${LIBTOOL_VERSION}"`
if test -z "${LT_VERS}"; then
echo "${LIBTOOL} version is not ${LIBTOOL_VERSION}"
exit 1
fi
M4_VERS=`${M4} --version 2>&1 | grep "${M4_VERSION}"`
if test -z "${M4_VERS}"; then
echo "${M4} version is not ${M4_VERSION}"
exit 1
fi
# Make sure that the tools are in the path.
AUTOCONF_DIR=`dirname ${AUTOCONF}`
LIBTOOL_DIR=`dirname ${LIBTOOL}`
M4_DIR=`dirname ${M4}`
PATH=${AUTOCONF_DIR}:${M4_DIR}:$PATH
# Run autoconf/automake commands in order
echo ${ACLOCAL} -I ${LIBTOOL_DIR}/../share/aclocal
${ACLOCAL} -I ${LIBTOOL_DIR}/../share/aclocal || exit 1
echo ${AUTOHEADER}
${AUTOHEADER} || exit 1
echo ${AUTOMAKE} --add-missing
${AUTOMAKE} --add-missing || exit 1
echo ${AUTOCONF}
${AUTOCONF} || exit 1
# Clean up top-level Makefile.in
# pmake wants an argument to be the first non-comment line it encounters
# in the Makefile. Automake wants to reorganize the Makefile.
# To work around this, we post-process the top-level Makefile.in.
sed "s/^#xxx//" Makefile.in > Makefile.in.new
mv Makefile.in.new Makefile.in
# Run trace script
# The trace script adds H5TRACE macros to library source files. It should
# have no effect on files that don't have HDF5 API macros in them.
echo
echo " Running trace script:"
bin/trace src/H5*.c || exit 1
# Run make_err
# make_err automatically generates the H5E headers that create error message
# types for HDF5.
echo
echo " Running error generation script:"
bin/make_err src/H5err.txt || exit 1
# Run make_vers
# make_vers automatically generates the public headers that define the API version
# macros for HDF5.
echo
echo " Running API version generation script:"
bin/make_vers src/H5vers.txt || exit 1
# Run flex
# automatically generates the lexical file for hl/src/H5LTanalyze.c
echo
echo " Running flex generation script:"
bin/genltanalyze || exit 1
exit 0

View File

@@ -50,31 +50,33 @@ Usage: $0 -d <dir> [-h] [--nocheck] [--private] <methods> ...
This must be run at the top level of the source directory.
The other command-line options are the names of the programs to use
for compressing the resulting tar archive (if none are given then
"tar md5" is assumed):
"tar" is assumed):
tar -- use tar and don't do any compressing.
gzip -- use gzip with "-9" and append ".gz" to the output name.
bzip2 -- use bzip2 with "-9" and append ".bz2" to the output name.
zip -- convert all text files to DOS style and form a zip file for Windows use.
md5 -- produce a md5 checksum in addition to the archive.
doc -- produce the latest doc tree in addition to the archive.
An md5 checksum is produced for each archive created and stored in the md5 file.
Examples:
$ bin/release -d /tmp
/tmp/hdf5-1.8.13-RELEASE.txt
/tmp/hdf5-1.8.13.md5
/tmp/hdf5-1.8.13.tar
/tmp/hdf5-1.8.13.tar.md5
$ bin/release -d /tmp gzip
/tmp/hdf5-1.8.13-RELEASE.txt
/tmp/hdf5-1.8.13.md5
/tmp/hdf5-1.8.13.tar.gz
$ bin/release -d /tmp tar gzip zip md5
$ bin/release -d /tmp tar gzip zip
/tmp/hdf5-1.8.13-RELEASE.txt
/tmp/hdf5-1.8.13.md5
/tmp/hdf5-1.8.13.tar
/tmp/hdf5-1.8.13.tar.gz
/tmp/hdf5-1.8.13.tar.md5
/tmp/hdf5-1.8.13.tar.zip
EOF
@@ -212,9 +214,9 @@ while [ -n "$1" ]; do
esac
done
# Default methods are tar and md5
# Default method is tar
if [ "X$methods" = "X" ]; then
methods="tar md5"
methods="tar"
fi
# Create the temporay work directory.
@@ -289,26 +291,28 @@ test "$verbose" && echo " Running tar..." 1>&2
)
# Compress
MD5file=$HDF5_VERS.md5
cp /dev/null $DEST/$MD5file
for comp in $methods; do
case $comp in
tar)
cp -p $tmpdir/$HDF5_VERS.tar $DEST/$HDF5_VERS.tar
(cd $DEST; md5sum $HDF5_VERS.tar >> $MD5file)
;;
gzip)
test "$verbose" && echo " Running gzip..." 1>&2
gzip -9 <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.gz
(cd $DEST; md5sum $HDF5_VERS.tar.gz >> $MD5file)
;;
bzip2)
test "$verbose" && echo " Running bzip2..." 1>&2
bzip2 -9 <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.bz2
(cd $DEST; md5sum $HDF5_VERS.tar.bz2 >> $MD5file)
;;
zip)
test "$verbose" && echo " Creating zip ball..." 1>&2
tar2zip $HDF5_VERS $tmpdir/$HDF5_VERS.tar $DEST/$HDF5_VERS.zip 1>&2
;;
md5)
test "$verbose" && echo " Creating checksum..." 1>&2
(cd $tmpdir; md5sum $HDF5_VERS.tar ) > $DEST/$HDF5_VERS.tar.md5
(cd $DEST; md5sum $HDF5_VERS.zip >> $MD5file)
;;
doc)
test "$verbose" && echo " Creating docs..." 1>&2

View File

@@ -67,8 +67,8 @@ ReleaseDir_default=release_dir
ZLIB_default=
ZLIB=$ZLIB_default
# What compression methods to use? (md5 does checksum).
METHODS="gzip zip bzip2 md5 doc"
# What compression methods to use?
METHODS="gzip zip bzip2 doc"
# Use User's MAKE if set. Else use generic make.
MAKE=${MAKE:-make}

83
bin/switch_maint_mode Executable file
View File

@@ -0,0 +1,83 @@
#!/bin/sh
#
# 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
# terms governing use, modification, and redistribution, is contained in
# the files COPYING and Copyright.html. COPYING can be found at the root
# of the source code distribution tree; Copyright.html can be found at the
# root level of an installed copy of the electronic HDF5 document set and
# is linked from the top-level documents page. It can also be found at
# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
# access to either file, you may request a copy from help@hdfgroup.org.
#
# Switch AM_MAINTAINER_MODE value in configure.ac
# Usage: See USAGE()
# Programmer: Dana Robinson
# Creation date: January 2016
USAGE()
{
cat <<EOF
switch_maint_mode reverses the status of AM_MAINTAINER_MODE in
configure.ac from enable to disable or vice-versa. When enabled,
this feature forces the autotools to run when the input files are
older than the output files. This is the default for development
branches. When disabled, the autotools will NOT be re-run regardless
of their timestamps or any modifications. This is the default for
tarballs and release branches since it avoids having end-users
requiring the autotools.
Command Syntax
==============
switch_maint_mode [-help] [-enable|disable] <path-to-configure.ac>
EOF
}
MODE="notset"
CONFIG_AC_PATH=
# Display help/usage if any options were passed in
while [ $# -gt 0 ]; do
case "$1" in
-enable)
MODE="enable"
;;
-disable)
MODE="disable"
;;
-help)
USAGE
exit 0
;;
*)
CONFIG_AC_PATH="$1"
;;
esac
shift
done
# Did we get a file path?
if test -z $CONFIG_AC_PATH ; then
USAGE
exit 1
fi
# Did we get a mode?
if test -z $MODE ; then
USAGE
exit 1
fi
# Run perl over configure.ac
if test "X-$MODE" = "X-enable" ; then
perl -pi -e 's/^(AM_MAINTAINER_MODE\(\[)([a-z]+)(\]\))/$1enable$3/g' $CONFIG_AC_PATH
fi
if test "X-$MODE" = "X-disable" ; then
perl -pi -e 's/^(AM_MAINTAINER_MODE\(\[)([a-z]+)(\]\))/$1disable$3/g' $CONFIG_AC_PATH
fi

View File

@@ -1,139 +0,0 @@
#! /bin/sh
# test-driver - basic testsuite driver script.
scriptversion=2013-07-13.22; # UTC
# Copyright (C) 2011-2013 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
# Make unconditional expansion of undefined variables an error. This
# helps a lot in preventing typo-related bugs.
set -u
usage_error ()
{
echo "$0: $*" >&2
print_usage >&2
exit 2
}
print_usage ()
{
cat <<END
Usage:
test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
[--expect-failure={yes|no}] [--color-tests={yes|no}]
[--enable-hard-errors={yes|no}] [--]
TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
The '--test-name', '--log-file' and '--trs-file' options are mandatory.
END
}
test_name= # Used for reporting.
log_file= # Where to save the output of the test script.
trs_file= # Where to save the metadata of the test run.
expect_failure=no
color_tests=no
enable_hard_errors=yes
while test $# -gt 0; do
case $1 in
--help) print_usage; exit $?;;
--version) echo "test-driver $scriptversion"; exit $?;;
--test-name) test_name=$2; shift;;
--log-file) log_file=$2; shift;;
--trs-file) trs_file=$2; shift;;
--color-tests) color_tests=$2; shift;;
--expect-failure) expect_failure=$2; shift;;
--enable-hard-errors) enable_hard_errors=$2; shift;;
--) shift; break;;
-*) usage_error "invalid option: '$1'";;
*) break;;
esac
shift
done
missing_opts=
test x"$test_name" = x && missing_opts="$missing_opts --test-name"
test x"$log_file" = x && missing_opts="$missing_opts --log-file"
test x"$trs_file" = x && missing_opts="$missing_opts --trs-file"
if test x"$missing_opts" != x; then
usage_error "the following mandatory options are missing:$missing_opts"
fi
if test $# -eq 0; then
usage_error "missing argument"
fi
if test $color_tests = yes; then
# Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
red='' # Red.
grn='' # Green.
lgn='' # Light green.
blu='' # Blue.
mgn='' # Magenta.
std='' # No color.
else
red= grn= lgn= blu= mgn= std=
fi
do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
trap "st=129; $do_exit" 1
trap "st=130; $do_exit" 2
trap "st=141; $do_exit" 13
trap "st=143; $do_exit" 15
# Test script is run here.
"$@" >$log_file 2>&1
estatus=$?
if test $enable_hard_errors = no && test $estatus -eq 99; then
estatus=1
fi
case $estatus:$expect_failure in
0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
0:*) col=$grn res=PASS recheck=no gcopy=no;;
77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;;
*:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;;
*:*) col=$red res=FAIL recheck=yes gcopy=yes;;
esac
# Report outcome to console.
echo "${col}${res}${std}: $test_name"
# Register the test result, and other relevant metadata.
echo ":test-result: $res" > $trs_file
echo ":global-test-result: $res" >> $trs_file
echo ":recheck: $recheck" >> $trs_file
echo ":copy-in-global-log: $gcopy" >> $trs_file
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:

View File

@@ -37,10 +37,12 @@ $Source = "";
"H5D_fill_value_t" => "DF",
"H5FD_mpio_chunk_opt_t" => "Dh",
"H5D_mpio_actual_io_mode_t" => "Di",
"H5D_chunk_index_t" => "Dk",
"H5D_layout_t" => "Dl",
"H5D_mpio_no_collective_cause_t" => "Dn",
"H5D_mpio_actual_chunk_opt_mode_t" => "Do",
"H5D_space_status_t" => "Ds",
"H5D_vds_view_t" => "Dv",
"H5FD_mpio_xfer_t" => "Dt",
"herr_t" => "e",
"H5E_direction_t" => "Ed",
@@ -100,6 +102,7 @@ $Source = "";
"H5A_operator2_t" => "x",
"H5A_info_t" => "x",
"H5AC_cache_config_t" => "x",
"H5D_append_cb_t" => "x",
"H5D_gather_func_t" => "x",
"H5D_operator_t" => "x",
"H5D_scatter_func_t" => "x",
@@ -109,8 +112,10 @@ $Source = "";
"H5E_walk_t" => "x",
"H5E_walk1_t" => "x",
"H5E_walk2_t" => "x",
"H5F_flush_cb_t" => "x",
"H5F_info1_t" => "x",
"H5F_info2_t" => "x",
"H5F_retry_info_t" => "x",
"H5FD_t" => "x",
"H5FD_class_t" => "x",
"H5FD_stream_fapl_t" => "x",
@@ -118,7 +123,8 @@ $Source = "";
"H5G_iterate_t" => "x",
"H5G_info_t" => "x",
"H5I_free_t" => "x",
"H5L_class_t" => "x",
"H5I_search_func_t" => "x",
"H5L_class_t" => "x",
"H5L_elink_traverse_t" => "x",
"H5L_iterate_t" => "x",
"H5MM_allocate_t" => "x",
@@ -178,7 +184,7 @@ sub argstring ($$$) {
# Normalize the data type by removing redundant white space,
# certain type qualifiers, and indirection.
$atype =~ s/^\bconst\b//;
$atype =~ s/\bUNUSED\b//g;
$atype =~ s/\bH5_ATTR_UNUSED\b//g;
$atype =~ s/\s+/ /g;
$ptr = length $1 if $atype =~ s/(\*+)//;
$atype =~ s/^\s+//;
@@ -281,14 +287,10 @@ sub rewrite_func ($$$$$) {
# The H5TRACE() statement
if ($body =~ /\/\*[ \t]*NO[ \t]*TRACE[ \t]*\*\//) {
if ($body =~ /\s*H5TRACE\d+\s*\(/) {
errmesg $file, $name, "warning: trace info was not updated because of NO TRACE comment";
} else {
errmesg $file, $name, "warning: trace info was not inserted because of NO TRACE comment";
}
# Ignored due to NO TRACE comment.
} elsif ($body =~ s/((\n[ \t]*)H5TRACE\d+\s*\(.*?\);)\n/"$2$trace"/es) {
# Replaced an H5TRACE macro
} elsif ($body=~s/((\n[ \t]*)FUNC_ENTER\w*\s*\(.*?\);??)\n/"$1$2$trace"/es) {
# Replaced an H5TRACE macro.
} elsif ($body=~s/((\n[ \t]*)FUNC_ENTER\w*\s*(\(.*?\))?;??)\n/"$1$2$trace"/es) {
# Added an H5TRACE macro after a FUNC_ENTER macro.
} else {
errmesg $file, $name, "unable to insert tracing information";
@@ -317,14 +319,14 @@ for $file (@ARGV) {
# Make modifications
my $original = $Source;
my $napi = $Source =~ s/\n([A-Za-z]\w*(\s+[a-z]\w*)*)\s*\n #type
my $napi = $Source =~ s/\n([A-Za-z]\w*(\s+[A-Za-z]\w*)*\s*\**)\n #type
(H5[A-Z]{0,2}[^_A-Z0-9]\w*) #name
\s*\((.*?)\)\s* #args
(\{.*?\n\}[^\n]*) #body
/rewrite_func($file,$1,$3,$4,$5)/segx;
$total_api += $napi;
# If the source changed then print out the new version
# If the source changed then print out the new version
if ($original ne $Source) {
printf "%s: instrumented %d API function%s\n",
$file, $napi, 1==$napi?"":"s";
@@ -335,3 +337,6 @@ for $file (@ARGV) {
}
}
}
printf "Finished processing HDF5 API calls\n"

View File

@@ -6,15 +6,6 @@ PROJECT (HDF5_CPP)
#-----------------------------------------------------------------------------
add_definitions (${HDF_EXTRA_C_FLAGS})
#-----------------------------------------------------------------------------
# Shared/Static Libs
#-----------------------------------------------------------------------------
if (BUILD_SHARED_LIBS)
set (CPP_BUILT_AS_DYNAMIC_LIB 1)
else (BUILD_SHARED_LIBS)
set (CPP_BUILT_AS_STATIC_LIB 1)
endif (BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
# Generate configure file
#-----------------------------------------------------------------------------

File diff suppressed because it is too large Load Diff

View File

@@ -34,16 +34,16 @@ set (tutr_examples
foreach (example ${examples})
add_executable (cpp_ex_${example} ${HDF5_CPP_EXAMPLES_SOURCE_DIR}/${example}.cpp)
TARGET_NAMING (cpp_ex_${example} ${LIB_TYPE})
TARGET_C_PROPERTIES (cpp_ex_${example} " " " ")
TARGET_NAMING (cpp_ex_${example} STATIC)
TARGET_C_PROPERTIES (cpp_ex_${example} STATIC " " " ")
target_link_libraries (cpp_ex_${example} ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (cpp_ex_${example} PROPERTIES FOLDER examples/cpp)
endforeach (example ${examples})
foreach (example ${tutr_examples})
add_executable (cpp_ex_${example} ${HDF5_CPP_EXAMPLES_SOURCE_DIR}/${example}.cpp)
TARGET_NAMING (cpp_ex_${example} ${LIB_TYPE})
TARGET_C_PROPERTIES (cpp_ex_${example} " " " ")
TARGET_NAMING (cpp_ex_${example} STATIC)
TARGET_C_PROPERTIES (cpp_ex_${example} STATIC " " " ")
target_link_libraries (cpp_ex_${example} ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (cpp_ex_${example} PROPERTIES FOLDER examples/cpp)
endforeach (example ${tutr_examples})

View File

@@ -42,8 +42,8 @@ INSTALL_FILES=create.cpp readdata.cpp writedata.cpp compound.cpp \
# Some of the examples depend on files created by running other examples
readdata.chkexe_: create.chkexe_
chunks.chkexe_: extend_ds.chkexe_
h5tutr_rdwt.chkexe_: h5tutrcrtdat.chkexe
h5tutrcrtatt.chkexe_: h5tutrcrtdat.chkexe
h5tutr_rdwt.chkexe_: h5tutr_crtdat.chkexe
h5tutrcrtatt.chkexe_: h5tutr_crtdat.chkexe
h5tutr_crtgrpd.chkexe_: h5tutr_crtgrpar.chkexe
# Tell conclude.am that these are C++ tests.
@@ -52,6 +52,7 @@ CXX_API=yes
# Where to install examples
# Note: no '/' after DESTDIR. Explanation in commence.am
EXAMPLEDIR=${DESTDIR}$(exec_prefix)/share/hdf5_examples/c++
EXAMPLETOPDIR=${DESTDIR}$(exec_prefix)/share/hdf5_examples
# How to build programs using h5c++
$(EXTRA_PROG): $(H5CPP)

File diff suppressed because it is too large Load Diff

View File

@@ -34,7 +34,7 @@ EXIT_FAILURE=1
# Where the tool is installed.
# default is relative path to installed location of the tools
prefix="${prefix:-../../../}"
prefix="${prefix:-@prefix@}"
AR="@AR@"
RANLIB="@RANLIB@"
H5TOOL="h5c++" # The tool name

View File

@@ -1,13 +1,6 @@
cmake_minimum_required (VERSION 3.1.0)
PROJECT (HDF5_CPP_SRC)
#-----------------------------------------------------------------------------
# Shared/Static Libs
#-----------------------------------------------------------------------------
if (BUILD_SHARED_LIBS)
set (CPP_BUILT_AS_DYNAMIC_LIB 1)
endif (BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
# Generate configure file
#-----------------------------------------------------------------------------
@@ -42,6 +35,7 @@ set (CPP_SRCS
${HDF5_CPP_SRC_SOURCE_DIR}/H5Library.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5Location.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5Object.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5OcreatProp.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5PredType.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5PropList.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5StrType.cpp
@@ -77,24 +71,41 @@ set (CPP_HDRS
${HDF5_CPP_SRC_SOURCE_DIR}/H5Library.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5Location.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5Object.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5OcreatProp.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5PredType.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5PropList.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5StrType.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5VarLenType.h
)
add_library (${HDF5_CPP_LIB_TARGET} ${LIB_TYPE} ${CPP_SRCS} ${CPP_HDRS})
TARGET_C_PROPERTIES (${HDF5_CPP_LIB_TARGET} " " " ")
add_library (${HDF5_CPP_LIB_TARGET} STATIC ${CPP_SRCS} ${CPP_HDRS})
TARGET_C_PROPERTIES (${HDF5_CPP_LIB_TARGET} STATIC " " " ")
target_link_libraries (${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_CPP_LIB_TARGET}")
H5_SET_LIB_OPTIONS (${HDF5_CPP_LIB_TARGET} ${HDF5_CPP_LIB_NAME} ${LIB_TYPE})
H5_SET_LIB_OPTIONS (${HDF5_CPP_LIB_TARGET} ${HDF5_CPP_LIB_NAME} STATIC)
set_target_properties (${HDF5_CPP_LIB_TARGET} PROPERTIES
FOLDER libraries/cpp
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
)
set (install_targets ${HDF5_CPP_LIB_TARGET})
if (BUILD_SHARED_LIBS)
add_library (${HDF5_CPP_LIBSH_TARGET} SHARED ${CPP_SRCS} ${CPP_HDRS})
TARGET_C_PROPERTIES (${HDF5_CPP_LIBSH_TARGET} SHARED " " " ")
target_link_libraries (${HDF5_CPP_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_CPP_LIBSH_TARGET}")
H5_SET_LIB_OPTIONS (${HDF5_CPP_LIBSH_TARGET} ${HDF5_CPP_LIB_NAME} SHARED)
set_target_properties (${HDF5_CPP_LIBSH_TARGET} PROPERTIES
FOLDER libraries/cpp
COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
)
set (install_targets ${install_targets} ${HDF5_CPP_LIBSH_TARGET})
endif (BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
# Add file(s) to CMake Install
# Add file(s) to CMake Install
#-----------------------------------------------------------------------------
install (
FILES
@@ -110,16 +121,17 @@ install (
#-----------------------------------------------------------------------------
if (HDF5_EXPORTED_TARGETS)
if (BUILD_SHARED_LIBS)
INSTALL_TARGET_PDB (${HDF5_CPP_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} cpplibraries)
INSTALL_TARGET_PDB (${HDF5_CPP_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} cpplibraries)
endif (BUILD_SHARED_LIBS)
install (
TARGETS
${HDF5_CPP_LIB_TARGET}
${install_targets}
EXPORT
${HDF5_EXPORTED_TARGETS}
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT cpplibraries
ARCHIVE DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT cpplibraries
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT cpplibraries
FRAMEWORK DESTINATION ${HDF5_INSTALL_FWRK_DIR} COMPONENT cpplibraries
)
endif (HDF5_EXPORTED_TARGETS)

View File

@@ -21,6 +21,8 @@
#include "H5PropList.h"
#include "H5Object.h"
#include "H5AbstractDs.h"
#include "H5DataSpace.h"
#include "H5OcreatProp.h"
#include "H5DcreatProp.h"
#include "H5CommonFG.h"
#include "H5Alltypes.h"
@@ -40,16 +42,15 @@ AbstractDs::AbstractDs(){}
// Function: AbstractDs default constructor
///\brief Creates an AbstractDs instance using an existing id.
// Programmer Binh-Minh Ribler - 2000
//
// *** Deprecation warning ***
// This constructor is no longer appropriate because the data member "id" had
// been moved to the sub-classes. It will be removed in 1.10 release. If its
// removal does not raise any problems in 1.10, it will be removed from 1.8 in
// subsequent releases.
//--------------------------------------------------------------------------
AbstractDs::AbstractDs(const hid_t ds_id){}
//--------------------------------------------------------------------------
// Function: AbstractDs copy constructor
///\brief Copy constructor: makes a copy of the original AbstractDs object.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
AbstractDs::AbstractDs(const AbstractDs& original){}
//--------------------------------------------------------------------------
// Function: AbstractDs::getTypeClass
///\brief Returns the class of the datatype that is used by this
@@ -113,8 +114,9 @@ DataType AbstractDs::getDataType() const
// depending on which object invokes getDataType. Then, create and
// return the DataType object
try {
DataType datatype(p_get_type());
return(datatype);
DataType datatype;
f_DataType_setId(&datatype, p_get_type());
return(datatype);
}
catch (DataSetIException E) {
throw DataTypeIException("DataSet::getDataType", E.getDetailMsg());
@@ -139,8 +141,12 @@ ArrayType AbstractDs::getArrayType() const
// depending on which object invokes getArrayType. Then, create and
// return the ArrayType object
try {
ArrayType arraytype(p_get_type());
return(arraytype);
// Create ArrayType and set values this way to work around the
// problem described in the JIRA issue HDFFV-7947
ArrayType arraytype;
f_DataType_setId(&arraytype, p_get_type());
arraytype.setArrayInfo();
return(arraytype);
}
catch (DataSetIException E) {
throw DataTypeIException("DataSet::getArrayType", E.getDetailMsg());
@@ -165,8 +171,9 @@ CompType AbstractDs::getCompType() const
// depending on which object invokes getCompType. Then, create and
// return the CompType object
try {
CompType comptype(p_get_type());
return(comptype);
CompType comptype;
f_DataType_setId(&comptype, p_get_type());
return(comptype);
}
catch (DataSetIException E) {
throw DataTypeIException("DataSet::getCompType", E.getDetailMsg());
@@ -191,8 +198,9 @@ EnumType AbstractDs::getEnumType() const
// depending on which object invokes getEnumType. Then, create and
// return the EnumType object
try {
EnumType enumtype(p_get_type());
return(enumtype);
EnumType enumtype;
f_DataType_setId(&enumtype, p_get_type());
return(enumtype);
}
catch (DataSetIException E) {
throw DataTypeIException("DataSet::getEnumType", E.getDetailMsg());
@@ -217,8 +225,9 @@ IntType AbstractDs::getIntType() const
// depending on which object invokes getIntType. Then, create and
// return the IntType object
try {
IntType inttype(p_get_type());
return(inttype);
IntType inttype;
f_DataType_setId(&inttype, p_get_type());
return(inttype);
}
catch (DataSetIException E) {
throw DataTypeIException("DataSet::getIntType", E.getDetailMsg());
@@ -243,8 +252,9 @@ FloatType AbstractDs::getFloatType() const
// depending on which object invokes getFloatType. Then, create and
// return the FloatType object
try {
FloatType floatype(p_get_type());
return(floatype);
FloatType floatype;
f_DataType_setId(&floatype, p_get_type());
return(floatype);
}
catch (DataSetIException E) {
throw DataTypeIException("DataSet::getFloatType", E.getDetailMsg());
@@ -269,8 +279,9 @@ StrType AbstractDs::getStrType() const
// depending on which object invokes getStrType. Then, create and
// return the StrType object
try {
StrType strtype(p_get_type());
return(strtype);
StrType strtype;
f_DataType_setId(&strtype, p_get_type());
return(strtype);
}
catch (DataSetIException E) {
throw DataTypeIException("DataSet::getStrType", E.getDetailMsg());
@@ -295,8 +306,9 @@ VarLenType AbstractDs::getVarLenType() const
// depending on which object invokes getVarLenType. Then, create and
// return the VarLenType object
try {
VarLenType varlentype(p_get_type());
return(varlentype);
VarLenType varlentype;
f_DataType_setId(&varlentype, p_get_type());
return(varlentype);
}
catch (DataSetIException E) {
throw DataTypeIException("DataSet::getVarLenType", E.getDetailMsg());

View File

@@ -28,6 +28,7 @@ class FloatType;
class IntType;
class StrType;
class VarLenType;
class DataSpace;
/*! \class AbstractDs
\brief AbstractDs is an abstract base class, inherited by Attribute
@@ -67,12 +68,9 @@ class H5_DLLCPP AbstractDs {
///\brief Returns the amount of storage size required - pure virtual.
virtual hsize_t getStorageSize() const = 0;
///\brief Returns this class name.
// Returns this class name - pure virtual.
virtual H5std_string fromClass() const = 0;
// Copy constructor
AbstractDs( const AbstractDs& original );
// Destructor
virtual ~AbstractDs();
@@ -80,11 +78,20 @@ class H5_DLLCPP AbstractDs {
// Default constructor
AbstractDs();
// Constructor that takes an attribute id or a dataset id.
AbstractDs( const hid_t ds_id );
// *** Deprecation warning ***
// The following two constructors are no longer appropriate after the
// data member "id" had been moved to the sub-classes.
// The copy constructor is a noop and is removed in 1.8.15 and the
// other will be removed from 1.10 release, and then from 1.8 if its
// removal does not raise any problems in two 1.10 releases.
AbstractDs(const hid_t h5_id);
// Copy constructor
// AbstractDs( const AbstractDs& original );
private:
// This member function is implemented by DataSet and Attribute.
// This member function is implemented by DataSet and Attribute - pure virtual.
virtual hid_t p_get_type() const = 0;
};
#ifndef H5_NO_NAMESPACE

View File

@@ -20,6 +20,7 @@
#include "H5IdComponent.h"
#include "H5PropList.h"
#include "H5Object.h"
#include "H5OcreatProp.h"
#include "H5DcreatProp.h"
#include "H5CommonFG.h"
#include "H5DataType.h"
@@ -34,12 +35,7 @@ namespace H5 {
///\brief Default constructor: Creates a stub ArrayType
// Programmer Binh-Minh Ribler - May 2004
//--------------------------------------------------------------------------
ArrayType::ArrayType() : DataType()
{
// Initialize members
rank = -1;
dimensions = NULL;
}
ArrayType::ArrayType() : DataType(), rank(-1), dimensions(NULL) {}
//--------------------------------------------------------------------------
// Function: ArrayType overloaded constructor
@@ -50,20 +46,7 @@ ArrayType::ArrayType() : DataType()
//--------------------------------------------------------------------------
ArrayType::ArrayType( const hid_t existing_id ) : DataType( existing_id )
{
// Get the rank of the existing array and store it in this array
rank = H5Tget_array_ndims(existing_id);
if (rank < 0)
{
throw DataTypeIException("ArrayType constructor (existing id)", "H5Tget_array_ndims failed");
}
// Allocate space for the dimensions
dimensions = new hsize_t[rank];
// Get the dimensions of the existing array and store it in this array
int ret_value = H5Tget_array_dims2(id, dimensions);
if (ret_value < 0)
throw DataTypeIException("ArrayType constructor (existing id)", "H5Tget_array_dims2 failed");
setArrayInfo();
}
//--------------------------------------------------------------------------
@@ -109,26 +92,68 @@ ArrayType::ArrayType(const DataType& base_type, int ndims, const hsize_t* dims)
dimensions[i] = dims[i];
}
//--------------------------------------------------------------------------
// Function: ArrayType::setArrayInfo
///\brief Retrieves the rank and dimensions from the array datatype
/// and store the info in this ArrayType object.
///\exception H5::DataTypeIException
// Programmer Binh-Minh Ribler - January 2016
//--------------------------------------------------------------------------
void ArrayType::setArrayInfo()
{
// Get the rank of the array type specified by id from the C API
int ndims = H5Tget_array_ndims(id);
if (ndims < 0)
{
throw DataTypeIException("ArrayType::setArrayInfo", "H5Tget_array_ndims failed");
}
// Get the dimensions from the C API
hsize_t* dims;
dims = new hsize_t[ndims];
if (dims != NULL)
{
// Get the dimensions
ndims = H5Tget_array_dims2(id, dims);
if (ndims < 0)
throw DataTypeIException("ArrayType::setArrayInfo", "H5Tget_array_dims2 failed");
// Store the array's info in memory
rank = ndims;
dimensions = new hsize_t[rank];
for (int i = 0; i < rank; i++)
dimensions[i] = dims[i];
delete []dims;
}
} // setArrayInfo
//--------------------------------------------------------------------------
// Function: ArrayType::getArrayNDims
///\brief Returns the number of dimensions for an array datatype.
///\return Number of dimensions
///\exception H5::DataTypeIException
// Programmer Binh-Minh Ribler - May 2004
// Modification
// Modified to use setArrayInfo().
// If rank is positive, return rank
// If rank is invalid but object has a valid identifier, obtain the
// rank and dimensions, store them in the object, and return rank
// Otherwise, i.e., rank is invalid and object doesn't have a
// valid identifier, throw an exception
//--------------------------------------------------------------------------
int ArrayType::getArrayNDims()
{
// If the array's rank has not been stored, i.e. rank is init to -1,
// retrieve it via the C API
if (rank < 0)
{
rank = H5Tget_array_ndims(id);
if (rank < 0)
{
throw DataTypeIException("ArrayType::getArrayNDims", "H5Tget_array_ndims failed");
}
}
return(rank);
// Validate the id first, this object could be a default object
if (!p_valid_id(id))
throw DataTypeIException("ArrayType::getArrayNDims", "ArrayType object is not a valid array type.");
// If the array's info has not been stored, i.e. "rank" still has its
// initial value, -1, and "dimensions" is still NULL, retrieve rank and
// dimensions via the C API and store them in this ArrayType object.
if (rank < 0 && dimensions == NULL)
setArrayInfo();
return(rank);
}
//--------------------------------------------------------------------------
@@ -138,25 +163,30 @@ int ArrayType::getArrayNDims()
///\return Number of dimensions
///\exception H5::DataTypeIException
// Programmer Binh-Minh Ribler - May 2004
// Modification
// Jan, 2016
// Modified to use setArrayInfo().
// If the array information has not been stored, retrieve rank and
// dimensions of the array type identified by "id" via the C API.
// Copy "dimensions" to the user's buffer
//--------------------------------------------------------------------------
int ArrayType::getArrayDims(hsize_t* dims)
{
// If the array's dimensions have not been stored, retrieve them via C API
if (dimensions == NULL)
{
int ndims = H5Tget_array_dims2(id, dims);
if (ndims < 0)
throw DataTypeIException("ArrayType::getArrayDims", "H5Tget_array_dims2 failed");
// Store the array's info in memory
rank = ndims;
dimensions = new hsize_t[rank];
for (int i = 0; i < rank; i++)
dimensions[i] = dims[i];
}
// Otherwise, simply copy what's in 'dimensions' to 'dims'
for (int i = 0; i < rank; i++)
dims[i] = dimensions[i];
return(rank);
// Validate the id first, this object could be a default object
if (!p_valid_id(id))
throw DataTypeIException("ArrayType::getArrayDims", "ArrayType object is not a valid array type.");
// If the array's info has not been stored, i.e. "rank" still has its
// initial value, -1, and "dimensions" is still NULL, retrieve rank and
// dimensions via the C API and store them in this ArrayType object.
if (rank < 0 && dimensions == NULL)
setArrayInfo();
// Copy what's in "dimensions" to user's buffer "dims"
for (int i = 0; i < rank; i++)
dims[i] = dimensions[i];
return(rank);
}
//--------------------------------------------------------------------------

View File

@@ -31,6 +31,9 @@ class H5_DLLCPP ArrayType : public DataType {
// specified base type.
ArrayType(const DataType& base_type, int ndims, const hsize_t* dims);
// Stores the rank and dimensions in memory.
void setArrayInfo();
// Returns the number of dimensions of this array datatype.
int getArrayNDims();
@@ -49,7 +52,6 @@ class H5_DLLCPP ArrayType : public DataType {
// Noop destructor
virtual ~ArrayType();
protected:
// Default constructor
ArrayType();

View File

@@ -20,6 +20,7 @@
#include "H5IdComponent.h"
#include "H5PropList.h"
#include "H5Object.h"
#include "H5OcreatProp.h"
#include "H5DcreatProp.h"
#include "H5CommonFG.h"
#include "H5DataType.h"

View File

@@ -28,6 +28,7 @@
#include "H5AbstractDs.h"
#include "H5FaccProp.h"
#include "H5FcreatProp.h"
#include "H5OcreatProp.h"
#include "H5DcreatProp.h"
#include "H5CommonFG.h"
#include "H5DataType.h"
@@ -45,6 +46,7 @@ namespace H5 {
#endif
class H5_DLLCPP H5Object; // forward declaration for UserData4Aiterate
//--------------------------------------------------------------------------
// Function: Attribute default constructor
///\brief Default constructor: Creates a stub attribute
@@ -74,7 +76,8 @@ Attribute::Attribute(const Attribute& original) : AbstractDs(), IdComponent()
//--------------------------------------------------------------------------
Attribute::Attribute(const hid_t existing_id) : AbstractDs(), IdComponent()
{
id = existing_id;
id = existing_id;
incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
@@ -270,8 +273,9 @@ DataSpace Attribute::getSpace() const
// If the dataspace id is valid, create and return the DataSpace object
if( dataspace_id > 0 )
{
DataSpace dataspace( dataspace_id );
return( dataspace );
DataSpace dataspace;
f_DataSpace_setId(&dataspace, dataspace_id);
return(dataspace);
}
else
{
@@ -392,10 +396,12 @@ H5std_string Attribute::getName() const
//--------------------------------------------------------------------------
H5std_string Attribute::getName(size_t len) const
{
H5std_string attr_name;
ssize_t name_size = getName(attr_name, len);
return(attr_name);
// let caller catch exception if any
H5std_string attr_name;
ssize_t name_size = getName(attr_name, len);
if (name_size < 0)
return("");
else
return(attr_name);
}
//--------------------------------------------------------------------------

View File

@@ -31,6 +31,16 @@ namespace H5 {
*/
class H5_DLLCPP Attribute : public AbstractDs, public IdComponent {
public:
// Copy constructor: makes a copy of an existing Attribute object.
Attribute( const Attribute& original );
// Default constructor
Attribute();
// Creates a copy of an existing attribute using the attribute id
Attribute( const hid_t attr_id );
// Closes this attribute.
virtual void close();
@@ -70,23 +80,14 @@ class H5_DLLCPP Attribute : public AbstractDs, public IdComponent {
///\brief Returns this class name.
virtual H5std_string fromClass () const { return("Attribute"); }
// Creates a copy of an existing attribute using the attribute id
Attribute( const hid_t attr_id );
// Copy constructor: makes a copy of an existing Attribute object.
Attribute( const Attribute& original );
// Default constructor
Attribute();
// Gets the attribute id.
virtual hid_t getId() const;
// Destructor: properly terminates access to this attribute.
virtual ~Attribute();
protected:
#ifndef DOXYGEN_SHOULD_SKIP_THIS
protected:
// Sets the attribute id.
virtual void p_setId(const hid_t new_id);
#endif // DOXYGEN_SHOULD_SKIP_THIS
@@ -109,6 +110,10 @@ class H5_DLLCPP Attribute : public AbstractDs, public IdComponent {
// do not inherit H5Object::renameAttr
void renameAttr() {}
// Friend function to set Attribute id. For library use only.
friend void f_Attribute_setId(Attribute* attr, hid_t new_id);
};
#ifndef H5_NO_NAMESPACE
}

View File

@@ -22,6 +22,7 @@
#include "H5Object.h"
#include "H5FaccProp.h"
#include "H5FcreatProp.h"
#include "H5OcreatProp.h"
#include "H5DxferProp.h"
#include "H5DcreatProp.h"
#include "H5CommonFG.h"
@@ -33,9 +34,6 @@
#include "H5Alltypes.h"
#include "H5private.h" // for HDstrcpy
#include <iostream>
using namespace std;
// There are a few comments that are common to most of the functions
// defined in this file so they are listed here.
// - getLocId is called by all functions, that call a C API, to get
@@ -51,6 +49,7 @@ using namespace std;
#ifndef H5_NO_NAMESPACE
namespace H5 {
using namespace std;
#endif
//--------------------------------------------------------------------------
@@ -100,7 +99,9 @@ Group CommonFG::createGroup( const char* name, size_t size_hint ) const
throwException("createGroup", "H5Gcreate2 failed");
// No failure, create and return the Group object
Group group( group_id );
Group group;
CommonFG *ptr = &group;
ptr->p_setId(group_id);
return( group );
}
@@ -136,7 +137,9 @@ Group CommonFG::openGroup( const char* name ) const
throwException("openGroup", "H5Gopen2 failed");
// No failure, create and return the Group object
Group group( group_id );
Group group;
CommonFG *ptr = &group;
ptr->p_setId(group_id);
return( group );
}
@@ -178,7 +181,8 @@ DataSet CommonFG::createDataSet( const char* name, const DataType& data_type, co
throwException("createDataSet", "H5Dcreate2 failed");
// No failure, create and return the DataSet object
DataSet dataset( dataset_id );
DataSet dataset;
f_DataSet_setId(&dataset, dataset_id);
return( dataset );
}
@@ -213,7 +217,8 @@ DataSet CommonFG::openDataSet( const char* name ) const
throwException("openDataSet", "H5Dopen2 failed");
// No failure, create and return the DataSet object
DataSet dataset( dataset_id );
DataSet dataset;
f_DataSet_setId(&dataset, dataset_id);
return( dataset );
}
@@ -576,7 +581,8 @@ DataType CommonFG::openDataType( const char* name ) const
throwException("openDataType", "H5Topen2 failed");
// No failure, create and return the DataType object
DataType data_type(type_id);
DataType data_type;
f_DataType_setId(&data_type, type_id);
return(data_type);
}
@@ -611,7 +617,8 @@ ArrayType CommonFG::openArrayType( const char* name ) const
throwException("openArrayType", "H5Topen2 failed");
// No failure, create and return the ArrayType object
ArrayType array_type (type_id);
ArrayType array_type;
f_DataType_setId(&array_type, type_id);
return(array_type);
}
@@ -646,7 +653,8 @@ CompType CommonFG::openCompType( const char* name ) const
throwException("openCompType", "H5Topen2 failed");
// No failure, create and return the CompType object
CompType comp_type(type_id);
CompType comp_type;
f_DataType_setId(&comp_type, type_id);
return(comp_type);
}
@@ -681,7 +689,8 @@ EnumType CommonFG::openEnumType( const char* name ) const
throwException("openEnumType", "H5Topen2 failed");
// No failure, create and return the EnumType object
EnumType enum_type(type_id);
EnumType enum_type;
f_DataType_setId(&enum_type, type_id);
return(enum_type);
}
@@ -716,7 +725,8 @@ IntType CommonFG::openIntType( const char* name ) const
throwException("openIntType", "H5Topen2 failed");
// No failure, create and return the IntType object
IntType int_type(type_id);
IntType int_type;
f_DataType_setId(&int_type, type_id);
return(int_type);
}
@@ -751,7 +761,8 @@ FloatType CommonFG::openFloatType( const char* name ) const
throwException("openFloatType", "H5Topen2 failed");
// No failure, create and return the FloatType object
FloatType float_type(type_id);
FloatType float_type;
f_DataType_setId(&float_type, type_id);
return(float_type);
}
@@ -786,7 +797,8 @@ StrType CommonFG::openStrType( const char* name ) const
throwException("openStrType", "H5Topen2 failed");
// No failure, create and return the StrType object
StrType str_type(type_id);
StrType str_type;
f_DataType_setId(&str_type, type_id);
return(str_type);
}
@@ -821,7 +833,8 @@ VarLenType CommonFG::openVarLenType( const char* name ) const
throwException("openVarLenType", "H5Topen2 failed");
// No failure, create and return the VarLenType object
VarLenType varlen_type(type_id);
VarLenType varlen_type;
f_DataType_setId(&varlen_type, type_id);
return(varlen_type);
}
@@ -1100,6 +1113,58 @@ H5O_type_t CommonFG::childObjType(hsize_t index, H5_index_t index_type, H5_iter_
return(objtype);
}
//--------------------------------------------------------------------------
// Function: CommonFG::childObjVersion
///\brief Returns the object header version of an object in this file/group,
/// given the object's name.
///\param objname - IN: Name of the object
///\return Object version, which can have the following values:
/// \li \c H5O_VERSION_1
/// \li \c H5O_VERSION_2
///\exception H5::FileIException or H5::GroupIException
/// Exception will be thrown when:
/// - an error returned by the C API
/// - version number is not one of the valid values above
// Programmer Binh-Minh Ribler - April, 2014
//--------------------------------------------------------------------------
unsigned CommonFG::childObjVersion(const char* objname) const
{
H5O_info_t objinfo;
unsigned version = 0;
// Use C API to get information of the object
herr_t ret_value = H5Oget_info_by_name(getLocId(), objname, &objinfo, H5P_DEFAULT);
// Throw exception if C API returns failure
if (ret_value < 0)
throwException("childObjVersion", "H5Oget_info_by_name failed");
// Return a valid version or throw an exception for invalid value
else
{
version = objinfo.hdr.version;
if (version != H5O_VERSION_1 && version != H5O_VERSION_2)
throwException("childObjVersion", "Invalid version for object");
}
return(version);
}
//--------------------------------------------------------------------------
// Function: CommonFG::childObjVersion
///\brief This is an overloaded member function, provided for convenience.
/// It takes an \a H5std_string for the object's name.
///\brief Returns the type of an object in this group, given the
/// object's name.
///\param objname - IN: Name of the object (H5std_string&)
///\exception H5::FileIException or H5::GroupIException
// Programmer Binh-Minh Ribler - April, 2014
//--------------------------------------------------------------------------
unsigned CommonFG::childObjVersion(const H5std_string& objname) const
{
// Use overloaded function
unsigned version = childObjVersion(objname.c_str());
return(version);
}
#ifndef H5_NO_DEPRECATED_SYMBOLS
#ifndef DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
@@ -1172,6 +1237,7 @@ H5G_obj_t CommonFG::getObjTypeByIdx(hsize_t idx, H5std_string& type_name) const
}
return (obj_type);
}
#endif // DOXYGEN_SHOULD_SKIP_THIS
#endif /* H5_NO_DEPRECATED_SYMBOLS */
@@ -1189,6 +1255,37 @@ CommonFG::CommonFG() {}
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
CommonFG::~CommonFG() {}
//--------------------------------------------------------------------------
// Function: f_DataType_setId - friend
// Purpose: This function is friend to class H5::DataType so that it
// can set DataType::id in order to work around a problem
// described in the JIRA issue HDFFV-7947.
// Applications shouldn't need to use it.
// param dtype - IN/OUT: DataType object to be changed
// param new_id - IN: New id to set
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
void f_DataType_setId(DataType* dtype, hid_t new_id)
{
dtype->p_setId(new_id);
}
//--------------------------------------------------------------------------
// Function: f_DataSet_setId - friend
// Purpose: This function is friend to class H5::DataSet so that it
// can set DataSet::id in order to work around a problem
// described in the JIRA issue HDFFV-7947.
// Applications shouldn't need to use it.
// param dset - IN/OUT: DataSet object to be changed
// param new_id - IN: New id to set
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
void f_DataSet_setId(DataSet* dset, hid_t new_id)
{
dset->p_setId(new_id);
}
#endif // DOXYGEN_SHOULD_SKIP_THIS
#ifndef H5_NO_NAMESPACE

View File

@@ -21,6 +21,7 @@
namespace H5 {
#endif
// Class forwarding
class Group;
class H5File;
class ArrayType;
@@ -70,6 +71,11 @@ class H5_DLLCPP CommonFG {
H5O_type_t childObjType(const char* objname) const;
H5O_type_t childObjType(hsize_t index, H5_index_t index_type=H5_INDEX_NAME, H5_iter_order_t order=H5_ITER_INC, const char* objname=".") const;
// Returns the object header version of an object in this file or group,
// given the object's name.
unsigned childObjVersion(const char* objname) const;
unsigned childObjVersion(const H5std_string& objname) const;
#ifndef H5_NO_DEPRECATED_SYMBOLS
// Returns the type of an object in this group, given the
// object's index.
@@ -159,6 +165,10 @@ class H5_DLLCPP CommonFG {
// Noop destructor.
virtual ~CommonFG();
protected:
virtual void p_setId(const hid_t new_id) = 0;
#endif // DOXYGEN_SHOULD_SKIP_THIS
}; // end of CommonFG declaration

View File

@@ -20,6 +20,7 @@
#include "H5IdComponent.h"
#include "H5PropList.h"
#include "H5Object.h"
#include "H5OcreatProp.h"
#include "H5DcreatProp.h"
#include "H5CommonFG.h"
#include "H5Alltypes.h"
@@ -227,11 +228,12 @@ hid_t CompType::p_get_member_type(unsigned member_num) const
DataType CompType::getMemberDataType( unsigned member_num ) const
{
try {
DataType datatype(p_get_member_type(member_num));
return(datatype);
DataType datatype;
f_DataType_setId(&datatype, p_get_member_type(member_num));
return(datatype);
}
catch (DataTypeIException E) {
throw DataTypeIException("CompType::getMemberDataType", E.getDetailMsg());
throw DataTypeIException("CompType::getMemberDataType", E.getDetailMsg());
}
}
@@ -247,8 +249,10 @@ DataType CompType::getMemberDataType( unsigned member_num ) const
ArrayType CompType::getMemberArrayType( unsigned member_num ) const
{
try {
ArrayType arraytype(p_get_member_type(member_num));
return(arraytype);
ArrayType arraytype;
f_DataType_setId(&arraytype, p_get_member_type(member_num));
arraytype.setArrayInfo();
return(arraytype);
}
catch (DataTypeIException E) {
throw DataTypeIException("CompType::getMemberArrayType", E.getDetailMsg());
@@ -268,6 +272,7 @@ CompType CompType::getMemberCompType( unsigned member_num ) const
{
try {
CompType comptype(p_get_member_type(member_num));
f_DataType_setId(&comptype, p_get_member_type(member_num));
return(comptype);
}
catch (DataTypeIException E) {
@@ -288,6 +293,7 @@ EnumType CompType::getMemberEnumType( unsigned member_num ) const
{
try {
EnumType enumtype(p_get_member_type(member_num));
f_DataType_setId(&enumtype, p_get_member_type(member_num));
return(enumtype);
}
catch (DataTypeIException E) {
@@ -308,6 +314,7 @@ IntType CompType::getMemberIntType( unsigned member_num ) const
{
try {
IntType inttype(p_get_member_type(member_num));
f_DataType_setId(&inttype, p_get_member_type(member_num));
return(inttype);
}
catch (DataTypeIException E) {
@@ -328,6 +335,7 @@ FloatType CompType::getMemberFloatType( unsigned member_num ) const
{
try {
FloatType floatype(p_get_member_type(member_num));
f_DataType_setId(&floatype, p_get_member_type(member_num));
return(floatype);
}
catch (DataTypeIException E) {
@@ -348,6 +356,7 @@ StrType CompType::getMemberStrType( unsigned member_num ) const
{
try {
StrType strtype(p_get_member_type(member_num));
f_DataType_setId(&strtype, p_get_member_type(member_num));
return(strtype);
}
catch (DataTypeIException E) {
@@ -368,6 +377,7 @@ VarLenType CompType::getMemberVarLenType( unsigned member_num ) const
{
try {
VarLenType varlentype(p_get_member_type(member_num));
f_DataType_setId(&varlentype, p_get_member_type(member_num));
return(varlentype);
}
catch (DataTypeIException E) {

View File

@@ -26,6 +26,7 @@
#include "H5Object.h"
#include "H5AbstractDs.h"
#include "H5Attribute.h"
#include "H5OcreatProp.h"
#include "H5DcreatProp.h"
#include "H5CommonFG.h"
#include "H5DataType.h"

View File

@@ -29,10 +29,10 @@
* The C++ API provides C++ wrappers for the HDF5 C Library.
*
* It is assumed that the user has knowledge of the
* <a href="http://www.hdfgroup.org/HDF5/doc/H5.format.html">
* <a href="https://www.hdfgroup.org/HDF5/doc/H5.format.html">
* HDF5 file format</a> and its components.
* For more information on the HDF5 C Library, see the
* <a href="http://www.hdfgroup.org/HDF5/doc/index.html">
* <a href="https://www.hdfgroup.org/HDF5/doc/index.html">
* HDF5 Software Documentation</a> page.
*
* Because the HDF5 C Library maps very well to
@@ -57,8 +57,8 @@
*
* The HDF5 C++ API is included with the HDF5 source code and can
* be obtained from
* <a href="http://www.hdfgroup.org/HDF5/release/obtainsrc.html">
* http://www.hdfgroup.org/HDF5/release/obtainsrc.html</a>.
* <a href="https://www.hdfgroup.org/HDF5/release/obtainsrc.html">
* https://www.hdfgroup.org/HDF5/release/obtainsrc.html</a>.
*
* Please refer to the release_docs/INSTALL file under the top directory
* of the HDF5 source code for information about installing, building,

View File

@@ -26,6 +26,7 @@
#include "H5PropList.h"
#include "H5Object.h"
#include "H5PropList.h"
#include "H5OcreatProp.h"
#include "H5DxferProp.h"
#include "H5DcreatProp.h"
#include "H5FaccProp.h"
@@ -52,17 +53,24 @@ namespace H5 {
///\brief Default constructor: creates a stub DataSet.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DataSet::DataSet() : AbstractDs(), H5Object(), id(H5I_INVALID_HID) {}
DataSet::DataSet() : H5Object(), AbstractDs(), id(H5I_INVALID_HID) {}
//--------------------------------------------------------------------------
// Function: DataSet overloaded constructor
///\brief Creates an DataSet object using the id of an existing dataset.
///\param existing_id - IN: Id of an existing dataset
// Programmer Binh-Minh Ribler - 2000
// Description
// incRefCount() is needed here to prevent the id from being closed
// prematurely. That is, when application uses the id of an
// existing DataSet object to create another DataSet object. So,
// when one of those objects is deleted, the id will be closed if
// the reference counter is only 1.
//--------------------------------------------------------------------------
DataSet::DataSet(const hid_t existing_id) : AbstractDs(), H5Object()
DataSet::DataSet(const hid_t existing_id) : H5Object(), AbstractDs()
{
id = existing_id;
incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
@@ -71,7 +79,7 @@ DataSet::DataSet(const hid_t existing_id) : AbstractDs(), H5Object()
///\param original - IN: DataSet instance to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DataSet::DataSet(const DataSet& original) : AbstractDs(original), H5Object(original)
DataSet::DataSet(const DataSet& original) : H5Object(), AbstractDs()
{
id = original.getId();
incRefCount(); // increment number of references to this id
@@ -95,7 +103,7 @@ DataSet::DataSet(const DataSet& original) : AbstractDs(original), H5Object(origi
// Jul, 2008
// Added for application convenience.
//--------------------------------------------------------------------------
DataSet::DataSet(const H5Location& loc, const void* ref, H5R_type_t ref_type, const PropList& plist) : AbstractDs(), H5Object(), id(H5I_INVALID_HID)
DataSet::DataSet(const H5Location& loc, const void* ref, H5R_type_t ref_type, const PropList& plist) : H5Object(), AbstractDs(), id(H5I_INVALID_HID)
{
id = H5Location::p_dereference(loc.getId(), ref, ref_type, plist, "constructor - by dereferenced");
}
@@ -114,7 +122,7 @@ DataSet::DataSet(const H5Location& loc, const void* ref, H5R_type_t ref_type, co
// Jul, 2008
// Added for application convenience.
//--------------------------------------------------------------------------
DataSet::DataSet(const Attribute& attr, const void* ref, H5R_type_t ref_type, const PropList& plist) : AbstractDs(), H5Object(), id(H5I_INVALID_HID)
DataSet::DataSet(const Attribute& attr, const void* ref, H5R_type_t ref_type, const PropList& plist) : H5Object(), AbstractDs(), id(H5I_INVALID_HID)
{
id = H5Location::p_dereference(attr.getId(), ref, ref_type, plist, "constructor - by dereference");
}
@@ -137,7 +145,8 @@ DataSpace DataSet::getSpace() const
throw DataSetIException("DataSet::getSpace", "H5Dget_space failed");
}
//create dataspace object using the existing id then return the object
DataSpace data_space( dataspace_id );
DataSpace data_space;
f_DataSpace_setId(&data_space, dataspace_id);
return( data_space );
}
@@ -169,9 +178,11 @@ DSetCreatPropList DataSet::getCreatePlist() const
{
throw DataSetIException("DataSet::getCreatePlist", "H5Dget_create_plist failed");
}
// create and return the DSetCreatPropList object
DSetCreatPropList create_plist( create_plist_id );
return( create_plist );
DSetCreatPropList create_plist;
f_PropList_setId(&create_plist, create_plist_id);
return(create_plist);
}
//--------------------------------------------------------------------------
@@ -769,6 +780,22 @@ void DataSet::p_setId(const hid_t new_id)
// reset object's id to the given id
id = new_id;
}
//--------------------------------------------------------------------------
// Function: f_PropList_setId - friend
// Purpose: This function is friend to class H5::PropList so that it
// can set PropList::id in order to work around a problem
// described in the JIRA issue HDFFV-7947.
// Applications shouldn't need to use it.
// param dset - IN/OUT: DataSet object to be changed
// param new_id - IN: New id to set
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
void f_PropList_setId(PropList* plist, hid_t new_id)
{
plist->p_setId(new_id);
}
#endif // DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------

View File

@@ -30,6 +30,7 @@ namespace H5 {
*/
class H5_DLLCPP DataSet : public H5Object, public AbstractDs {
public:
// Close this dataset.
virtual void close();
@@ -125,6 +126,10 @@ class H5_DLLCPP DataSet : public H5Object, public AbstractDs {
// Reads variable or fixed len strings from this dataset.
void p_read_fixed_len(const hid_t mem_type_id, const hid_t mem_space_id, const hid_t file_space_id, const hid_t xfer_plist_id, H5std_string& strg) const;
void p_read_variable_len(const hid_t mem_type_id, const hid_t mem_space_id, const hid_t file_space_id, const hid_t xfer_plist_id, H5std_string& strg) const;
// Friend function to set DataSet id. For library use only.
friend void f_DataSet_setId(DataSet* dset, hid_t new_id);
};
#ifndef H5_NO_NAMESPACE
}

View File

@@ -33,10 +33,60 @@ namespace H5 {
#endif // H5_NO_STD
#endif
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// This DOXYGEN_SHOULD_SKIP_THIS block is a work-around approach to control
// the order of creation and deletion of the global constants. See Design Notes
// in "H5PredType.cpp" for information.
// Initialize a pointer for the constant
DataSpace* DataSpace::ALL_ = 0;
//--------------------------------------------------------------------------
///\brief Constant for default dataspace.
// Function: DataSpace::getConstant
// Creates a DataSpace object representing the HDF5 constant
// H5S_ALL, pointed to by DataSpace::ALL_
// Exception H5::DataSpaceIException
// Description
// If DataSpace::ALL_ already points to an allocated object, throw
// a DataSpaceIException. This scenario should not happen.
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
const DataSpace DataSpace::ALL( H5S_ALL );
DataSpace* DataSpace::getConstant()
{
// Tell the C library not to clean up, H5Library::termH5cpp will call
// H5close - more dependency if use H5Library::dontAtExit()
if (!IdComponent::H5dontAtexit_called)
{
(void) H5dont_atexit();
IdComponent::H5dontAtexit_called = true;
}
// If the constant pointer is not allocated, allocate it. Otherwise,
// throw because it shouldn't be.
if (ALL_ == 0)
ALL_ = new DataSpace(H5S_ALL);
else
throw DataSpaceIException("DataSpace::getConstant", "DataSpace::getConstant is being invoked on an allocated ALL_");
return(ALL_);
}
//--------------------------------------------------------------------------
// Function: DataSpace::deleteConstants
// Purpose: Deletes the constant object that DataSpace::ALL_ points to
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
void DataSpace::deleteConstants()
{
if (ALL_ != 0)
delete ALL_;
}
//--------------------------------------------------------------------------
// Purpose Constant for default dataspace.
//--------------------------------------------------------------------------
const DataSpace& DataSpace::ALL = *getConstant();
#endif // DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
// Function: DataSpace constructor
@@ -85,6 +135,7 @@ DataSpace::DataSpace( int rank, const hsize_t * dims, const hsize_t * maxdims) :
DataSpace::DataSpace(const hid_t existing_id) : IdComponent()
{
id = existing_id;
incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
@@ -93,7 +144,7 @@ DataSpace::DataSpace(const hid_t existing_id) : IdComponent()
///\param original - IN: DataSpace object to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DataSpace::DataSpace(const DataSpace& original) : IdComponent(original)
DataSpace::DataSpace(const DataSpace& original) : IdComponent()
{
id = original.getId();
incRefCount(); // increment number of references to this id

View File

@@ -24,8 +24,8 @@ namespace H5 {
//! Class DataSpace operates on HDF5 dataspaces.
class H5_DLLCPP DataSpace : public IdComponent {
public:
// Default DataSpace objects
static const DataSpace ALL;
///\brief Default DataSpace objects
static const DataSpace& ALL;
// Creates a dataspace object given the space type
DataSpace(H5S_class_t type = H5S_SCALAR);
@@ -118,17 +118,34 @@ class H5_DLLCPP DataSpace : public IdComponent {
// Gets the dataspace id.
virtual hid_t getId() const;
// Deletes the global constant
static void deleteConstants();
// Destructor: properly terminates access to this dataspace.
virtual ~DataSpace();
protected:
#ifndef DOXYGEN_SHOULD_SKIP_THIS
protected:
// Sets the dataspace id.
virtual void p_setId(const hid_t new_id);
#endif // DOXYGEN_SHOULD_SKIP_THIS
private:
hid_t id; // HDF5 dataspace id
#ifndef DOXYGEN_SHOULD_SKIP_THIS
static DataSpace* ALL_;
// Creates the global constant
static DataSpace* getConstant();
// Friend function to set DataSpace id. For library use only.
friend void f_DataSpace_setId(DataSpace *dspace, hid_t new_id);
#endif // DOXYGEN_SHOULD_SKIP_THIS
};
#ifndef H5_NO_NAMESPACE
}

View File

@@ -28,6 +28,7 @@
#include "H5Object.h"
#include "H5FaccProp.h"
#include "H5FcreatProp.h"
#include "H5OcreatProp.h"
#include "H5DcreatProp.h"
#include "H5DxferProp.h"
#include "H5CommonFG.h"
@@ -71,6 +72,7 @@ DataType::DataType() : H5Object(), id(H5I_INVALID_HID) {}
DataType::DataType(const hid_t existing_id) : H5Object()
{
id = existing_id;
incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
@@ -105,7 +107,7 @@ DataType::DataType( const H5T_class_t type_class, size_t size ) : H5Object()
// Jul, 2008
// Added for application convenience.
//--------------------------------------------------------------------------
DataType::DataType(const H5Location& loc, const void* ref, H5R_type_t ref_type, const PropList& plist) : H5Object(), id(H5I_INVALID_HID)
DataType::DataType(const H5Location& loc, const void* ref, H5R_type_t ref_type, const PropList& plist) : H5Object()
{
id = H5Location::p_dereference(loc.getId(), ref, ref_type, plist, "constructor - by dereference");
}
@@ -134,12 +136,33 @@ DataType::DataType(const Attribute& attr, const void* ref, H5R_type_t ref_type,
///\brief Copy constructor: makes a copy of the original DataType object.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DataType::DataType(const DataType& original) : H5Object(original)
DataType::DataType(const DataType& original) : H5Object()
{
id = original.getId();
incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
// Function: DataType overloaded constructor
///\brief Creates a DataType instance using a predefined type
///\param pred_type - IN: Predefined datatype
///\exception H5::DataTypeIException
// Programmer Binh-Minh Ribler - 2015
// Description
// Copying the type so that when a predefined type is passed in,
// a copy of it is made, not just a duplicate of the HDF5 id.
// Note: calling DataType::copy will invoke DataType::close()
// unnecessarily and will produce undefined behavior.
// -BMR, Apr 2015
//--------------------------------------------------------------------------
DataType::DataType(const PredType& pred_type) : H5Object()
{
// call C routine to copy the datatype
id = H5Tcopy( pred_type.getId() );
if (id < 0)
throw DataTypeIException("DataType constructor", "H5Tcopy failed");
}
//--------------------------------------------------------------------------
// Function: DataType::copy
///\brief Copies an existing datatype to this datatype object
@@ -203,11 +226,21 @@ void DataType::copy(const DataSet& dset)
// Makes a copy of the type on the right hand side and stores
// the new id in the left hand side object.
// Programmer Binh-Minh Ribler - 2000
// Modification
// Changed operator= to simply copy the id of rhs instead of
// calling H5Tcopy because, when the operator= is invoked, a
// different datatype id is created and it won't have the same
// characteristics as the original one, specifically, if the
// rhs represents a named datatype, "this" would still be a
// transient datatype.
// BMR - Mar, 2015
//--------------------------------------------------------------------------
DataType& DataType::operator=( const DataType& rhs )
{
if (this != &rhs)
copy(rhs);
{
setId(rhs.id);
}
return(*this);
}
@@ -463,8 +496,9 @@ DataType DataType::getSuper() const
// the base type, otherwise, raise exception
if( base_type_id > 0 )
{
DataType base_type( base_type_id );
return( base_type );
DataType base_type;
base_type.p_setId(base_type_id);
return(base_type);
}
else
{
@@ -726,23 +760,17 @@ void DataType::close()
// - Added the use of H5CPP_EXITED to terminate the HDF5 library
// and elimiate previous memory leaks. See comments in the
// header file "H5PredType.h" for details. - BMR, Mar 30, 2012
// - Major re-implementation of the global constants was done
// to avoid relying on the order of the creation and deletion
// of the global constants. Hence, H5CPP_EXITED was removed.
// See Design Notes in "H5PredType.cpp" for details.
// - BMR, Sep 30, 2015
//--------------------------------------------------------------------------
DataType::~DataType()
{
try
{
/* If this is the object AtExit, terminate the HDF5 library. This is
to eliminate memory leaks due to the library being re-initiated
(after the program has ended) and not re-terminated. */
if (id == H5CPP_EXITED)
{
herr_t ret_value = H5close();
if (ret_value == FAIL)
throw DataTypeIException(inMemFunc("~DataType - "), "H5close failed");
}
// Close the HDF5 datatype
else
close();
close();
}
catch (Exception close_error) {
cerr << inMemFunc("~DataType - ") << close_error.getDetailMsg() << endl;

View File

@@ -14,6 +14,9 @@
* access to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// Class DataType inherits from H5Object and has several subclasses for
// specific HDF5 data types.
#ifndef __H5DataType_H
#define __H5DataType_H
@@ -36,6 +39,9 @@ class H5_DLLCPP DataType : public H5Object {
// Copy constructor: makes a copy of the original object
DataType( const DataType& original );
// Creates a copy of a predefined type
DataType(const PredType& pred_type);
// Creates a datatype by way of dereference.
DataType(const H5Location& loc, const void* ref, H5R_type_t ref_type = H5R_OBJECT, const PropList& plist = PropList::DEFAULT);
DataType(const Attribute& attr, const void* ref, H5R_type_t ref_type = H5R_OBJECT, const PropList& plist = PropList::DEFAULT);
@@ -133,6 +139,9 @@ class H5_DLLCPP DataType : public H5Object {
#endif // DOXYGEN_SHOULD_SKIP_THIS
private:
// Friend function to set DataType id. For library use only.
friend void f_DataType_setId(DataType* dtype, hid_t new_id);
void p_commit(hid_t loc_id, const char* name);
};
#ifndef H5_NO_NAMESPACE

View File

@@ -19,6 +19,7 @@
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5PropList.h"
#include "H5OcreatProp.h"
#include "H5Object.h"
#include "H5DcreatProp.h"
#include "H5CommonFG.h"
@@ -28,17 +29,70 @@
namespace H5 {
#endif
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// This DOXYGEN_SHOULD_SKIP_THIS block is a work-around approach to control
// the order of creation and deletion of the global constants. See Design Notes
// in "H5PredType.cpp" for information.
// Initialize a pointer for the constant
DSetCreatPropList* DSetCreatPropList::DEFAULT_ = 0;
//--------------------------------------------------------------------------
///\brief Constant for dataset creation default property
// Function: DSetCreatPropList::getConstant
// Purpose: Creates a DSetCreatPropList object representing the HDF5
// constant H5P_DATASET_CREATE, pointed to by
// DSetCreatPropList::DEFAULT_
// exception H5::PropListIException
// Description
// If DSetCreatPropList::DEFAULT_ already points to an allocated
// object, throw a PropListIException. This scenario should
// not happen.
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
const DSetCreatPropList DSetCreatPropList::DEFAULT;
DSetCreatPropList* DSetCreatPropList::getConstant()
{
// Tell the C library not to clean up, H5Library::termH5cpp will call
// H5close - more dependency if use H5Library::dontAtExit()
if (!IdComponent::H5dontAtexit_called)
{
(void) H5dont_atexit();
IdComponent::H5dontAtexit_called = true;
}
// If the constant pointer is not allocated, allocate it. Otherwise,
// throw because it shouldn't be.
if (DEFAULT_ == 0)
DEFAULT_ = new DSetCreatPropList(H5P_DATASET_CREATE);
else
throw PropListIException("DSetCreatPropList::getConstant", "DSetCreatPropList::getConstant is being invoked on an allocated DEFAULT_");
return(DEFAULT_);
}
//--------------------------------------------------------------------------
// Function: DSetCreatPropList::deleteConstants
// Purpose: Deletes the constant object that DSetCreatPropList::DEFAULT_
// points to.
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
void DSetCreatPropList::deleteConstants()
{
if (DEFAULT_ != 0)
delete DEFAULT_;
}
//--------------------------------------------------------------------------
// Purpose Constant for dataset creation default property
//--------------------------------------------------------------------------
const DSetCreatPropList& DSetCreatPropList::DEFAULT = *getConstant();
#endif // DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
// Function: DSetCreatPropList default constructor
///\brief Default constructor: creates a stub dataset creation property list
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DSetCreatPropList::DSetCreatPropList() : PropList( H5P_DATASET_CREATE) {}
DSetCreatPropList::DSetCreatPropList() : ObjCreatPropList(H5P_DATASET_CREATE) {}
//--------------------------------------------------------------------------
// Function: DSetCreatPropList copy constructor
@@ -46,7 +100,7 @@ DSetCreatPropList::DSetCreatPropList() : PropList( H5P_DATASET_CREATE) {}
/// DSetCreatPropList object
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DSetCreatPropList::DSetCreatPropList( const DSetCreatPropList& orig ) : PropList( orig ) {}
DSetCreatPropList::DSetCreatPropList( const DSetCreatPropList& orig ) : ObjCreatPropList(orig) {}
//--------------------------------------------------------------------------
// Function: DSetCreatPropList overloaded constructor
@@ -54,7 +108,7 @@ DSetCreatPropList::DSetCreatPropList( const DSetCreatPropList& orig ) : PropList
/// existing dataset creation property list.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DSetCreatPropList::DSetCreatPropList(const hid_t plist_id) : PropList(plist_id) {}
DSetCreatPropList::DSetCreatPropList(const hid_t plist_id) : ObjCreatPropList(plist_id) {}
//--------------------------------------------------------------------------
// Function: DSetCreatPropList::setChunk

View File

@@ -14,6 +14,9 @@
* access to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// Class DSetCreatPropList represents the HDF5 dataset creation property list
// and inherits from PropList.
#ifndef __H5DSCreatPropList_H
#define __H5DSCreatPropList_H
@@ -25,10 +28,10 @@ namespace H5 {
\brief Class DSetCreatPropList represents the dataset creation property
list.
*/
class H5_DLLCPP DSetCreatPropList : public PropList {
class H5_DLLCPP DSetCreatPropList : public ObjCreatPropList {
public:
// Default dataset creation property list.
static const DSetCreatPropList DEFAULT;
///\brief Default dataset creation property list.
static const DSetCreatPropList& DEFAULT;
// Creates a dataset creation property list.
DSetCreatPropList();
@@ -123,6 +126,19 @@ class H5_DLLCPP DSetCreatPropList : public PropList {
// Noop destructor.
virtual ~DSetCreatPropList();
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// Deletes the global constant, should only be used by the library
static void deleteConstants();
private:
static DSetCreatPropList* DEFAULT_;
// Creates the global constant, should only be used by the library
static DSetCreatPropList* getConstant();
#endif // DOXYGEN_SHOULD_SKIP_THIS
};
#ifndef H5_NO_NAMESPACE
}

View File

@@ -22,24 +22,67 @@
#include "H5DxferProp.h"
#include "H5private.h" // for HDmemset
#include <iostream>
#ifndef H5_NO_NAMESPACE
#ifndef H5_NO_STD
using std::cerr;
using std::endl;
#endif // H5_NO_STD
#endif
#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// This DOXYGEN_SHOULD_SKIP_THIS block is a work-around approach to control
// the order of creation and deletion of the global constants. See Design Notes
// in "H5PredType.cpp" for information.
// Initialize a pointer for the constant
DSetMemXferPropList* DSetMemXferPropList::DEFAULT_ = 0;
//--------------------------------------------------------------------------
///\brief Constant for default dataset memory and transfer property list.
// Function: DSetMemXferPropList::getConstant
// Creates a DSetMemXferPropList object representing the HDF5
// constant H5P_DATASET_XFER, pointed to by
// DSetMemXferPropList::DEFAULT_
// exception H5::PropListIException
// Description
// If DSetMemXferPropList::DEFAULT_ already points to an allocated
// object, throw a PropListIException. This scenario should not
// happen.
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
const DSetMemXferPropList DSetMemXferPropList::DEFAULT;
DSetMemXferPropList* DSetMemXferPropList::getConstant()
{
// Tell the C library not to clean up, H5Library::termH5cpp will call
// H5close - more dependency if use H5Library::dontAtExit()
if (!IdComponent::H5dontAtexit_called)
{
(void) H5dont_atexit();
IdComponent::H5dontAtexit_called = true;
}
// If the constant pointer is not allocated, allocate it. Otherwise,
// throw because it shouldn't be.
if (DEFAULT_ == 0)
DEFAULT_ = new DSetMemXferPropList(H5P_DATASET_XFER);
else
throw PropListIException("DSetMemXferPropList::getConstant", "DSetMemXferPropList::getConstant is being invoked on an allocated DEFAULT_");
return(DEFAULT_);
}
//--------------------------------------------------------------------------
// Function: DSetMemXferPropList::deleteConstants
// Purpose: Deletes the constant object that DSetMemXferPropList::DEFAULT_
// points to.
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
void DSetMemXferPropList::deleteConstants()
{
if (DEFAULT_ != 0)
delete DEFAULT_;
}
//--------------------------------------------------------------------------
// Purpose Constant for default dataset memory and transfer property list.
//--------------------------------------------------------------------------
const DSetMemXferPropList& DSetMemXferPropList::DEFAULT = *getConstant();
#endif // DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
// Function DSetMemXferPropList default constructor

View File

@@ -14,6 +14,9 @@
* access to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// Class DSetMemXferPropList represents the HDF5 dataset transfer property list
// and inherits from PropList.
#ifndef __H5DSetMemXferPropList_H
#define __H5DSetMemXferPropList_H
@@ -27,7 +30,8 @@ namespace H5 {
*/
class H5_DLLCPP DSetMemXferPropList : public PropList {
public:
static const DSetMemXferPropList DEFAULT;
///\brief Default dataset memory and transfer property list.
static const DSetMemXferPropList& DEFAULT;
// Creates a dataset memory and transfer property list.
DSetMemXferPropList();
@@ -113,9 +117,21 @@ class H5_DLLCPP DSetMemXferPropList : public PropList {
// Noop destructor
virtual ~DSetMemXferPropList();
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// Deletes the global constant, should only be used by the library
static void deleteConstants();
private:
static DSetMemXferPropList* DEFAULT_;
// Creates the global constant, should only be used by the library
static DSetMemXferPropList* getConstant();
#endif // DOXYGEN_SHOULD_SKIP_THIS
};
#ifndef H5_NO_NAMESPACE
}
#endif
#endif // __H5DSetMemXferPropList_H

View File

@@ -23,6 +23,7 @@
#include "H5AbstractDs.h"
#include "H5DxferProp.h"
#include "H5DataSpace.h"
#include "H5OcreatProp.h"
#include "H5DcreatProp.h"
#include "H5CommonFG.h"
#include "H5DataType.h"

View File

@@ -35,11 +35,11 @@ Exception::Exception() : detail_message(""), func_name("") {}
// Function: Exception overloaded constructor
///\brief Creates an exception with the name of the function,
/// in which the failure occurs, and an optional detailed message.
///\param func_name - IN: Name of the function where failure occurs
///\param func - IN: Name of the function where failure occurs
///\param message - IN: Message on the failure
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
Exception::Exception(const H5std_string& func_name, const H5std_string& message) : detail_message(message), func_name(func_name) {}
Exception::Exception(const H5std_string& func, const H5std_string& message) : detail_message(message), func_name(func) {}
//--------------------------------------------------------------------------
// Function: Exception copy constructor
@@ -309,9 +309,9 @@ const char* Exception::getCFuncName() const
//--------------------------------------------------------------------------
void Exception::printErrorStack(FILE* stream, hid_t err_stack)
{
herr_t ret_value = H5Eprint2(err_stack, stream);
if( ret_value < 0 )
throw Exception( "Printing error stack", "H5Eprint2 failed" );
herr_t ret_value = H5Eprint2(err_stack, stream);
if( ret_value < 0 )
throw Exception( "Printing error stack", "H5Eprint2 failed" );
}
//--------------------------------------------------------------------------
@@ -350,10 +350,10 @@ FileIException::FileIException():Exception(){}
// Function: FileIException overloaded constructor
///\brief Creates a FileIException with the name of the function,
/// in which the failure occurs, and an optional detailed message.
///\param func_name - IN: Name of the function where failure occurs
///\param func - IN: Name of the function where failure occurs
///\param message - IN: Message on the failure
//--------------------------------------------------------------------------
FileIException::FileIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
FileIException::FileIException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {}
//--------------------------------------------------------------------------
// Function: FileIException destructor
///\brief Noop destructor.
@@ -373,10 +373,10 @@ GroupIException::GroupIException():Exception(){}
// Function: GroupIException overloaded constructor
///\brief Creates a GroupIException with the name of the function,
/// in which the failure occurs, and an optional detailed message.
///\param func_name - IN: Name of the function where failure occurs
///\param func - IN: Name of the function where failure occurs
///\param message - IN: Message on the failure
//--------------------------------------------------------------------------
GroupIException::GroupIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
GroupIException::GroupIException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {}
//--------------------------------------------------------------------------
// Function: GroupIException destructor
///\brief Noop destructor.
@@ -396,10 +396,10 @@ DataSpaceIException::DataSpaceIException():Exception(){}
// Function: DataSpaceIException overloaded constructor
///\brief Creates a DataSpaceIException with the name of the function,
/// in which the failure occurs, and an optional detailed message.
///\param func_name - IN: Name of the function where failure occurs
///\param func - IN: Name of the function where failure occurs
///\param message - IN: Message on the failure
//--------------------------------------------------------------------------
DataSpaceIException::DataSpaceIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
DataSpaceIException::DataSpaceIException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {}
//--------------------------------------------------------------------------
// Function: DataSpaceIException destructor
///\brief Noop destructor.
@@ -419,10 +419,10 @@ DataTypeIException::DataTypeIException():Exception(){}
// Function: DataTypeIException overloaded constructor
///\brief Creates a DataTypeIException with the name of the function,
/// in which the failure occurs, and an optional detailed message.
///\param func_name - IN: Name of the function where failure occurs
///\param func - IN: Name of the function where failure occurs
///\param message - IN: Message on the failure
//--------------------------------------------------------------------------
DataTypeIException::DataTypeIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
DataTypeIException::DataTypeIException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {}
//--------------------------------------------------------------------------
// Function: DataTypeIException destructor
///\brief Noop destructor.
@@ -442,10 +442,10 @@ PropListIException::PropListIException():Exception(){}
// Function: PropListIException overloaded constructor
///\brief Creates a PropListIException with the name of the function,
/// in which the failure occurs, and an optional detailed message.
///\param func_name - IN: Name of the function where failure occurs
///\param func - IN: Name of the function where failure occurs
///\param message - IN: Message on the failure
//--------------------------------------------------------------------------
PropListIException::PropListIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
PropListIException::PropListIException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {}
//--------------------------------------------------------------------------
// Function: PropListIException destructor
///\brief Noop destructor.
@@ -465,10 +465,10 @@ DataSetIException::DataSetIException():Exception(){}
// Function: DataSetIException overloaded constructor
///\brief Creates a DataSetIException with the name of the function,
/// in which the failure occurs, and an optional detailed message.
///\param func_name - IN: Name of the function where failure occurs
///\param func - IN: Name of the function where failure occurs
///\param message - IN: Message on the failure
//--------------------------------------------------------------------------
DataSetIException::DataSetIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
DataSetIException::DataSetIException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {}
//--------------------------------------------------------------------------
// Function: DataSetIException destructor
///\brief Noop destructor.
@@ -488,10 +488,10 @@ AttributeIException::AttributeIException():Exception(){}
// Function: AttributeIException overloaded constructor
///\brief Creates an AttributeIException with the name of the function,
/// in which the failure occurs, and an optional detailed message.
///\param func_name - IN: Name of the function where failure occurs
///\param func - IN: Name of the function where failure occurs
///\param message - IN: Message on the failure
//--------------------------------------------------------------------------
AttributeIException::AttributeIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
AttributeIException::AttributeIException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {}
//--------------------------------------------------------------------------
// Function: AttributeIException destructor
///\brief Noop destructor.
@@ -511,10 +511,10 @@ ReferenceException::ReferenceException():Exception(){}
// Function: ReferenceException overloaded constructor
///\brief Creates a ReferenceException with the name of the function,
/// in which the failure occurs, and an optional detailed message.
///\param func_name - IN: Name of the function where failure occurs
///\param func - IN: Name of the function where failure occurs
///\param message - IN: Message on the failure
//--------------------------------------------------------------------------
ReferenceException::ReferenceException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
ReferenceException::ReferenceException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {}
//--------------------------------------------------------------------------
// Function: ReferenceException destructor
///\brief Noop destructor.
@@ -534,10 +534,10 @@ LibraryIException::LibraryIException():Exception(){}
// Function: LibraryIException overloaded constructor
///\brief Creates a LibraryIException with the name of the function,
/// in which the failure occurs, and an optional detailed message.
///\param func_name - IN: Name of the function where failure occurs
///\param func - IN: Name of the function where failure occurs
///\param message - IN: Message on the failure
//--------------------------------------------------------------------------
LibraryIException::LibraryIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
LibraryIException::LibraryIException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {}
//--------------------------------------------------------------------------
// Function: LibraryIException destructor
///\brief Noop destructor.
@@ -557,10 +557,10 @@ LocationException::LocationException():Exception(){}
// Function: LocationException overloaded constructor
///\brief Creates a LocationException with the name of the function,
/// in which the failure occurs, and an optional detailed message.
///\param func_name - IN: Name of the function where failure occurs
///\param func - IN: Name of the function where failure occurs
///\param message - IN: Message on the failure
//--------------------------------------------------------------------------
LocationException::LocationException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
LocationException::LocationException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {}
//--------------------------------------------------------------------------
// Function: LocationException destructor
///\brief Noop destructor.
@@ -580,10 +580,10 @@ IdComponentException::IdComponentException(): Exception() {}
// Function: IdComponentException overloaded constructor
///\brief Creates a IdComponentException with the name of the function,
/// in which the failure occurs, and an optional detailed message.
///\param func_name - IN: Name of the function where failure occurs
///\param func - IN: Name of the function where failure occurs
///\param message - IN: Message on the failure
//--------------------------------------------------------------------------
IdComponentException::IdComponentException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
IdComponentException::IdComponentException(const H5std_string& func, const H5std_string& message) : Exception(func, message) {}
//--------------------------------------------------------------------------
// Function: IdComponentException destructor
///\brief Noop destructor.

View File

@@ -86,8 +86,8 @@ class H5_DLLCPP Exception {
virtual ~Exception() throw();
protected:
// Default value for detail_message
static const char DEFAULT_MSG[];
// Default value for detail_message
static const char DEFAULT_MSG[];
private:
H5std_string detail_message;

View File

@@ -25,10 +25,63 @@
namespace H5 {
#endif
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// This DOXYGEN_SHOULD_SKIP_THIS block is a work-around approach to control
// the order of creation and deletion of the global constants. See Design Notes
// in "H5PredType.cpp" for information.
// Initialize a pointer for the constant
FileAccPropList* FileAccPropList::DEFAULT_ = 0;
//--------------------------------------------------------------------------
///\brief Constant for default property
// Function: FileAccPropList::getConstant
// Creates a FileAccPropList object representing the HDF5 constant
// H5P_FILE_ACCESS, pointed to by FileAccPropList::DEFAULT_
// exception H5::PropListIException
// Description
// If FileAccPropList::DEFAULT_ already points to an allocated
// object, throw a PropListIException. This scenario should not
// happen.
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
const FileAccPropList FileAccPropList::DEFAULT;
FileAccPropList* FileAccPropList::getConstant()
{
// Tell the C library not to clean up, H5Library::termH5cpp will call
// H5close - more dependency if use H5Library::dontAtExit()
if (!IdComponent::H5dontAtexit_called)
{
(void) H5dont_atexit();
IdComponent::H5dontAtexit_called = true;
}
// If the constant pointer is not allocated, allocate it. Otherwise,
// throw because it shouldn't be.
if (DEFAULT_ == 0)
DEFAULT_ = new FileAccPropList(H5P_FILE_ACCESS);
else
throw PropListIException("FileAccPropList::getConstant", "FileAccPropList::getConstant is being invoked on an allocated DEFAULT_");
return(DEFAULT_);
}
//--------------------------------------------------------------------------
// Function: FileAccPropList::deleteConstants
// Purpose: Deletes the constant object that FileAccPropList::DEFAULT_
// points to.
// exception H5::PropListIException
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
void FileAccPropList::deleteConstants()
{
if (DEFAULT_ != 0)
delete DEFAULT_;
}
//--------------------------------------------------------------------------
// Purpose: Constant for default property
//--------------------------------------------------------------------------
const FileAccPropList& FileAccPropList::DEFAULT = *getConstant();
#endif // DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
// Function: Default Constructor
@@ -40,10 +93,10 @@ FileAccPropList::FileAccPropList() : PropList( H5P_FILE_ACCESS ) {}
//--------------------------------------------------------------------------
// Function: FileAccPropList copy constructor
///\brief Copy Constructor: makes a copy of the original
/// FileAccPropList object.
///\param original - IN: FileAccPropList instance to copy
// Programmer: Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
FileAccPropList::FileAccPropList(const FileAccPropList& orig) : PropList(orig) {}
FileAccPropList::FileAccPropList(const FileAccPropList& original) : PropList(original) {}
//--------------------------------------------------------------------------
// Function: FileAccPropList overloaded constructor
@@ -663,6 +716,67 @@ unsigned FileAccPropList::getGcReferences() const
return( gc_ref );
}
//--------------------------------------------------------------------------
// Function: FileAccPropList::setLibverBounds
///\brief Sets bounds on versions of library format to be used when creating
/// or writing objects.
///\param libver_low - IN: Earliest version of the library that will be
/// used for creating or writing objects
///\param libver_high - IN: Latest version of the library that will be
///\exception H5::PropListIException
///\par Description
/// Valid values of \a libver_low are as follows:
/// \li \c H5F_LIBVER_EARLIEST (Default)
/// \li \c H5F_LIBVER_18
/// \li \c H5F_LIBVER_LATEST
///
/// Valid values of \a libver_high are as follows:
/// \li \c H5F_LIBVER_18
/// \li \c H5F_LIBVER_LATEST (Default)
///
/// For more details, please refer to
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetLibverBounds
// Programmer: Binh-Minh Ribler - March, 2015
//--------------------------------------------------------------------------
void FileAccPropList::setLibverBounds(H5F_libver_t libver_low, H5F_libver_t libver_high) const
{
herr_t ret_value = H5Pset_libver_bounds(id, libver_low, libver_high);
if (ret_value < 0)
{
throw PropListIException("FileAccPropList::setLibverBounds", "H5Pset_libver_bounds failed");
}
}
//--------------------------------------------------------------------------
// Function: FileAccPropList::getLibverBounds
///\brief Gets the current settings for the library version format bounds
/// from a file access property list.
///\param libver_low - OUT: Earliest version of the library that will be
/// used for creating or writing objects
///\param libver_high - OUT: Latest version of the library that will be
/// used for creating or writing objects
///\exception H5::PropListIException
///\par Description
/// On success, the argument \a libver_low can have the following
/// values:
/// \li \c H5F_LIBVER_EARLIEST
/// \li \c H5F_LIBVER_18
/// \li \c H5F_LIBVER_LATEST
///
/// and \a libver_high:
/// \li \c H5F_LIBVER_18
/// \li \c H5F_LIBVER_LATEST
// Programmer: Binh-Minh Ribler - March, 2015
//--------------------------------------------------------------------------
void FileAccPropList::getLibverBounds(H5F_libver_t& libver_low, H5F_libver_t& libver_high) const
{
herr_t ret_value = H5Pget_libver_bounds(id, &libver_low, &libver_high);
if( ret_value < 0 )
{
throw PropListIException("FileAccPropList::getLibverBounds", "H5Pget_libver_bounds failed");
}
}
//--------------------------------------------------------------------------
// Function: FileAccPropList destructor
///\brief Noop destructor

View File

@@ -14,6 +14,9 @@
* access to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// Class FileAccPropList represents the HDF5 file access property list and
// inherits from DataType.
#ifndef __H5FileAccPropList_H
#define __H5FileAccPropList_H
@@ -24,7 +27,8 @@ namespace H5 {
//! Class FileAccPropList represents the HDF5 file access property list.
class H5_DLLCPP FileAccPropList : public PropList {
public:
static const FileAccPropList DEFAULT;
///\brief Default file access property list.
static const FileAccPropList& DEFAULT;
// Creates a file access property list.
FileAccPropList();
@@ -126,6 +130,13 @@ class H5_DLLCPP FileAccPropList : public PropList {
// Returns garbage collecting references setting.
unsigned getGcReferences() const;
// Sets bounds on versions of library format to be used when creating
// or writing objects.
void setLibverBounds(H5F_libver_t libver_low, H5F_libver_t libver_high) const;
// Gets the current settings for the library version format bounds.
void getLibverBounds(H5F_libver_t& libver_low, H5F_libver_t& libver_high) const;
///\brief Returns this class name.
virtual H5std_string fromClass () const { return("FileAccPropList"); }
@@ -138,6 +149,20 @@ class H5_DLLCPP FileAccPropList : public PropList {
// Noop destructor
virtual ~FileAccPropList();
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// Deletes the global constant, should only be used by the library
static void deleteConstants();
private:
static FileAccPropList* DEFAULT_;
// Creates the global constant, should only be used by the library
static FileAccPropList* getConstant();
#endif // DOXYGEN_SHOULD_SKIP_THIS
};
#ifndef H5_NO_NAMESPACE
}

View File

@@ -25,10 +25,61 @@
namespace H5 {
#endif
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// This DOXYGEN_SHOULD_SKIP_THIS block is a work-around approach to control
// the order of creation and deletion of the global constants. See Design Notes
// in "H5PredType.cpp" for information.
// Initialize a pointer for the constant
FileCreatPropList* FileCreatPropList::DEFAULT_ = 0;
//--------------------------------------------------------------------------
///\brief Constant for default property
// Function: FileCreatPropList::getConstant
// Purpose: Creates a FileCreatPropList object representing the HDF5
// constant H5P_FILE_ACCESS, pointed to by FileCreatPropList::DEFAULT_
// exception H5::PropListIException
// Description
// If FileCreatPropList::DEFAULT_ already points to an allocated
// object, throw a PropListIException. This scenario should not happen.
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
const FileCreatPropList FileCreatPropList::DEFAULT;
FileCreatPropList* FileCreatPropList::getConstant()
{
// Tell the C library not to clean up, H5Library::termH5cpp will call
// H5close - more dependency if use H5Library::dontAtExit()
if (!IdComponent::H5dontAtexit_called)
{
(void) H5dont_atexit();
IdComponent::H5dontAtexit_called = true;
}
// If the constant pointer is not allocated, allocate it. Otherwise,
// throw because it shouldn't be.
if (DEFAULT_ == 0)
DEFAULT_ = new FileCreatPropList(H5P_FILE_CREATE);
else
throw PropListIException("FileCreatPropList::getConstant", "FileCreatPropList::getConstant is being invoked on an allocated DEFAULT_");
return(DEFAULT_);
}
//--------------------------------------------------------------------------
// Function: FileCreatPropList::deleteConstants
// Purpose: Deletes the constant object that FileCreatPropList::DEFAULT_
// points to.
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
void FileCreatPropList::deleteConstants()
{
if (DEFAULT_ != 0)
delete DEFAULT_;
}
//--------------------------------------------------------------------------
// Purpose Constant for default property
//--------------------------------------------------------------------------
const FileCreatPropList& FileCreatPropList::DEFAULT = *getConstant();
#endif // DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
// Function: FileCreatPropList default constructor

View File

@@ -24,8 +24,8 @@ namespace H5 {
//! Class FileCreatPropList represents the HDF5 file create property list.
class H5_DLLCPP FileCreatPropList : public PropList {
public:
// Default file creation property list.
static const FileCreatPropList DEFAULT;
///\brief Default file creation property list.
static const FileCreatPropList& DEFAULT;
// Creates a file create property list.
FileCreatPropList();
@@ -74,6 +74,20 @@ class H5_DLLCPP FileCreatPropList : public PropList {
// Noop destructor
virtual ~FileCreatPropList();
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// Deletes the global constant, should only be used by the library
static void deleteConstants();
private:
static FileCreatPropList* DEFAULT_;
// Creates the global constant, should only be used by the library
static FileCreatPropList* getConstant();
#endif // DOXYGEN_SHOULD_SKIP_THIS
};
#ifndef H5_NO_NAMESPACE
}

View File

@@ -27,6 +27,7 @@
#include "H5Object.h"
#include "H5FaccProp.h"
#include "H5FcreatProp.h"
#include "H5OcreatProp.h"
#include "H5DxferProp.h"
#include "H5DcreatProp.h"
#include "H5CommonFG.h"
@@ -50,7 +51,7 @@ namespace H5 {
///\brief Default constructor: creates a stub H5File object.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
H5File::H5File() : H5Location(), id(H5I_INVALID_HID) {}
H5File::H5File() : H5Location(), CommonFG(), id(H5I_INVALID_HID) {}
//--------------------------------------------------------------------------
// Function: H5File overloaded constructor
@@ -73,9 +74,6 @@ H5File::H5File() : H5Location(), id(H5I_INVALID_HID) {}
/// exists, and fail, otherwise
/// \li \c H5F_ACC_RDWR - Open file for read/write, if it already
/// exists, and fail, otherwise
/// \li \c H5F_ACC_DEBUG - print debug information. This flag is
/// used only by HDF5 library developers; it is neither
/// tested nor supported for use in applications.
///\par
/// For info on file creation in the case of an already-open file,
/// please refer to the \b Special \b case section in the C layer
@@ -86,7 +84,7 @@ H5File::H5File() : H5Location(), id(H5I_INVALID_HID) {}
// to catch then re-throw it. -BMR 2013/03/21
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
H5File::H5File( const char* name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist ) : H5Location(), id(H5I_INVALID_HID)
H5File::H5File( const char* name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist ) : H5Location(), CommonFG(), id(H5I_INVALID_HID)
{
try {
p_get_file(name, flags, create_plist, access_plist);
@@ -111,7 +109,7 @@ H5File::H5File( const char* name, unsigned int flags, const FileCreatPropList& c
// to catch then re-throw it. -BMR 2013/03/21
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
H5File::H5File( const H5std_string& name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist ) : H5Location(), id(H5I_INVALID_HID)
H5File::H5File( const H5std_string& name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist ) : H5Location(), CommonFG(), id(H5I_INVALID_HID)
{
try {
p_get_file(name.c_str(), flags, create_plist, access_plist);
@@ -133,7 +131,7 @@ void H5File::p_get_file(const char* name, unsigned int flags, const FileCreatPro
{
// These bits only set for creation, so if any of them are set,
// create the file.
if( flags & (H5F_ACC_EXCL|H5F_ACC_TRUNC|H5F_ACC_DEBUG))
if( flags & (H5F_ACC_EXCL|H5F_ACC_TRUNC))
{
hid_t create_plist_id = create_plist.getId();
hid_t access_plist_id = access_plist.getId();
@@ -155,6 +153,25 @@ void H5File::p_get_file(const char* name, unsigned int flags, const FileCreatPro
}
}
//--------------------------------------------------------------------------
// Function: H5File overloaded constructor
///\brief Creates an H5File object using an existing file id.
///\param existing_id - IN: Id of an existing file
// Programmer Binh-Minh Ribler - 2015
// Description
// Mar 29, 2015
// Added in responding to a request from user Jason Newton.
// However, it is not recommended to use the private member "id"
// in applications. Unlike other situations, where similar
// constructor is needed by the library in order to return
// an object, H5File doesn't need it. -BMR (HDFFV-8766 partially)
//--------------------------------------------------------------------------
H5File::H5File(hid_t existing_id) : H5Location(), CommonFG()
{
id = existing_id;
incRefCount(); // increment number of references to this id
}
#endif // DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
@@ -164,7 +181,7 @@ void H5File::p_get_file(const char* name, unsigned int flags, const FileCreatPro
///\param original - IN: H5File instance to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
H5File::H5File(const H5File& original) : H5Location(original)
H5File::H5File(const H5File& original) : H5Location(), CommonFG()
{
id = original.getId();
incRefCount(); // increment number of references to this id
@@ -225,6 +242,13 @@ bool H5File::isHdf5(const H5std_string& name )
//--------------------------------------------------------------------------
void H5File::openFile(const char* name, unsigned int flags, const FileAccPropList& access_plist)
{
try {
close();
}
catch (Exception close_error) {
throw FileIException("H5File::openFile", close_error.getDetailMsg());
}
hid_t access_plist_id = access_plist.getId();
id = H5Fopen (name, flags, access_plist_id);
if (id < 0) // throw an exception when open fails
@@ -378,25 +402,6 @@ ssize_t H5File::getObjCount(unsigned types) const
return (num_objs);
}
//--------------------------------------------------------------------------
// Function: H5File::getObjCount
///\brief This is an overloaded member function, provided for convenience.
/// It takes no parameter and returns the object count of all
/// object types.
///\return Number of opened object IDs
///\exception H5::FileIException
// Programmer Binh-Minh Ribler - May 2004
//--------------------------------------------------------------------------
ssize_t H5File::getObjCount() const
{
ssize_t num_objs = H5Fget_obj_count(id, H5F_OBJ_ALL);
if( num_objs < 0 )
{
throw FileIException("H5File::getObjCount", "H5Fget_obj_count failed");
}
return (num_objs);
}
//--------------------------------------------------------------------------
// Function: H5File::getObjIDs
///\brief Retrieves a list of opened object IDs (files, datasets,
@@ -518,16 +523,16 @@ hsize_t H5File::getFileSize() const
}
//--------------------------------------------------------------------------
// Function: H5File::getId
// Function: H5File::getId
///\brief Get the id of this file
///\return File identifier
// Modification:
// May 2008 - BMR
// Class hierarchy is revised to address bugzilla 1068. Class
// AbstractDS and Attribute are moved out of H5Object. In
// addition, member IdComponent::id is moved into subclasses, and
// IdComponent::getId now becomes pure virtual function.
// Programmer Binh-Minh Ribler - May, 2008
// May 2008 - BMR
// Class hierarchy is revised to address bugzilla 1068. Class
// AbstractDS and Attribute are moved out of H5Object. In
// addition, member IdComponent::id is moved into subclasses, and
// IdComponent::getId now becomes pure virtual function.
// Programmer Binh-Minh Ribler - May, 2008
//--------------------------------------------------------------------------
hid_t H5File::getId() const
{
@@ -535,19 +540,6 @@ hid_t H5File::getId() const
}
#ifndef DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
// Function: H5File::getLocId
// Purpose: Get the id of this file
// Description
// This function is a redefinition of CommonFG::getLocId. It
// is used by CommonFG member functions to get the file id.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
hid_t H5File::getLocId() const
{
return( getId() );
}
//--------------------------------------------------------------------------
// Function: H5File::reopen
// Purpose: Reopens this file.
@@ -562,16 +554,29 @@ void H5File::reopen()
}
//--------------------------------------------------------------------------
// Function: H5File::p_setId (protected)
///\brief Sets the identifier of this object to a new value.
// Function: H5File::getLocId
// Purpose: Get the id of this file
// Description
// This function is a redefinition of CommonFG::getLocId. It
// is used by CommonFG member functions to get the file id.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
hid_t H5File::getLocId() const
{
return( getId() );
}
//--------------------------------------------------------------------------
// Function: H5File::p_setId (protected)
///\brief Sets the identifier of this object to a new value.
///
///\exception H5::IdComponentException when the attempt to close the HDF5
/// object fails
///\exception H5::IdComponentException when the attempt to close the HDF5
/// object fails
// Description:
// The underlaying reference counting in the C library ensures
// that the current valid id of this object is properly closed.
// Then the object's id is reset to the new id.
// Programmer Binh-Minh Ribler - 2000
// The underlaying reference counting in the C library ensures
// that the current valid id of this object is properly closed.
// Then the object's id is reset to the new id.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void H5File::p_setId(const hid_t new_id)
{

View File

@@ -59,8 +59,7 @@ class H5_DLLCPP H5File : public H5Location, public CommonFG {
// Returns the number of opened object IDs (files, datasets, groups
// and datatypes) in the same file.
ssize_t getObjCount(unsigned types) const;
ssize_t getObjCount() const;
ssize_t getObjCount(unsigned types = H5F_OBJ_ALL) const;
// Retrieves a list of opened object IDs (files, datasets, groups
// and datatypes) in the same file.
@@ -84,6 +83,10 @@ class H5_DLLCPP H5File : public H5Location, public CommonFG {
// Gets the file id
virtual hid_t getLocId() const;
// Creates an H5File using an existing file id. Not recommended
// in applications.
H5File(hid_t existing_id);
#endif // DOXYGEN_SHOULD_SKIP_THIS
///\brief Returns this class name.

View File

@@ -20,6 +20,7 @@
#include "H5IdComponent.h"
#include "H5PropList.h"
#include "H5Object.h"
#include "H5OcreatProp.h"
#include "H5DcreatProp.h"
#include "H5CommonFG.h"
#include "H5DataType.h"

View File

@@ -24,10 +24,10 @@ namespace H5 {
//! Class FloatType operates on HDF5 floating point datatype.
class H5_DLLCPP FloatType : public AtomType {
public:
// Creates a floating-point type using a predefined type
FloatType( const PredType& pred_type );
// Creates a floating-point type using a predefined type.
FloatType( const PredType& pred_type );
// Gets the floating-point datatype of the specified dataset
// Gets the floating-point datatype of the specified dataset.
FloatType( const DataSet& dataset );
// Retrieves the exponent bias of a floating-point type.
@@ -60,7 +60,7 @@ class H5_DLLCPP FloatType : public AtomType {
// Default constructor
FloatType();
// Creates a floating-point datatype using an existing id
// Creates a floating-point datatype using an existing id.
FloatType( const hid_t existing_id );
// Copy constructor: makes a copy of the original FloatType object.

View File

@@ -28,6 +28,7 @@
#include "H5AbstractDs.h"
#include "H5FaccProp.h"
#include "H5FcreatProp.h"
#include "H5OcreatProp.h"
#include "H5DcreatProp.h"
#include "H5DxferProp.h"
#include "H5DataSpace.h"
@@ -51,7 +52,7 @@ namespace H5 {
///\brief Default constructor: creates a stub Group.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
Group::Group() : H5Object(), id(H5I_INVALID_HID) {}
Group::Group() : H5Object(), CommonFG(), id(H5I_INVALID_HID) {}
//--------------------------------------------------------------------------
// Function: Group copy constructor
@@ -59,7 +60,7 @@ Group::Group() : H5Object(), id(H5I_INVALID_HID) {}
///\param original - IN: Original group to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
Group::Group(const Group& original) : H5Object(original)
Group::Group(const Group& original) : H5Object(), CommonFG()
{
id = original.getId();
incRefCount(); // increment number of references to this id
@@ -82,9 +83,10 @@ hid_t Group::getLocId() const
///\param existing_id - IN: Id of an existing group
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
Group::Group(const hid_t existing_id) : H5Object()
Group::Group(const hid_t existing_id) : H5Object(), CommonFG()
{
id = existing_id;
incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
@@ -100,7 +102,7 @@ Group::Group(const hid_t existing_id) : H5Object()
/// is a datatype that has been named by DataType::commit.
// Programmer Binh-Minh Ribler - Oct, 2006
//--------------------------------------------------------------------------
Group::Group(const H5Location& loc, const void* ref, H5R_type_t ref_type, const PropList& plist) : H5Object(), id(H5I_INVALID_HID)
Group::Group(const H5Location& loc, const void* ref, H5R_type_t ref_type, const PropList& plist) : H5Object(), CommonFG(), id(H5I_INVALID_HID)
{
id = H5Location::p_dereference(loc.getId(), ref, ref_type, plist, "constructor - by dereference");
}
@@ -115,7 +117,7 @@ Group::Group(const H5Location& loc, const void* ref, H5R_type_t ref_type, const
///\exception H5::ReferenceException
// Programmer Binh-Minh Ribler - Oct, 2006
//--------------------------------------------------------------------------
Group::Group(const Attribute& attr, const void* ref, H5R_type_t ref_type, const PropList& plist) : H5Object(), id(H5I_INVALID_HID)
Group::Group(const Attribute& attr, const void* ref, H5R_type_t ref_type, const PropList& plist) : H5Object(), CommonFG(), id(H5I_INVALID_HID)
{
id = H5Location::p_dereference(attr.getId(), ref, ref_type, plist, "constructor - by dereference");
}

View File

@@ -13,11 +13,6 @@
* access to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifdef OLD_HEADER_FILENAME
#include <iostream.h>
#else
#include <iostream>
#endif
#include <string>
#include "H5Include.h"
@@ -31,22 +26,30 @@
namespace H5 {
#endif
//--------------------------------------------------------------------------
// Function: IdComponent overloaded constructor
///\brief Creates an IdComponent object using the id of an existing object.
///\param h5_id - IN: Id of an existing object
///\exception H5::DataTypeIException
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
IdComponent::IdComponent(const hid_t h5_id) {}
// This flag indicates whether H5Library::initH5cpp has been called to register
// the terminating functions with atexit()
bool IdComponent::H5cppinit = false;
// This flag is used to decide whether H5dont_atexit should be called.
// Subclasses that have global constants use it. This is a temporary
// work-around in 1.8.16. It will be removed after HDFFV-9540 is fixed.
bool IdComponent::H5dontAtexit_called = false;
//--------------------------------------------------------------------------
// Function: IdComponent copy constructor
///\brief Copy constructor: makes a copy of the original IdComponent object.
///\param original - IN: IdComponent instance to copy
// Function: IdComponent overloaded constructor
///\brief Creates an IdComponent object using the id of an existing
/// object. - Obsolete, will be removed in 1.8.17
// Param h5_id - IN: Id of an existing object
// Exception H5::DataTypeIException
// Programmer Binh-Minh Ribler - 2000
//
// *** Deprecation warning ***
// This constructor is no longer appropriate because the data member "id" had
// been moved to the sub-classes. It will be removed in 1.10 release. If its
// removal does not raise any problems in 1.10, it will be removed from 1.8 in
// subsequent releases.
//--------------------------------------------------------------------------
IdComponent::IdComponent( const IdComponent& original ) {}
IdComponent::IdComponent(const hid_t h5_id) {}
//--------------------------------------------------------------------------
// Function: IdComponent::incRefCount
@@ -82,12 +85,14 @@ void IdComponent::decRefCount(const hid_t obj_id) const
{
if (p_valid_id(obj_id))
if (H5Idec_ref(obj_id) < 0)
{
if (H5Iget_ref(obj_id) <= 0)
throw IdComponentException(inMemFunc("decRefCount"),
"object ref count is 0 or negative");
else
throw IdComponentException(inMemFunc("decRefCount"),
"decrementing object ref count failed");
}
}
//--------------------------------------------------------------------------
@@ -212,7 +217,7 @@ IdComponent& IdComponent::operator=( const IdComponent& rhs )
//--------------------------------------------------------------------------
// Function: IdComponent::setId
///\brief Sets the identifier of this object to a new value.
///
///\param new_id - IN: New identifier to be set to
///\exception H5::IdComponentException when the attempt to close the HDF5
/// object fails
// Description:
@@ -227,8 +232,8 @@ IdComponent& IdComponent::operator=( const IdComponent& rhs )
// C++ API object, which will be destroyed properly, and so
// p_setId does not call incRefCount. On the other hand, the
// public version setId is used by other applications, in which
// the id passed to setId already has a reference count, so setId
// must call incRefCount.
// the id passed to setId is that of another C++ API object, so
// setId must call incRefCount.
//--------------------------------------------------------------------------
void IdComponent::setId(const hid_t new_id)
{
@@ -266,15 +271,9 @@ IdComponent::~IdComponent() {}
//--------------------------------------------------------------------------
H5std_string IdComponent::inMemFunc(const char* func_name) const
{
#ifdef H5_VMS
H5std_string full_name = fromClass();
full_name.append("::");
full_name.append(func_name);
#else
H5std_string full_name = func_name;
full_name.insert(0, "::");
full_name.insert(0, fromClass());
#endif /*H5_VMS*/
return (full_name);
}
@@ -283,7 +282,16 @@ H5std_string IdComponent::inMemFunc(const char* func_name) const
///\brief Default constructor.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
IdComponent::IdComponent() {}
IdComponent::IdComponent()
{
// initH5cpp will register the terminating functions with atexit().
// This should only be done once.
if (!H5cppinit)
{
H5Library::initH5cpp();
H5cppinit = true;
}
}
//--------------------------------------------------------------------------
// Function: IdComponent::p_get_file_name (protected)

View File

@@ -17,6 +17,8 @@
#ifndef __IdComponent_H
#define __IdComponent_H
// IdComponent represents an HDF5 object that has an identifier.
#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif
@@ -30,7 +32,8 @@ class DataSpace;
rarely needs them.
*/
class H5_DLLCPP IdComponent {
public:
public:
// Increment reference counter.
void incRefCount(const hid_t obj_id) const;
void incRefCount() const;
@@ -52,21 +55,27 @@ class H5_DLLCPP IdComponent {
// Assignment operator.
IdComponent& operator=( const IdComponent& rhs );
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// Gets the identifier of this object.
virtual hid_t getId () const = 0;
#endif // DOXYGEN_SHOULD_SKIP_THIS
// Sets the identifier of this object to a new value.
void setId(const hid_t new_id);
// *** Deprecation warning ***
// The following two constructors are no longer appropriate after the
// data member "id" had been moved to the sub-classes.
// The copy constructor is a noop and is removed in 1.8.15 and the
// other will be removed from 1.10 release, and then from 1.8 if its
// removal does not raise any problems in two 1.10 releases.
// Creates an object to hold an HDF5 identifier.
IdComponent( const hid_t h5_id );
// Copy constructor: makes copy of the original IdComponent object.
IdComponent( const IdComponent& original );
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// Copy constructor: makes copy of the original IdComponent object.
// IdComponent( const IdComponent& original ); - removed from 1.8.15
// Gets the identifier of this object.
virtual hid_t getId () const = 0;
// Pure virtual function for there are various H5*close for the
// subclasses.
virtual void close() = 0;
@@ -83,11 +92,12 @@ class H5_DLLCPP IdComponent {
// Destructor
virtual ~IdComponent();
protected:
#ifndef DOXYGEN_SHOULD_SKIP_THIS
protected:
// Default constructor.
IdComponent();
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// Gets the name of the file, in which an HDF5 object belongs.
H5std_string p_get_file_name() const;
@@ -98,6 +108,14 @@ class H5_DLLCPP IdComponent {
// doesn't increment reference count
virtual void p_setId(const hid_t new_id) = 0;
// This flag is used to decide whether H5dont_atexit should be called
static bool H5dontAtexit_called;
private:
// This flag indicates whether H5Library::initH5cpp has been called
// to register various terminating functions with atexit()
static bool H5cppinit;
#endif // DOXYGEN_SHOULD_SKIP_THIS
}; // end class IdComponent

View File

@@ -28,3 +28,15 @@ typedef int bool;
const bool false = 0;
const bool true = 1;
#endif
// These are defined in H5Opkg.h, which should not be included in the C++ API,
// so re-define them here for now.
/* Initial version of the object header format */
#define H5O_VERSION_1 1
/* Revised version - leaves out reserved bytes and alignment padding, and adds
* magic number as prefix and checksum as suffix for all chunks.
*/
#define H5O_VERSION_2 2

View File

@@ -20,6 +20,7 @@
#include "H5IdComponent.h"
#include "H5PropList.h"
#include "H5Object.h"
#include "H5OcreatProp.h"
#include "H5DcreatProp.h"
#include "H5CommonFG.h"
#include "H5DataType.h"

View File

@@ -24,7 +24,7 @@ namespace H5 {
//! Class IntType operates on HDF5 integer datatype.
class H5_DLLCPP IntType : public AtomType {
public:
// Creates a integer type using a predefined type
// Creates an integer type using a predefined type
IntType(const PredType& pred_type);
// Gets the integer datatype of the specified dataset

View File

@@ -14,10 +14,23 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <string>
#include <cstdlib>
#include "H5CppDoc.h" // included only for Doxygen to generate part of RM
#include "H5CppDoc.h" // included only for Doxygen to generate part of RM
#include "H5Include.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5PropList.h"
#include "H5FaccProp.h"
#include "H5FcreatProp.h"
#include "H5OcreatProp.h"
#include "H5DxferProp.h"
#include "H5Object.h"
#include "H5DataType.h"
#include "H5DcreatProp.h"
#include "H5AtomType.h"
#include "H5PredType.h"
#include "H5DataSpace.h"
#include "H5Library.h"
#ifndef H5_NO_NAMESPACE
@@ -25,12 +38,14 @@ namespace H5 {
#endif
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// This static variable will be set to true when dontAtExit is called
// This static variable is unused, will be removed in future releases.
bool H5Library::need_cleanup = false;
#endif // DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
// Function: H5Library::open
// Function: H5Library::open (static)
///\brief Initializes the HDF5 library.
///
///\exception H5::LibraryIException
@@ -46,7 +61,7 @@ void H5Library::open()
}
//--------------------------------------------------------------------------
// Function: H5Library::close
// Function: H5Library::close (static)
///\brief Flushes all data to disk, closes files, and cleans up memory.
///
///\exception H5::LibraryIException
@@ -62,23 +77,22 @@ void H5Library::close()
}
//--------------------------------------------------------------------------
// Function: H5Library::dontAtExit
///\brief Instructs library not to install \c atexit cleanup routine
// Function: H5Library::dontAtExit (static)
///\brief Instructs library not to install the C \c atexit cleanup routine
///
///\exception H5::LibraryIException
// Programmer Binh-Minh Ribler - 2000
// Modification
// Removed the check for failure returned from H5dont_atexit.
// will be fixed to not fail (HDFFV-9540)
//--------------------------------------------------------------------------
void H5Library::dontAtExit()
{
herr_t ret_value = H5dont_atexit();
if( ret_value < 0 )
{
throw LibraryIException("H5Library::dontAtExit", "H5dont_atexit failed");
}
}
//--------------------------------------------------------------------------
// Function: H5Library::getLibVersion
// Function: H5Library::getLibVersion (static)
///\brief Returns the HDF library release number.
///\param majnum - OUT: Major version of the library
///\param minnum - OUT: Minor version of the library
@@ -96,7 +110,7 @@ void H5Library::getLibVersion( unsigned& majnum, unsigned& minnum, unsigned& rel
}
//--------------------------------------------------------------------------
// Function: H5Library::checkVersion
// Function: H5Library::checkVersion (static)
///\brief Verifies that the arguments match the version numbers
/// compiled into the library
///\param majnum - IN: Major version of the library
@@ -119,7 +133,7 @@ void H5Library::checkVersion(unsigned majnum, unsigned minnum, unsigned relnum)
}
//--------------------------------------------------------------------------
// Function: H5Library::garbageCollect
// Function: H5Library::garbageCollect (static)
///\brief Walks through all the garbage collection routines for the
/// library, which are supposed to free any unused memory they
/// have allocated.
@@ -148,7 +162,79 @@ void H5Library::garbageCollect()
}
//--------------------------------------------------------------------------
// Function: H5Library::setFreeListLimits
// Function: H5Library::initH5cpp (static)
///\brief Initializes C++ library and registers terminating functions at
/// exit. Only for the library functions, not for user-defined
/// functions.
// Description
// initH5cpp registers the following functions with std::atexit():
// termH5cpp() - calls H5close() after all cleanup in
// the C++ library is done
// <classname>::deleteConstants - deletes all references
// for <classname> global constants
///\exception H5::LibraryIException
//
// Programmer Binh-Minh Ribler - September, 2015
//--------------------------------------------------------------------------
void H5Library::initH5cpp()
{
// Register terminating functions with atexit(); they will be invoked in
// the reversed order
int ret_value = 0;
ret_value = std::atexit(termH5cpp);
if (ret_value != 0)
throw LibraryIException("H5Library::initH5cpp", "Registrating termH5cpp failed");
ret_value = std::atexit(PredType::deleteConstants);
if (ret_value != 0)
throw LibraryIException("H5Library::initH5cpp", "Registrating PredType::deleteConstants failed");
ret_value = std::atexit(PropList::deleteConstants);
if (ret_value != 0)
throw LibraryIException("H5Library::initH5cpp", "Registrating PropList::deleteConstants failed");
ret_value = std::atexit(FileAccPropList::deleteConstants);
if (ret_value != 0)
throw LibraryIException("H5Library::initH5cpp", "Registrating FileAccPropList::deleteConstants failed");
ret_value = std::atexit(FileCreatPropList::deleteConstants);
if (ret_value != 0)
throw LibraryIException("H5Library::initH5cpp", "Registrating FileCreatPropList::deleteConstants failed");
ret_value = std::atexit(DSetMemXferPropList::deleteConstants);
if (ret_value != 0)
throw LibraryIException("H5Library::initH5cpp", "Registrating DSetMemXferPropList::deleteConstants failed");
ret_value = std::atexit(DSetCreatPropList::deleteConstants);
if (ret_value != 0)
throw LibraryIException("H5Library::initH5cpp", "Registrating DSetCreatPropList::deleteConstants failed");
ret_value = std::atexit(ObjCreatPropList::deleteConstants);
if (ret_value != 0)
throw LibraryIException("H5Library::initH5cpp", "Registrating ObjCreatPropList::deleteConstants failed");
ret_value = std::atexit(DataSpace::deleteConstants);
if (ret_value != 0)
throw LibraryIException("H5Library::initH5cpp", "Registrating DataSpace::deleteConstants failed");
}
//--------------------------------------------------------------------------
// Function: H5Library::termH5cpp (static)
///\brief Sends request for the C layer to terminate.
///\par Description
/// If the C library fails to terminate, exit with a failure.
// Programmer Binh-Minh Ribler - September, 2015
//--------------------------------------------------------------------------
void H5Library::termH5cpp()
{
// Close the C library
herr_t ret_value = H5close();
if (ret_value == -1)
exit(-1);
}
//--------------------------------------------------------------------------
// Function: H5Library::setFreeListLimits (static)
///\brief Sets limits on the different kinds of free lists.
///\param reg_global_lim - IN: Limit on all "regular" free list memory used
///\param reg_list_lim - IN: Limit on memory used in each "regular" free list
@@ -174,6 +260,13 @@ void H5Library::setFreeListLimits(int reg_global_lim, int reg_list_lim,
throw LibraryIException("H5Library::setFreeListLimits", "H5set_free_list_limits failed");
}
}
// Default constructor - private
H5Library::H5Library(){}
// Destructor - private
H5Library::~H5Library(){}
#ifndef H5_NO_NAMESPACE
} // end namespace
#endif

View File

@@ -21,14 +21,6 @@
namespace H5 {
#endif
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define NOTATEXIT (-10) // just in case the HDF5 library use more
// negative constants. Note: the solution used for the atexit/global
// destructors is not reliable, and desperately needs improvement
// It is not even working, inifiteloop message still printed when
// calling H5close
#endif // DOXYGEN_SHOULD_SKIP_THIS
/*! \class H5Library
\brief Class H5Library operates the HDF5 library globably.
@@ -38,7 +30,8 @@ namespace H5 {
class H5_DLLCPP H5Library {
public:
#ifndef DOXYGEN_SHOULD_SKIP_THIS
static bool need_cleanup; // indicates if H5close should be called
static bool need_cleanup; // indicates if H5close should be called
// - unused, will be removed in future releases.
#endif // DOXYGEN_SHOULD_SKIP_THIS
// Initializes the HDF5 library.
@@ -65,9 +58,23 @@ class H5_DLLCPP H5Library {
static void setFreeListLimits(int reg_global_lim, int reg_list_lim, int
arr_global_lim, int arr_list_lim, int blk_global_lim, int blk_list_lim);
// Initializes C++ library and registers terminating functions at exit.
// Only for the library functions, not for user-defined functions.
static void initH5cpp(void);
// Sends request for terminating the HDF5 library.
static void termH5cpp(void);
#ifndef DOXYGEN_SHOULD_SKIP_THIS
private:
// Default constructor - no instance ever created
H5Library() {};
// Default constructor - no instance ever created from outsiders
H5Library();
// Destructor
~H5Library();
#endif // DOXYGEN_SHOULD_SKIP_THIS
};
#ifndef H5_NO_NAMESPACE

View File

@@ -21,6 +21,7 @@
#include "H5PropList.h"
#include "H5Location.h"
#include "H5Object.h"
#include "H5OcreatProp.h"
#include "H5DcreatProp.h"
#include "H5DxferProp.h"
#include "H5FaccProp.h"
@@ -33,9 +34,6 @@
#include "H5DataSet.h"
#include "H5Attribute.h"
#include "H5private.h" // for HDmemset
#include <iostream>
using namespace std;
#ifndef H5_NO_NAMESPACE
namespace H5 {
@@ -70,17 +68,28 @@ H5Location::H5Location() : IdComponent() {}
// object.
// Parameters object_id - IN: Id of an existing HDF5 object
// Programmer Binh-Minh Ribler - 2000
// *** Deprecation warning ***
// This constructor is no longer appropriate because the data member "id" had
// been moved to the sub-classes. It will be removed in 1.10 release. If its
// removal does not raise any problems in 1.10, it will be removed from 1.8 in
// subsequent releases.
//--------------------------------------------------------------------------
H5Location::H5Location(const hid_t object_id) : IdComponent(object_id) {}
H5Location::H5Location(const hid_t object_id) : IdComponent() {}
//--------------------------------------------------------------------------
// Function: H5Location copy constructor
///\brief Copy constructor: makes a copy of the original H5Location
/// instance.
// Purpose: This noop copy constructor is removed as a result of the data
// member "id" being moved down to sub-classes. (Mar 2015)
///\param original - IN: H5Location instance to copy
// Programmer Binh-Minh Ribler - 2000
//
// *** Deprecation warning ***
// This constructor is no longer appropriate because the data member "id" had
// been moved to the sub-classes. It is removed from 1.8.15 because it is
// a noop and it can be generated by the compiler if needed.
//--------------------------------------------------------------------------
H5Location::H5Location( const H5Location& original ) : IdComponent( original ) {}
// H5Location::H5Location(const H5Location& original) : IdComponent() {}
#endif // DOXYGEN_SHOULD_SKIP_THIS
@@ -115,8 +124,9 @@ Attribute H5Location::createAttribute( const char* name, const DataType& data_ty
// If the attribute id is valid, create and return the Attribute object
if( attr_id > 0 )
{
Attribute attr( attr_id );
return( attr );
Attribute attr;
f_Attribute_setId(&attr, attr_id);
return( attr );
}
else
throw AttributeIException(inMemFunc("createAttribute"), "H5Acreate2 failed");
@@ -147,8 +157,9 @@ Attribute H5Location::openAttribute( const char* name ) const
hid_t attr_id = H5Aopen(getId(), name, H5P_DEFAULT);
if( attr_id > 0 )
{
Attribute attr( attr_id );
return( attr );
Attribute attr;
f_Attribute_setId(&attr, attr_id);
return( attr );
}
else
{
@@ -182,12 +193,13 @@ Attribute H5Location::openAttribute( const unsigned int idx ) const
H5_ITER_INC, (hsize_t)idx, H5P_DEFAULT, H5P_DEFAULT);
if( attr_id > 0 )
{
Attribute attr( attr_id );
return( attr );
Attribute attr;
f_Attribute_setId(&attr, attr_id);
return(attr);
}
else
{
throw AttributeIException(inMemFunc("openAttribute"), "H5Aopen_by_idx failed");
throw AttributeIException(inMemFunc("openAttribute"), "H5Aopen_by_idx failed");
}
}
@@ -893,6 +905,12 @@ H5O_type_t H5Location::p_get_ref_obj_type(void *ref, H5R_type_t ref_type) const
///\return DataSpace object
///\exception H5::ReferenceException
// Programmer Binh-Minh Ribler - May, 2004
// Modification
// Mar 29, 2015
// Used friend function to set id for DataSpace instead of the
// existing id constructor or the setId method to avoid incrementing
// ref count, as a work-around for a problem described in the JIRA
// issue HDFFV-7947. -BMR
//--------------------------------------------------------------------------
DataSpace H5Location::getRegion(void *ref, H5R_type_t ref_type) const
{
@@ -902,8 +920,9 @@ DataSpace H5Location::getRegion(void *ref, H5R_type_t ref_type) const
throw ReferenceException(inMemFunc("getRegion"), "H5Rget_region failed");
}
try {
DataSpace dataspace(space_id);
return(dataspace);
DataSpace dataspace;
f_DataSpace_setId(&dataspace, space_id);
return(dataspace);
}
catch (DataSpaceIException E) {
throw ReferenceException(inMemFunc("getRegion"), E.getDetailMsg());
@@ -918,6 +937,36 @@ DataSpace H5Location::getRegion(void *ref, H5R_type_t ref_type) const
//--------------------------------------------------------------------------
H5Location::~H5Location() {}
//--------------------------------------------------------------------------
// Function: f_Attribute_setId - friend
// Purpose: This function is friend to class H5::Attribute so that it
// can set Attribute::id in order to work around a problem
// described in the JIRA issue HDFFV-7947.
// Applications shouldn't need to use it.
// param attr - IN/OUT: Attribute object to be changed
// param new_id - IN: New id to set
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
void f_Attribute_setId(Attribute* attr, hid_t new_id)
{
attr->p_setId(new_id);
}
//--------------------------------------------------------------------------
// Function: f_DataSpace_setId - friend
// Purpose: This function is friend to class H5::DataSpace so that it can
// can set DataSpace::id in order to work around a problem
// described in the JIRA issue HDFFV-7947.
// Applications shouldn't need to use it.
// param dspace - IN/OUT: DataSpace object to be changed
// param new_id - IN: New id to set
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
void f_DataSpace_setId(DataSpace* dspace, hid_t new_id)
{
dspace->p_setId(new_id);
}
#endif // DOXYGEN_SHOULD_SKIP_THIS
#ifndef H5_NO_NAMESPACE

View File

@@ -138,13 +138,18 @@ class H5_DLLCPP H5Location : public IdComponent {
// Default constructor
H5Location();
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// *** Deprecation warning ***
// The following two constructors are no longer appropriate after the
// data member "id" had been moved to the sub-classes.
// The copy constructor is a noop and is removed in 1.8.15 and the
// other will be removed from 1.10 release, and then from 1.8 if its
// removal does not raise any problems in two 1.10 releases.
// Creates a copy of an existing object giving the location id.
H5Location(const hid_t loc_id);
// Copy constructor.
H5Location(const H5Location& original);
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// Creates a reference to an HDF5 object or a dataset region.
void p_reference(void* ref, const char* name, hid_t space_id, H5R_type_t ref_type) const;
@@ -159,6 +164,10 @@ class H5_DLLCPP H5Location : public IdComponent {
// Retrieves the type of object that an object reference points to.
H5O_type_t p_get_ref_obj_type(void *ref, H5R_type_t ref_type) const;
// Sets the identifier of this object to a new value. - this one
// doesn't increment reference count
virtual void p_setId(const hid_t new_id) = 0;
#endif // DOXYGEN_SHOULD_SKIP_THIS
// Noop destructor.

View File

@@ -20,6 +20,7 @@
#include "H5IdComponent.h"
#include "H5PropList.h"
#include "H5Object.h"
#include "H5OcreatProp.h"
#include "H5DcreatProp.h"
#include "H5DxferProp.h"
#include "H5FaccProp.h"
@@ -50,8 +51,26 @@ H5Object::H5Object() : H5Location() {}
// object.
// Parameters object_id - IN: Id of an existing HDF5 object
// Programmer Binh-Minh Ribler - 2000
// *** Deprecation warning ***
// This constructor is no longer appropriate because the data member "id" had
// been moved to the sub-classes. It will be removed in 1.10 release. If its
// removal does not raise any problems in 1.10, it will be removed from 1.8 in
// subsequent releases.
//--------------------------------------------------------------------------
H5Object::H5Object( const hid_t object_id ) : H5Location( object_id ) {}
H5Object::H5Object(const hid_t object_id) : H5Location() {}
//--------------------------------------------------------------------------
// Function: H5Object copy constructor
///\brief Copy constructor: makes a copy of the original H5Object
/// instance.
///\param original - IN: H5Object instance to copy
// Programmer Binh-Minh Ribler - 2000
// *** Deprecation warning ***
// This constructor is no longer appropriate because the data member "id" had
// been moved to the sub-classes. It is removed from 1.8.15 because it is
// a noop and it can be generated by the compiler if needed.
//--------------------------------------------------------------------------
// H5Object::H5Object(const H5Object& original) : H5Location() {}
//--------------------------------------------------------------------------
// Function: getObjName
@@ -164,15 +183,6 @@ ssize_t H5Object::getObjName(H5std_string& obj_name, size_t len) const
return(name_size);
}
//--------------------------------------------------------------------------
// Function: H5Object copy constructor
///\brief Copy constructor: makes a copy of the original H5Object
/// instance.
///\param original - IN: H5Object instance to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
H5Object::H5Object( const H5Object& original ) : H5Location( original ) {}
//--------------------------------------------------------------------------
// Function: H5Object destructor
///\brief Noop destructor.

View File

@@ -47,9 +47,6 @@ namespace H5 {
class H5_DLLCPP H5Object : public H5Location {
public:
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// Copy constructor: makes copy of an H5Object object.
H5Object(const H5Object& original);
// Gets the name of this HDF5 object, i.e., Group, DataSet, or
// DataType.
ssize_t getObjName(char *obj_name, size_t buf_size = 0) const;
@@ -63,9 +60,19 @@ class H5_DLLCPP H5Object : public H5Location {
// Default constructor
H5Object();
// *** Deprecation warning ***
// The following two constructors are no longer appropriate after the
// data member "id" had been moved to the sub-classes.
// The copy constructor is a noop and is removed in 1.8.15 and the
// other will be removed from 1.10 release, and then from 1.8 if its
// removal does not raise any problems in two 1.10 releases.
// Creates a copy of an existing object giving the object id
H5Object( const hid_t object_id );
// Copy constructor: makes copy of an H5Object object.
// H5Object(const H5Object& original);
#endif // DOXYGEN_SHOULD_SKIP_THIS
}; /* end class H5Object */

222
c++/src/H5OcreatProp.cpp Normal file
View File

@@ -0,0 +1,222 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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 *
* terms governing use, modification, and redistribution, is contained in *
* the files COPYING and Copyright.html. COPYING can be found at the root *
* of the source code distribution tree; Copyright.html can be found at the *
* root level of an installed copy of the electronic HDF5 document set and *
* is linked from the top-level documents page. It can also be found at *
* http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
* access to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <string>
#include "H5Include.h"
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5PropList.h"
#include "H5FaccProp.h"
#include "H5OcreatProp.h"
#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// This DOXYGEN_SHOULD_SKIP_THIS block is a work-around approach to control
// the order of creation and deletion of the global constants. See Design Notes
// in "H5PredType.cpp" for information.
// Initialize a pointer for the constant
ObjCreatPropList* ObjCreatPropList::DEFAULT_ = 0;
//--------------------------------------------------------------------------
// Function: ObjCreatPropList::getConstant
// Creates a ObjCreatPropList object representing the HDF5 constant
// H5P_FILE_ACCESS, pointed to by ObjCreatPropList::DEFAULT_
// exception H5::PropListIException
// Description
// If ObjCreatPropList::DEFAULT_ already points to an allocated
// object, throw a PropListIException. This scenario should not
// happen.
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
ObjCreatPropList* ObjCreatPropList::getConstant()
{
// Tell the C library not to clean up, H5Library::termH5cpp will call
// H5close - more dependency if use H5Library::dontAtExit()
if (!IdComponent::H5dontAtexit_called)
{
(void) H5dont_atexit();
IdComponent::H5dontAtexit_called = true;
}
// If the constant pointer is not allocated, allocate it. Otherwise,
// throw because it shouldn't be.
if (DEFAULT_ == 0)
DEFAULT_ = new ObjCreatPropList(H5P_OBJECT_CREATE);
else
throw PropListIException("ObjCreatPropList::getConstant", "ObjCreatPropList::getConstant is being invoked on an allocated DEFAULT_");
return(DEFAULT_);
}
//--------------------------------------------------------------------------
// Function: ObjCreatPropList::deleteConstants
// Purpose: Deletes the constant object that ObjCreatPropList::DEFAULT_
// points to.
// exception H5::PropListIException
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
void ObjCreatPropList::deleteConstants()
{
if (DEFAULT_ != 0)
delete DEFAULT_;
}
//--------------------------------------------------------------------------
// Purpose: Constant for default property
//--------------------------------------------------------------------------
const ObjCreatPropList& ObjCreatPropList::DEFAULT = *getConstant();
#endif // DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
// Function: Default Constructor
///\brief Creates a file access property list
// Programmer: Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
ObjCreatPropList::ObjCreatPropList() : PropList(H5P_OBJECT_CREATE) {}
//--------------------------------------------------------------------------
// Function: ObjCreatPropList copy constructor
///\brief Copy Constructor: makes a copy of the original
///\param original - IN: ObjCreatPropList instance to copy
// Programmer: Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
ObjCreatPropList::ObjCreatPropList(const ObjCreatPropList& original) : PropList(original) {}
//--------------------------------------------------------------------------
// Function: ObjCreatPropList overloaded constructor
///\brief Creates a file access property list using the id of an
/// existing one.
// Programmer: Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
ObjCreatPropList::ObjCreatPropList(const hid_t plist_id) : PropList(plist_id) {}
//--------------------------------------------------------------------------
// Function: ObjCreatPropList::setAttrPhaseChange
///\brief Sets attribute storage phase change thresholds.
///\param max_compact - IN: Maximum number of attributes to be stored in
/// compact storage. Default to 8
///\param min_dense - IN: Minimum number of attributes to be stored in
/// dense storage. Default to 6
///\exception H5::PropListIException
///\par Description
/// If \c max_compact is set to 0, dense storage will be used.
/// For more detail about on attribute storage, please refer to the
/// C layer Reference Manual at:
/// https://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetAttrPhaseChange
// Programmer: Binh-Minh Ribler - September 2015
//--------------------------------------------------------------------------
void ObjCreatPropList::setAttrPhaseChange(unsigned max_compact, unsigned min_dense) const
{
herr_t ret_value = H5Pset_attr_phase_change(id, max_compact, min_dense);
if (ret_value < 0)
{
throw PropListIException("ObjCreatPropList::setAttrPhaseChange", "H5Pset_attr_phase_change failed");
}
}
//--------------------------------------------------------------------------
// Function: ObjCreatPropList::getAttrPhaseChange
///\brief Gets attribute storage phase change thresholds.
///\param max_compact - OUT: Maximum number of attributes to be stored in
/// compact storage.
///\param min_dense - OUT: Minimum number of attributes to be stored in
/// dense storage.
///\exception H5::PropListIException
///\par Description
/// If \c max_compact is set to 0, dense storage will be used.
/// For more detail about on attribute storage, please refer to the
/// C layer Reference Manual at:
/// https://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetAttrPhaseChange
// Programmer: Binh-Minh Ribler - September 2015
//--------------------------------------------------------------------------
void ObjCreatPropList::getAttrPhaseChange(unsigned& max_compact, unsigned& min_dense) const
{
herr_t ret_value;
ret_value = H5Pget_attr_phase_change(id, &max_compact, &min_dense);
if (ret_value < 0)
{
throw PropListIException("ObjCreatPropList::getAttrPhaseChange", "H5Pget_attr_phase_change failed");
}
}
//--------------------------------------------------------------------------
// Function: ObjCreatPropList::setAttrCrtOrder
///\brief Sets tracking and indexing of attribute creation order.
///\param crt_order_flags - IN: Flags specifying whether to track and
/// index attribute creation order. Default: No flag set
///\exception H5::PropListIException
///\par Description
/// Valid flags are:
/// \li \c H5P_CRT_ORDER_TRACKED - Attribute creation order is tracked
/// \li \c H5P_CRT_ORDER_INDEXED - Attribute creation order is
/// indexed (requires H5P_CRT_ORDER_TRACKED).
/// When no flag is set, attribute creation order is neither
/// tracked not indexed. Note that HDF5 currently provides no
/// mechanism to turn on attribute creation order tracking at object
/// creation time and to build the index later.
/// The C layer Reference Manual at can be found at:
/// https://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetAttrCreationOrder
// Programmer: Binh-Minh Ribler - September 2015
//--------------------------------------------------------------------------
void ObjCreatPropList::setAttrCrtOrder(unsigned crt_order_flags) const
{
herr_t ret_value = H5Pset_attr_creation_order(id, crt_order_flags);
if (ret_value < 0)
{
throw PropListIException("ObjCreatPropList::setAttrCrtOrder", "H5Pset_attr_creation_order failed");
}
}
//--------------------------------------------------------------------------
// Function: ObjCreatPropList::getAttrCrtOrder
///\brief Gets tracking and indexing settings for attribute
/// creation order.
///\param crt_order_flags - OUT: Flags specifying whether to track and
/// index attribute creation order
///\exception H5::PropListIException
///\par Description
/// When no flag is set, i.e. crt_order_flags = 0, attribute
/// creation order is neither tracked not indexed.
/// The C layer Reference Manual at can be found at:
/// https://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetAttrCreationOrder
// Programmer: Binh-Minh Ribler - September 2015
//--------------------------------------------------------------------------
unsigned ObjCreatPropList::getAttrCrtOrder() const
{
herr_t ret_value;
unsigned crt_order_flags = 0;
ret_value = H5Pget_attr_creation_order(id, &crt_order_flags);
if (ret_value < 0)
{
throw PropListIException("ObjCreatPropList::getAttrCrtOrder", "H5Pget_attr_creation_order failed");
}
return(crt_order_flags);
}
//--------------------------------------------------------------------------
// Function: ObjCreatPropList destructor
///\brief Noop destructor
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
ObjCreatPropList::~ObjCreatPropList() {}
#ifndef H5_NO_NAMESPACE
} // end namespace
#endif

76
c++/src/H5OcreatProp.h Normal file
View File

@@ -0,0 +1,76 @@
// 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 *
* terms governing use, modification, and redistribution, is contained in *
* the files COPYING and Copyright.html. COPYING can be found at the root *
* of the source code distribution tree; Copyright.html can be found at the *
* root level of an installed copy of the electronic HDF5 document set and *
* is linked from the top-level documents page. It can also be found at *
* http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
* access to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifndef __H5ObjCreatPropList_H
#define __H5ObjCreatPropList_H
#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif
//! Class ObjCreatPropList represents the HDF5 object creation property list.
class H5_DLLCPP ObjCreatPropList : public PropList {
public:
///\brief Default object creation property list.
static const ObjCreatPropList& DEFAULT;
// Creates a object creation property list.
ObjCreatPropList();
// Sets attribute storage phase change thresholds.
void setAttrPhaseChange(unsigned max_compact = 8, unsigned min_dense = 6) const;
// Gets attribute storage phase change thresholds.
void getAttrPhaseChange(unsigned& max_compact, unsigned& min_dense) const;
// Sets tracking and indexing of attribute creation order.
void setAttrCrtOrder(unsigned crt_order_flags) const;
// Gets tracking and indexing settings for attribute creation order.
unsigned getAttrCrtOrder() const;
///\brief Returns this class name.
virtual H5std_string fromClass () const { return("ObjCreatPropList"); }
// Copy constructor: creates a copy of a ObjCreatPropList object.
ObjCreatPropList( const ObjCreatPropList& original );
// Creates a copy of an existing object creation property list
// using the property list id.
ObjCreatPropList (const hid_t plist_id);
// Noop destructor
virtual ~ObjCreatPropList();
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// Deletes the global constant, should only be used by the library
static void deleteConstants();
private:
static ObjCreatPropList* DEFAULT_;
// Creates the global constant, should only be used by the library
static ObjCreatPropList* getConstant();
#endif // DOXYGEN_SHOULD_SKIP_THIS
};
#ifndef H5_NO_NAMESPACE
}
#endif
#endif // __H5ObjCreatPropList_H

File diff suppressed because it is too large Load Diff

View File

@@ -21,16 +21,6 @@
namespace H5 {
#endif
/* This constant is defined for a workaround to eliminate memory leaks due to
the library being re-initiated when PredType destructors are invoked. A
PredType instant with H5CPP_EXITED as the value of its "id" is constructed
before the other PredType objects are created. At exit, when this special
PredType object is to be destructed, no HDF5 library function will be called
and the library will be terminated. -BMR, Mar 30, 2012 */
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define H5CPP_EXITED -3 // -3 is less likely to be used elsewhere
#endif // DOXYGEN_SHOULD_SKIP_THIS
/*! \class PredType
\brief Class PredType holds the definition of all the HDF5 predefined
datatypes.
@@ -53,183 +43,6 @@ class H5_DLLCPP PredType : public AtomType {
// Noop destructor
virtual ~PredType();
// Declaration of predefined types; their definition is in H5PredType.cpp
static const PredType STD_I8BE;
static const PredType STD_I8LE;
static const PredType STD_I16BE;
static const PredType STD_I16LE;
static const PredType STD_I32BE;
static const PredType STD_I32LE;
static const PredType STD_I64BE;
static const PredType STD_I64LE;
static const PredType STD_U8BE;
static const PredType STD_U8LE;
static const PredType STD_U16BE;
static const PredType STD_U16LE;
static const PredType STD_U32BE;
static const PredType STD_U32LE;
static const PredType STD_U64BE;
static const PredType STD_U64LE;
static const PredType STD_B8BE;
static const PredType STD_B8LE;
static const PredType STD_B16BE;
static const PredType STD_B16LE;
static const PredType STD_B32BE;
static const PredType STD_B32LE;
static const PredType STD_B64BE;
static const PredType STD_B64LE;
static const PredType STD_REF_OBJ;
static const PredType STD_REF_DSETREG;
static const PredType C_S1;
static const PredType FORTRAN_S1;
static const PredType IEEE_F32BE;
static const PredType IEEE_F32LE;
static const PredType IEEE_F64BE;
static const PredType IEEE_F64LE;
static const PredType UNIX_D32BE;
static const PredType UNIX_D32LE;
static const PredType UNIX_D64BE;
static const PredType UNIX_D64LE;
static const PredType INTEL_I8;
static const PredType INTEL_I16;
static const PredType INTEL_I32;
static const PredType INTEL_I64;
static const PredType INTEL_U8;
static const PredType INTEL_U16;
static const PredType INTEL_U32;
static const PredType INTEL_U64;
static const PredType INTEL_B8;
static const PredType INTEL_B16;
static const PredType INTEL_B32;
static const PredType INTEL_B64;
static const PredType INTEL_F32;
static const PredType INTEL_F64;
static const PredType ALPHA_I8;
static const PredType ALPHA_I16;
static const PredType ALPHA_I32;
static const PredType ALPHA_I64;
static const PredType ALPHA_U8;
static const PredType ALPHA_U16;
static const PredType ALPHA_U32;
static const PredType ALPHA_U64;
static const PredType ALPHA_B8;
static const PredType ALPHA_B16;
static const PredType ALPHA_B32;
static const PredType ALPHA_B64;
static const PredType ALPHA_F32;
static const PredType ALPHA_F64;
static const PredType MIPS_I8;
static const PredType MIPS_I16;
static const PredType MIPS_I32;
static const PredType MIPS_I64;
static const PredType MIPS_U8;
static const PredType MIPS_U16;
static const PredType MIPS_U32;
static const PredType MIPS_U64;
static const PredType MIPS_B8;
static const PredType MIPS_B16;
static const PredType MIPS_B32;
static const PredType MIPS_B64;
static const PredType MIPS_F32;
static const PredType MIPS_F64;
static const PredType NATIVE_CHAR;
static const PredType NATIVE_SCHAR;
static const PredType NATIVE_UCHAR;
static const PredType NATIVE_SHORT;
static const PredType NATIVE_USHORT;
static const PredType NATIVE_INT;
static const PredType NATIVE_UINT;
static const PredType NATIVE_LONG;
static const PredType NATIVE_ULONG;
static const PredType NATIVE_LLONG;
static const PredType NATIVE_ULLONG;
static const PredType NATIVE_FLOAT;
static const PredType NATIVE_DOUBLE;
static const PredType NATIVE_LDOUBLE;
static const PredType NATIVE_B8;
static const PredType NATIVE_B16;
static const PredType NATIVE_B32;
static const PredType NATIVE_B64;
static const PredType NATIVE_OPAQUE;
static const PredType NATIVE_HSIZE;
static const PredType NATIVE_HSSIZE;
static const PredType NATIVE_HERR;
static const PredType NATIVE_HBOOL;
static const PredType NATIVE_INT8;
static const PredType NATIVE_UINT8;
static const PredType NATIVE_INT16;
static const PredType NATIVE_UINT16;
static const PredType NATIVE_INT32;
static const PredType NATIVE_UINT32;
static const PredType NATIVE_INT64;
static const PredType NATIVE_UINT64;
// LEAST types
#if H5_SIZEOF_INT_LEAST8_T != 0
static const PredType NATIVE_INT_LEAST8;
#endif /* H5_SIZEOF_INT_LEAST8_T */
#if H5_SIZEOF_UINT_LEAST8_T != 0
static const PredType NATIVE_UINT_LEAST8;
#endif /* H5_SIZEOF_UINT_LEAST8_T */
#if H5_SIZEOF_INT_LEAST16_T != 0
static const PredType NATIVE_INT_LEAST16;
#endif /* H5_SIZEOF_INT_LEAST16_T */
#if H5_SIZEOF_UINT_LEAST16_T != 0
static const PredType NATIVE_UINT_LEAST16;
#endif /* H5_SIZEOF_UINT_LEAST16_T */
#if H5_SIZEOF_INT_LEAST32_T != 0
static const PredType NATIVE_INT_LEAST32;
#endif /* H5_SIZEOF_INT_LEAST32_T */
#if H5_SIZEOF_UINT_LEAST32_T != 0
static const PredType NATIVE_UINT_LEAST32;
#endif /* H5_SIZEOF_UINT_LEAST32_T */
#if H5_SIZEOF_INT_LEAST64_T != 0
static const PredType NATIVE_INT_LEAST64;
#endif /* H5_SIZEOF_INT_LEAST64_T */
#if H5_SIZEOF_UINT_LEAST64_T != 0
static const PredType NATIVE_UINT_LEAST64;
#endif /* H5_SIZEOF_UINT_LEAST64_T */
// FAST types
#if H5_SIZEOF_INT_FAST8_T != 0
static const PredType NATIVE_INT_FAST8;
#endif /* H5_SIZEOF_INT_FAST8_T */
#if H5_SIZEOF_UINT_FAST8_T != 0
static const PredType NATIVE_UINT_FAST8;
#endif /* H5_SIZEOF_UINT_FAST8_T */
#if H5_SIZEOF_INT_FAST16_T != 0
static const PredType NATIVE_INT_FAST16;
#endif /* H5_SIZEOF_INT_FAST16_T */
#if H5_SIZEOF_UINT_FAST16_T != 0
static const PredType NATIVE_UINT_FAST16;
#endif /* H5_SIZEOF_UINT_FAST16_T */
#if H5_SIZEOF_INT_FAST32_T != 0
static const PredType NATIVE_INT_FAST32;
#endif /* H5_SIZEOF_INT_FAST32_T */
#if H5_SIZEOF_UINT_FAST32_T != 0
static const PredType NATIVE_UINT_FAST32;
#endif /* H5_SIZEOF_UINT_FAST32_T */
#if H5_SIZEOF_INT_FAST64_T != 0
static const PredType NATIVE_INT_FAST64;
#endif /* H5_SIZEOF_INT_FAST64_T */
#if H5_SIZEOF_UINT_FAST64_T != 0
static const PredType NATIVE_UINT_FAST64;
#endif /* H5_SIZEOF_UINT_FAST64_T */
/*! \brief This dummy function do not inherit from DataType - it will
throw a DataTypeIException if invoked.
*/
@@ -243,21 +56,387 @@ class H5_DLLCPP PredType : public AtomType {
*/
bool committed();
protected:
///\brief PredType constants
static const PredType& STD_I8BE;
static const PredType& STD_I8LE;
static const PredType& STD_I16BE;
static const PredType& STD_I16LE;
static const PredType& STD_I32BE;
static const PredType& STD_I32LE;
static const PredType& STD_I64BE;
static const PredType& STD_I64LE;
static const PredType& STD_U8BE;
static const PredType& STD_U8LE;
static const PredType& STD_U16BE;
static const PredType& STD_U16LE;
static const PredType& STD_U32BE;
static const PredType& STD_U32LE;
static const PredType& STD_U64BE;
static const PredType& STD_U64LE;
static const PredType& STD_B8BE;
static const PredType& STD_B8LE;
static const PredType& STD_B16BE;
static const PredType& STD_B16LE;
static const PredType& STD_B32BE;
static const PredType& STD_B32LE;
static const PredType& STD_B64BE;
static const PredType& STD_B64LE;
static const PredType& STD_REF_OBJ;
static const PredType& STD_REF_DSETREG;
static const PredType& C_S1;
static const PredType& FORTRAN_S1;
static const PredType& IEEE_F32BE;
static const PredType& IEEE_F32LE;
static const PredType& IEEE_F64BE;
static const PredType& IEEE_F64LE;
static const PredType& UNIX_D32BE;
static const PredType& UNIX_D32LE;
static const PredType& UNIX_D64BE;
static const PredType& UNIX_D64LE;
static const PredType& INTEL_I8;
static const PredType& INTEL_I16;
static const PredType& INTEL_I32;
static const PredType& INTEL_I64;
static const PredType& INTEL_U8;
static const PredType& INTEL_U16;
static const PredType& INTEL_U32;
static const PredType& INTEL_U64;
static const PredType& INTEL_B8;
static const PredType& INTEL_B16;
static const PredType& INTEL_B32;
static const PredType& INTEL_B64;
static const PredType& INTEL_F32;
static const PredType& INTEL_F64;
static const PredType& ALPHA_I8;
static const PredType& ALPHA_I16;
static const PredType& ALPHA_I32;
static const PredType& ALPHA_I64;
static const PredType& ALPHA_U8;
static const PredType& ALPHA_U16;
static const PredType& ALPHA_U32;
static const PredType& ALPHA_U64;
static const PredType& ALPHA_B8;
static const PredType& ALPHA_B16;
static const PredType& ALPHA_B32;
static const PredType& ALPHA_B64;
static const PredType& ALPHA_F32;
static const PredType& ALPHA_F64;
static const PredType& MIPS_I8;
static const PredType& MIPS_I16;
static const PredType& MIPS_I32;
static const PredType& MIPS_I64;
static const PredType& MIPS_U8;
static const PredType& MIPS_U16;
static const PredType& MIPS_U32;
static const PredType& MIPS_U64;
static const PredType& MIPS_B8;
static const PredType& MIPS_B16;
static const PredType& MIPS_B32;
static const PredType& MIPS_B64;
static const PredType& MIPS_F32;
static const PredType& MIPS_F64;
static const PredType& NATIVE_CHAR;
static const PredType& NATIVE_SCHAR;
static const PredType& NATIVE_UCHAR;
static const PredType& NATIVE_SHORT;
static const PredType& NATIVE_USHORT;
static const PredType& NATIVE_INT;
static const PredType& NATIVE_UINT;
static const PredType& NATIVE_LONG;
static const PredType& NATIVE_ULONG;
static const PredType& NATIVE_LLONG;
static const PredType& NATIVE_ULLONG;
static const PredType& NATIVE_FLOAT;
static const PredType& NATIVE_DOUBLE;
static const PredType& NATIVE_LDOUBLE;
static const PredType& NATIVE_B8;
static const PredType& NATIVE_B16;
static const PredType& NATIVE_B32;
static const PredType& NATIVE_B64;
static const PredType& NATIVE_OPAQUE;
static const PredType& NATIVE_HSIZE;
static const PredType& NATIVE_HSSIZE;
static const PredType& NATIVE_HERR;
static const PredType& NATIVE_HBOOL;
static const PredType& NATIVE_INT8;
static const PredType& NATIVE_UINT8;
static const PredType& NATIVE_INT16;
static const PredType& NATIVE_UINT16;
static const PredType& NATIVE_INT32;
static const PredType& NATIVE_UINT32;
static const PredType& NATIVE_INT64;
static const PredType& NATIVE_UINT64;
// LEAST types
#if H5_SIZEOF_INT_LEAST8_T != 0
static const PredType& NATIVE_INT_LEAST8;
#endif /* H5_SIZEOF_INT_LEAST8_T */
#if H5_SIZEOF_UINT_LEAST8_T != 0
static const PredType& NATIVE_UINT_LEAST8;
#endif /* H5_SIZEOF_UINT_LEAST8_T */
#if H5_SIZEOF_INT_LEAST16_T != 0
static const PredType& NATIVE_INT_LEAST16;
#endif /* H5_SIZEOF_INT_LEAST16_T */
#if H5_SIZEOF_UINT_LEAST16_T != 0
static const PredType& NATIVE_UINT_LEAST16;
#endif /* H5_SIZEOF_UINT_LEAST16_T */
#if H5_SIZEOF_INT_LEAST32_T != 0
static const PredType& NATIVE_INT_LEAST32;
#endif /* H5_SIZEOF_INT_LEAST32_T */
#if H5_SIZEOF_UINT_LEAST32_T != 0
static const PredType& NATIVE_UINT_LEAST32;
#endif /* H5_SIZEOF_UINT_LEAST32_T */
#if H5_SIZEOF_INT_LEAST64_T != 0
static const PredType& NATIVE_INT_LEAST64;
#endif /* H5_SIZEOF_INT_LEAST64_T */
#if H5_SIZEOF_UINT_LEAST64_T != 0
static const PredType& NATIVE_UINT_LEAST64;
#endif /* H5_SIZEOF_UINT_LEAST64_T */
// FAST types
#if H5_SIZEOF_INT_FAST8_T != 0
static const PredType& NATIVE_INT_FAST8;
#endif /* H5_SIZEOF_INT_FAST8_T */
#if H5_SIZEOF_UINT_FAST8_T != 0
static const PredType& NATIVE_UINT_FAST8;
#endif /* H5_SIZEOF_UINT_FAST8_T */
#if H5_SIZEOF_INT_FAST16_T != 0
static const PredType& NATIVE_INT_FAST16;
#endif /* H5_SIZEOF_INT_FAST16_T */
#if H5_SIZEOF_UINT_FAST16_T != 0
static const PredType& NATIVE_UINT_FAST16;
#endif /* H5_SIZEOF_UINT_FAST16_T */
#if H5_SIZEOF_INT_FAST32_T != 0
static const PredType& NATIVE_INT_FAST32;
#endif /* H5_SIZEOF_INT_FAST32_T */
#if H5_SIZEOF_UINT_FAST32_T != 0
static const PredType& NATIVE_UINT_FAST32;
#endif /* H5_SIZEOF_UINT_FAST32_T */
#if H5_SIZEOF_INT_FAST64_T != 0
static const PredType& NATIVE_INT_FAST64;
#endif /* H5_SIZEOF_INT_FAST64_T */
#if H5_SIZEOF_UINT_FAST64_T != 0
static const PredType& NATIVE_UINT_FAST64;
#endif /* H5_SIZEOF_UINT_FAST64_T */
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// Deletes the PredType global constants
static void deleteConstants();
// Dummy constant
static const PredType& PREDTYPE_CONST; // dummy constant
protected:
// Default constructor
PredType();
// Creates a pre-defined type using an HDF5 pre-defined constant
PredType( const hid_t predtype_id ); // used by the library only
#endif // DOXYGEN_SHOULD_SKIP_THIS
private:
// Added this to work around the atexit/global destructor problem.
// It'll help to terminate the library after other PredType instances
// are closed. -BMR, Mar 30, 2012
static const PredType AtExit;
// Activates the creation of the PredType global constants
static PredType* getPredTypes();
// Dynamically allocates PredType global constants
static void makePredTypes();
// Dummy constant
static PredType* PREDTYPE_CONST_;
// Declaration of pointers to constants
static PredType* STD_I8BE_;
static PredType* STD_I8LE_;
static PredType* STD_I16BE_;
static PredType* STD_I16LE_;
static PredType* STD_I32BE_;
static PredType* STD_I32LE_;
static PredType* STD_I64BE_;
static PredType* STD_I64LE_;
static PredType* STD_U8BE_;
static PredType* STD_U8LE_;
static PredType* STD_U16BE_;
static PredType* STD_U16LE_;
static PredType* STD_U32BE_;
static PredType* STD_U32LE_;
static PredType* STD_U64BE_;
static PredType* STD_U64LE_;
static PredType* STD_B8BE_;
static PredType* STD_B8LE_;
static PredType* STD_B16BE_;
static PredType* STD_B16LE_;
static PredType* STD_B32BE_;
static PredType* STD_B32LE_;
static PredType* STD_B64BE_;
static PredType* STD_B64LE_;
static PredType* STD_REF_OBJ_;
static PredType* STD_REF_DSETREG_;
static PredType* C_S1_;
static PredType* FORTRAN_S1_;
static PredType* IEEE_F32BE_;
static PredType* IEEE_F32LE_;
static PredType* IEEE_F64BE_;
static PredType* IEEE_F64LE_;
static PredType* UNIX_D32BE_;
static PredType* UNIX_D32LE_;
static PredType* UNIX_D64BE_;
static PredType* UNIX_D64LE_;
static PredType* INTEL_I8_;
static PredType* INTEL_I16_;
static PredType* INTEL_I32_;
static PredType* INTEL_I64_;
static PredType* INTEL_U8_;
static PredType* INTEL_U16_;
static PredType* INTEL_U32_;
static PredType* INTEL_U64_;
static PredType* INTEL_B8_;
static PredType* INTEL_B16_;
static PredType* INTEL_B32_;
static PredType* INTEL_B64_;
static PredType* INTEL_F32_;
static PredType* INTEL_F64_;
static PredType* ALPHA_I8_;
static PredType* ALPHA_I16_;
static PredType* ALPHA_I32_;
static PredType* ALPHA_I64_;
static PredType* ALPHA_U8_;
static PredType* ALPHA_U16_;
static PredType* ALPHA_U32_;
static PredType* ALPHA_U64_;
static PredType* ALPHA_B8_;
static PredType* ALPHA_B16_;
static PredType* ALPHA_B32_;
static PredType* ALPHA_B64_;
static PredType* ALPHA_F32_;
static PredType* ALPHA_F64_;
static PredType* MIPS_I8_;
static PredType* MIPS_I16_;
static PredType* MIPS_I32_;
static PredType* MIPS_I64_;
static PredType* MIPS_U8_;
static PredType* MIPS_U16_;
static PredType* MIPS_U32_;
static PredType* MIPS_U64_;
static PredType* MIPS_B8_;
static PredType* MIPS_B16_;
static PredType* MIPS_B32_;
static PredType* MIPS_B64_;
static PredType* MIPS_F32_;
static PredType* MIPS_F64_;
static PredType* NATIVE_CHAR_;
static PredType* NATIVE_SCHAR_;
static PredType* NATIVE_UCHAR_;
static PredType* NATIVE_SHORT_;
static PredType* NATIVE_USHORT_;
static PredType* NATIVE_INT_;
static PredType* NATIVE_UINT_;
static PredType* NATIVE_LONG_;
static PredType* NATIVE_ULONG_;
static PredType* NATIVE_LLONG_;
static PredType* NATIVE_ULLONG_;
static PredType* NATIVE_FLOAT_;
static PredType* NATIVE_DOUBLE_;
static PredType* NATIVE_LDOUBLE_;
static PredType* NATIVE_B8_;
static PredType* NATIVE_B16_;
static PredType* NATIVE_B32_;
static PredType* NATIVE_B64_;
static PredType* NATIVE_OPAQUE_;
static PredType* NATIVE_HSIZE_;
static PredType* NATIVE_HSSIZE_;
static PredType* NATIVE_HERR_;
static PredType* NATIVE_HBOOL_;
static PredType* NATIVE_INT8_;
static PredType* NATIVE_UINT8_;
static PredType* NATIVE_INT16_;
static PredType* NATIVE_UINT16_;
static PredType* NATIVE_INT32_;
static PredType* NATIVE_UINT32_;
static PredType* NATIVE_INT64_;
static PredType* NATIVE_UINT64_;
// LEAST types
#if H5_SIZEOF_INT_LEAST8_T != 0
static PredType* NATIVE_INT_LEAST8_;
#endif /* H5_SIZEOF_INT_LEAST8_T */
#if H5_SIZEOF_UINT_LEAST8_T != 0
static PredType* NATIVE_UINT_LEAST8_;
#endif /* H5_SIZEOF_UINT_LEAST8_T */
#if H5_SIZEOF_INT_LEAST16_T != 0
static PredType* NATIVE_INT_LEAST16_;
#endif /* H5_SIZEOF_INT_LEAST16_T */
#if H5_SIZEOF_UINT_LEAST16_T != 0
static PredType* NATIVE_UINT_LEAST16_;
#endif /* H5_SIZEOF_UINT_LEAST16_T */
#if H5_SIZEOF_INT_LEAST32_T != 0
static PredType* NATIVE_INT_LEAST32_;
#endif /* H5_SIZEOF_INT_LEAST32_T */
#if H5_SIZEOF_UINT_LEAST32_T != 0
static PredType* NATIVE_UINT_LEAST32_;
#endif /* H5_SIZEOF_UINT_LEAST32_T */
#if H5_SIZEOF_INT_LEAST64_T != 0
static PredType* NATIVE_INT_LEAST64_;
#endif /* H5_SIZEOF_INT_LEAST64_T */
#if H5_SIZEOF_UINT_LEAST64_T != 0
static PredType* NATIVE_UINT_LEAST64_;
#endif /* H5_SIZEOF_UINT_LEAST64_T */
// FAST types
#if H5_SIZEOF_INT_FAST8_T != 0
static PredType* NATIVE_INT_FAST8_;
#endif /* H5_SIZEOF_INT_FAST8_T */
#if H5_SIZEOF_UINT_FAST8_T != 0
static PredType* NATIVE_UINT_FAST8_;
#endif /* H5_SIZEOF_UINT_FAST8_T */
#if H5_SIZEOF_INT_FAST16_T != 0
static PredType* NATIVE_INT_FAST16_;
#endif /* H5_SIZEOF_INT_FAST16_T */
#if H5_SIZEOF_UINT_FAST16_T != 0
static PredType* NATIVE_UINT_FAST16_;
#endif /* H5_SIZEOF_UINT_FAST16_T */
#if H5_SIZEOF_INT_FAST32_T != 0
static PredType* NATIVE_INT_FAST32_;
#endif /* H5_SIZEOF_INT_FAST32_T */
#if H5_SIZEOF_UINT_FAST32_T != 0
static PredType* NATIVE_UINT_FAST32_;
#endif /* H5_SIZEOF_UINT_FAST32_T */
#if H5_SIZEOF_INT_FAST64_T != 0
static PredType* NATIVE_INT_FAST64_;
#endif /* H5_SIZEOF_INT_FAST64_T */
#if H5_SIZEOF_UINT_FAST64_T != 0
static PredType* NATIVE_UINT_FAST64_;
#endif /* H5_SIZEOF_UINT_FAST64_T */
// End of Declaration of pointers
#endif // DOXYGEN_SHOULD_SKIP_THIS
};
#ifndef H5_NO_NAMESPACE

View File

@@ -36,10 +36,60 @@ namespace H5 {
#endif // H5_NO_STD
#endif
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// This DOXYGEN_SHOULD_SKIP_THIS block is a work-around approach to control
// the order of creation and deletion of the global constants. See Design Notes
// in "H5PredType.cpp" for information.
// Initialize a pointer for the constant
PropList* PropList::DEFAULT_ = 0;
//--------------------------------------------------------------------------
///\brief Constant for default property.
// Function: PropList::getConstant
// Purpose: Creates a PropList object representing the HDF5 constant
// H5P_DEFAULT, pointed to by PropList::DEFAULT_.
// Exception H5::PropListIException
// Description
// If PropList::DEFAULT_ already points to an allocated object,
// throw a PropListIException. This scenario should not happen.
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
const PropList PropList::DEFAULT;
PropList* PropList::getConstant()
{
// Tell the C library not to clean up, H5Library::termH5cpp will call
// H5close - more dependency if use H5Library::dontAtExit()
if (!IdComponent::H5dontAtexit_called)
{
(void) H5dont_atexit();
IdComponent::H5dontAtexit_called = true;
}
// If the constant pointer is not allocated, allocate it. Otherwise,
// throw because it shouldn't be.
if (DEFAULT_ == 0)
DEFAULT_ = new PropList(H5P_DEFAULT);
else
throw PropListIException("PropList::getConstant", "PropList::getConstant is being invoked on an allocated DEFAULT_");
return(DEFAULT_);
}
//--------------------------------------------------------------------------
// Function: PropList::deleteConstants
// Purpose: Deletes the constant object that PropList::DEFAULT_ points to.
// Programmer Binh-Minh Ribler - 2015
//--------------------------------------------------------------------------
void PropList::deleteConstants()
{
if (DEFAULT_ != 0)
delete DEFAULT_;
}
//--------------------------------------------------------------------------
// Purpose Constant for default property.
//--------------------------------------------------------------------------
const PropList& PropList::DEFAULT = *getConstant();
#endif // DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
// Function Default constructor
@@ -54,7 +104,7 @@ PropList::PropList() : IdComponent(), id(H5P_DEFAULT) {}
///\param original - IN: The original property list to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
PropList::PropList(const PropList& original) : IdComponent(original)
PropList::PropList(const PropList& original) : IdComponent()
{
id = original.getId();
incRefCount(); // increment number of references to this id
@@ -258,6 +308,7 @@ void PropList::p_setId(const hid_t new_id)
// reset object's id to the given id
id = new_id;
}
#endif // DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------

View File

@@ -24,8 +24,8 @@ namespace H5 {
//! Class PropList provides operations for generic property lists.
class H5_DLLCPP PropList : public IdComponent {
public:
// Default property list
static const PropList DEFAULT;
///\brief Default property list
static const PropList& DEFAULT;
// Creates a property list of a given type or creates a copy of an
// existing property list giving the property list id.
@@ -110,12 +110,26 @@ class H5_DLLCPP PropList : public IdComponent {
// Destructor: properly terminates access to this property list.
virtual ~PropList();
protected:
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// Deletes the PropList global constant
static void deleteConstants();
protected:
hid_t id; // HDF5 property list id
// Sets the property list id.
virtual void p_setId(const hid_t new_id);
private:
static PropList* DEFAULT_;
// Dynamically allocates the PropList global constant
static PropList* getConstant();
// Friend function to set PropList id. For library use only.
friend void f_PropList_setId(PropList* plist, hid_t new_id);
#endif // DOXYGEN_SHOULD_SKIP_THIS
};

View File

@@ -20,6 +20,7 @@
#include "H5IdComponent.h"
#include "H5PropList.h"
#include "H5Object.h"
#include "H5OcreatProp.h"
#include "H5DcreatProp.h"
#include "H5CommonFG.h"
#include "H5DataType.h"

View File

@@ -20,6 +20,7 @@
#include "H5IdComponent.h"
#include "H5PropList.h"
#include "H5Object.h"
#include "H5OcreatProp.h"
#include "H5DcreatProp.h"
#include "H5CommonFG.h"
#include "H5DataType.h"

View File

@@ -40,7 +40,6 @@ class H5_DLLCPP VarLenType : public DataType {
// Noop destructor
virtual ~VarLenType();
protected:
// Default constructor
VarLenType();
};

Some files were not shown because too many files have changed in this diff Show More