mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-04 20:17:42 +00:00
koch: 'git' command
This commit is contained in:
14
koch.nim
14
koch.nim
@@ -33,11 +33,12 @@ Possible Commands:
|
||||
csource [options] builds the C sources for installation
|
||||
zip builds the installation ZIP package
|
||||
inno [options] builds the Inno Setup installer
|
||||
git removes and adds generated C files to git
|
||||
Boot options:
|
||||
-d:release produce a release version of the compiler
|
||||
-d:tinyc include the Tiny C backend (not supported on Windows)
|
||||
-d:useGnuReadline use the GNU readline library for interactive mode
|
||||
(not supported on Windows)
|
||||
(not needed on Windows)
|
||||
"""
|
||||
|
||||
proc exe(f: string): string = return addFileExt(f, ExeExt)
|
||||
@@ -75,6 +76,17 @@ proc web(args: string) =
|
||||
exec("nimrod cc -r tools/nimweb.nim web/nimrod --putenv:nimrodversion=$#" %
|
||||
NimrodVersion)
|
||||
|
||||
proc gitAux(dir: string) =
|
||||
for kind, path in walkDir(dir):
|
||||
if kind == pcDir:
|
||||
var cfiles = path / "*.c"
|
||||
exec("git rm " & cfiles)
|
||||
exec("git add " & cfiles)
|
||||
gitAux(path)
|
||||
|
||||
proc git =
|
||||
gitAux("build")
|
||||
|
||||
# -------------- nim ----------------------------------------------------------
|
||||
|
||||
proc compileNimCmd(args: string): string =
|
||||
|
||||
@@ -87,12 +87,17 @@ proc genLiteral(p: BProc, v: PNode): PRope =
|
||||
|
||||
proc bitSetToWord(s: TBitSet, size: int): BiggestInt =
|
||||
result = 0
|
||||
if CPU[platform.hostCPU].endian == CPU[targetCPU].endian:
|
||||
when true:
|
||||
for j in countup(0, size - 1):
|
||||
if j < len(s): result = result or `shl`(Ze64(s[j]), j * 8)
|
||||
else:
|
||||
for j in countup(0, size - 1):
|
||||
if j < len(s): result = result or `shl`(Ze64(s[j]), (Size - 1 - j) * 8)
|
||||
# not needed, too complex thinking:
|
||||
if CPU[platform.hostCPU].endian == CPU[targetCPU].endian:
|
||||
for j in countup(0, size - 1):
|
||||
if j < len(s): result = result or `shl`(Ze64(s[j]), j * 8)
|
||||
else:
|
||||
for j in countup(0, size - 1):
|
||||
if j < len(s): result = result or `shl`(Ze64(s[j]), (Size - 1 - j) * 8)
|
||||
|
||||
proc genRawSetData(cs: TBitSet, size: int): PRope =
|
||||
var frmt: TFormatStr
|
||||
|
||||
Reference in New Issue
Block a user