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.
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:
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:
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:
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:
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 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:
On Windows, we receive many compiler warnings because Microsoft has implemented many "security-enhanced" versions of POSIX functions. However, the old versions still exist, so the warnings can be ignored. By setting a preprocessor definition, we can disable many of these warnings. On a typical HDF5 build, this reduces the number of warnings from ~1500 to ~600
Tested:
VS2005 on WinXP
Description:
These changes are made via a user's suggestion, bugzilla bug #1164. These have all been tested in the trunk, and are stable/favorable changes.
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. We remove the ignored library from the project files. This actually makes no difference in the output binaries.
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.
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
Description:
Shortly before the release, we noticed that one of our h5dump xml Windows tests failed when used with a release tarball. This is because of the Unix-style EOL characters in the expected output. For the release, we simply skipped the test. However, we can instead convert the expected output to Windows EOL format, and run the test. This is a backport from the HDF5 trunk.
Tested:
VS2005 on WinXP
Description:
On test fails from the release tarball. Specifically, the h5diff xml test for tsaf.h5.xml. For some reason, fc (Windows diff utility) detects differences from the expected output if the file has unix-style end-of-line characters. It only happens for this test. I suspect it is because the file is so long, but it's too late to debug for the release. Simply comment it out until we can fix it.
Tested:
VS2005 on WinXP (32- and 64-bit)
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
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:
VS.NET 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:
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.
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:
The ohdr_gentst project exists to dynamically generate the test files for ohdr test, which also exist in the repository. The test is only run on other platforms when the configure flag --enable-build-all is specified. Moreover, the source code ohdr_gentst.c is marked as _DO_NO_DISTRIBUTE_ in the MANIFEST.
As a result, there was a problem in the release tarball that the Windows projects would fail when trying to build this project. To correct this, we no longer build this by default. We will also need to release a FAQ/patch for the HDF5 1.8.0 release.
Tested:
VS2005 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 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 Windows suite of examples for HL C was a very small subset of the examples that exist for other platforms. Now we have all of the HL C examples-- integrated into the VS projects files, and batch test scripts.
Description:
Add hdf5 library as a dependency to hdf5_hl library in Windows project files
For some reason, the hdf5_hl library didn't have hdf5 listed as a dependency. This isn't normally a problem, because building "all" will build hdf5 library. However, when a user tries to build only hdf5_hl, hdf5 library wouldn't be built.
Although not technically required for compiling the library code, the hdf5 library is needed for linking any applications, so it's a natural dependency.
Tested:
VS2005 on WinXP
VNET on WinXP
Description:
Purpose: Fix very minor typo in Windows h5import test script
Single-letter typo in the Windows test script was causing us to return the wrong error code in some cases.
Tested:
VS2005 on WinXP
Description:
Make the Windows copy_hdf.bat a little cleaner/safer, and produce useful output in installhdf5lib.bat
Previously, all of our build output would simply go to stdout/stderr for command-line builds. We can pipe this into a log file as a whole, but the complete logfile becomes very large very quickly. Instead, we give the user an option to place build results and test results into separate logs (or even the same). This will help keeping track of results in our automated testing.
Tested:
VS2005 on WinXP
Description:
A user pointed out that one of our Fortran dependencies wasn't getting installed correctly due to a wrong path in our install file. After reviewing, I've applied the patch that he's proposed.
Description:
For some reason, the h5reparttst output folder wasn't set correcty for 64-bit Windows. This may have gotten accidentally changed with other intermediate project file changes.
Tested:
VS2005 on WinXP x64
Description:
There was another update to the main h5dump test script. This checkin brings those edits to the Windows script as well.
Tested:
VS2005 w/ WinXP
Description:
In the Windows command line build script, there was a reference to the "typegen" project, which generates h5detect before HDF5 is built. Now, we integrate h5detect into the overall build process, and typegen has been removed. This checkin removes the reference in the batch script. This fixes bugzilla bug 1021.
Description:
There were a number of updates to the main h5dump test script. This checkin brings those edits to the Windows script as well.
Tested:
VS2005 w/ WinXP
Description:
This catches up Windows to most of the new source files that have been added. Specifically, H5FDpkg.h and H5FDspace.c have been added to the library projects, and tcoords.c has been added to testhdf5. This goes for VS2005 and VS6 project files.
Tested:
Only built, VS2005
Details:
We no longer need to parse the h5ls output to remove "Modified" tags. This makes it much easier to test on Windows, because we don't need to emulate `sed`.
Tested:
VS2005 on WinXP
Description:
Larry was able to track down the bug in the h5ls test script and change it around to check for an expected error code for each test. With this, we are now able to uncomment the broken test on Windows.
Tested:
VS2005 on WinXP
Description:
The h5ls test script was recently updated on Linux. This makes the same changes on Windows. Also, we had to comment out one of our tests, because h5ls returns an error-code that is giving false-positives.
Tested:
VS2005 on WinXP
Description:
Minor changes were recently made in the linux test scripts for h5diff and h5repack. This brings Windows up-to-date.
Note: I am still working on updates to testh5ls.bat-- there is one test that is failing, but should be ready soon.
Tested:
VS2005 on WinXP
Description:
h5repack_list.c was deleted from the repository recently. This check-in also removes references in the Windows library.
Tested:
Built with VS2005