[DOCS] document SRP uninstall issues with lingering SRP driver references and how...
[mirror/winof/.git] / WinOF / BuildRelease.bat
index e911962..73cb5ff 100644 (file)
@@ -2,18 +2,18 @@
 setlocal\r
 rem\r
 rem EXAMPLE - Build entire openIB-windows release & WIX installers (.msi) files.\r
-rem           Binary release is constructed in ..\Branches\WinOF\Wix\OS\bin.\r
+rem           Binary release is constructed in WinOF\Wix\OS\bin.\r
 rem           Processor architecture specific WIX installers are constructed\r
 rem           in %IDIR%\r
 rem\r
 rem BuildRelease option\r
-rem  option == all | allnoforce | compile | compilenoforce | makebin | msi | wix | clean | msi-label | msi-del | msi-dir {OPENIB_REV}\r
-rem\r
+rem  option == all | allnoforce | compile | compilenoforce | makebin | msi |\r
+rem            wix | clean | msi-label | msi-del | msi-dir {OPENIB_REV}\r
 \r
 rem This script is an 'example' of a one-command entire IB stack build to\r
 rem single-file installer; used to build a WinOF releases.\r
 rem Script is designed to be invoked from the <whatever>\gen1\trunk folder with\r
-rem <whatever>\branches\WinOF\Wix\* accessible.\r
+rem <whatever>\gen1\trunk\WinOF\Wix\* present.\r
 rem\r
 rem Verify the following env vars are suitible for your system configuration.\r
 rem     _DDK, _PSDK, SVN, IDIR\r
@@ -74,32 +74,58 @@ if not "%WDM_INC_PATH%" == "" (
     exit /B 1\r
 )\r
 \r
+rem assumes %CD% == '<...>\gen1\trunk'\r
+set BSE=%CD%\r
+set WIX=%CD%\WinOF\WIX\r
+\r
+rem Use Wix V2 binaries.\r
+rem set WIX_BIN=wix-2.0.5325.0-binaries\r
+set WIX_BIN=wix-2.0.5805.0-binaries\r
+\r
+set RBIN_WLH=%WIX%\wlh\bin%\r
+set RBIN_WNET=%WIX%\wnet\bin%\r
+set RBIN_WXP=%WIX%\wxp\bin%\r
+\r
 rem remove build artifacts\r
 if "%1" == "clean" (\r
     echo Removing build artifacts and folders...\r
     call %CD%\etc\clean-build.bat\r
+    if exist %WIX%\wlh\bin (\r
+               echo Removing %WIX%\wlh\bin\r
+               rmdir /Q /S %WIX%\wlh\bin\r
+    )\r
+    if exist %WIX%\wnet\bin (\r
+               echo Removing %WIX%\wnet\bin\r
+               rmdir /Q /S %WIX%\wnet\bin\r
+    )\r
+    if exist %WIX%\wxp\bin (\r
+               echo Removing %WIX%\wxp\bin\r
+               rmdir /Q /S %WIX%\wxp\bin\r
+    )\r
     exit /B 0\r
 )\r
 \r
-rem set CERTNAME=noCert\r
-set CERTNAME=cse1CStore\r
+rem Driver Signing Certificate filename, assumes %WIX%\%CERTFILE% is valid.\r
+rem set CERTFILE=noCert\r
+set CERTFILE=MSCV-VSClass3.cer\r
+set CERTSNAME="OpenFabrics Alliance"\r
 \r
 rem A Digital driver signing certificate store name may be required.\r
 if "%1" == "all" (\r
-    if "%CERTNAME%" == "noCert" set /P CERTNAME=[Enter Certificate Store Name] \r
-    if "%CERTNAME%" == "" (\r
+    if "%CERTFILE%" == "noCert" set /P CERTFILE=[Enter Certificate FileName] \r
+    if "%CERTFILE%" == "" (\r
         echo %0\r
-        echo %0: Err - driver signing certificate store name required.\r
+        echo %0: Err - driver signing certificate filename required.\r
         echo %0: see certmgr.exe\r
         exit /B 1\r
     )\r
 )\r
 \r
 if "%1" == "msi" (\r
-    if "%CERTNAME%" == "noCert" set /P CERTNAME=[Enter Certificate Store Name] \r
-    if "%CERTNAME%" == "" (\r
+    if "%CERTFILE%" == "noCert" set /P CERTFILE=[Enter Certificate FileName] \r
+    if "%CERTFILE%" == "" (\r
         echo %0\r
-        echo %0: Err - driver signing certificate store name required.\r
+        echo %0: Err - driver signing certificate filename required.\r
         echo %0: see certmgr.exe\r
         exit /B 1\r
     )\r
@@ -117,37 +143,43 @@ if NOT EXIST %_DDK% (
 rem Platform SDK path - watchout for missing LoadPerf.h (installsp.c)\r
 set _PSDK=%SystemDrive%\progra~1\mi2578~1\r
 \r
-rem setup value for OPENIB_REV assignment.\r
+rem set this to be the current svn commit number; overrides svn in path\r
+rem processing. Additionally if set to 'latest' code expects ..\..\..\latest.txt\r
+rem to contain the SVN number to use.\r
+rem set USE_SVN=1748\r
+set USE_SVN=latest\r
 \r
-if not "%2" == "" (\r
-    set SVN=%2\r
-    set LBL=%2\r
-) else (\r
+rem setup value for OPENIB_REV assignment.\r
+if "%2" == "" (\r
+    rem Determine SVN value from current path.\r
     rem WARNING - SVN value depends on the path '\openIB-windows-svn\XXX\gen1',\r
     rem where SVN is set to XXX\r
     rem  substring[23rd...26th] chars (offset counting) == xxxx\r
     rem Note - OPENIB_REV is assigned SVN in a child script.\r
 \r
-    set SVN=%CD:~22,4%\r
+    if "%USE_SVN%" == "" (\r
+        set SVN=%CD:~22,4%\r
+    ) else (\r
+       if "%USE_SVN%" == "latest" (\r
+rem                    set /P SVN=<F:\openIB-windows-svn\latest.txt\r
+                       set /P SVN=< ..\..\..\latest.txt\r
+               ) else (\r
+                       set SVN=%USE_SVN%\r
+               )\r
+    )\r
     set LBL=_svn.!SVN!\r
+) else (\r
+    set SVN=%2\r
+    set LBL=%2\r
 )\r
 \r
-rem assumes %CD% == '...\gen1\trunk'\r
-set BSE=%CD%\r
-set WIX=%CD:trunk=Branches\WinOF\WIX%\r
-\r
-set RBIN_WLH=%WIX%\wlh\bin%\r
-set RBIN_WNET=%WIX%\wnet\bin%\r
-set RBIN_WXP=%WIX%\wxp\bin%\r
-\r
-if NOT EXIST "..\branches\WinOF\WIX\build-all-MSI.bat" (\r
+if NOT EXIST "%WIX%\build-all-MSI.bat" (\r
     echo %0 - Missing .msi installer build script\r
-    echo    ..\branches\WinOF\WIX\build-all-MSI.bat\r
+    echo    %WIX%\build-all-MSI.bat\r
     exit /B 1\r
 )\r
 \r
 rem WIX Installer files (.msi) destination folder - set for local environment.\r
-rem \r
 set IDIR=%SystemRoot%\temp\r
 \r
 if "%1" == "msi-label" (\r
@@ -213,8 +245,8 @@ if "%1" == "msi-dir" (
 )\r
 \r
 echo %0 - Building with WDK @ %_DDK%\r
-echo Building for OPENIB_REV %SVN%, installer files @ %IDIR%\r
-echo   Drivers signed using Certificate '%CERTNAME%'\r
+echo Building for OPENIB_REV %SVN%, installer files (.msi) @ %IDIR%\r
+echo   Drivers signed using Certificate '%CERTFILE%'\r
 \r
 rem pause thoughtfully.\r
 if exist %windir%\system32\timeout.exe (\r
@@ -230,11 +262,11 @@ if NOT EXIST "%IDIR%" (
 \r
 rem Verify WIX 2.0 toolset is available - if not, download from\r
 rem http://sourceforge.net/project/showfiles.php?group_id=105970&package_id=114109\r
-rem   select wix-2.0.5325.0-binaries.zip download and unzip to\r
-rem   ..\branches\WinOF\WIX\WIX_tools\\r
+rem   select wix-2.0.5805.0-binaries.zip download and unzip to\r
+rem   <...>\gen1\trunk\WinOF\WIX\WIX_tools\\r
 rem\r
-if NOT EXIST %WIX%\WIX_tools\wix-2.0.5325.0-binaries (\r
-    echo %0 - Missing WIX tools @ %WIX%\WIX_tools \r
+if NOT EXIST %WIX%\WIX_tools\%WIX_BIN% (\r
+    echo %0 - Missing WIX tools @ %WIX%\WIX_tools\%WIX_BIN% \r
     exit /B 1\r
 )\r
 \r
@@ -247,10 +279,11 @@ set STIME=%TIME%
 rem skip build - assumes binaries already built.\r
 \r
 if "%1" == "wix" (\r
-    set CERTNAME=nosign\r
+    set MSI_CMD=msi\r
     goto mk_msi\r
 )\r
 \r
+set MSI_CMD=all\r
 if "%1" == "msi" (\r
     if not EXIST "%RBIN_WLH%"  goto InstallBin\r
     if not EXIST "%RBIN_WNET%" goto InstallBin\r
@@ -273,67 +306,85 @@ if "%1" == "compilenoforce" (
 if "%1" == "all" (\r
     echo Removing build artifacts and folders...\r
     call %CD%\etc\clean-build.bat\r
+    if exist %WIX%\wlh\bin (\r
+               echo Removing %WIX%\wlh\bin\r
+               rmdir /Q /S %WIX%\wlh\bin\r
+    )\r
+    if exist %WIX%\wnet\bin (\r
+               echo Removing %WIX%\wnet\bin\r
+               rmdir /Q /S %WIX%\wnet\bin\r
+    )\r
+    if exist %WIX%\wxp\bin (\r
+               echo Removing %WIX%\wxp\bin\r
+               rmdir /Q /S %WIX%\wxp\bin\r
+    )\r
 )\r
 \r
-rem ********* Compile for WLH - Windows Server 2008 & Vista\r
+rem ************ Setup Env for Building \r
 \r
+set WDK_PATH=%_DDK%\r
+set WINOF_PATH=%CD%\r
+set OPENIB_REV=%SVN%\r
+set PLATFORM_SDK_PATH=%_PSDK%\r
+\r
+rem ********* Compile for WLH - Windows Server 2008 & Vista\r
 rem WLH x64\r
 echo %0 - Build WLH x64 Checked\r
-%COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_x64.bat %SVN% %CD% %_DDK% %_PSDK% WLH & build %OPS%"\r
+%COMSPEC% /C "call %BSE%\etc\bldwo.bat chk x64 2008 %OPS%"\r
 if ERRORLEVEL 1 exit /B 1\r
 echo %0 - Build WLH x64 Free\r
-%COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_x64.bat %SVN% %CD% %_DDK% %_PSDK% WLH & build %OPS%"\r
+%COMSPEC% /C "call %BSE%\etc\bldwo.bat fre x64 2008 %OPS%"\r
 if ERRORLEVEL 1 exit /B 1\r
 \r
 rem WLH x86\r
 \r
 echo %0 - Build WLH x86 Checked\r
-%COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_x86.bat %SVN% %CD% %_DDK% %_PSDK% WLH & build %OPS%"\r
+%COMSPEC% /C "call %BSE%\etc\bldwo.bat chk x86 2008 %OPS%"\r
 if ERRORLEVEL 1 exit /B 1\r
 echo %0 - Build WLH x86 Free\r
-%COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_x86.bat %SVN% %CD% %_DDK% %_PSDK% WLH & build %OPS%"\r
+%COMSPEC% /C "call %BSE%\etc\bldwo.bat fre x86 2008 %OPS%"\r
 if ERRORLEVEL 1 exit /B 1\r
 \r
 rem WLH ia64\r
 echo %0 - Build WLH ia64 Checked\r
-%COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_IA64.bat %SVN% %CD% %_DDK% %_PSDK% WLH & build %OPS%"\r
+%COMSPEC% /C "call %BSE%\etc\bldwo.bat chk ia64 2008 %OPS%"\r
 if ERRORLEVEL 1 exit /B 1\r
 echo %0 - Build WLH ia64 Free\r
-%COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_IA64.bat %SVN% %CD% %_DDK% %_PSDK% WLH & build %OPS%"\r
+%COMSPEC% /C "call %BSE%\etc\bldwo.bat fre ia64 2008 %OPS%"\r
 if ERRORLEVEL 1 exit /B 1\r
 \r
 \r
 rem ********* WXP - Windows XP - x86 only\r
 \r
 echo %0 - Build XP x86 Checked\r
-%COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_x86.bat %SVN% %CD% %_DDK% %_PSDK% WXP & build %OPS%"\r
+%COMSPEC% /C "call %BSE%\etc\bldwo.bat chk x86 xp %OPS%"\r
 if ERRORLEVEL 1 exit /B 1\r
 \r
 echo %0 - Build XP x86 Free\r
-%COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_x86.bat %SVN% %CD% %_DDK% %_PSDK% WXP & build %OPS%"\r
+%COMSPEC% /C "call %BSE%\etc\bldwo.bat fre x86 xp %OPS%"\r
 if ERRORLEVEL 1 exit /B 1\r
 \r
 \r
 rem ********* WNET - Windows Server 2003\r
 echo %0 - Build WNET x64 Checked\r
-%COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_x64.bat %SVN% %CD% %_DDK% %_PSDK% WNET & build %OPS%"\r
+%COMSPEC% /C "call %BSE%\etc\bldwo.bat chk x64 2003 %OPS%"\r
 if ERRORLEVEL 1 exit /B 1\r
 echo %0 - Build WNET x64 Free\r
-%COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_x64.bat %SVN% %CD% %_DDK% %_PSDK% WNET & build %OPS%"\r
+%COMSPEC% /C "call %BSE%\etc\bldwo.bat fre x64 2003 %OPS%"\r
 if ERRORLEVEL 1 exit /B 1\r
 \r
 echo %0 - Build WNET x86 Checked\r
-%COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_x86.bat %SVN% %CD% %_DDK% %_PSDK% WNET & build %OPS%"\r
+%COMSPEC% /C "call %BSE%\etc\bldwo.bat chk x86 2003 %OPS%"\r
 if ERRORLEVEL 1 exit /B 1\r
 echo %0 - Build WNET x86 Free\r
-%COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_x86.bat %SVN% %CD% %_DDK% %_PSDK% WNET & build %OPS%"\r
+%COMSPEC% /C "call %BSE%\etc\bldwo.bat fre x86 2003 %OPS%"\r
 if ERRORLEVEL 1 exit /B 1\r
 \r
 echo %0 - Build WNET ia64 Checked\r
-%COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_IA64.bat %SVN% %CD% %_DDK% %_PSDK% WNET & build %OPS%"\r
+%COMSPEC% /C "call %BSE%\etc\bldwo.bat chk ia64 2003 %OPS%"\r
 if ERRORLEVEL 1 exit /B 1\r
 echo %0 - Build WNET ia64 Free\r
-%COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_IA64.bat %SVN% %CD% %_DDK% %_PSDK% WNET & build %OPS%"\r
+%COMSPEC% /C "call %BSE%\etc\bldwo.bat fre ia64 2003 %OPS%"\r
 if ERRORLEVEL 1 exit /B 1\r
 \r
 if "%1" == "compile" goto finito\r
@@ -375,14 +426,15 @@ if "%1" == "makebin" goto finito
 \r
 :mk_msi\r
 \r
-echo %0 - Drivers Signed with %CERTNAME% , Binary releases built in\r
+echo %0 - Drivers Signed with %CERTFILE%\r
+echo   Binary releases created in\r
 echo     %RBIN_WLH%\r
 echo     %RBIN_WNET%\r
 echo     %RBIN_WXP%\r
 \r
-rem build WIX installers --> see ..\branches\WinOF\WIX\r
+rem build WIX installers --> see WinOF\WIX\r
 \r
-%COMSPEC% /V:on /E:on /C "%_DDK%\bin\setenv.bat %_DDK% fre X64 WNET & cd /D %WIX% & build-all-MSI %CERTNAME% %IDIR%"\r
+%COMSPEC% /V:on /E:on /C "%_DDK%\bin\setenv.bat %_DDK% fre X64 WNET & cd /D %WIX% & build-all-MSI %MSI_CMD% %CERTFILE% %CERTSNAME% %IDIR%"\r
 \r
 \r
 :finito\r