summaryrefslogtreecommitdiffstats
path: root/windows
diff options
context:
space:
mode:
authorScott Wegner <swegner@hdfgroup.org>2008-05-14 14:54:21 (GMT)
committerScott Wegner <swegner@hdfgroup.org>2008-05-14 14:54:21 (GMT)
commit4261982ea1fcd3322b6d8b545a739947a37440b4 (patch)
treeafd9b02b781158d9707fa0cd49e01f77c56fa844 /windows
parent4297f8cc78a7ca0f1e190e62806e9c63a945756c (diff)
downloadhdf5-4261982ea1fcd3322b6d8b545a739947a37440b4.zip
hdf5-4261982ea1fcd3322b6d8b545a739947a37440b4.tar.gz
hdf5-4261982ea1fcd3322b6d8b545a739947a37440b4.tar.bz2
[svn-r14994] Purpose: Add support for building 64-bit Windows binaries from command line
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
Diffstat (limited to 'windows')
-rwxr-xr-xwindows/hdf5bt.BAT2
-rwxr-xr-xwindows/hdf5build.BAT34
2 files changed, 30 insertions, 6 deletions
diff --git a/windows/hdf5bt.BAT b/windows/hdf5bt.BAT
index c03027a..07f5b98 100755
--- a/windows/hdf5bt.BAT
+++ b/windows/hdf5bt.BAT
@@ -38,6 +38,8 @@ rem - if building with the /useenv option, szip and zlib paths have been adde
rem to %include% and %libpath% as necessary.
rem - if using the /log option, hdf5build_log and hdf5_check log should be defined
rem - in the environment.
+rem - The target platform architecture is specified in the environment
+rem variable PROCESSOR_ARCHITECTURE
rem By default, only C and C++ libraries are built and tested.
diff --git a/windows/hdf5build.BAT b/windows/hdf5build.BAT
index f361e23..c620e80 100755
--- a/windows/hdf5build.BAT
+++ b/windows/hdf5build.BAT
@@ -22,7 +22,7 @@ rem . in the environment, rather than the IDE.
rem . /? Help information
rem By Xuan Bai
rem Created: Aug. 16, 2004
-rem Last Updated: July 13, 2007
+rem Last Updated: May 13, 2008
rem This batch file makes the following assumptions:
rem - The appropriate version of Visual Studio is installed and setup
@@ -33,6 +33,8 @@ rem - szip and zlib DLLs are already placed in an accessible directory
rem - hdf5_ext_szip or hdf5_ext_zlib have been set accordingly
rem - if building with the /useenv option, szip and zlib paths have been added
rem to %include% and %libpath% as necessary.
+rem - The target platform architecture is specified in the environment
+rem variable PROCESSOR_ARCHITECTURE
rem By default, only C and C++ libraries are built.
@@ -40,6 +42,7 @@ setlocal enabledelayedexpansion
pushd %~dp0
set nerrors=0
+if "%1"=="/?" goto help
goto main
rem Print a help message
@@ -101,6 +104,17 @@ rem Setup our environment
)
+ rem Make sure PROCESSOR_ARCHITECURE is set to either x86 or AMD64
+ if "%PROCESSOR_ARCHITECTURE%"=="x86" (
+ set hdf5_platform=Win32
+ ) else if "%PROCESSOR_ARCHITECTURE%"=="AMD64" (
+ set hdf5_platform=x64
+ ) else (
+ echo.Error: Environment variable PROCESSOR_ARCHITECTURE should contain
+ echo.either x86 or AMD64
+ exit /b 1
+ )
+
rem Setup Visual Studio environment. By default, use the Visual Studio
rem 2005 environment.
@@ -112,7 +126,12 @@ rem Setup our environment
if not defined hdf5_enablefortran (
if defined vs80comntools (
rem This sets the Visual Studio path and environment variables
- call "%vs80comntools%\vsvars32.bat"
+ if %hdf5_platform%==Win32 (
+ call "%vs80comntools%\..\..\VC\vcvarsall.bat" x86
+ ) else (
+ call "%vs80comntools%\..\..\VC\vcvarsall.bat" x86_amd64
+ )
+
) else (
echo.Error: Cannot setup Visual Studio 2005 environment. Please
echo.make sure VS80COMNTOOLS is defined in the environment.
@@ -126,8 +145,11 @@ rem Setup our environment
rem This sets the Intel Fortran 9.1 environment, as well as
rem setting the appropriate Visual Studio environment
- rem Assume 32-bit environment
- call "%ifort_compiler91%\IA32\Bin\ifortvars.bat"
+ if %hdf5_platform%==Win32 (
+ call "%ifort_compiler91%\IA32\Bin\ifortvars.bat"
+ ) else (
+ call "%ifort_compiler91%\em64t\Bin\ifortvars.bat"
+ )
) else (
echo.Error: Cannot setup Intel Fortran 9.1 environment. Please
echo.make sure IFORT_COMPILER91 is defined in the environment.
@@ -157,8 +179,8 @@ rem Build the HDF5 libraries. By default, C and C++ libraries are built.
rem Build both debug and release versions
for %%a in (debug release) DO (
- echo.Building %%a libraries...
- devenv %hdf5_sln% %ccflags% /rebuild %%a
+ echo.Building %hdf5_platform% %%a libraries...
+ devenv %hdf5_sln% %ccflags% /rebuild "%%a|%hdf5_platform%"
if !errorlevel! neq 0 exit /b
)