tools/{niminst,nimweb}.nim: switch from write and writeln to quit
This commit is contained in:
parent
a6daf71520
commit
fde74b7095
2 changed files with 17 additions and 17 deletions
|
|
@ -31,7 +31,7 @@ type
|
||||||
actionCSource # action: create C sources
|
actionCSource # action: create C sources
|
||||||
actionInno, # action: create Inno Setup installer
|
actionInno, # action: create Inno Setup installer
|
||||||
actionZip # action: create zip file
|
actionZip # action: create zip file
|
||||||
|
|
||||||
TFileCategory = enum
|
TFileCategory = enum
|
||||||
fcWinBin, # binaries for Windows
|
fcWinBin, # binaries for Windows
|
||||||
fcConfig, # configuration files
|
fcConfig, # configuration files
|
||||||
|
|
@ -83,11 +83,11 @@ proc initConfigData(c: var TConfigData) =
|
||||||
c.uninstallScript = false
|
c.uninstallScript = false
|
||||||
c.vars = newStringTable(modeStyleInsensitive)
|
c.vars = newStringTable(modeStyleInsensitive)
|
||||||
|
|
||||||
proc skipRoot(f: string): string =
|
proc skipRoot(f: string): string =
|
||||||
# "abc/def/xyz" --> "def/xyz"
|
# "abc/def/xyz" --> "def/xyz"
|
||||||
var i = 0
|
var i = 0
|
||||||
result = ""
|
result = ""
|
||||||
for component in split(f, {dirsep, altsep}):
|
for component in split(f, {dirsep, altsep}):
|
||||||
if i > 0: result = result / component
|
if i > 0: result = result / component
|
||||||
inc i
|
inc i
|
||||||
if result.len == 0: result = f
|
if result.len == 0: result = f
|
||||||
|
|
@ -142,8 +142,8 @@ proc parseCmdLine(c: var TConfigData) =
|
||||||
break
|
break
|
||||||
of cmdLongOption, cmdShortOption:
|
of cmdLongOption, cmdShortOption:
|
||||||
case normalize(key)
|
case normalize(key)
|
||||||
of "help", "h": write(stdout, Usage)
|
of "help", "h": quit(Usage)
|
||||||
of "version", "v": writeln(stdout, Version)
|
of "version", "v": quit(Version)
|
||||||
of "o", "output": c.outdir = val
|
of "o", "output": c.outdir = val
|
||||||
of "var":
|
of "var":
|
||||||
var idx = val.find('=')
|
var idx = val.find('=')
|
||||||
|
|
@ -183,9 +183,9 @@ proc filesOnly(p: var TCfgParser, k, v: string, dest: var seq[string]) =
|
||||||
of "files": addFiles(dest, split(v, {';'}))
|
of "files": addFiles(dest, split(v, {';'}))
|
||||||
else: quit(errorStr(p, "unknown variable: " & k))
|
else: quit(errorStr(p, "unknown variable: " & k))
|
||||||
|
|
||||||
proc yesno(p: var TCfgParser, v: string): bool =
|
proc yesno(p: var TCfgParser, v: string): bool =
|
||||||
case normalize(v)
|
case normalize(v)
|
||||||
of "yes", "y", "on", "true":
|
of "yes", "y", "on", "true":
|
||||||
result = true
|
result = true
|
||||||
of "no", "n", "off", "false":
|
of "no", "n", "off", "false":
|
||||||
result = false
|
result = false
|
||||||
|
|
@ -229,7 +229,7 @@ proc parseIniFile(c: var TConfigData) =
|
||||||
of "winbin": filesOnly(p, k.key, v, c.cat[fcWinBin])
|
of "winbin": filesOnly(p, k.key, v, c.cat[fcWinBin])
|
||||||
of "config": filesOnly(p, k.key, v, c.cat[fcConfig])
|
of "config": filesOnly(p, k.key, v, c.cat[fcConfig])
|
||||||
of "data": filesOnly(p, k.key, v, c.cat[fcData])
|
of "data": filesOnly(p, k.key, v, c.cat[fcData])
|
||||||
of "documentation":
|
of "documentation":
|
||||||
case normalize(k.key)
|
case normalize(k.key)
|
||||||
of "files": addFiles(c.cat[fcDoc], split(v, {';'}))
|
of "files": addFiles(c.cat[fcDoc], split(v, {';'}))
|
||||||
of "start": addFiles(c.cat[fcDocStart], split(v, {';'}))
|
of "start": addFiles(c.cat[fcDocStart], split(v, {';'}))
|
||||||
|
|
@ -242,7 +242,7 @@ proc parseIniFile(c: var TConfigData) =
|
||||||
of "binpath": c.binPaths = split(v, {';'})
|
of "binpath": c.binPaths = split(v, {';'})
|
||||||
of "innosetup": c.innoSetupFlag = yesno(p, v)
|
of "innosetup": c.innoSetupFlag = yesno(p, v)
|
||||||
else: quit(errorStr(p, "unknown variable: " & k.key))
|
else: quit(errorStr(p, "unknown variable: " & k.key))
|
||||||
of "unix":
|
of "unix":
|
||||||
case normalize(k.key)
|
case normalize(k.key)
|
||||||
of "files": addFiles(c.cat[fcUnix], split(v, {';'}))
|
of "files": addFiles(c.cat[fcUnix], split(v, {';'}))
|
||||||
of "installscript": c.installScript = yesno(p, v)
|
of "installscript": c.installScript = yesno(p, v)
|
||||||
|
|
@ -290,7 +290,7 @@ proc readCFiles(c: var TConfigData, osA, cpuA: int) =
|
||||||
proc buildDir(os, cpu: int): string =
|
proc buildDir(os, cpu: int): string =
|
||||||
return "build" / ($os & "_" & $cpu)
|
return "build" / ($os & "_" & $cpu)
|
||||||
|
|
||||||
proc writeFile(filename, content, newline: string) =
|
proc writeFile(filename, content, newline: string) =
|
||||||
var f: TFile
|
var f: TFile
|
||||||
if open(f, filename, fmWrite):
|
if open(f, filename, fmWrite):
|
||||||
for x in splitLines(content):
|
for x in splitLines(content):
|
||||||
|
|
@ -327,7 +327,7 @@ proc srcdist(c: var TConfigData) =
|
||||||
var cmd = ("nimrod compile -f --symbolfiles:off --compileonly " &
|
var cmd = ("nimrod compile -f --symbolfiles:off --compileonly " &
|
||||||
"--gen_mapping " &
|
"--gen_mapping " &
|
||||||
" --os:$# --cpu:$# $# $#") %
|
" --os:$# --cpu:$# $# $#") %
|
||||||
[c.oses[osA-1], c.cpus[cpuA-1], c.nimrodArgs,
|
[c.oses[osA-1], c.cpus[cpuA-1], c.nimrodArgs,
|
||||||
changeFileExt(c.infile, "nim")]
|
changeFileExt(c.infile, "nim")]
|
||||||
echo(cmd)
|
echo(cmd)
|
||||||
if execShellCmd(cmd) != 0:
|
if execShellCmd(cmd) != 0:
|
||||||
|
|
@ -341,11 +341,11 @@ proc srcdist(c: var TConfigData) =
|
||||||
removeDuplicateFiles(c)
|
removeDuplicateFiles(c)
|
||||||
writeFile(buildShFile, GenerateBuildShellScript(c), "\10")
|
writeFile(buildShFile, GenerateBuildShellScript(c), "\10")
|
||||||
writeFile(buildBatFile, GenerateBuildBatchScript(c), "\13\10")
|
writeFile(buildBatFile, GenerateBuildBatchScript(c), "\13\10")
|
||||||
if c.installScript:
|
if c.installScript:
|
||||||
writeFile(installShFile, GenerateInstallScript(c), "\10")
|
writeFile(installShFile, GenerateInstallScript(c), "\10")
|
||||||
if c.uninstallScript:
|
if c.uninstallScript:
|
||||||
writeFile(deinstallShFile, GenerateDeinstallScript(c), "\10")
|
writeFile(deinstallShFile, GenerateDeinstallScript(c), "\10")
|
||||||
|
|
||||||
# --------------------- generate inno setup -----------------------------------
|
# --------------------- generate inno setup -----------------------------------
|
||||||
proc setupDist(c: var TConfigData) =
|
proc setupDist(c: var TConfigData) =
|
||||||
var scrpt = GenerateInnoSetup(c)
|
var scrpt = GenerateInnoSetup(c)
|
||||||
|
|
@ -384,7 +384,7 @@ when haveZipLib:
|
||||||
for k, f in walkDir(dir):
|
for k, f in walkDir(dir):
|
||||||
if k == pcFile: addFile(z, proj / dir / extractFilename(f), f)
|
if k == pcFile: addFile(z, proj / dir / extractFilename(f), f)
|
||||||
|
|
||||||
for cat in items({fcConfig..fcOther, fcUnix}):
|
for cat in items({fcConfig..fcOther, fcUnix}):
|
||||||
for f in items(c.cat[cat]): addFile(z, proj / f, f)
|
for f in items(c.cat[cat]): addFile(z, proj / f, f)
|
||||||
close(z)
|
close(z)
|
||||||
else:
|
else:
|
||||||
|
|
|
||||||
|
|
@ -70,8 +70,8 @@ proc parseCmdLine(c: var TConfigData) =
|
||||||
break
|
break
|
||||||
of cmdLongOption, cmdShortOption:
|
of cmdLongOption, cmdShortOption:
|
||||||
case normalize(key)
|
case normalize(key)
|
||||||
of "help", "h": write(stdout, Usage)
|
of "help", "h": quit(Usage)
|
||||||
of "version", "v": writeln(stdout, Version)
|
of "version", "v": quit(Version)
|
||||||
of "o", "output": c.outdir = val
|
of "o", "output": c.outdir = val
|
||||||
of "var":
|
of "var":
|
||||||
var idx = val.find('=')
|
var idx = val.find('=')
|
||||||
|
|
@ -186,7 +186,7 @@ proc buildPdfDoc(c: var TConfigData, destPath: string) =
|
||||||
removeFile(changeFileExt(pdf, "log"))
|
removeFile(changeFileExt(pdf, "log"))
|
||||||
removeFile(changeFileExt(pdf, "out"))
|
removeFile(changeFileExt(pdf, "out"))
|
||||||
removeFile(changeFileExt(d, "tex"))
|
removeFile(changeFileExt(d, "tex"))
|
||||||
|
|
||||||
proc buildAddDoc(c: var TConfigData, destPath: string) =
|
proc buildAddDoc(c: var TConfigData, destPath: string) =
|
||||||
# build additional documentation (without the index):
|
# build additional documentation (without the index):
|
||||||
for d in items(c.webdoc):
|
for d in items(c.webdoc):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue