From 492387b8d2f6b3b73684ace93999ee1661f078ac Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Fri, 5 Dec 2003 23:10:04 +0000 Subject: [PATCH] updates-to-NSIS-to-support-debug-crt-20031205 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 | 1 + src/WINNT/install/NSIS/NTMakefile | 29 +++++++++++++++ src/WINNT/install/NSIS/OpenAFS.nsi | 70 +++++++++++++++++++++++++++++++++-- 3 files changed, 97 insertions(+), 3 deletions(-) diff --git a/src/WINNT/install/NSIS/MakeCommon.bat b/src/WINNT/install/NSIS/MakeCommon.bat index fb960c1..c2e372d 100644 --- a/src/WINNT/install/NSIS/MakeCommon.bat +++ b/src/WINNT/install/NSIS/MakeCommon.bat @@ -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 diff --git a/src/WINNT/install/NSIS/NTMakefile b/src/WINNT/install/NSIS/NTMakefile index 4268404..09272e2 100644 --- a/src/WINNT/install/NSIS/NTMakefile +++ b/src/WINNT/install/NSIS/NTMakefile @@ -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 diff --git a/src/WINNT/install/NSIS/OpenAFS.nsi b/src/WINNT/install/NSIS/OpenAFS.nsi index 1feef93..a56789d 100644 --- a/src/WINNT/install/NSIS/OpenAFS.nsi +++ b/src/WINNT/install/NSIS/OpenAFS.nsi @@ -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 -- 1.9.4