Step 1: Get Windows® Server 2003 SP1 Platform SDK
http://www.microsoft.com/downloads/en/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5
Download : PSDK-amd64.exe (1.3MB)
Step 2: Get Microsoft Visual Studio 2008 (9.0)
Step 3: Run Start>All Programs>Microsoft Platform SDK for Windows Server 2003 SP1>Open Build Environment Window>Windows 2000 Build Environment > Set Windows 2000 Build Environment (Retail)
Step 4: cd msconfig
make
Step 5 dorelease <path of release files>
Partial contents of set_vars.bat
set PROGRAMS_DIR=%ProgramFiles%
if not "A%ProgramFiles(x86)%"=="A" set PROGRAMS_DIR=%SystemDrive%\PROGRA~2
REM Set paths to Visual C++, the Platform SDKs, and Perl
set VS_DIR=C:\Program Files (x86)\Microsoft Visual Studio 9.0
set VC_DIR=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC
set VC_BIN=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN
set PERL_DIR=%SystemDrive%\Perl\bin;%SystemDrive%\Perl64\bin;%SystemDrive%\prereq\ActivePerl-5.10.1\bin
set SDK_DIR=C:\Program Files\Microsoft Platform SDK
set DBG_DIR=%ProgramFiles%\Debugging Tools for Windows (x86);%ProgramFiles%\Debugging Tools for Windows (x64)
set DOTNET_DIR=%SystemRoot%\Microsoft.NET\Framework\v3.5;%SystemRoot%\Microsoft.NET\Framework\v2.0.50727
set JDK_DIR=C:\Program Files\Java\jdk1.6.0_23\bin
REM For some reason this is not defined whilst in some environments
if "A%VS90COMNTOOLS%"=="A" set VS90COMNTOOLS=%VS_DIR%\Common\Tools\
REM Specify symbol image path for debugging
if "A%_NT_SYMBOL_PATH%"=="A" set _NT_SYMBOL_PATH=SRV*%SystemDrive%\Symbols*http://msdl.microsoft.com/download/symbols
REM For externals: it just tells them we would like to have manifest
REM files embeded in the rem DLLs (In the future, when we do not have
REM VC6, we can remove this. After we--of course--remove any reference
REM to it from the externals)
set NEED_MANIFESTS_IN_EXTERNALS=True
REM Where do the completed externals live?
if "A%EXTERN_DIR%"=="A" set EXTERN_DIR=%cd%\..\externals
set EXT_INSTALL=%EXTERN_DIR%\install
set EXT_TRIGGERS=%EXTERN_DIR%\triggers
REM Specify which versions of the externals we're using. To add a
REM new external, just add its version here, and add that to the
REM EXTERNALS_NEEDED variable defined below.
set EXT_GSOAP_VERSION=gsoap-2.7.10-p5
set EXT_OPENSSL_VERSION=openssl-0.9.8h-p2
set EXT_POSTGRESQL_VERSION=postgresql-8.0.2
set EXT_KERBEROS_VERSION=krb5-1.4.3-p0
set EXT_PCRE_VERSION=pcre-7.6
set EXT_DRMAA_VERSION=drmaa-1.6
set EXT_CURL_VERSION=curl-7.19.6-p1
set EXT_HADOOP_VERSION=hadoop-0.20.0-p2
REM Now tell the build system what externals we need built.
set EXTERNALS_NEEDED=%EXT_GSOAP_VERSION% %EXT_OPENSSL_VERSION% %EXT_KERBEROS_VERSION% %EXT_PCRE_VERSION% %EXT_POSTGRESQL_VERSION% %EXT_DRMAA_VERSION% %EXT_CURL_VERSION% %EXT_HADOOP_VERSION%
set PATH=C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\bin;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\VCPackages;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin;D:\Spring11\726\Stork\condor_src-7.4.4-all-all\condor-7.4.4\msconfig;C:\Windows;C:\Windows\system32;C:\Perl\bin;C:\Perl64\bin;C:\prereq\ActivePerl-5.10.1\bin;C:\Program Files (x86)\Microsoft Visual Studio 9.0;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN;C:\Program Files\Microsoft Platform SDK;C:\Windows\Microsoft.NET\Framework\v3.5;C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Program Files\Debugging Tools for Windows (x86);C:\Program Files\Debugging Tools for Windows (x64);
REM echo PATH0 %PATH%
REM Put msconfig in the PATH, since it's got lots of stuff we need
REM like awk, gunzip, tar, bison, yacc...
set PATH=%cd%;%SystemRoot%;%SystemRoot%\system32;%PERL_DIR%;%VS_DIR%;%VC_DIR%;%VC_BIN%;%SDK_DIR%;%DOTNET_DIR%;%DBG_DIR%;%JDK_LIB%
REM echo PATH1 %PATH%
REM ======================================================================
REM ====== THIS SHOULD BE REMOVED WHEN Win2K IS NO LONGER SUPPORTED ======
REM Since we a still stuck in the past (i.e. supporting Win2K) we must
REM lie to the setenv script, and pretend the DevEnvDir environment
REM is alredy configured properly (yay! jump to VC2K8, but support
REM Win2K... *sigh*)
set MSVCDir=%VC_DIR%
set DevEnvDir=%VS_DIR%\Common7\IDE
set MSVCVer=9.0
REM ====== THIS SHOULD BE REMOVED WHEN Win2K IS NO LONGER SUPPORTED ======
REM ======================================================================
REM Configure Visual C++
call "%VC_DIR%\vcvarsall.bat" x86
if not defined INCLUDE ( echo. && echo *** Failed to run vcvarsall.bat! Is Microsoft Visual Studio installed? && exit /B 1 )
REM ======================================================================
REM ====== THIS SHOULD BE REMOVED WHEN Win2K IS NO LONGER SUPPORTED ======
REM We set these here as the above script will find the wrong versions
REM of everything... *sigh*
set WindowsSdkDir=%SDK_DIR%
REM ====== THIS SHOULD BE REMOVED WHEN Win2K IS NO LONGER SUPPORTED ======
REM ======================================================================
REM echo %SDK_DIR%\SetEnv.Cmd
REM echo %PATH%
REM Configure the Platform SDK environment
call "%SDK_DIR%\SetEnv.Cmd" /2000 /RETAIL
if not defined MSSDK ( echo. && echo *** Failed to run setenv.cmd! Are the Microsoft Platform SDK installed? && exit /B 1 )
http://www.microsoft.com/downloads/en/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5
Download : PSDK-amd64.exe (1.3MB)
Step 2: Get Microsoft Visual Studio 2008 (9.0)
Step 3: Run Start>All Programs>Microsoft Platform SDK for Windows Server 2003 SP1>Open Build Environment Window>Windows 2000 Build Environment > Set Windows 2000 Build Environment (Retail)
Step 4: cd msconfig
make
Step 5 dorelease <path of release files>
Partial contents of set_vars.bat
set PROGRAMS_DIR=%ProgramFiles%
if not "A%ProgramFiles(x86)%"=="A" set PROGRAMS_DIR=%SystemDrive%\PROGRA~2
REM Set paths to Visual C++, the Platform SDKs, and Perl
set VS_DIR=C:\Program Files (x86)\Microsoft Visual Studio 9.0
set VC_DIR=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC
set VC_BIN=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN
set PERL_DIR=%SystemDrive%\Perl\bin;%SystemDrive%\Perl64\bin;%SystemDrive%\prereq\ActivePerl-5.10.1\bin
set SDK_DIR=C:\Program Files\Microsoft Platform SDK
set DBG_DIR=%ProgramFiles%\Debugging Tools for Windows (x86);%ProgramFiles%\Debugging Tools for Windows (x64)
set DOTNET_DIR=%SystemRoot%\Microsoft.NET\Framework\v3.5;%SystemRoot%\Microsoft.NET\Framework\v2.0.50727
set JDK_DIR=C:\Program Files\Java\jdk1.6.0_23\bin
REM For some reason this is not defined whilst in some environments
if "A%VS90COMNTOOLS%"=="A" set VS90COMNTOOLS=%VS_DIR%\Common\Tools\
REM Specify symbol image path for debugging
if "A%_NT_SYMBOL_PATH%"=="A" set _NT_SYMBOL_PATH=SRV*%SystemDrive%\Symbols*http://msdl.microsoft.com/download/symbols
REM For externals: it just tells them we would like to have manifest
REM files embeded in the rem DLLs (In the future, when we do not have
REM VC6, we can remove this. After we--of course--remove any reference
REM to it from the externals)
set NEED_MANIFESTS_IN_EXTERNALS=True
REM Where do the completed externals live?
if "A%EXTERN_DIR%"=="A" set EXTERN_DIR=%cd%\..\externals
set EXT_INSTALL=%EXTERN_DIR%\install
set EXT_TRIGGERS=%EXTERN_DIR%\triggers
REM Specify which versions of the externals we're using. To add a
REM new external, just add its version here, and add that to the
REM EXTERNALS_NEEDED variable defined below.
set EXT_GSOAP_VERSION=gsoap-2.7.10-p5
set EXT_OPENSSL_VERSION=openssl-0.9.8h-p2
set EXT_POSTGRESQL_VERSION=postgresql-8.0.2
set EXT_KERBEROS_VERSION=krb5-1.4.3-p0
set EXT_PCRE_VERSION=pcre-7.6
set EXT_DRMAA_VERSION=drmaa-1.6
set EXT_CURL_VERSION=curl-7.19.6-p1
set EXT_HADOOP_VERSION=hadoop-0.20.0-p2
REM Now tell the build system what externals we need built.
set EXTERNALS_NEEDED=%EXT_GSOAP_VERSION% %EXT_OPENSSL_VERSION% %EXT_KERBEROS_VERSION% %EXT_PCRE_VERSION% %EXT_POSTGRESQL_VERSION% %EXT_DRMAA_VERSION% %EXT_CURL_VERSION% %EXT_HADOOP_VERSION%
set PATH=C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\bin;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\VCPackages;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin;D:\Spring11\726\Stork\condor_src-7.4.4-all-all\condor-7.4.4\msconfig;C:\Windows;C:\Windows\system32;C:\Perl\bin;C:\Perl64\bin;C:\prereq\ActivePerl-5.10.1\bin;C:\Program Files (x86)\Microsoft Visual Studio 9.0;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN;C:\Program Files\Microsoft Platform SDK;C:\Windows\Microsoft.NET\Framework\v3.5;C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Program Files\Debugging Tools for Windows (x86);C:\Program Files\Debugging Tools for Windows (x64);
REM echo PATH0 %PATH%
REM Put msconfig in the PATH, since it's got lots of stuff we need
REM like awk, gunzip, tar, bison, yacc...
set PATH=%cd%;%SystemRoot%;%SystemRoot%\system32;%PERL_DIR%;%VS_DIR%;%VC_DIR%;%VC_BIN%;%SDK_DIR%;%DOTNET_DIR%;%DBG_DIR%;%JDK_LIB%
REM echo PATH1 %PATH%
REM ======================================================================
REM ====== THIS SHOULD BE REMOVED WHEN Win2K IS NO LONGER SUPPORTED ======
REM Since we a still stuck in the past (i.e. supporting Win2K) we must
REM lie to the setenv script, and pretend the DevEnvDir environment
REM is alredy configured properly (yay! jump to VC2K8, but support
REM Win2K... *sigh*)
set MSVCDir=%VC_DIR%
set DevEnvDir=%VS_DIR%\Common7\IDE
set MSVCVer=9.0
REM ====== THIS SHOULD BE REMOVED WHEN Win2K IS NO LONGER SUPPORTED ======
REM ======================================================================
REM Configure Visual C++
call "%VC_DIR%\vcvarsall.bat" x86
if not defined INCLUDE ( echo. && echo *** Failed to run vcvarsall.bat! Is Microsoft Visual Studio installed? && exit /B 1 )
REM ======================================================================
REM ====== THIS SHOULD BE REMOVED WHEN Win2K IS NO LONGER SUPPORTED ======
REM We set these here as the above script will find the wrong versions
REM of everything... *sigh*
set WindowsSdkDir=%SDK_DIR%
REM ====== THIS SHOULD BE REMOVED WHEN Win2K IS NO LONGER SUPPORTED ======
REM ======================================================================
REM echo %SDK_DIR%\SetEnv.Cmd
REM echo %PATH%
REM Configure the Platform SDK environment
call "%SDK_DIR%\SetEnv.Cmd" /2000 /RETAIL
if not defined MSSDK ( echo. && echo *** Failed to run setenv.cmd! Are the Microsoft Platform SDK installed? && exit /B 1 )
This is correct post and very helpful
ReplyDeleteIf you've never used the SDK before, don't forget to do the once off "install SDK into VS2008".
ReplyDelete