mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
@@ -627,22 +627,20 @@ proc processSwitch*(switch, arg: string, pass: TCmdLinePass, info: TLineInfo;
|
||||
processOnOffSwitchG(conf, {optGenMapping}, arg, pass, info)
|
||||
of "os":
|
||||
expectArg(conf, switch, arg, pass, info)
|
||||
if pass in {passCmd1, passPP}:
|
||||
let theOS = platform.nameToOS(arg)
|
||||
if theOS == osNone:
|
||||
let osList = platform.listOSnames().join(", ")
|
||||
localError(conf, info, "unknown OS: '$1'. Available options are: $2" % [arg, $osList])
|
||||
elif theOS != conf.target.hostOS:
|
||||
setTarget(conf.target, theOS, conf.target.targetCPU)
|
||||
let theOS = platform.nameToOS(arg)
|
||||
if theOS == osNone:
|
||||
let osList = platform.listOSnames().join(", ")
|
||||
localError(conf, info, "unknown OS: '$1'. Available options are: $2" % [arg, $osList])
|
||||
else:
|
||||
setTarget(conf.target, theOS, conf.target.targetCPU)
|
||||
of "cpu":
|
||||
expectArg(conf, switch, arg, pass, info)
|
||||
if pass in {passCmd1, passPP}:
|
||||
let cpu = platform.nameToCPU(arg)
|
||||
if cpu == cpuNone:
|
||||
let cpuList = platform.listCPUnames().join(", ")
|
||||
localError(conf, info, "unknown CPU: '$1'. Available options are: $2" % [ arg, cpuList])
|
||||
elif cpu != conf.target.hostCPU:
|
||||
setTarget(conf.target, conf.target.targetOS, cpu)
|
||||
let cpu = platform.nameToCPU(arg)
|
||||
if cpu == cpuNone:
|
||||
let cpuList = platform.listCPUnames().join(", ")
|
||||
localError(conf, info, "unknown CPU: '$1'. Available options are: $2" % [ arg, cpuList])
|
||||
else:
|
||||
setTarget(conf.target, conf.target.targetOS, cpu)
|
||||
of "run", "r":
|
||||
processOnOffSwitchG(conf, {optRun}, arg, pass, info)
|
||||
of "errormax":
|
||||
|
||||
10
tests/compiler/tcmdlinecpuamd64.nim
Normal file
10
tests/compiler/tcmdlinecpuamd64.nim
Normal file
@@ -0,0 +1,10 @@
|
||||
discard """
|
||||
cmd: "nim $target $options --cpu:amd64 $file"
|
||||
disabled: "32bit"
|
||||
"""
|
||||
|
||||
import strutils
|
||||
|
||||
static:
|
||||
#cpu is set to "i386" in tcpuamd64.nim.cfg, but --cpu:amd64 in command line should override it.
|
||||
doAssert cmpIgnoreCase(hostCPU, "amd64") == 0
|
||||
1
tests/compiler/tcmdlinecpuamd64.nim.cfg
Normal file
1
tests/compiler/tcmdlinecpuamd64.nim.cfg
Normal file
@@ -0,0 +1 @@
|
||||
cpu:i386
|
||||
14
tests/compiler/tcmdlineoswin.nim
Normal file
14
tests/compiler/tcmdlineoswin.nim
Normal file
@@ -0,0 +1,14 @@
|
||||
discard """
|
||||
cmd: "nim $target $options --os:windows $file"
|
||||
disabled: "linux"
|
||||
disabled: "bsd"
|
||||
disabled: "macosx"
|
||||
disabled: "unix"
|
||||
disabled: "posix"
|
||||
"""
|
||||
|
||||
import strutils
|
||||
|
||||
static:
|
||||
#os is set to "linux" in toswin.nim.cfg, but --os:windows in command line should override it.
|
||||
doAssert cmpIgnoreCase(hostOS, "windows") == 0
|
||||
1
tests/compiler/tcmdlineoswin.nim.cfg
Normal file
1
tests/compiler/tcmdlineoswin.nim.cfg
Normal file
@@ -0,0 +1 @@
|
||||
os:linux
|
||||
Reference in New Issue
Block a user