Purpose:
Update H5pubconf.h and H5config.h on windows platform. Would like to be checked by c++ API and see whether the newly checking-in all.zip works.
Description:
H5config.h and H5pubconf.h are all rearranged. Comments have not been added to H5pubconf.h yet. Will be done later.
Solution:
Most auto-generated system specified constants have been manually tuned on windows platforms. Some of them are still unknown. Will wait later.
Platforms tested:
windows 2000
Purpose:
bug fix
HDF5 debug dll test failed when using all_withf90.zip.
Description:
various tests failed when using all_withf90.zip
with the same project setting, all tests passed when using all.zip(C test).
Suspect Digital fortran compiler problem.
Solution:
Find one strange warning message:
LINK : warning LNK4098: defaultlib "msvcrt.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
Following the instruction, ignore msvcrt.lib when linking with hdf5dll.
All tests passed.
Don't know the exact reason since msvcrt.lib is kind of required for DLL.
Platforms tested:
windows 2000
Purpose:
Fixed bugs
Description:
1. tconfig.c finds size of long double and size of off_t are not correct on windows 2000.
Size of long double(8) at the manually hacked H5config.h on windows represents windows NT 4.0.
On windows 2000, it is set to 12. Now H5config.h is fixed to pass windows 2000, but will fail on NT4.0O. This problem needs to be addressed.
2. modify testhdf5 and testhdf5sll projects to fit in the new test.
3. find a release dll bug(cause tattr test failed), later the bug is gone after install VS 6.0 service pack 5. Highly suspect it is a compiler bug.
Solution:
See above.
Platforms tested:
windows 2000
Purpose:
1. rearrange project settings to be consistent with UNIX platforms
2. fix bugs on H5Tinit.c and h5pubconf.h windows version.
Description:
1. overhead, iopipe and chunk testings are moved to perform directory on UNIX platforms
rearrange windows project settings to reflect the changes
2. H5_HAVE_SYS_TIMEB_H is defined in h5pubconf.h, it is only used in the iopipe test.
In iopipe.c, H5_HAVE_SYS_TIMEB is used to get the current time before opening HDF5 file.
This constant is never defined at h5pubconf.h. So iopipe test failed on windows.
3. intn is still used in windows version H5Tinit.c.
4. redefine H5_inline at h5pubconf.h. That will generate warnings like:
..\..\src\H5private.h(150) : warning C4005: 'H5_inline' : macro redefinition ..\..\src\h5pubconf.h(8) : see previous definition of 'H5_inline'
Solution:
1. Rearrange chunk.c,iopipe.c and overhead.c files in project setting.
2. In order not to affect other platform(linux also defines H5_HAVE_SYS_TIMEB_H).
in windows version h5pubconf.h change H5_HAVE_SYS_TIMEB_H into H5_HAVE_SYS_TIMEB.
Now H5_HAVE_SYS_TIMEB is only used by windows platform, iopipe test runs okay.
3. change intn into int.
4. undefine H5_inline on windows version of h5pubconf.h
Platforms tested:
windows 2000(NT5.0) and windows 98.
Purpose:
Maintenance
Description:
Source directory has been rearranged. INSTALL*, HISTORY.txt and RELEASE.txt were moved to the release_docs directory. *.zip files were moved to the windows directory. README file was renamed to README.txt MANIFEST was updated to reflect those changes.