Commit Graph

278 Commits

Author SHA1 Message Date
Mike McGreevy
98362b664c [svn-r20504] Purpose:
General shared library improvements for CYGWIN / AIX

Description:

    Shared libraries are disabled on both CYGWIN and AIX due
    to inability to build them correctly. Part of the problem
    in both of these situations is the lack of the libtool
    flag -no-undefined, which tells libtool that all needed
    symbols are defined at link time (a requirement on these
    systems) and that it's okay to build shared libraries.

    Another problem are lack of dependencies between wrapper
    libraries and core C HDF5 library.

    This patch addresses both of these by fixing configure to
    add in -no-undefined flag for libtool during linking and
    adds automake dependencies in the Makefile.am files.

    After testing, both CYGWIN and AIX now generate shared
    libraries, but there are still some test failures in each.
    (cache_api, dt_arith, and testerror.sh on CYGWIN, and
    fortran tests on AIX).

    Even though the shared libraries are not quite perfect,
    this is a general improvement to what we had before, so
    I'm applying the patch anyways. Note that default behavior
    of shared libraries on these systems being disabled has
    NOT been changed and requires the use of the
    --enable-unsupported to attempt to build them.

    We will need to address the test failures in each
    architecture prior to formally supporting shared
    libraries on each.

Tested:

    h5committested & CYGWIN tested (on bangan)
    (AIX tested by Albert on bp-login2)
2011-04-14 16:21:59 -05:00
Mike McGreevy
a45c7424b2 [svn-r20502] Purpose:
Add "silent make" mode configure option.

Description:

    Automake 1.11 has a new option available that allows for a
    silent make mode. This functionality needs to be explicitly
    enabled in configure.in via the use of the automake macro
    AM_SILENT_RULES, which is what this commit is adding.

    This introduces a new configure option: 

        --{en|dis}able-silent-rules

    This option is on by default, and simplies compile and link
    line outputs when building the library. Disabling this option
    will print full "verbose" output (i.e., full compile and
    linking lines for each target).

Tested:

    This was tested on jam & h5committested
2011-04-14 14:45:57 -05:00
Raymond Lu
6fc1d05359 [svn-r20487] Bug 1386 - allow dimension size to be zero even though it isn't unlimited. This is a follow-up checkin for
r20440 and r20469:
  1. The dataspace code has another bug - when the maximal dimension isn't passed in for H5Sset_extent_simple, it
     is supposed to be same as the dimension.  The current library sets NULL to it.  I corrected it and added a
     test case to it.
  2. I corrected the tests of Fortran and C++ for this problem.

Tested on heiwa, jam, and amani.
2011-04-12 15:25:27 -05:00
Mike McGreevy
e006157deb [svn-r20475] Purpose:
- Revise shared Fortran library disabling scenarios in configure
    - Improve configure output summary

Description:

    Shared Fortran libraries are not supported on Mac, but were being
    disabled by configure in a way that also forced the C libraries
    to be static-only. This has been fixed, so now only shared Fortran
    is disabled while shared C can remain.

    This prompted two additional changes:

        1. While working on the check that addresses whether or not
           shared Fortran libraries are allowed, removed old and no
           longer needed check(s) that disable shared Fortran
           libraries with HP, Intel 8, PGI, and Absoft compilers.
           (Essentially, Mac is the only situation in which Fortran
           shared are disabled by configure.)

        2. Having two different states of libraries (i.e. shared C
           library with static-only Fortran library) was not apparent
           in the configure summary, which labeled all libraries as
           either shared and/or static. I've added lines to both the
           C++ and Fortran output sections to list shared/static-ness
           of these libraries specifically.

    Additionally, I've made sure that the new --enable-unsupported
    configure option correctly overrides configure if it tries to
    disable a shared library.

Tested:

    jam, fred, & h5committest
2011-04-11 16:00:38 -05:00
Raymond Lu
3e8dc8cccc [svn-r20315] brought revisions 19868:20300 from the 1.8.6_vms branch to the trunk for VMS work 2011-03-24 13:33:45 -05:00
Allen Byrne
1a12719753 [svn-r20201] Order fflush tests - fflush2 DEPENDS on fflush1 2011-03-08 14:50:51 -05:00
Allen Byrne
05dfc85de8 [svn-r20153] Move ext lib handling for ext project building to a common macro. Update HDF5 project to use HDFMacros.cmake file. Add test properties for test ordering.
Tested: local linux, windows
2011-02-24 14:43:07 -05:00
Allen Byrne
5d320f5c89 [svn-r20141] Bring 1.8 r20139 cmake and windows changes to trunk 2011-02-22 09:55:04 -05:00
Elena Pourmal
ba13827093 [svn-r20033] Porblem: A typo caused compilation failures with gfortran 4.6 on fred.
Fixed.

Platforms tested: fred and jam (minor change)
2011-02-02 20:24:52 -05:00
Allen Byrne
451d98b6ac [svn-r19914] Correct format of empty parameter
bring r19913 from 1.8
2011-01-05 13:29:22 -05:00
Allen Byrne
96b2abb9bd [svn-r19910] Change how LINK_FLAGS for fortran are appended on Windows - correct for just shared libs 2011-01-05 10:03:50 -05:00
Allen Byrne
02888be7f2 [svn-r19909] Change how LINK_FLAGS for fortran are appended on Windows
bring r19908 from 1.8 branch
2011-01-05 09:46:08 -05:00
Allen Byrne
9449cfa361 [svn-r19907] Windows: Correct how fortran links in CRT library. Also correct macro use for checking libtype.
bring r19906 from 1.8 branch
2011-01-04 13:40:26 -05:00
Larry Knox
72634b34e4 [svn-r19839] Updated to libtool v 2.4, autoconf 2.68 and m4-1.4.15.
Tested with h5committest on amani, heiwa, and jam.
2010-11-23 17:56:59 -05:00
Allen Byrne
342ce6b589 [svn-r19509] Improve CMake support for CYGWIN.
Correct script comment in testh5diff.sh

Tested: Windows Cygwin
2010-10-04 16:36:27 -05:00
Larry Knox
155b00d8ff [svn-r19506] Bring changes from revisions 19408, 19421, and 19442 from branches/hdf5_1_8 to trunk. These revisions reorganize the compile scripts using h5cc.in, h5fc.in, and h5c++.in, add checks for installed examples to the scripts that run them after installation, and add DESTDIR for install as needed for RPMs.
Tested on amani, heiwa and jam by h5committest and with CYGWIN.
2010-10-04 12:15:30 -05:00
Larry Knox
47c792faa0 [svn-r19366] Updated autoconf to version 2.6.7, libtool to version 2.2.10, and m4 to version 1.4.14. Also added m4 directory for m4 macros according to autoconf suggestion.
Tested with h5committest on amani, jam, and heiwa, and on linew.
2010-09-10 10:45:07 -05:00
Allen Byrne
bed1276413 [svn-r19361] Move Windows specific compile and link flags to macros 2010-09-09 11:30:23 -05:00
Allen Byrne
e65aa8c365 [svn-r19325] Added parallel build commands.
Corrected use/name of source folder aliases.
Duplicated FindMPI.cmake so that non-c++ compiler is found first (recommemded commands did not work).

Tested: local linux with mpich
2010-08-31 15:15:13 -05:00
Larry Knox
10a8b060ca [svn-r19059] Brought changes from hdf5_1_8 to add version information for fortran and c++ compilers in libhdf5.settings file and configure output (r18836), to install examples as part of make install (r18680), and to provide scripts to compile and run the examples after they are installed (r18817).
Tested with new/h5committest on amani, heiwa, and jam.
2010-07-08 21:52:14 -05:00
Allen Byrne
2f13382883 [svn-r19037] Added executable Linker Flag for MSVC static builds: /NODEFAULTLIB:MSVCRT
Added VERSION vars for inclusion into auto snapshot version update script

Tested windows
2010-06-29 15:09:03 -05:00
Allen Byrne
ae06433ab0 [svn-r18793] Add files to support building library with CMake
Tested: Local linux
2010-05-13 11:01:50 -05:00
Mike McGreevy
f0ecd71307 [svn-r18709] Purpose:
Improve configure's large-file support control.

Description:

    Modified configure to now attempt to add defines necessary for
    supporting largefiles on all systems, instead of solely on linux. This 
    is in response to user requests to enable largefile support on Solaris 
    by default, as well as to give extra control on AIX (instead of just 
    jamming the necessary flag into the config files).

    The old --enable-linux-lfs flag has been removed in favor of the 
    --enable-largefile flag (enabled by default), which can be used on all
    platforms.

    On systems where large files cannot be supported in this manner,
    configure will report as such.

Tested:

    h5committest
    AIX (NCSA's blue_print machine)
    duty, liberty, and linew.
2010-05-05 12:34:26 -05:00
Mike McGreevy
0cf2a97cfb [svn-r18579] Purpose:
Autotool Upgrade / Libtool Bug Fix

Description:

    Updated autotools referenced in bin/reconfigure as follows:

    Autoconf 2.64 --> Autoconf 2.65
    Automake 1.11 --> Automake 1.11.1
    Libtool 2.2.6a --> Libtool 2.2.6b-mcg

    The referenced libtool version is a custom version of 2.2.6b. It 
    has been tweaked to fix a bug in libtool that occurs
    when using PGI 10.0 compilers. A check incorrectly categorizes
    the C++ compiler as version 1.0 instead of 10.0, and the link
    line is subsequently set up incorrectly and fails to compile.

    A patch has been made available and will be included in the next
    release of libtool, but in the meantime I've applied the patch to a custom
    installation as indicated above. This bin/reconfigure now references
    the custom installation, and the resulting configure script will correctly
    categorize the PGI 10.0 C++ compiler.

    Ran bin/reconfigure to regenerate configure and makefiles.

Tested:

    jam and amani with PGI 10.0 compilers.
    h5committest
2010-04-15 16:17:22 -05:00
Quincey Koziol
fd70b2afa8 [svn-r18197] Description:
Trim trailing whitespace from source code files with this command:

find . \( -name "*.[ch]" -or -name "*.cpp" -or -name "*.f90" \) -print |xargs -n 1 sed -i "" 's/[[:blank:]]*$//'

Tested on:
    None - eyeballed only
2010-01-29 23:29:13 -05:00
Quincey Koziol
fcc03a356b [svn-r18157] Description:
Bring back changes from Coverity session on 1/15/10:

r18111:
Fix Coverity issue #130: make certain that the cache gets freed on error.

r18112:
Fix Coverity issue #43 by making cache testing calls protected by 'pass'
variable.

r18113:
Fix Coverity issue #129 by releasing the cache on error.

r18115:
Coverity #45 fix: patched an error check in H5Screate_simple to prevent future dereferencing of a NULL point.
Added a verification in test/th5s.c.

r18116:
Fix Coverity issue #43 by releasing cache on error.

r18117:
Coverity #362,363 by adding HGOTO_DONE, freeing allocations and associated changes. REsolving coverity results #364-368, 369, 370-372, 377, 379, and 380.

r18118:
Fix Coverity issue #42: assert that cache & test specification pointer are
valid.

r18122:
Coverity #362,363 by adding HGOTO_DONE and freeing allocations. This also takes care of #357,358.

r18123:
Coverity #359-361, 373-376: Added HGOTO_DONE(FAIL) statement after checking allocation for NULL. Verified allocation is freed in done block.

r18128:
Fixed coverity issue #10 -- removed dead code.

Tested on:
    Mac OS X/32 10.6.2 (amazon)
2010-01-22 23:39:40 -05:00
Albert Cheng
22da4232a4 [svn-r18107] bug 1673:
The mixed use of RUNTEST (original) and RUNTESTS (new) caused
confusion. E.g., the timings in test/ was still using the old
$RUNTEST.  It made more sense to use $RUNTEST which is used
by the dejagnu feature of automake.  So, I changed all
$RUNTEST or $RUNTESTS to $RUNEXEC.

config/commence.am & config/conclude.am are the two files
that got changes. Also fixed an error in test/Makefile.am.
The rest are changed by bin/reconfigure.

Tested: h5committested.
2010-01-12 18:58:30 -05:00
Scot Breitenfeld
e166bc571d [svn-r18098] Description:
Changed the link type definitions to match the changes made in the source. 
-                                     !  H5L_LINK_SOFT_F      - Soft link
-                                     !  H5L_LINK_EXTERNAL_F  - External link
-                                     !  H5L_LINK_ERROR _F    - Error
+                                     !  H5L_TYPE_HARD_F      - Hard link
+                                     !  H5L_TYPE_SOFT_F      - Soft link
+                                     !  H5L_TYPE_EXTERNAL_F  - External link
+                                     !  H5L_TYPE_ERROR _F    - Error

Tested: jam (intel)
2010-01-08 16:25:29 -05:00
Mike McGreevy
7ec079a515 [svn-r17616] Purpose:
CFLAGS overhaul

Description:

    Modified the way configure handles CFLAGS.

    (note: all changes also apply to FCFLAGS, CXXFLAGS, CPPFLAGS, and LDFLAGS).

    1. The configure process will now always preserve a user's CFLAGS
    environment variable setup. Any additional flags necessary for compilation
    added at configure time will be passed into the Makefiles as AM_CFLAGS,
    which is an automake construct to be used in addition to CFLAGS.

    This will allow a user to have the final say, as CFLAGS will always appear
    later in the compile line than AM_CFLAGS. Additionally, setting CFLAGS
    during make will no longer completely erase all flags set by configure,
    since they're maintained in AM_CFLAGS.

    2. Additionally, where possible, flags previously being assigned directly
    into CFLAGS (and thus propagating into h5cc) have now been redirected into
    H5_CFLAGS, so they're used ONLY for compiling hdf5, and not embedded into
    the h5cc wrapper script as well.

    *Note that H5_CFLAGS ultimately is assigned into AM_CFLAGS for use in the
    Makefiles. Complete description of changes and build process will be
    included in a Configure Document that Elena and I are working on.

    3. Removed unsupported config files. This includes:

       config/dec-osf*
       config/hpux11.00
       config/irix5.x
       config/powerpc-ibm-aix4.x
       config/rs6000-ibm-aix5.x
       config/unicos*

     4. Modified configure summary to display additional values. Specifically,
     appropriate AM_* variables are being shown, as well as H5_FCFLAGS and
     H5_CXXFLAGS, which were for some reason not already present.

Tested:

    - H5committest
    - Tested on all THG / NCSA machines, using several combinations of the more
      prominent configure options (c++, fortran, szip, threadsafe, parallel,
      et cetera). (Thanks to Quincey for rysnc testing setup!)
    - With regards to new automated testing, anything *necessary* for
      compilation will be caught by the daily tests as it stands now. (i.e.,
      if LDFLAGS is not properly set when szip is used, linking will fail).
      Additionally, with regards to which flags get into h5cc, if any
      *necessary* flags have been improperly removed, then daily tests should
      fail during make installcheck. Additional machine-specific desired
      behaviors and/or checks may have to be set up separately within the
      daily tests, so this is something to work on.
2009-10-08 10:17:30 -05:00
Scot Breitenfeld
84527bc7ac [svn-r17482]
Bug 1652 -  h5lget_info_by_idx_f missing/broken functionalit
  * added returned val_sel, link_type and address that were missing

In the process, fixed the integer type in H5lget_info_f for address and val_sel

  * wrote test for val_sel, address, and link_type returned values

  * to check address values added h5Oopen_by_addr_f function and test program.

Tested: smirom (pgf90/pgcc, ifort/icc)
        linew
        jam (gcc/g95)
2009-09-15 15:19:02 -05:00
Mike McGreevy
4598a59f86 [svn-r17345] Purpose:
Updating autotools

Description:

    Installed new autotools and used them to reconfigure HDF5.

    - Automake upgraded to 1.11
    - Autoconf upgraded to 2.64
    - bin/reconfigure script edited to use new versions (on jam), and
      run to generate new configure script and Makefile.in's.
    - configure.in script edited to add "_cv_" to all AC_CACHE_VAL strings
      (in order to comply with new autoconf standard).
    
Tested:

    Tested on machines jam, smirom, liberty, linew.
    Tested w/ features c++, fortran, parallel.
    Tested w/ compilers gcc, pgcc, icc.

    Further testing via Daily Tests should catch any other outliers. Upon
    passing DT's, I'll propogate the new tools into 1.8, hdf4, et cetera.
2009-08-12 13:55:25 -05:00
Scot Breitenfeld
2bb5d04019 [svn-r17222] Description:
Added filename argument to file_space routine to avoid conflicts of the files when running fortranlib_test_1_8.f90 and fortranlib_test.f90 at the same time (i.e. when running the tests in parallel).

tested: smirom (ifort, pgf90, g95, gfortran), linew
2009-07-22 10:25:03 -05:00
Scot Breitenfeld
4336eea98e [svn-r16797] Changed
H5D_CHUNK_CACHE_NSLOTS_DEFAULT_F
H5D_CHUNK_CACHE_NBYTES_DEFAULT_F
H5D_CHUNK_CACHE_W0_DEFAULT_F

to

H5D_CHUNK_CACHE_NSLOTS_DFLT_F
H5D_CHUNK_CACHE_NBYTES_DFLT_F
H5D_CHUNK_CACHE_W0_DFLT_F

to get under the 31 limit for variable names
2009-04-20 11:00:09 -05:00
Mike McGreevy
bc36a358d1 [svn-r16792] Description:
- Updated bin/reconfigure to use latest version of automake (1.10.2). 
      Re-generated Makefile.in's by running bin/reconfigure.

    - Added libtool version numbers to c++, fortran, hl, hl c++, and hl fortran
      libraries.

Tested:

    jam, liberty, smirom
2009-04-20 01:00:11 -05:00
Scot Breitenfeld
b0cecde98b [svn-r16780] Description:
Added tests for the new APIs:

H5D_H5DGET_ACCESS_PLIST_F
H5I_H5IIS_VALID_F
H5P_H5PSET_CHUNK_CACHE_F
H5P_H5PGET_CHUNK_CACHE_F

Platforms tested: 

smirom: pgf90, ifort
linew
liberty: gcc43, gfortran43, gcc44, gfortran44
2009-04-17 12:13:01 -05:00
Mike McGreevy
893b8bffee [svn-r16561] Purpose:
Bug Fix

Description:

    Fixing BZ #1381. The --includedir=DIR configure option, which is used
    to specify the installation location of C header files, did not work
    correctly as the path was hard-coded in config/commence.am. I'm presuming
    this is because an older version of automake didn't know where to put
    c header files. In any case, removing this line now defaults the includedir
    to the same directory that it is currently hard-coded to, and also fixes
    the configure flag to allow customization of this value.

Tested:

    jam, liberty
2009-03-10 16:01:50 -05:00
Pedro Vicente Nunes
f8c5384aa5 [svn-r16518] have 2 expected outputs for 2 h5ls runs depending if run on a big or little endian machine. Configure.in was modified to export a variable carrying endianess information to testh5ls.sh. This script then compares the current run with 2 expected outputs, one for a big-endian machine (linew was used to generate the output), other for little endian (jam was used to generate the output)
the way h5ls prints types, it starts searching for NATIVE types first. One solution would be h5ls not to detect these native types, using for example the same print datatype function that h5dump does, that would make the output look the same on all platforms  ("32-bit little-endian integer" would be printed instead).  Drawback, this "native" information would not be available. Other solution is to have not one but 2 expected outputs and make the shell script detect the endianess and compare with one output or other
tested: h5committest
2009-02-26 15:21:50 -05:00
Scot Breitenfeld
9a38a8965c [svn-r16235] Description:
Cosmetic changes, Also tested -r16231 on:

Jam (intel 10.1)
Smirom (intel 10.1)
2008-12-30 12:30:17 -05:00
Scot Breitenfeld
0e779a215c [svn-r16231] Description:
Added chunk property to the data set because changes in the cC function H5Dset_extent now require/check that the data set is chunked.
2008-12-30 11:27:29 -05:00
Mike McGreevy
a664274624 [svn-r15942] Purpose: Bug Fixes and Libtool Upgrade
Description:
     - Remove need to set LD_LIBRARY_PATH when using shared szip library.

     - Libtool 2.2.6a is now used to generate libraries.

     - 'make check install' dependency bug is fixed, and should no longer
       break the build. 
  
     - removed hard coding of shell in config/commence.am, as this causes
       problems on Solaris with the new version of libtool.
   
     - RELEASE.txt with appropriate changes.

Tested:
     - kagiso, smirom, linew (merged from 1.8, pretty quick tests)
2008-10-24 12:19:34 -05:00
Scot Breitenfeld
8e9bb8af7c [svn-r15749] Description:
Removed blank lines
2008-10-01 14:57:52 -05:00
Scot Breitenfeld
393100b2b6 [svn-r15737] Description:
Changed the tests so that the *.h5 test files are removed depending on the HDF5_NOCLEANUP environment variable.
bug 696
2008-09-30 16:05:39 -05:00
Raymond Lu
6f5d0e22f3 [svn-r15704] I changed the return values of H5Fget_obj_ids and H5Fget_obj_count to ssize_t and modified
C++ and Fortran API functions.  This is for bug #1245. 

Tested on smirom, linew, and kagiso.
2008-09-26 13:55:32 -05:00
Scot Breitenfeld
41e1d56e32 [svn-r15696] Description:
Fix for test of H5Tget_native_type_f
2008-09-25 09:57:47 -05:00
Scot Breitenfeld
f85aafd50d [svn-r15693] Description:
Added test for h5tget_native_type_f
2008-09-24 15:00:54 -05:00
Scot Breitenfeld
457514fab7 [svn-r15692] Description:
Added the optional 'mounted' variable to H5Gget_info_by_idx_f/H5Gget_info_f/H5Gget_info_by_name_f to see that it passes the correct values.
2008-09-24 12:51:57 -05:00
Scot Breitenfeld
acf7dd2c74 [svn-r15689] Description:
Added additional tests for h5sget_select_bounds_f
2008-09-24 11:23:54 -05:00
Scot Breitenfeld
844a56e79b [svn-r15688] Description:
Added additional tests for h5sget_select_hyper_blocklist_f
and 5sget_select_elem_pointlist_f
2008-09-23 16:52:19 -05:00
Scot Breitenfeld
60534aa268 [svn-r15633] Description:
Added test routines for h5t_get/set_fields_f.
2008-09-16 12:31:33 -05:00
Scot Breitenfeld
121acf4bb4 [svn-r15423] Description:
Fix the error of passing an array to a scalar.
2008-07-29 09:15:47 -05:00