From: mturk Date: Wed, 17 Jun 2009 05:33:52 +0000 (+0000) Subject: Add common FindCpuType function. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=81f554b7c2de545d78368a36e415565b5f85b2f9;p=tomcat7.0 Add common FindCpuType function. The problem is that environment variable doesn't always set AMD64. This is true only for amd processors. If present and not IA64 the %PROCESSOR_ARCHITEW6432% must be x86_64 git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@785477 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/res/tomcat.nsi b/res/tomcat.nsi index fbae5af9b..0f810d130 100644 --- a/res/tomcat.nsi +++ b/res/tomcat.nsi @@ -172,14 +172,13 @@ Section "Core" SecTomcatCore File bin\tomcat@VERSION_MAJOR@w.exe ; Get the current platform x86 / AMD64 / IA64 - ExpandEnvStrings $0 "%PROCESSOR_ARCHITEW6432%" - StrCmp $0 "%PROCESSOR_ARCHITEW6432%" 0 +2 - ExpandEnvStrings $0 "%PROCESSOR_ARCHITECTURE%" + Call FindCpuType + Pop $0 StrCmp $0 "x86" 0 +2 File /oname=tomcat@VERSION_MAJOR@.exe bin\tomcat@VERSION_MAJOR@.exe - StrCmp $0 "AMD64" 0 +2 + StrCmp $0 "x86_64" 0 +2 File /oname=tomcat@VERSION_MAJOR@.exe bin\x86_64\tomcat@VERSION_MAJOR@.exe - StrCmp $0 "IA64" 0 +2 + StrCmp $0 "ia64" 0 +2 File /oname=tomcat@VERSION_MAJOR@.exe bin\ia64\tomcat@VERSION_MAJOR@.exe InstallRetry: @@ -224,14 +223,14 @@ Section "Native" SecTomcatNative SectionIn 3 SetOutPath $INSTDIR\bin - ExpandEnvStrings $0 "%PROCESSOR_ARCHITEW6432%" - StrCmp $0 "%PROCESSOR_ARCHITEW6432%" 0 +2 - ExpandEnvStrings $0 "%PROCESSOR_ARCHITECTURE%" + Call FindCpuType + Pop $0 + StrCmp $0 "x86" 0 +2 File bin\tcnative-1.dll - StrCmp $0 "AMD64" 0 +2 + StrCmp $0 "x86_64" 0 +2 File /oname=tcnative-1.dll bin\x86_64\tcnative-1.dll - StrCmp $0 "IA64" 0 +2 + StrCmp $0 "ia64" 0 +2 File /oname=tcnative-1.dll bin\ia64\tcnative-1.dll ClearErrors @@ -364,6 +363,31 @@ FunctionEnd ; !insertmacro MUI_DESCRIPTION_TEXT ${SecWebapps} $(DESC_SecWebapps) !insertmacro MUI_FUNCTION_DESCRIPTION_END +; ===================== +; FindCpuType Function +; ===================== +; +; Find the CPU used on the system, and put the result on the top of the +; stack +; +Function FindCpuType + + ClearErrors + ; Default CPU is always x86 + StrCpy $1 "x86" + ExpandEnvStrings $0 "%PROCESSOR_ARCHITEW6432%" + StrCmp $0 "%PROCESSOR_ARCHITEW6432%" 0 +5 + StrCmp $0 "IA64" 0 +3 + StrCpy $1 "ia64" + Goto FoundCpu + StrCpy $1 "x86_64" + +FoundCpu: + ; Put the result in the stack + Push $1 + +FunctionEnd + ; ===================== ; CheckUserType Function