updates-to-NSIS-to-support-debug-crt-20031205
authorJeffrey Altman <jaltman@grand.central.org>
Fri, 5 Dec 2003 23:10:04 +0000 (23:10 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 5 Dec 2003 23:10:04 +0000 (23:10 +0000)
Updates to NSIS installer scripts to conditionally build with
debug or non-debug CRT libraries; also, now supports conditional
library usage based upon the MS Compiler version used

src/WINNT/install/NSIS/MakeCommon.bat
src/WINNT/install/NSIS/NTMakefile
src/WINNT/install/NSIS/OpenAFS.nsi

index fb960c1..c2e372d 100644 (file)
@@ -8,4 +8,5 @@ echo !define MUI_VERSION %1 >> nsi-includes.nsi
 echo !define MUI_MAJORVERSION 1 >>nsi-includes.nsi
 echo !define MUI_MINORVERSION 2 >>nsi-includes.nsi
 echo !define MUI_PATCHLEVEL 1100 >>nsi-includes.nsi
+if "%AFSDEV_CL% == "1310" echo !define CL1310 1 >> nsi-includes.nsi
 if "%AFSDEV_BUILDTYPE%" == "CHECKED" echo !define DEBUG 1 >>nsi-includes.nsi
index 4268404..09272e2 100644 (file)
@@ -17,13 +17,42 @@ $(EXEDIR)\Killer.exe: $(OUT)\Killer.obj
       $(EXECONLINK) $(OUT)\Killer.obj
 
 prebuild:
+!IF ("$(AFSDEV_BUILDTYPE)" == "FREE")
+!IF ("$(AFSVER_CL)"=="1310")
    $(COPY) %SystemRoot%\System32\Msvcr71.dll $(EXEDIR)
+!ELSE IF ("$(AFSVER_CL)"=="1300")
+   $(COPY) %SystemRoot%\System32\Msvcp70.dll $(EXEDIR)
+!ELSE IF ("$(AFSVER_CL)"=="1200")
+   $(COPY) %SystemRoot%\System32\MSVCRT.DLL $(EXEDIR)
+!ELSE
+!ERROR Unknown Compiler Version
+!ENDIF
    $(COPY) %SystemRoot%\System32\MFC42.DLL $(EXEDIR)
+!ELSE
+!IF ("$(AFSVER_CL)"=="1310")
+   $(COPY) %SystemRoot%\System32\Msvcr71d.dll $(EXEDIR)
+   $(COPY) %SystemRoot%\System32\Msvcr71d.pdb $(EXEDIR)
+!ELSE IF ("$(AFSVER_CL)"=="1300")
+   $(COPY) %SystemRoot%\System32\Msvcp70d.dll $(EXEDIR)
+   $(COPY) %SystemRoot%\System32\Msvcp70d.pdb $(EXEDIR)
+!ELSE IF ("$(AFSVER_CL)"=="1200")
+   $(COPY) %SystemRoot%\System32\MSVCRTD.DLL $(EXEDIR)
+   $(COPY) %SystemRoot%\System32\MSVCRTD.pdb $(EXEDIR)
+!ELSE
+!ERROR Unknown Compiler Version
+!ENDIF
+   $(COPY) %SystemRoot%\System32\MFC42D.DLL $(EXEDIR)
+   $(COPY) %SystemRoot%\System32\MFC42D.pdb $(EXEDIR)
+!ENDIF
    MakeCommon.bat "$(AFSPRODUCT_VERSION)"
 
 build: prebuild
    "C:\Program Files\NSIS\makensis.exe" OpenAFS.nsi
+!IF ("$(AFSDEV_BUILDTYPE)" == "FREE")
    $(COPY) OpenAFSforWindows.exe $(DESTDIR)\Wininstall\
+!ELSE
+   $(COPY) OpenAFSforWindows-Debug.exe $(DESTDIR)\Wininstall\
+!ENDIf
 
 install: $(OUT)\Service.obj $(EXEDIR)\Service.exe $(OUT)\Killer.obj $(EXEDIR)\Killer.exe build
 
index 1feef93..a56789d 100644 (file)
@@ -551,8 +551,14 @@ Section "AFS Client" SecClient
    ; Do SYSTEM32 DIR
    SetOutPath "$SYSDIR"
    File "${AFS_CLIENT_BUILDDIR}\afs_cpa.cpl"
+!IFDEF DEBUG
+   ;File "${SDK_DIR}\REDIST\msvcrtd.dll"
+   ;File "${SDK_DIR}\REDIST\msvcrtd.pdb"
+   !insertmacro UpgradeDLL "${AFS_WININSTALL_DIR}\mfc42d.dll" "$SYSDIR\mfc42d.dll"
+!ELSE
    ;File "${SDK_DIR}\REDIST\msvcrt.dll"
    !insertmacro UpgradeDLL "${AFS_WININSTALL_DIR}\mfc42.dll" "$SYSDIR\mfc42.dll"
+!ENDIF
    
   ; Do WINDOWSDIR components
   ; Get AFS CellServDB file
@@ -756,8 +762,21 @@ Section "AFS Control Center" SecControl
  SetOutPath "$INSTDIR\Common"
 
   SetOutPath "$INSTDIR\Common"
+!IFDEF DEBUG
+!IFDEF CL1310
+  File "${AFS_WININSTALL_DIR}\msvcr71d.dll"
+  File "${AFS_WININSTALL_DIR}\msvcr71d.pdb"
+!ELSE
+  File "${AFS_WININSTALL_DIR}\msvcrtd.dll"
+  File "${AFS_WININSTALL_DIR}\msvcrtd.pdb"
+!ENDIF
+!ELSE
+!IFDEF CL1310
   File "${AFS_WININSTALL_DIR}\msvcr71.dll"
-      
+!ELSE
+  File "${AFS_WININSTALL_DIR}\msvcrt.dll"
+!ENDIF
+!ENDIF
    
    ;Store install folder
   WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName" $INSTDIR
@@ -1104,8 +1123,21 @@ Section "Uninstall"
    Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.dll"
    Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.dll"
    Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.dll"
+!IFDEF DEBUG
+!IFDEF CL1310
+   Delete /REBOOTOK "$INSTDIR\Common\msvcr71d.dll"
+   Delete /REBOOTOK "$INSTDIR\Common\msvcr71d.pdb"
+!ELSE
+   Delete /REBOOTOK "$INSTDIR\Common\msvcrtd.dll"
+   Delete /REBOOTOK "$INSTDIR\Common\msvcrtd.pdb"
+!ENDIF
+!ELSE
+!IFDEF CL1310
    Delete /REBOOTOK "$INSTDIR\Common\msvcr71.dll"
-   ;Delete /REBOOTOK "$INSTDIR\Common\msvcp60.dll"
+!ELSE
+   Delete /REBOOTOK "$INSTDIR\Common\msvcrt.dll"
+!ENDIF
+!ENDIF
   
    Call un.IsSilent
    Pop $R1
@@ -1172,7 +1204,21 @@ Section "Uninstall"
   RMDir  "$INSTDIR\Client\Program"
   RMDir  "$INSTDIR\Client"
   
+!IFDEF DEBUG
+!IFDEF CL1310
+  Delete /REBOOTOK "$INSTDIR\Common\msvcr71d.dll"
+  Delete /REBOOTOK "$INSTDIR\Common\msvcr71d.pdb"
+!ELSE
+  Delete /REBOOTOK "$INSTDIR\Common\msvcrtd.dll"
+  Delete /REBOOTOK "$INSTDIR\Common\msvcrtd.pdb"
+!ENDIF
+!ELSE
+!IFDEF CL1310
   Delete /REBOOTOK "$INSTDIR\Common\msvcr71.dll"
+!ELSE
+  Delete /REBOOTOK "$INSTDIR\Common\msvcrt.dll"
+!ENDIF
+!ENDIF
   Delete /REBOOTOK "$INSTDIR\Common\*"
   RMDir "$INSTDIR\Common"
 
@@ -1587,8 +1633,21 @@ Function AFSLangFiles
    File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
    File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
    File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
+!IFDEF DEBUG
+!IFDEF CL1310
+   File "${AFS_WININSTALL_DIR}\msvcr71d.dll"
+   File "${AFS_WININSTALL_DIR}\msvcr71d.pdb"
+!ELSE
+   File "${AFS_WININSTALL_DIR}\msvcrtd.dll"
+   File "${AFS_WININSTALL_DIR}\msvcrtd.pdb"
+!ENDIF
+!ELSE
+!IFDEF CL1310
    File "${AFS_WININSTALL_DIR}\msvcr71.dll"
-   ;File "${AFS_WININSTALL_DIR}\msvcp60.dll"
+!ELSE
+   File "${AFS_WININSTALL_DIR}\msvcrt.dll"
+!ENDIF
+!ENDIF
 
 !ifdef DEBUG
    File "${AFS_CLIENT_BUILDDIR}\afs_config.pdb"
@@ -1689,8 +1748,13 @@ DoGerman:
    ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.pdb"
    ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.pdb"
    ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.pdb"
+!IFDEF CL1310
    File "${AFS_WININSTALL_DIR}\msvcr71d.dll"
    File "${AFS_WININSTALL_DIR}\msvcr71d.pdb"
+!ELSE
+   File "${AFS_WININSTALL_DIR}\msvcrtd.dll"
+   File "${AFS_WININSTALL_DIR}\msvcrtd.pdb"
+!ENDIF
 !endif
    goto done