          Building Silo using Microsoft Visual C++ version 9.0 (2008)
                                                   or     10.0 (2010)
          ===========================================================

This guide contains instructions for building Silo using MSVC 9.0 or 10
on a computer running MS Windows. While the Silo source code should build using
other compilers, we only provide project files and support for MSVC and 9.0 or 
10.0.

What gets built
===============
* Silo shared libraries (silohdf5.dll and silohdf5.lib) with HDF5 support. 
* Silex.exe
* Browser.exe

When developing applications that use Silo, be sure to link your application 
with the silohdf5.lib import library. This resolves the symbols that come from 
the Silo DLL at runtime.  Then be sure that silohdf5.dll is in your path when 
you run your application.  Be sure to also link with the hdf5dll.lib, szlibdll.lib and zlib1.lib).

*** As of Silo 4.9, PERL is required in order to generate the lite versions ***
*** of pdb.h and score.h   Make sure PERL is in your PATH, or edit your     ***
*** Visual Studio settings to include perl's path in your Executables       ***

Build instructions
==================

1. The solution and project files are found in the SiloWindows subdirectory of 
   the silo source tree.  There is a subdirectory for MSVC9 project files. In
   addition there are subdirectories for special includes and resource files 
   necessary for the build process.

2. Edit the DepLibs.vsprops file to use proper values for:
        ZLIB_INC_DIR      path to zlib include directory
        ZLIB_LIB_DIR      path to zlib library files 
        ZLIB_LIB_DIR_x64  path to zlib 64bit library files 
 
        HDF5_INC_DIR      path to the HDF5 incude directory 
        HDF5_LIB_DIR      path to location of HDF5 libs
        HDF5_LIB_DIR_x64  path to location of HDF5 64bit libs

        SZIP_INC_DIR      path to the szip incude directory 
        SZIP_LIB_DIR      path to location of szip libs
        SZIP_LIB_DIR_x64  path to location of szip 64bit libs

    And, if building silex:

        QT_INC_DIR      path to the Qt incude directory 
        QT_LIB_DIR      path to location of Qt libs
        QT_LIB_DIR_x64  path to location of Qt 64bit libs

3. If you do not have Qt or simply choose not to build Silex, you can remove 
   it from the build process by opening the Configuration Management window 
   (Once Visual Studio is open).  To do so, right-click the solution name, 
   Unselect the silex project for the configuration you will be building.

4. Open the solution file, choose a configuration and build.

5. The generated files will be placed in the subdirectory for the selected 
   build configuration.

       SiloWindows\MSVC9\Win32\Release
       SiloWindows\MSVC9\x64\Release

