Commit Graph

359 Commits

Author SHA1 Message Date
Allen Byrne
f960ff573e [svn-r20312] Change incorrect use of "struct stat" to use "h5_stat_t".
Also removed includes from top of file - they are included with proper config checks in h5private.h.
Changed name of Windows only gettimeofday function to avoid a define loop according to VS2008

Tested: local linux, windows
2011-03-24 12:21:42 -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
Quincey Koziol
c087ecdbde [svn-r20048] Description:
Bring Coverity changes back to trunk:

r19733:
Fix memory leak in h5perf_serial.  Global buffer "buffer2" was allocated at the
beginning of do_sio() but never freed.  Added call to free() at end of do_sio().

r19734:
Fix memory leak in iopipe.  Buffer "the_data" was allocated at the beginning of
main() but never freed.  Added call to free() at end of main().


Tested on:
    Coverity branch in daily tests & Mac
2011-02-04 21:41:22 -05:00
Albert Cheng
ea7073d72a [svn-r20019] Bug 2019: h5perf or h5perf_serial is removed twice. Some systems like AIX do
not like it as it may get into a racing condition when "gmake -j N" is used--
two "rm" commands were trying to remove the same file.

Solution:
Rearranged the Makefile.am so that h5perf or h5perf_serial are built only
once, that is through bin_PROGRAMS only.

Bug 2135: h5perf_serial is not installed in --enable-parallel build.
It was because in parallel build, h5perf_serial is not was not in the
bin_PROGRAMS list but it was still being built and tested.

Solution:
Rearranged the Makefile.am code so that h5perf_serial is installed too.
(It is easier to make cleaner code to install it than to build and test
h5perf_serial but not test it.)

Tested: Jam, both serial and parallel.
Did not run h5committest because the changes are in perform/ directory only
and I think Jam has given the changes in Makefile a complete test already.
2011-01-28 18:58:14 -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
Allen Byrne
86313eb281 [svn-r19895] Remove use of /MT compile flag for building static libs and programs. Added BUILT_AS_STATIC_LIBRARY define to set the windows import/export defines correctly for static libraries. 2010-12-29 13:52:34 -05:00
Allen Byrne
614cd7c0b1 [svn-r19884] Corrected time_of_day define configuration, found during parallel CMake build.
Tested: local linux
2010-12-13 08:31:44 -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
0bb0aa86e7 [svn-r19823] BZ2013: Remove use of WIN32 defines. These two files were dependent on the winsock2.h header so changed WIN32 to H5_HAVE_WINSOCK_H.
Tested: windows
2010-11-18 12:37:57 -05:00
Albert Cheng
c249ccfd15 [svn-r19796] Bug 2091: remove all Metraowerks compiler code bracheted by __MWERKS__.
Metraowerks compiler is no more. Make the code cleaner.

Tested: H5committest plus jam serial.
2010-11-16 16:40:04 -05:00
Allen Byrne
52ddd8e329 [svn-r19686] Spelling mistake in TARGET_WIN_PROPERTIES broke cmake configuration 2010-10-28 09:41:23 -05:00
Allen Byrne
1f2c4afe77 [svn-r19527] Add clear generated objects commands to test blocks.
Add configurefile command to copy CTestCustom to build folder.

Tested: local linux
2010-10-06 15:49:54 -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
Albert Cheng
a48caa2db5 [svn-r19217] Bug 1986, error1.
It is an error to use the condition H5_HAVE_FSEEK64 to control the definition
of HDlseek. It caused errors in AIX where lseek64 is available.

Replaced it with H5_HAVE_LSEEK64. Also added the missing HDstrcasecmp macro.

Tested: AIX using default and --disable-largefile.
2010-08-10 11:42:07 -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
c09abb3250 [svn-r18965] Windows use of VC_EXTRALEAN no longer did anything. It has been replaced by WIN32_LEAN_AND_MEAN macro. This was the cause of a define conflict causing the use of grp1 and grp2 to be replaced with constants in the h5dumpgentest.c file.
This also affected the use of the #include <winsock.h> needed by gethostname. The new include: winsock2.h has been added to h5private.h and either removed or updated in the other files.

Tested:  Windows
2010-06-03 17:22:34 -05:00
Quincey Koziol
9f90e06bd0 [svn-r18917] Description:
Bring r18911 (plus some adaptions to match the code on the trunk)
from the metadata journaling "merging" branch to the trunk:

	More general changes to align trunk with eventual changes from
metadata journaling branch.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
        Mac OS X/32 10.6.3 (amazon) in debug mode
        Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
2010-05-27 15:27:13 -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
Allen Byrne
68fa42f336 [svn-r18759] pull r18757 from 1.8 branch
Enable tools lib to be built as a dll on windows. Added two get/set functions for progname and d_status.
Also add windows import/export declarations to functions.
Updated error_mesg() and warn_mesg() to remove progname argument and use get functions

Tested:
   Windows, linux
2010-05-11 15:10:25 -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
Allen Byrne
bb248deb5b [svn-r18581] Changes made to allow building programs on windows machines.
Tested:
   Windows, Local linux
2010-04-15 16:26:43 -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
bcd6c3f7cc [svn-r18420] Description:
Re-run bin/reconfigure to catch up with recent rearrangements, remove some
unused srcdir headers and duplicated code in main test header.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & prod
    Linux/32 2.6 (jam)
2010-03-18 07:45:29 -05:00
Quincey Koziol
1809f040c9 [svn-r18419] Description:
Clean up srcdir querying code more, extracting it into single header file,
to avoid compiler warnings.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & prod
    Linux/32 2.6 (jam)
2010-03-18 07:23:04 -05:00
Quincey Koziol
cd2534d9ba [svn-r18418] Description:
Centralize common code for srcdir lookups.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & prod
    Linux/32 2.6 (jam)
2010-03-18 07:04:39 -05:00
Quincey Koziol
0ac03c7890 [svn-r18414] Description:
Add copyright to new files
2010-03-17 16:48:09 -05:00
Quincey Koziol
fd547cd11f [svn-r18413] Description:
Unify srcdir handling for test executables and allow them to use the srcdir
setting from configure time without requiring the 'srcdir' environment variable
be set (although you still can, to override the built in setting).  Attempted
to get this right for Windows builds also.

    Also add dependency between src/H5Tinit.c and src/libhdf5.settings, so
that the test/testcheck_version.sh script works correctly.

Tested on:
    Linux/32 2.6 (jam)
    Mac OS X/32 10.6.2 (amazon)
2010-03-17 16:38:20 -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
Quincey Koziol
b7e35aef0e [svn-r17924] Description:
Add detection for POSIX lstat() routine to configure script (mostly for
non-UNIX/Linux machines) and add macro wrapper for it.

	Alphabetatize the system/library calls we test for, to make them easier
to read.

	Removed the sigaction() detection & macro wrappers, since it's not
used by the distribution currently.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
        Mac OS X/32 10.6.2 (amazon) in debug mode
        Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
2009-11-23 16:34:51 -05:00
Albert Cheng
f747b55895 [svn-r17716] Cosmetic change to use exit(EXIT_FAILURE) instead of exit(1).
Tested: jam-pp.
2009-10-21 13:55:45 -05:00
Mike McGreevy
7f0eb8e04e [svn-r17627] Purpose:
Couple quick configure cleanups

Description:

    - Made a few AM_LDFLAGS assignments a bit safer. 

    - Regenerated a couple Makefile.in's via bin/reconfigure to address
    some typo-fixes that didn't propagate in my last check-in.

Tested:

    - h5committest
    - Also, I suspect this fix will address a failure on Sandia's clogin2 
    machine, but Albert currently has no password to gain access, so I have
    only minimal logs of the failure and no way to test it there. I'll
    just let the automated tests there determine if indeed I'm right.
2009-10-09 15:12:06 -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
Albert Cheng
8d8f365711 [svn-r17606] Code Cleanup:
TFLOPS machine has retired long ago. Removed all code specific for its
support.

Test:
h5committested.
2009-10-07 00:08:05 -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
Quincey Koziol
e99906f517 [svn-r17268] Description:
Bring r17266 from 1.8 branch to trunk:

    Clean up various compiler warnings from IRIX64 build

Tested on:
    Mac OS X/32 (amazon) debug & production
    (yes, I know it's not an IRIX64 system :-)
    Too minor to require h5committest
2009-07-29 20:59:24 -05:00
Mike McGreevy
6a00b1b6ff [svn-r17228] Purpose:
Fix BZ #1583

Description:

    The --enable-static-exec flag was broken. Configure was adding the 
    -all-static linker flag to an environment variable which was subsequently
    never used. (looks like it was used in 1.6 Makefile.ins, but never
    moved to 1.8's Makefile.ams when we added automake support).

    To fix, I've added this environment varibale to the link lines of all the
    tools. Now, when --enable-static-exec is invoked, it will correctly
    generate statically linked executables in the installed bin directory.

Tested:

    I've tested manually to ensure that the generated execs are static when
    the flag is used and dynamic when not. I've also tested when szip is
    used, as this was a use case mentioned in the bug report.

    Also: ran full tests with make check on jam and smirom for good measure.
2009-07-23 15:04:18 -05:00
Allen Byrne
d2ef2af9b2 [svn-r16969] Updated perf_serial test to work on windows.
Tested:
Windows and h5committest
2009-05-21 10:40:03 -05:00
Neil Fortner
8c074d5c03 [svn-r16807] Purpose: Fix bug 1533
Description:
Previously, there was no versioning for H5Z_class_t.  This prevented applications
written for 1.6 using custom filters from being able to use the 1.8 library.
There is now an H5Z_class1_t and H5Z_class2_t to enable compatibility.  H5Zregister is
*not* versioned, it determines which version of the struct has been passed in by the
value of the first field (id or version, both are ints).

Tested: jam, linew, smirom (h5committest), jam (--with-default-api-version=v16)
2009-04-20 14:12:19 -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
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
Quincey Koziol
b4ff3e6e79 [svn-r16560] Description:
Remove another call to H5E_clear_stack() from within the library.

    Clean up lots of compiler warnings.

Tested on:
    Mac OS X/32 10.5.6 (amazon)
    (followup on other platforms forthcoming)
2009-03-10 14:00:39 -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
Allen Byrne
5d69e87ff0 [svn-r16489] Fixed bug #1459 by eliminating the macro long_long and replacing all instances with long long.
Tested:
   h5comittest
   fedora 10 x64
   Vista 32, VS2005, IVF101
   XP32, Cygwin
2009-02-18 15:02:05 -05:00
Frank Baker
5393933154 [svn-r16340] Description:
Changed 'THG' to 'The HDF Group' in various HDF5 source files,
        most of which are <subdirectory>/COPYING.
    -- Closes Bugzilla entry 1403.
2009-01-22 15:53:59 -05:00
Albert Cheng
0ac6d940c3 [svn-r16170] Code clean up.
Function get_unique_name() had potential string overflow problem.
Fixed. Also removed some unused macros.

Tested by h5committest.
2008-12-08 23:08:24 -05:00
Albert Cheng
064fee6e8e [svn-r16167] Bug fix: 1089
Description:
One open() call with O_CREAT flag did not have the third required argument.

Solution:
Added the right third argument. Also changed all open() calls to HDopen
macros for more portable coding.

Tested:
h5committested.
2008-12-08 21:28:05 -05:00