From a27b1b6e3176a96859539e9a89551f89502c2f9a Mon Sep 17 00:00:00 2001 From: Scott Wegner Date: Mon, 30 Apr 2007 16:36:54 -0500 Subject: [svn-r13712] Various changes made to bring Windows example tests up to date. Tested: VS 2005 on Win XP --- release_docs/INSTALL_Windows.txt | 81 ++++++++++++++++------ windows/copy_hdf.bat | 1 - windows/examples/testExamples_exp_output.txt | 6 +- windows/hl/fortran/examples/ex_lite/ex_lite.dsp | 7 +- windows/hl/fortran/examples/exlite.f90 | 91 ------------------------- windows/installhdf5lib.bat | 2 + 6 files changed, 68 insertions(+), 120 deletions(-) delete mode 100644 windows/hl/fortran/examples/exlite.f90 diff --git a/release_docs/INSTALL_Windows.txt b/release_docs/INSTALL_Windows.txt index f846226..844de1f 100644 --- a/release_docs/INSTALL_Windows.txt +++ b/release_docs/INSTALL_Windows.txt @@ -740,7 +740,7 @@ The layout of should be: You may also find the similar layout for the . ======================================================================== - Section I: How To Build Examples (Optional) + Section III: How To Build Examples (Optional) ======================================================================== Simple examples have been provided for users to test HDF5 @@ -1490,6 +1490,11 @@ Notes: 1. For Intel Compiler users, Intel fortran Compiler 9.1 is currently this mixed language projects. Choose "The Intel Fortran project" as the the main project and click "OK". + + Note: In Visual Studio 2005, you may receive a message that + says "The attempt to convert the Fortran project file failed. + The project file (.dsp) has not been converted." This message + can safely be ignored. Do the same thing for hdf5_hl_fortran. @@ -1610,12 +1615,25 @@ Notes: 1. For Intel Compiler users, Intel fortran Compiler 9.1 is currently To build and test HDF5 Fortran example: --------------------------------------- - 1. Invoke the Intel Fortran Compiler 9.1 or above under Microsoft - Visual Studio development environment, go to "File" and select - the "Open Workspace" option. + 1.1 Open allf90examples.dsw and Convert Project Files (.dsp) to Visual + C++ .Net Format (.vcproj) + + Invoke Microsoft Visual C++ .Net or 2005. From the main menu, + go to "File" and select "Open Solution". In the "Open Solution" + window, Change "Files of type" to "All Project Files". Choose + "allf90examples.dsw" under the directory + c:\MyHDFstuff\hdf5\windows\fortran\examples\allf90examples. + In the pop up window, choose "Yes To All" to convert all project + files to Visual C++ .Net project format. + + 1.2 Extract Compaq Fortran Project Files + + a. Select project "attreexampletest" in the Solution Explorer + window. In the Project menu, select "Extract Compaq Visual + Fortran Project". - Then open the workspace - c:\MyHDFstuff\hdf5\windows\fortran\examples\allf90examples\allf90examples.dsw. + Do the same thing for the each of the other project files, excluding + "allf90examples" 2. Select "Build", then Select "Set Active Configuration". @@ -1675,10 +1693,24 @@ Notes: 1. For Intel Compiler users, Intel fortran Compiler 9.1 is currently To build and test HDF5 High Level Fortran examples: --------------------------------------------------- - 1. Invoke Compaq Visual Fortran 9.1, open the workspace + 1.1 Open allhlf90examples.dsw and Convert Project Files (.dsp) to Visual + C++ .Net Format (.vcproj) + + Invoke Microsoft Visual C++ .Net or 2005. From the main menu, + go to "File" and select "Open Solution". In the "Open Solution" + window, Change "Files of type" to "All Project Files". Choose + "allhlf90examples.dsw" under the directory + c:\MyHDFstuff\hdf5\windows\hl\fortran\examples\allhlf90examples. + In the pop up window, choose "Yes To All" to convert all project + files to Visual C++ .Net project format. + + 1.2 Extract Compaq Fortran Project Files + + a. Select project "ex_lite" in the Solution Explorer + window. In the Project menu, select "Extract Compaq Visual + Fortran Project". - c:\MyHDFstuff\hdf5\windows\hl\fortran\examples\ (continue next line) - allhlf90examples\allhlf90examples.dsw + Do the same thing for the "ex_litedll". 2. Select "Build", then Select "Set Active Configuration". @@ -1940,7 +1972,8 @@ by other compilers. To define this environment variable: - Click "Start" -> "Control Panel" -> "System" -> "Advanced" -> "Environment Variables". + Click "Start" -> "Control Panel" -> "System" -> "Advanced" -> + "Environment Variables". If you are logged on as administrator to the local computer AND want to let all other users use these two environment variables, @@ -1955,8 +1988,8 @@ by other compilers. pre5. Copy pthreadVC2.dll to System Directory - pthreadVC2.dll should be copied into the location that applications can find. - One suggestion is to use the c:\WINDOWS\system. + pthreadVC2.dll should be copied into the location that applications + can find. One suggestion is to use the c:\WINDOWS\system. 1. Build HDF5 Release DLL with Thread-safe Feature @@ -2063,11 +2096,12 @@ by other compilers. Go back to Section II, Step I(2) to Build, test and install HDF5 libary and tools. ======================================================================== -Section XI: How to build HDF5 in Visual studio 2005 on windows 32-bit and 64-bit platform +Section XI: How to build HDF5 in Visual studio 2005 on windows 32-bit and + 64-bit platform ======================================================================== The building procedure is almost the same as building HDF5 on .Net 2003. - For 64-bit, currently we only support HDF5 as an 32-bit application and you may need to - pay attention to the following reminders: + For 64-bit, currently we only support HDF5 as an 32-bit application and + you may need to pay attention to the following reminders: 1) To use zlib or szlib compression packages: Use zlib 1.2.2 DLL provided at ftp://ftp.hdfgroup.org/lib-external/zlib/1.2/bin/zlib123-windows.zip @@ -2076,8 +2110,8 @@ Section XI: How to build HDF5 in Visual studio 2005 on windows 32-bit and 64-bit 2) Make sure that WIN32 macro is set at visual studio 2005. 3) You may use _CRT_SECURE_NO_DEPRECATE to disable the warnings. Please refer to Section VI: How to build HDF5 in Visual Studio .Net 2003. - Please also note that the example workspace may not work properly. You may need to reset hdf5 - library path. + Please also note that the example workspace may not work properly. You may + need to reset hdf5 library path. ======================================================================== Section XII: Misc. @@ -2173,11 +2207,14 @@ using the Visual C++ Development Environment. "HDF5F90_WINDOWS" to use HDF5 Fortran DLL. 3. Backward compatibility with 1.6 - If you are going to use 1.6 APIs with 1.8 branch, you may do the following two things: - 3.1 Uncomment out /*#define H5_WANT_H5_V1_6_COMPAT 1*/ inside h5pubconf.h under windows\src. - 3.2 Set up an environment variable H5_WANT_H5_V1_6_COMPAT to 1, this will be used to test compatibility - of error APIs. - Remember to undo 1 and 2 after you test if you are not going to use 1.6 backward compatibility option. + If you are going to use 1.6 APIs with 1.8 branch, you may do the + following two things: + 3.1 Uncomment out /*#define H5_WANT_H5_V1_6_COMPAT 1*/ inside + h5pubconf.h under windows\src. + 3.2 Set up an environment variable H5_WANT_H5_V1_6_COMPAT to 1, + this will be used to test compatibility of error APIs. + Remember to undo 1 and 2 after you test if you are not going to use 1.6 + backward compatibility option. ************************************************************************ Please send email to help@hdfgroup.org for further assistance. diff --git a/windows/copy_hdf.bat b/windows/copy_hdf.bat index 80cc994..74f58eb 100755 --- a/windows/copy_hdf.bat +++ b/windows/copy_hdf.bat @@ -25,7 +25,6 @@ copy fortran\src\H5fortran_types.f90 ..\fortran\src xcopy /e/i/Y *.bat ..\ copy batch_net\convert.js ..\batch_net\ copy examples\testExamples_exp_output.txt ..\examples -copy hl\fortran\examples\*.f90 ..\hl\fortran\examples\ cd ../batch_net copy *.* ..\ diff --git a/windows/examples/testExamples_exp_output.txt b/windows/examples/testExamples_exp_output.txt index f2ac521..79544b1 100755 --- a/windows/examples/testExamples_exp_output.txt +++ b/windows/examples/testExamples_exp_output.txt @@ -2,7 +2,7 @@ Expected output for HDF5 C examples tests ############################# The value of the attribute "Integer attribute" is 1 -The value of the attribute with index 1 is ABCD +Found string attribute; its index is 1 , value = ABCD Name : Float attribute Rank : 2 @@ -10,10 +10,10 @@ Dimension sizes : 2 3 Type : FLOAT Values : -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -Name : Integer attribute - Name : Character attribute +Name : Integer attribute + Field c : 1.0000 0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 diff --git a/windows/hl/fortran/examples/ex_lite/ex_lite.dsp b/windows/hl/fortran/examples/ex_lite/ex_lite.dsp index ff20b33..fa73d3b 100644 --- a/windows/hl/fortran/examples/ex_lite/ex_lite.dsp +++ b/windows/hl/fortran/examples/ex_lite/ex_lite.dsp @@ -26,7 +26,6 @@ CFG=ex_lite - Win32 Debug # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe -F90=df.exe RSC=rc.exe !IF "$(CFG)" == "ex_lite - Win32 Release" @@ -42,6 +41,7 @@ RSC=rc.exe # PROP Intermediate_Dir "..\..\..\..\..\hl\fortran\examples\ex_lite\Release" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" +F90=df.exe # ADD BASE F90 /compile_only /nologo /warn:nofileopt # ADD F90 /compile_only /include:"..\..\..\..\..\proj\hdf5_fortran\release/" /include:"..\..\..\..\..\proj\hdf5_hl_fortran\release/" /nologo /warn:nofileopt /module:"Release/" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c @@ -53,7 +53,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib $(HDF5_EXT_ZLIB) $(HDF5_EXT_SZIP) hdf5_fortran.lib hdf5_hl_fortranr.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\..\..\proj\hdf5_fortran\release" /libpath:"..\..\..\..\..\proj\hdf5_hl_fortran\release" +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib $(HDF5_EXT_ZLIB) $(HDF5_EXT_SZIP) hdf5_fortran.lib hdf5_hl_fortranr.lib hdf5_hl_fortran.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\..\..\proj\hdf5_fortran\release" /libpath:"..\..\..\..\..\proj\hdf5_hl_fortran\release" !ELSEIF "$(CFG)" == "ex_lite - Win32 Debug" @@ -68,6 +68,7 @@ LINK32=link.exe # PROP Intermediate_Dir "..\..\..\..\..\hl\fortran\examples\ex_lite\Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" +F90=df.exe # ADD BASE F90 /check:bounds /compile_only /dbglibs /debug:full /nologo /traceback /warn:argument_checking /warn:nofileopt # ADD F90 /check:bounds /compile_only /dbglibs /debug:full /include:"..\..\..\..\..\proj\hdf5_fortran\debug/" /include:"..\..\..\..\..\proj\hdf5_hl_fortran\debug/" /nologo /traceback /warn:argument_checking /warn:nofileopt /module:"Debug/" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c @@ -79,7 +80,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib hdf5_fortrand.lib hdf5_hl_fortrand.lib $(HDF5_EXT_ZLIB) $(HDF5_EXT_SZIP) /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libc.lib" /pdbtype:sept /libpath:"..\..\..\..\..\proj\hdf5_fortran\debug" /libpath:"..\..\..\..\..\proj\hdf5_hl_fortran\debug" +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib hdf5_fortrand.lib hdf5_hl_fortrand.lib hdf5_hl_fortran.lib $(HDF5_EXT_ZLIB) $(HDF5_EXT_SZIP) /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libc.lib" /pdbtype:sept /libpath:"..\..\..\..\..\proj\hdf5_fortran\debug" /libpath:"..\..\..\..\..\proj\hdf5_hl_fortran\debug" # SUBTRACT LINK32 /incremental:no /nodefaultlib !ENDIF diff --git a/windows/hl/fortran/examples/exlite.f90 b/windows/hl/fortran/examples/exlite.f90 deleted file mode 100644 index 61949aa..0000000 --- a/windows/hl/fortran/examples/exlite.f90 +++ /dev/null @@ -1,91 +0,0 @@ -! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -! Copyright by The HDF Group. * -! Copyright by the Board of Trustees of the University of Illinois. * -! All rights reserved. * -! * -! This file is part of HDF5. The full HDF5 copyright notice, including * -! terms governing use, modification, and redistribution, is contained in * -! the files COPYING and Copyright.html. COPYING can be found at the root * -! of the source code distribution tree; Copyright.html can be found at the * -! root level of an installed copy of the electronic HDF5 document set and * -! is linked from the top-level documents page. It can also be found at * -! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * -! access to either file, you may request a copy from help@hdfgroup.org. * -! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -! -! -! This file contains a FORTRAN90 example for the H5LT API -! - -program lite_example - -use H5LT ! module of H5LT -use HDF5 ! module of HDF5 library - -implicit none - -integer, parameter :: DIM1 = 4; ! Dimension of array -character(len=9), parameter :: filename = "exlite.h5"! File name -character(LEN=5), parameter :: dsetname1 = "dset1" ! Dataset name -integer(HID_T) :: file_id ! File identifier -integer(HSIZE_T), dimension(1) :: dims = (/DIM1/) ! Dataset dimensions -integer :: rank = 1 ! Dataset rank -integer, dimension(DIM1) :: buf1 ! Data buffer -integer, dimension(DIM1) :: bufr1 ! Data buffer -integer :: errcode ! Error flag -integer :: i ! general purpose integer - -! -! Initialize the data array. -! -do i = 1, DIM1 - buf1(i) = i; -end do - -! -! Initialize FORTRAN predefined datatypes. -! -call h5open_f(errcode) - -! -! Create a new file using default properties. -! -call h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, errcode) - -! -! write dataset. -! -call h5ltmake_dataset_f(file_id, dsetname1, rank, dims, H5T_NATIVE_INTEGER, buf1, errcode) - -! -! read dataset. -! -call h5ltread_dataset_f(file_id, dsetname1, H5T_NATIVE_INTEGER, bufr1, dims, errcode) - -! -! compare read and write buffers. -! -do i = 1, DIM1 - if ( buf1(i) .ne. bufr1(i) ) then - print *, 'read buffer differs from write buffer' - print *, bufr1(i), ' and ', buf1(i) - stop - endif -end do - - -! -! Close the file. -! -call h5fclose_f(file_id, errcode) - -! -! Close FORTRAN predefined datatypes. -! -call h5close_f(errcode) - -! -! end -! -end program lite_example - diff --git a/windows/installhdf5lib.bat b/windows/installhdf5lib.bat index f2ee638..3b89496 100755 --- a/windows/installhdf5lib.bat +++ b/windows/installhdf5lib.bat @@ -103,6 +103,7 @@ copy proj\hdf5_hl_fortrandll\debug\*.mod hdf5lib\debug\include copy proj\hdf5_hl\debug\hdf5_hld.lib hdf5lib\debug\lib copy proj\hdf5_hl_cpp\debug\hdf5_hl_cppd.lib hdf5lib\debug\lib copy proj\hdf5_hl_fortran\debug\hdf5_hl_fortrand.lib hdf5lib\debug\lib +copy proj\hdf5_hl_fortran\debug\hdf5_hl_fortran.lib hdf5lib\debug\lib copy proj\hdf5_hldll\debug\hdf5_hldlld.lib hdf5lib\debug\dll copy proj\hdf5_hldll\debug\hdf5_hldlld.dll hdf5lib\debug\dll @@ -124,6 +125,7 @@ copy proj\hdf5_hl_fortrandll\release\*.mod hdf5lib\release\include copy proj\hdf5_hl\release\hdf5_hl.lib hdf5lib\release\lib copy proj\hdf5_hl_cpp\release\hdf5_hl_cpp.lib hdf5lib\release\lib copy proj\hdf5_hl_fortran\release\hdf5_hl_fortranr.lib hdf5lib\release\lib +copy proj\hdf5_hl_fortran\release\hdf5_hl_fortran.lib hdf5lib\release\lib copy proj\hdf5_hldll\release\hdf5_hldll.lib hdf5lib\release\dll copy proj\hdf5_hldll\release\hdf5_hldll.dll hdf5lib\release\dll -- cgit v0.12