summaryrefslogtreecommitdiff
path: root/tools/win32build
diff options
context:
space:
mode:
authorDavid Cournapeau <cournape@gmail.com>2008-12-04 03:21:51 +0000
committerDavid Cournapeau <cournape@gmail.com>2008-12-04 03:21:51 +0000
commitd455fa9e4ab1671de0f159712eff8ded556e78a5 (patch)
tree3ff35b182dff563ba3b054da047e9cfa2fc5c3f1 /tools/win32build
parentf91aedb05477b881587ce6f465f3172c85d0c55d (diff)
downloadpython-numpy-d455fa9e4ab1671de0f159712eff8ded556e78a5.tar.gz
python-numpy-d455fa9e4ab1671de0f159712eff8ded556e78a5.tar.bz2
python-numpy-d455fa9e4ab1671de0f159712eff8ded556e78a5.zip
Add /arch option to superpack installer to override detected arch.
Diffstat (limited to 'tools/win32build')
-rw-r--r--tools/win32build/nsis_scripts/numpy-superinstaller.nsi.in62
1 files changed, 62 insertions, 0 deletions
diff --git a/tools/win32build/nsis_scripts/numpy-superinstaller.nsi.in b/tools/win32build/nsis_scripts/numpy-superinstaller.nsi.in
index 9cd11dfcb..4cdd57da2 100644
--- a/tools/win32build/nsis_scripts/numpy-superinstaller.nsi.in
+++ b/tools/win32build/nsis_scripts/numpy-superinstaller.nsi.in
@@ -6,6 +6,11 @@
;SetCompress off ; Useful to disable compression under development
SetCompressor /Solid LZMA ; Useful to disable compression under development
+; Include FileFunc for command line parsing options
+!include "FileFunc.nsh"
+!insertmacro GetParameters
+!insertmacro GetOptions
+
;--------------------------------
;General
@@ -46,6 +51,34 @@ InstallDir "$TEMP"
Var HasSSE2
Var HasSSE3
Var CPUSSE
+Var option_arch
+
+Function .onInit
+ ; Get parameters
+ var /GLOBAL cmdLineParams
+ Push $R0
+
+ ${GetParameters} $cmdLineParams
+
+ ; XXX; How to get a console output help ? GUI seems useless when using
+ ; command line help...
+ ; ; /? param (help)
+ ; ClearErrors
+ ; ${GetOptions} $cmdLineParams '/?' $R0
+ ; IfErrors +3 0
+ ; MessageBox MB_OK "list all command line options here!"
+ ; Abort
+
+ Pop $R0
+
+ ; Initialise options
+ StrCpy $option_arch 'native'
+
+ ; Parse Parameters
+ Push $R0
+ Call parseParameters
+ Pop $R0
+FunctionEnd
Section "Core" SecCore
@@ -89,6 +122,28 @@ Section "Core" SecCore
ClearErrors
+ ${Switch} $option_arch
+ ${Case} "native"
+ DetailPrint '"native install (arch value: $option_arch)"'
+ ${Break}
+ ${Case} "nosse"
+ DetailPrint '"nosse install (arch value: $option_arch)"'
+ StrCpy $CPUSSE "0"
+ ${Break}
+ ${Case} "sse2"
+ DetailPrint '"sse2 install (arch value: $option_arch)"'
+ StrCpy $CPUSSE "2"
+ ${Break}
+ ${Case} "sse3"
+ DetailPrint '"sse3 install (arch value: $option_arch)"'
+ StrCpy $CPUSSE "3"
+ ${Break}
+ ${Default}
+ MessageBox MB_OK "option /arch $option_arch not understood: only native, nosse, sse2 and sse3 are valid."
+ Abort
+ ${Break}
+ ${EndSwitch}
+
; Install files conditionaly on detected cpu
${Switch} $CPUSSE
${Case} "3"
@@ -119,3 +174,10 @@ Section "Core" SecCore
done:
SectionEnd
+
+Function parseParameters
+ ; /arch option
+ ${GetOptions} $cmdLineParams '/arch' $R0
+ IfErrors +2 0
+ StrCpy $option_arch $R0
+FunctionEnd