From 61d1578324b8b4f4a18fc12a3d199155692e8e4b Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Fri, 25 Jul 2008 21:25:55 +0000 Subject: [PATCH] windows-build-20080725 LICENSE MIT update README-NT and src/ntbuild.bat build instructions. --- README-NT | 66 +++++++++++++++++++++++++++++-------------------- src/ntbuild.bat | 63 +++++++++++++++++++++------------------------- 2 files changed, 67 insertions(+), 62 deletions(-) diff --git a/README-NT b/README-NT index 15e8216dac..7402075af3 100644 --- a/README-NT +++ b/README-NT @@ -3,16 +3,17 @@ License. For details, see the LICENSE file in the top-level source directory or on-line at http://www.openafs.org/dl/license10.html The document now provides a step by step procedure that takes the user -from a basic Windows 2000/XP/2003 workstation to an OpenAFS development -environment. Details are provided so that a 'beginning' windows -developer can build an OpenAFS installable package for Windows 2000/XP/2003. +from a basic Windows 2000/XP/2003/Vista/2008 workstation to an OpenAFS +development environment. Details are provided so that a 'beginning' +windows developer can build an OpenAFS installable package for Windows +2000/XP/2003/Vista/2008. NOTE 1: As of the OpenAFS 1.3 release series, Windows platforms released prior to Windows 2000 are no longer supported. As of the OpenAFS 1.5 series, the Windows 9x components are being removed from the source tree. -*********** Windows 2000/XP/2003 Build Process **************** +*********** Windows 2000/XP/2003/Vista/2008 Build Process ************* Building OpenAFS for Windows requires configuring a Windows development system by installing compilation tools and header files. @@ -29,6 +30,7 @@ one of: * Windows 2003 64 * Windows 2003 R2 (32 or 64) * Windows Vista (32 or 64) + * Windows 2008 (32 or 64) The build process is controlled by a nmake file that generates the necessary binaries and binds them into an install package. @@ -66,7 +68,7 @@ versions are supported: The following Microsoft SDK is required: - Microsoft Platform SDK for Windows XP SP2 or Server 2003 SP1 or Vista + Microsoft Platform SDK for Windows Server 2003 SP1 or Vista or 2008 http://www.microsoft.com/msdownload/platformsdk/sdkupdate/downlevel.htm [IE required] http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm @@ -96,10 +98,6 @@ version is supported: Wix 2.0.5325.0 http://prdownloads.sourceforge.net/wix/sources-2.0.5325.0.zip -The InstallShield scripts (although not supported) require version 5.5 -of InstallShiled. Version 6.0 or higher of InstallShield are not -compatible. - The OpenAFS Source directory requires about 360 MB storage. The Source directory size includes additional space for files that will be generated during the build process. @@ -111,13 +109,13 @@ Transfer OpenAFS source tree onto your hardrive. The source can be downloaded from the OpenAFS web site: http://www.OpenAFS.org/release/snapindex.html. -For this example, download source for version 1.3.74 using the +For this example, download source for version 1.5.51 using the following URL: -http://www.openafs.org/dl/openafs/1.3.74/openafs-1.3.74-src.tar +http://www.openafs.org/dl/openafs/1.5.51/openafs-1.5.51-src.tar HINT: DailySnapShots are pre-release source trees and much more likely to have compilation errors. If this is your first attempt, do -your build based on a release version of the source, e.g. 1.3.74. Once +your build based on a release version of the source, e.g. 1.5.51. Once you have completed a build process successfully, you can experiment with other source trees. @@ -125,24 +123,24 @@ You will need an unzip utility that can expand compressed tar files. For example "Pkzip for Windows" from Pkware will uncompress tar files. (http://www.pkware.com/) -Expand the downloaded tar file (openafs-1.3.74-src.tar) into target +Expand the downloaded tar file (openafs-1.5.51-src.tar) into target directory (c:\OpenAFS), the unzip routine will expand the source into a subdirectory tree: - c:\OpenAFS\OpenAFS-1.3.74\src + c:\OpenAFS\OpenAFS-1.5.51\src Copy the files 'NTMakefile' and 'ntbuild.bat' from 'src' to the OpenAFS base directory (aka %AFSROOT%): From a DOS command prompt window, enter the following copy commands: - cd c:\OpenAFS\OpenAFS-1.3.74 + cd c:\OpenAFS\OpenAFS-1.5.51 copy src\NTMakefile . copy src\ntbuild.bat . The OpenAFS base directory should look something like the following: - c:\OpenAFS\OpenAFS-1.3.74\ + c:\OpenAFS\OpenAFS-1.5.51\ NTMakefile ntbuild.bat src @@ -151,7 +149,9 @@ The OpenAFS base directory should look something like the following: STEP B. Install compiler and development tools. Install a copy of Microsoft Visual Studio .NET, Visual Studio .NET 2003, -or Visual Studio .NET 2005. The "Typical" install setting is sufficient. +or Visual Studio .NET 2005. Visual Studio 2008 has not been sufficiently +tested to be considered "supported". The "Typical" install setting is +sufficient. (1) You can reduce the installation size by selecting "Custom" install and remove all but the following Options: @@ -164,16 +164,22 @@ and remove all but the following Options: STEP C. Install SDK header files. -Files from Microsoft's Platform SDK for Windows XP SP2 or Server 2003 are -required to complete a build on Windows 2000/XP/2003. You can install -the "Core, Data Access and Installer SDKs" from +Files from Microsoft's Platform SDK for Windows Server 2003 SP1 are +required to complete a build on Windows 2000/XP/2003. At a minimum the +following componets are known to be required: + + * Core + * Data Access + * Installer + * Windows Management Instrumentation + * Web Workshop (IE) + +It is advised that you install the entire SDK. The SDK can be obtained +from: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ by using Internet Explorer 5.x or higher. (Active X controls are required) -If you do not which to use IE a complete SDK package is available from - - http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm The header files that are required from a Microsoft SDK/DDK are: @@ -190,7 +196,6 @@ These files come from the following Microsoft DDKs/SDKs: netcfgn.h, netcfgx.h: Windows XP/2003 DDK - inc/wxp/ - normalization.h: Microsoft IDN Mitigation APIs 1.1 - include/ @@ -204,6 +209,7 @@ must be defined to match your configuration: Set to 1300 if using MS Visual Studio .NET Set to 1310 if using MS Visual Studio .NET 2003 Set to 1400 if using MS Visual Studio .NET 2005 + Set to 1500 if using MS Visual Studio 2008 MSVCDIR: Set to the short name version of the directory into which the visual C++ compiler was installed regardless of version @@ -228,6 +234,12 @@ must be defined to match your configuration: MSVCVer: Set to 8.0 if using Visual Studio 8 + CODESIGN_DESC: Product Name + + CODESIGN_TIMESTAMP: Time Stamp Service for Code Signing Certificate + + CODESIGN_URL: Support URL Displayed to End Users + STEP E. Set version and installation options (optional) @@ -247,12 +259,12 @@ Edit file %AFSROOT%\src\config\NTMakefile.i386_w2k CELLNAME_DEFAULT - The default home cell name. CELLSERVDB_WEB - The default web address to obtain CellServDB -For example: in the file %AFSROOT%\src\config\NTMakefile.i386_nt40 you would +For example: in the file %AFSROOT%\src\config\NTMakefile.i386_w2k you would see the following: AFSPRODUCT_VER_MAJOR=1 - AFSPRODUCT_VER_MINOR=3 - AFSPRODUCT_VER_PATCH=7400 + AFSPRODUCT_VER_MINOR=5 + AFSPRODUCT_VER_PATCH=5100 AFSPRODUCT_VER_BUILD=0 CELLNAME_DEFAULT=openafs.org CELLSERVDB_INSTALL=CellServDB.GrandCentral diff --git a/src/ntbuild.bat b/src/ntbuild.bat index 6b0fd7678b..88d8c2a1b8 100755 --- a/src/ntbuild.bat +++ b/src/ntbuild.bat @@ -23,9 +23,11 @@ REM SYS_NAME = AFS system name REM Choose one of "i386_w2k", "amd64_w2k", or "i64_w2k" SET SYS_NAME=i386_w2k -REM Specify the targeted version of Windows and IE: 0x400 for Win9x/NT4 -REM and above; 0x500 for Windows 2000 and above -SET _WIN32_IE=0x400 +REM Specify the targeted version of Windows and IE: +REM 0x500 for Windows 2000 and above +REM 0x502 for Windows XP 64 and above +SET APPVER=0x500 +SET _WIN32_IE=0x500 REM ######################################################################## REM Location of base folder where source lies, build directory @@ -38,23 +40,8 @@ REM AFSVER_CL = version of the Microsoft compiler: REM "1200" for VC6 REM "1300" for VC7 (.NET) REM "1310" for .NET 2003 -REM "1400" for VC8 -set AFSVER_CL=1310 - -REM Location of Microsoft Visual C++ development folder (8.3 short name) -set MSVCDIR=c:\progra~1\micros~2\vc98 - -REM Location of Microsoft Platform SDK (8.3 short name) -set MSSDKDIR=c:\progra~1\micros~4 - -REM Location of npapi.h (from DDK or Platform SDK samples - 8.3 short name) -set NTDDKDIR=c:\progra~1\micros~5 - -REM Location of netmpr.h/netspi.h (from Windows 95/98 DDK - 8.3 short name) -SET W9XDDKDIR=c:\progra~1\micros~6 - -REM Location of Microsoft IDN Normalization SDK -set MSIDNNLS=C:\progra~1\MI5913~1 +REM "1400" for VC8 (VS2005) +set AFSVER_CL=1400 REM ######################################################################## REM NTMakefile optional definitions: @@ -71,6 +58,13 @@ REM set BISON_SIMPLE=c:\bin\bison.simple set BISON_HAIRY=c:\bin\bison.hairy +REM ######################################################################## +REM Code Signing Definitions for signtool.exe + +REM SET CODESIGN_DESC=OpenAFS for Windows +REM SET CODESIGN_TIMESTAMP= +REM SET CODESIGN_URL= + REM ######################################################################## REM Accept build type as an argument; default to checked. @@ -86,25 +80,13 @@ goto usage :checked set AFSBLD_TYPE=CHECKED set AFSDEV_CRTDEBUG=1 -goto ifs_arg +goto args_done :free set AFSBLD_TYPE=FREE set AFSDEV_CRTDEBUG=0 -goto ifs_arg - -:ifs_arg - -set AFSIFS= -if "%2"=="ifs" goto is_ifs -if "%2"=="IFS" goto is_ifs - goto args_done -:is_ifs - -set AFSIFS=TRUE - :args_done REM ####################################################################### @@ -116,12 +98,24 @@ REM AFSDEV_BIN = default build binary directories set AFSDEV_BUILDTYPE=%AFSBLD_TYPE% +REM Location of Microsoft Visual C++ development folder (8.3 short name) +set MSVCDIR=c:\progra~1\MID05A~1\vc + +REM Location of Microsoft Platform SDK (8.3 short name) +set MSSDKDIR=c:\progra~1\MIC977~1 + +REM Location of npapi.h (from DDK or Platform SDK samples - 8.3 short name) +set NTDDKDIR=C:\WINDDK\6000 + +REM Location of Microsoft IDN Normalization SDK +set MSIDNNLS=C:\progra~1\MI5913~1 + set AFSDEV_INCLUDE=%MSSDKDIR%\include;%MSVCDIR%\include;%MSIDNNLS%\include IF "%AFSVER_CL%" == "1400" set AFSDEV_INCLUDE=%AFSDEV_INCLUDE%;%MSVCDIR%\atlmfc\include IF "%AFSVER_CL%" == "1310" set AFSDEV_INCLUDE=%AFSDEV_INCLUDE%;%MSVCDIR%\atlmfc\include IF "%AFSVER_CL%" == "1300" set AFSDEV_INCLUDE=%AFSDEV_INCLUDE%;%MSVCDIR%\atlmfc\include IF "%AFSVER_CL%" == "1200" set AFSDEV_INCLUDE=%AFSDEV_INCLUDE%;%MSVCDIR%\atl\include;%MSVCDIR%\mfc\include -set AFSDEV_INCLUDE=%AFSDEV_INCLUDE%;%NTDDKDIR%\include;%W9XDDKDIR%\include +set AFSDEV_INCLUDE=%AFSDEV_INCLUDE%;%NTDDKDIR%\INC\DDK;%NTDDKDIR%\INC\API; set AFSDEV_LIB=%MSSDKDIR%\lib;%MSVCDIR%\lib IF "%AFSVER_CL%" == "1400" set AFSDEV_LIB=%AFSDEV_LIB%;%MSVCDIR%\atlmfc\lib @@ -130,7 +124,6 @@ IF "%AFSVER_CL%" == "1300" set AFSDEV_LIB=%AFSDEV_LIB%;%MSVCDIR%\atlmfc\lib IF "%AFSVER_CL%" == "1200" set AFSDEV_LIB=%AFSDEV_LIB%;%MSVCDIR%\mfc\lib set AFSDEV_BIN=%MSSDKDIR%\bin;%MSVCDIR%\bin - goto end :usage