From 2207e9e23c1875aef1ef657db83b502ec38eb196 Mon Sep 17 00:00:00 2001 From: marha Date: Tue, 26 Jun 2012 10:20:30 +0200 Subject: Made installing debug version optional --- xorg-server/installer/vcxsrv.nsi | 132 ++++++++++++--------------------------- 1 file changed, 41 insertions(+), 91 deletions(-) (limited to 'xorg-server/installer/vcxsrv.nsi') diff --git a/xorg-server/installer/vcxsrv.nsi b/xorg-server/installer/vcxsrv.nsi index b9fcc61c3..ac22ac8dc 100644 --- a/xorg-server/installer/vcxsrv.nsi +++ b/xorg-server/installer/vcxsrv.nsi @@ -36,6 +36,7 @@ RequestExecutionLevel admin ;-------------------------------- InstType "Full" InstType "Minimal" +InstType "Full with Debug" ; Pages @@ -52,10 +53,6 @@ XPStyle on !define FUSION_REFCOUNT_UNINSTALL_SUBKEY_GUID {8cedc215-ac4b-488b-93c0-a50a49cb2fb8} -!ifdef VS2008 -!include runtime -!endif - ;-------------------------------- ; The stuff to install Section "VcXsrv (required)" @@ -70,10 +67,25 @@ Section "VcXsrv (required)" IfFileExists "$INSTDIR\opengl32.dll" 0 +2 Delete "$INSTDIR\opengl32.dll" + SectionGetFlags ${VcXsrv_debug_version"} $0 + IntCmp $0 0 nodebug + nodebug: + IfFileExists "$INSTDIR\vcxsrv_dbg.exe" 0 +2 + Delete "$INSTDIR\vcxsrv_dbg.exe" + IfFileExists "$INSTDIR\vcxsrv_dbg.pdb" 0 +2 + Delete "$INSTDIR\vcxsrv_dbg.pdb" + IfFileExists "$INSTDIR\swrast_dri_dbg.dll" 0 +2 + Delete "$INSTDIR\swrast_dri_dbg.dll" + IfFileExists "$INSTDIR\swrastwgl_dri_dbg.dll" 0 +2 + Delete "$INSTDIR\swrastwgl_dri_dbg.dll" + IfFileExists "$INSTDIR\dxtn_dbg.dll" 0 +2 + Delete "$INSTDIR\dxtn_dbg.dll" + IfFileExists "$INSTDIR\msvcr100d.dll" 0 +2 + Delete "$INSTDIR\msvcr100d.dll" + done: + ; Put files there File "..\obj\servrelease\vcxsrv.exe" - File "..\obj\servdebug\vcxsrv_dbg.exe" - File "..\obj\servdebug\vcxsrv_dbg.pdb" File "..\protocol.txt" File "..\system.XWinrc" File "..\..\xkbcomp\obj\release\xkbcomp.exe" @@ -93,20 +105,15 @@ Section "VcXsrv (required)" File "..\hw\xwin\xlaunch\obj\release\xlaunch.exe" File "..\..\tools\plink\obj\release\plink.exe" File "..\swrast_dri.dll" - File "..\swrast_dri_dbg.dll" File "..\swrastwgl_dri.dll" - File "..\swrastwgl_dri_dbg.dll" File "..\dxtn.dll" File "..\..\libxml2\bin\libxml2.dll" File "..\..\zlib\obj\release\zlib1.dll" File "..\..\libXau\obj\release\libXau.dll" File "..\..\libX11\obj\release\libX11.dll" File "..\..\libxml2\bin\iconv.dll" -!ifndef VS2008 File "msvcr100.dll" File "msvcp100.dll" - File "msvcr100d.dll" -!endif SetOutPath $INSTDIR\xkbdata File /r "..\xkbdata\*.*" SetOutPath $INSTDIR\locale @@ -150,54 +157,6 @@ Section "VcXsrv (required)" WriteRegStr HKCR "Applications\xlaunch.exe\shell\Validate\ddeexec\Application" "" "XLaunch" WriteRegStr HKCR "Applications\xlaunch.exe\shell\Validate\ddeexec\Topic" "" "System" -!ifdef VS2008 - InitPluginsDir - SetOutPath $PLUGINSDIR - File "${MSVCR90_DLL}" - File "${MSVCM90_DLL}" - File "${MSVCP90_DLL}" - File "${MSVC_CAT}" - File "${MSVC_MANIFEST}" - File "${MSVCR90_DLL_D}" - File "${MSVCM90_DLL_D}" - File "${MSVCP90_DLL_D}" - File "${MSVC_CAT_D}" - File "${MSVC_MANIFEST_D}" - DetailPrint "Installing CRT assembly..." - System::Call "sxs::CreateAssemblyCache(*i .r0, i 0) i.r1" - StrCmp $1 0 0 fail - # Fill a FUSION_INSTALL_REFERENCE. - # fir.cbSize = sizeof(FUSION_INSTALL_REFERENCE) == 32 - # fir.dwFlags = 0 - # fir.guidScheme = FUSION_REFCOUNT_UNINSTALL_SUBKEY_GUID - # fir.szIdentifier = "nsissxs" - # fir.szNonCanonicalData = 0 - System::Call "*(i 32, i 0, i 2364391957, i 1217113163, i 178634899, i 3090139977, w 'nsissxs', w '') i.s" - Pop $2 - # IAssemblyCache::InstallAssembly(0, manifestPath, fir) - System::Call "$0->7(i 0, w '$PLUGINSDIR\${MSVC_MANIFEST_PART}', i r2) i.r1" - StrCmp $1 0 0 failcrt - System::Call "$0->7(i 0, w '$PLUGINSDIR\${MSVC_MANIFEST_PART_D}', i r2) i.r1" - StrCmp $1 0 0 faildebugcrt - System::Free $2 - System::Call "$0->2()" - Goto end - -fail: - DetailPrint "CreateAssemblyCache failed." - DetailPrint $1 - Goto end - -failcrt: - DetailPrint "InstallAssembly CRT failed." - DetailPrint $1 - Goto end -faildebugcrt: - DetailPrint "InstallAssembly Debug CRT failed." - DetailPrint $1 - Goto end -end: -!endif SectionEnd ; Optional section (can be disabled by the user) @@ -232,6 +191,24 @@ Section "Desktop Shortcuts" SectionEnd +;-------------------------------- +; Optional debug libraries +Section "VcXsrv debug version" VcXsrv_debug_version + SectionIn 3 + + ; Set output path to the installation directory. + SetOutPath $INSTDIR + + ; Put files there + File "..\obj\servdebug\vcxsrv_dbg.exe" + File "..\obj\servdebug\vcxsrv_dbg.pdb" + File "..\swrast_dri_dbg.dll" + File "..\swrastwgl_dri_dbg.dll" + File "..\dxtn_dbg.dll" + File "msvcr100d.dll" + +SectionEnd + ;-------------------------------- ; Uninstaller @@ -271,15 +248,17 @@ Section "Uninstall" Delete "$INSTDIR\swrast_dri.dll" Delete "$INSTDIR\swrast_dri_dbg.dll" Delete "$INSTDIR\dxtn.dll" + Delete "$INSTDIR\dxtn_dbg.dll" + Delete "$INSTDIR\swrastwgl_dri.dll" + Delete "$INSTDIR\swrastwgl_dri_dbg.dll" + Delete "$INSTDIR\libXau.dll" + Delete "$INSTDIR\libX11.dll" Delete "$INSTDIR\libxml2.dll" Delete "$INSTDIR\zlib1.dll" Delete "$INSTDIR\iconv.dll" - -!ifndef VS2008 Delete "$INSTDIR\msvcr100.dll" Delete "$INSTDIR\msvcp100.dll" Delete "$INSTDIR\msvcr100d.dll" -!endif RMDir /r "$INSTDIR\fonts" RMDir /r "$INSTDIR\xkbdata" @@ -294,34 +273,5 @@ Section "Uninstall" RMDir "$SMPROGRAMS\VcXsrv" RMDir "$INSTDIR" -; Currently disable uninstalling the run-time; because sometimes it is removing -; the run-time although other applications are using them -; DetailPrint "Removing CRT assembly..." -; System::Call "sxs::CreateAssemblyCache(*i .r0, i 0) i.r1" -; StrCmp $1 0 0 fail -; System::Call "*(i 32, i 0, i 2364391957, i 1217113163, i 178634899, i 3090139977, w 'nsissxs', w '') i.s" -; Pop $2 -; System::Call "$0->3(i 0, w 'Microsoft.VC90.CRT,version=$\"9.0.${MSVC_VERSION}$\",type=$\"win32$\",processorArchitecture=$\"x86$\",publicKeyToken=$\"${MSVC_PUBLICTOKEN}$\"', i r2, *i . r3) i.r1" -; StrCmp $1 0 0 failcrt -; System::Call "$0->3(i 0, w 'Microsoft.VC90.DebugCRT,version=$\"9.0.${MSVC_VERSION_D}$\",type=$\"win32$\",processorArchitecture=$\"x86$\",publicKeyToken=$\"${MSVC_PUBLICTOKEN}$\"', i r2, *i . r3) i.r1" -; StrCmp $1 0 0 faildebugcrt -; DetailPrint "Disposition returned is $3" -; System::Free $2 -; System::Call "$0->2()" -; Goto end -; fail: -; DetailPrint "CreateAssemblyCache failed." -; DetailPrint $1 -; Goto end -; failcrt: -; DetailPrint "UninstallAssembly CRT failed." -; DetailPrint $1 -; Goto end -; faildebugcrt: -; DetailPrint "UninstallAssembly Debug CRT failed." -; DetailPrint $1 -; Goto end -;end: - SectionEnd -- cgit v1.2.3