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
Corrected debug configuration of examples project file
Updated windows batch file to match the testh5diff.sh script change in rev 17466.
Tested: windows
Deleted obsolete vnet project files as it is no longer supported for HDF55 1.9 and above
Removed references from batch build files.
Release documents still need to be updated.
Tested XP32 VS2005
Description:
Three new tests were added to the h5repack test script in rev.16802. This checkin brings those new tests to Windows as well.
Tested:
VS2005 on WinXP x64
Description:
A user discovered that the HDF5 1.8.2 Windows release binaries were missing a few of the HDF5 tools. This is due to the Windows install script, which simply didn't include them. This commit fixes the install script to include h5copy, h5mkgrp, and h5stat
Tested:
VS2005 w/ WinXP, build and install only
h5repack.bat - added test to match script file from rev 16402
set_extent.vcproj - added WS2_32.lib for change to set_extent from rev 16406
h5pubconf.h - added C99 undef to sync with *nix configuration
Tested:
Vista32, XP32, XP64 using VNET, VS2005 VS2008
Description:
Recently the new source file H5EAdbkpage.c was added to the main library source code. This checkin also adds it to the Windows project files.
Note: Windows builds are still failing on the earray test, although for other reasons. I'm also looking into this.
Tested:
VS2005 on WinXP
Description: Bring changes from the various tool test scripts to Windows.
testh5copy.bat: add syntax for tests which expect h5diff to fail, and apply them to existing tests
testh5diff.bat: add a new test for "contents mode"
testh5dump.bat: modify some tests to use the new "-b *" and "-b NATIVE" syntax
h5repack.bat: call h5dump without the -c switch
Tested:
VS2005 on WinXP
th user's definition of H5_USE_16_API. The H5_USE_16_API_DEFAULT is defined through
configure with the flag --with-default-api-version=v16.
Tested with h5committest.
Description:
The source file H5fortran_flags.f90 was recently removed as their symbols were consolidated into the H5E module. We were still referencing the files in Windows, and causing errors. This checkin completely removes references of H5fortran_flags.f90 from Windows.
Tested:
Vs2005 on WinXP
Description:
Two new test cases for h5dump were recently added to the test script on Unix. This checkin also adds the new cases to Windows.
Tested:
VS2005 on WinXP
Description: Improved external link traversal of h5dump. h5dump will now
properly avoid all cycles, even those spanning multiple files. Improvement
to the output of committed datatypes. Committed datatypes are now checked
for uniqueness (like other objects). Tests added for these cases.
Tested: kagiso, linew, smirom (h5committest)
Description:
The general h5ls test script was recently updated. This checkin brings those changes to Windows
Also add freespace & mf to general test script, since I forgot in the last checkin
Tested:
VS2005 on WinXP
Description:
Many new source files were added from the freespace branch. This checkin adds the code to Windows as well.
Note: Some tests are still failing on Windows, but this checkin brings us closer to fixing them. In particular, freespace test fails on compile (Quincey is working on it), and the DLL links test fails at runtime (I'll look into it)
Tested:
VS2005 on WinXP
Description:
The source file H5EAsblock.c was recently added to svn. This checkin also adds it into our Windows project files.
Note that it hasn't been included in the Visual Studio .NET projects. We are discontinuing our support for Visual Studio .NET in the trunk so we can use C99 features not available in Visual Studio .NET. From this point forward, the Visual Studio .NET projects won't be maintained, and will likely be deleted before the 1.10 release.
Description:
Add a new test for h5import to check for alignment. Also fix the failing h5repack test, now that ublock has been added to svn.
Tested
VS2005 on WinXP
Description:
New source file H5EAdblock.c was added to the library. This checkin adds the file to our Windows projects, hdf5 and hdf5dll (VS2005 and VS.NET project files)
Tested:
Build only, VS2005 on WinXP
Description:
earray[dll] builds were failing on Windows because of missing link dependencies to szip and zlib libraries (amongst other reasons). This checkin adds those dependencies.
Description:
We recently moved the Windows-specific fortran source code into a separate file for specifying DLL exports. However there were a couple definitions missing in the port from 1.8 to the trunk branch. This checkin correctly includes the .def file into our Windows project, and adds the missing definitions to hdf5_fortrandll.def.
Tested:
VS2005 on WinXP
Description: Added configure test to see if pointer alignment restrictions are enforced (as in dereferencing an unaligned pointer causes an error). Added code in H5Tvlen.c to avoid dereferencing unaligned pointers, conditionally compiled based on the configure test. Added test case in dtypes.c which would previously cause such machines to fail.
Tested: kagiso, smirom, linew (h5committest); linew64
Description:
In some of the new H5EA* code, many new C99 features are being used. Most of them are portable to all compilers, but the __func__ keyword in particular isn't supported in Visual Studio on Windows. Instead, Windows defines the __FUNCTION__ keyword, which can be used as a direct substitute.
We now check for the __func__ keyword during configure and define the feature flag H5_HAVE_C99_FUNC. There was previously a check for __FUNCTION__, and the feature flags H5_HAVE_FUNCTION. In H5EApkg.h, we check for the presents of each of these in order to see which to use. If neither are avaiable, fail.
Tested:
h5committest (kagiso, smirom, linew)
Description:
New h5repack tests were added in revision 15551 and 15557, and also the syntax of one test was changed. This was causing errors on Windows. This checkin should fix those errors.
Tested:
VS2005 on WinXP
Description:
In revision 15549, new source code was added for the extensible array interface. This checkin adds the source code to Windows, along with the new test project, earray.
Note: The new H5EA interface causes compilation errors on Windows, and will need to be fixed in the source.
Description:
There is a new Fortran file, H5_DBLE_InterfaceInclude.f90, which needs to be added to Windows. There is also another version, *InterfaceExclude.f90, which is for users that build with the -r8 flag. However, we don't include this on Windows, as it is not currently a common option. If we get requests from users, we can add documentation for using this alternative interface.
Tested:
VS2005 w/ IVF9.1 on WinXP
Description:
A new test program, app_ref, was added to the source and configure script. We need to make special Windows project files for static and DLL versions of the test, and also VS2005 and VS.NET versions. Finally, include the new test in our script
Tested:
VS2005 on WinXP
Description:
This commit is a major update to the Windows-maintained H5pubconf.h file. This file is statically-distributed because Windows cannot generate it dynamically as other platforms do. Previously, our Windows version contained a minimal subset of the macro definitions required. To update, I've gone through each macro (based on kagiso's output), and tested for the correct value on Windows. This allows us to better target code based on feature flags. It should also be easier to update in the future as changes are made to the configure script.
This commit also contains one small bug fix in h5ls.c. Some Windows-specific code was missing a local variable definition. The bug went unnoticed because Windows didn't define the feature flag correctly.
I've also made changes to the h5vers script. Whenever the version string is incremented (automatically by h5test after a snapshot), the strings in H5pubconf.h will also be updated.
Tested:
VS2005 on WinXP (32- and 64-bit)
VS.NET on WinXP 32-bit
h5vers tested under Cygwin
Description:
A new parameter was added to h5diff recently. We add a new test to the h5diff script, and change the syntax in which h5diff is called from the h5repack test script
Tested:
VS2005 on WinXP
Description:
The testfiles directory moved, so we need to update test script on Windows. This should fix the Windows daily-test errors from the weekend.
Tested:
VS2005 on WinXP
Description:
Write documentation for building HDF5 with the latest version of Visual Studio, 2008. The process is very similar to building with Visual Studio 2005, but with an automatic project-file conversion beforehand.
Also adapt commandline build scripts for Visual Studio 2008 as well.
Tested:
VS2008 on WinXP
Description:
Modify Windows documentation to support Intel Visual Fortran 10.1. We have tested it in our Virtual machines, and have fixed the problems we were encountering.
Also, add a new parameter to the hdf5build.BAT and hdf5bt.BAT build scripts to support IVF 10.1.
Tested:
VS2005 with IVF 9.1 and 10.1 on 32-bit XP
Description:
On Windows, we manage dynamically-generated code through "post-build" steps in Visual Studio. However, the command for it wasn't checking to see if the code already existed, so it was re-generating in each build (and thus re-generating all dependencies). To overcome, we simply check if the source file exists before generating it.
Also, put all paths inside quotes so we can handle directory names with spaces.
Tested:
VS2005 on WinXP
Description:
A typo in the project output file name was causing Intel Fortran 10.1 to crash. The output file was set to "$(OutDir)\hdf5_fortranddll.dll " (three trailing spaces). IVF 9.1 ignored this error and continued gracefully. However, IVF 10.1 would simply crash. With this fix, we can now build on IVF 10.1 (so far..)
Tested:
VS2008 w/ IVF 10.1 on WinXP
Description:
The fillval test uses random input to test various fill cases. Certain boundary cases cause the test to fail, which produces sporadic errors on Windows. There is a bug filed for the issue here:
http://bugzilla.hdfgroup.uiuc.edu/show_bug.cgi?id=1155
We will disable the test until the bug is fixed.
Tested:
None, simply disabled.
Description:
More updates were made to the h5diff test script structure. Specifically, the printing of output and how files are found in the actual test. This brings the changes to Windows as well.
Tested:
VS2005 on WinXP
Description:
The testfiles for h5diff were moved the a new folder, and the general script was updated. This checkin makes the minor changes neccessary for Windows to use the new folder.
Tested:
VS2005 on WinXP
Description:
As part of our Windows cleanup, we try to remove windows-specific tweaks in the source code. There are many instances where Windows code is introduces via ifdef's. We re-evaluate whether they are still required, and found that many of them are not. Others we change to "feature"-specific code, rather than Windows-specific.
Tested:
VS2005 on WinXP
VS.NET on WinXP
h5committest (kagisopp, smirom, linew)
Description:
The projects testhdf5_1_8fortran[dll] which test the new fortran features in HDF5 1.8 were not registered as dependencies to the "all_fortran" pseudo-project. As a result, the projects would not be built if you simply build all_fortran in Visual Studio, rather than "Build Solution". This is a very minor cleanup, but is neccessary to be consistent in our projects.
Tested:
VS2005 on WinXP x64
Description:
In library code, we try not to use system calls directly, but instead use the HD{function} macro instead. This way, we can map special versions of the call on particular systems. Previously, it was all done in H5private.h. However, in an effort to clean up platform-specific definitions, we move all of the Windows macros into a separate file, win32defs.h. This way, we can use the non-Posix versions that Visual Studio sends warnings about.
Some macros are set specifically in the platform-specific header files. Then, any macros left unset will be set by the "default" implementation in H5private.h.
This checkin also cleans up various source files to use the HD* macros when possible.
Tested:
VS2005 on WinXP
VS.NET on WinXP
h5committest (kagiso, linew, smirom)
Description:
Previously, we maintained some source files that are commonly generated dynamically on other systems. Now, we also generate them on Windows as well. We should remove them from the repository so old versions are not accidentally used.
Also, clean up the project files to organize generator programs.
Tested:
VS2005 on WinXP
VS2005 on WinXP x64
VS.NET on WinXP
Description:
In some rare instances, FC (diff equivalent) command on Windows will fail when comparing ASCII files with opposite line-ending formats (Unix uses LF, while Windows uses CRLF). This was an issue for one test case in our test script. It only came up when testing from a release tarball, because the expected output was not converted to Windows-style. In this situation, FC was reporting false differences.
To workaround, we double-check failure cases and convert the EOL characters if neccessary.
Tested:
VS2005 on WinXP
Description:
Previously, there was Windows-dependent code inside H5detect.c, because not all projects could access the gethostname() function. However, we standardize our project-files to link with WS2_32.lib, so now this function is available. Thus, the Windows-specific code has been removed from H5detect.c.
Tested:
VS2005 on WinXP
VS.NET on WinXP
no need to test other platforms, Windows-specific source change
Description:
In our debug project configurations, many of the projects were generating debug information for "Program Database and Edit & Continue". Other projects were using different settings, or none at all. We standardize to use "Program Database" setting, because it generates much smaller .obj files and cuts out unnecessary debug information.
This is another project cleanup and enhancement from user suggestions outlined in bug #1164
Tested:
VS2005 on WinXP
VS.NET on WinXP
Description:
In many of our project files on Windows, we have our linker setting set to ignore old link libraries-- either libc.lib or libcd.lib. This is a relic from converting project files from old versions of Visual Studio to newer ones, and is unnecessary. Per a user's suggestion, we remove the ignored library from the project files. This actually makes no difference in the output binaries.
Tested:
VS2005 on WinXP
VS.NET on WinXP
Description:
In our Windows command-line build script, we now support building with Visual Studio .NET, although VS2005 is still the default. Building with VS.NET still imposes the same feature restrictions as through the IDE:
-- 64-bit builds are unsupported
-- Fortran is unsupported
Tested:
VS.NET on WinXP
VS2005 on WinXP
Description:
The source file tf.f90 now produces a module error_handler.mod, which was being created in a wrong directory. As a result, Visual Studio couldn't find it, and building failed. This corrects the module path of libtestdll project.
Tested:
VS2005 on WinXP
Description:
We can dynamically detect the host architecture using the PROCESSOR_ARCHITECTURE variable. This allows us to setup our build paths accordingly and build 64-bit Windows binaries from the command line. This allows us to run autotests on 64-bit Windows as well.
Tested:
VS2005 on WinXP x64
VS2005 on WinXP x86
Description:
There were a number of small tweaks we needed to make to add the new fortran_1_8 code on Windows. We create new project files, add new source to them, add the test to our test suite, and fix a few typos in the Windows-specific source code.
Tested:
VS2005 on WinXP
Platforms tested: kagiso with g95 and Intel compilers; more testing will be done after checking in a fresh
copy from the trunk. New code itself was tested with all Fortran compilers available at THG
Description:
Two new source files have been added, H5Dchunk.c and H5Dscatgath.c. This checkin adds the files to the Windows project files as well.
Tested:
VS2005 on WinXP
Description:
When building HDF5 with thread safety on Windows, the err_compat test was failing because our output was being parsed incorrectly. Rather than having a thread number in the error stack trace, there will be the string "some thread: no way to know the thread (IDs): from pthread on windows:". This checkin now takes this into account, and modifies the output accordingly.
Tested:
VS2005 on WinXP with Pthreads
Description:
On Windows, many POSIX functions have been replaced by a similarly-named function with some additional security-checking. Visual Studio issues a warning each time the POSIX version is used, recommending that we replace it with the new version. This results in thousands of errors when building the HDF5 library.
This checkin adds a Visual Studio "Property Sheet", which has been applied to all library projects, and defines a number of preprocessors to suppress these warnings. The warnings have been disabled only in Visual Studio 2005 project files, as VS.NET doesn't support property sheets.
Tested:
VS2005 on WinXP
Description:
Just as we have scripts for building and testing the HDF5 library on Windows, hdf5build_examples.BAT is a new script for building HDF5 example projects on Windows. This is especially useful for our new Windows Daily Tests, to test our examples automatically as well.
Eventually, we will have hdf5check_examples.BAT and hdf5bt_examples.BAT to test our examples as well.
Tested:
VS2005 on WinXP
Description:
Previously, our Windows projects for HL Fortran examples were using outdated library names for our cstub code. As a result, they wouldn't build correctly. This checkin brings them up-to-date.
Also, add hdf5_hl.lib as a dependency to hdf5_hl_fortran.lib. This goes un-noticed when building the complete VS solution, but should be required when only building hdf5_hl_fortran.lib
Tested:
VS2005 on WinXP
Description:
In the Windows Fortran example projects, the runtime library used for linking static-debug version was set incorrectly. This was a result of the project being upgraded from VS6 where we used Single-threaded libraries. Those libraries are no longer supported, so we use [Debug] Multithreaded [DLL] now instead.
Note that this also needs to be updated in the VS.NET project files-- I will make those changes shortly.
Tested:
VS2005 on WinXP
Description:
Many new path-specific tests have been added via the "links" test. Because Windows' path format is non-standard, we need a special macro defined to handle it specially. Note that 2 tests still fail with this macro defined, but it should be fixed soon.
Tested:
VS2005 on WinXP
Description:
The ohdr_gentst project exists in order to re-create test input files that are distributed with the source. These projects aren't built by default on most platforms, and the source isn't distributed in release builds. To avoid confusion and bloat, we remove the Windows version of this project.
Tested:
None, only removed
Description:
In previous versions of Windows, the builtin 'FC' command (diff equivalent) didn't return proper exit status. As a work-around, we parsed the message returned to check status. This relies on English return messages.
In current Windows XP and Windows Vista, FC will return exit status as expected, so we can remove this workaround. Older platforms where we would need this workaround are no longer supported.
Tested:
VS2005 on Windows XP
Small test on Windows Vista
Description:
A new source file has been added, ./test/chunk_info.c. As a result, we need to add new projects for Windows. This includes projects for VS2005 on VNET.
Tested:
VS2005 on WinXP
VNET on WinXP
Description:
As pointed out by a user, we added an un-needed link directory for szip which is machine-dependent and, in his case, problematic. We can safely remove this reference because we already include the szip link directory elsewhere.
Tested:
None, simply removed
Description:
A commented test was deleted from the main h5dump test script. This makes the same change in the Windows script. This won't actually make any noticeable changes-- just to keep up with Linux.
Tested:
None needed, no new tests, just deleted comments
Description:
A small typo in the recent update to installhdf5lib.bat caused the C++ header files not to be installed for the debug version of the libraries. This corrects the issue.
Tested:
VS2005 on WinXP
Description:
The names of the test files for h5import changed slightly, so we needed to update our test script accordingly. Also, a test for EOL characters has been added.
Tested:
VS2005 on WinXP