commit
b7cba7fa29
7 changed files with 197 additions and 17 deletions
0
build.sh
Normal file → Executable file
0
build.sh
Normal file → Executable file
|
|
@ -61,7 +61,7 @@ Files: "icons/koch.res"
|
||||||
Files: "icons/koch_icon.o"
|
Files: "icons/koch_icon.o"
|
||||||
|
|
||||||
Files: "compiler/readme.txt"
|
Files: "compiler/readme.txt"
|
||||||
Files: "compiler/nim.ini"
|
Files: "compiler/installer.ini"
|
||||||
Files: "compiler/nim.nimrod.cfg"
|
Files: "compiler/nim.nimrod.cfg"
|
||||||
Files: "compiler/*.nim"
|
Files: "compiler/*.nim"
|
||||||
Files: "doc/*.txt"
|
Files: "doc/*.txt"
|
||||||
|
|
@ -77,7 +77,7 @@ Files: "tools/niminst/*.nim"
|
||||||
Files: "tools/niminst/*.cfg"
|
Files: "tools/niminst/*.cfg"
|
||||||
Files: "tools/niminst/*.tmpl"
|
Files: "tools/niminst/*.tmpl"
|
||||||
Files: "tools/niminst/*.nsh"
|
Files: "tools/niminst/*.nsh"
|
||||||
Files: "web/nim.ini"
|
Files: "web/website.ini"
|
||||||
Files: "web/*.nim"
|
Files: "web/*.nim"
|
||||||
Files: "web/*.txt"
|
Files: "web/*.txt"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -195,7 +195,7 @@ In the case of Nim's own documentation, the ``txt`` value is just a commit
|
||||||
hash to append to a formatted URL to https://github.com/Araq/Nim. The
|
hash to append to a formatted URL to https://github.com/Araq/Nim. The
|
||||||
``tools/nimweb.nim`` helper queries the current git commit hash during doc
|
``tools/nimweb.nim`` helper queries the current git commit hash during doc
|
||||||
generation, but since you might be working on an unpublished repository, it
|
generation, but since you might be working on an unpublished repository, it
|
||||||
also allows specifying a ``githash`` value in ``web/nim.ini`` to force a
|
also allows specifying a ``githash`` value in ``web/website.ini`` to force a
|
||||||
specific commit in the output.
|
specific commit in the output.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
16
koch.nim
16
koch.nim
|
|
@ -41,7 +41,7 @@ Options:
|
||||||
Possible Commands:
|
Possible Commands:
|
||||||
boot [options] bootstraps with given command line options
|
boot [options] bootstraps with given command line options
|
||||||
install [bindir] installs to given directory; Unix only!
|
install [bindir] installs to given directory; Unix only!
|
||||||
clean cleans Nimrod project; removes generated files
|
clean cleans Nim project; removes generated files
|
||||||
web [options] generates the website and the full documentation
|
web [options] generates the website and the full documentation
|
||||||
website [options] generates only the website
|
website [options] generates only the website
|
||||||
csource [options] builds the C sources for installation
|
csource [options] builds the C sources for installation
|
||||||
|
|
@ -59,7 +59,7 @@ Boot options:
|
||||||
-d:useGnuReadline use the GNU readline library for interactive mode
|
-d:useGnuReadline use the GNU readline library for interactive mode
|
||||||
(not needed on Windows)
|
(not needed on Windows)
|
||||||
-d:nativeStacktrace use native stack traces (only for Mac OS X or Linux)
|
-d:nativeStacktrace use native stack traces (only for Mac OS X or Linux)
|
||||||
-d:noCaas build Nimrod without CAAS support
|
-d:noCaas build Nim without CAAS support
|
||||||
-d:avoidTimeMachine only for Mac OS X, excludes nimcache dir from backups
|
-d:avoidTimeMachine only for Mac OS X, excludes nimcache dir from backups
|
||||||
Web options:
|
Web options:
|
||||||
--googleAnalytics:UA-... add the given google analytics code to the docs. To
|
--googleAnalytics:UA-... add the given google analytics code to the docs. To
|
||||||
|
|
@ -97,13 +97,13 @@ const
|
||||||
compileNimInst = "-d:useLibzipSrc tools/niminst/niminst"
|
compileNimInst = "-d:useLibzipSrc tools/niminst/niminst"
|
||||||
|
|
||||||
proc csource(args: string) =
|
proc csource(args: string) =
|
||||||
exec("$4 cc $1 -r $3 --var:version=$2 --var:mingw=none csource compiler/installer.ini $1" %
|
exec("$4 cc $1 -r $3 --var:version=$2 --var:mingw=none csource --main:compiler/nim.nim compiler/installer.ini $1" %
|
||||||
[args, VersionAsString, compileNimInst, findNim()])
|
[args, VersionAsString, compileNimInst, findNim()])
|
||||||
|
|
||||||
proc zip(args: string) =
|
proc zip(args: string) =
|
||||||
exec("$3 cc -r $2 --var:version=$1 --var:mingw=none scripts compiler/installer.ini" %
|
exec("$3 cc -r $2 --var:version=$1 --var:mingw=none --main:compiler/nim.nim scripts compiler/installer.ini" %
|
||||||
[VersionAsString, compileNimInst, findNim()])
|
[VersionAsString, compileNimInst, findNim()])
|
||||||
exec("$# --var:version=$# --var:mingw=none zip compiler/installer.ini" %
|
exec("$# --var:version=$# --var:mingw=none --main:compiler/nim.nim zip compiler/installer.ini" %
|
||||||
["tools/niminst/niminst".exe, VersionAsString])
|
["tools/niminst/niminst".exe, VersionAsString])
|
||||||
|
|
||||||
proc buildTool(toolname, args: string) =
|
proc buildTool(toolname, args: string) =
|
||||||
|
|
@ -121,7 +121,7 @@ proc nsis(args: string) =
|
||||||
" nsis compiler/nim") % [VersionAsString, $(sizeof(pointer)*8)])
|
" nsis compiler/nim") % [VersionAsString, $(sizeof(pointer)*8)])
|
||||||
|
|
||||||
proc install(args: string) =
|
proc install(args: string) =
|
||||||
exec("$# cc -r $# --var:version=$# --var:mingw=none scripts compiler/installer.ini" %
|
exec("$# cc -r $# --var:version=$# --var:mingw=none --main:compiler/nim.nim scripts compiler/installer.ini" %
|
||||||
[findNim(), compileNimInst, VersionAsString])
|
[findNim(), compileNimInst, VersionAsString])
|
||||||
exec("sh ./install.sh $#" % args)
|
exec("sh ./install.sh $#" % args)
|
||||||
|
|
||||||
|
|
@ -282,7 +282,7 @@ when defined(withUpdate):
|
||||||
when defined(haveZipLib):
|
when defined(haveZipLib):
|
||||||
echo("Falling back.. Downloading source code from repo...")
|
echo("Falling back.. Downloading source code from repo...")
|
||||||
# use dom96's httpclient to download zip
|
# use dom96's httpclient to download zip
|
||||||
downloadFile("https://github.com/Araq/Nimrod/zipball/master",
|
downloadFile("https://github.com/Araq/Nim/zipball/master",
|
||||||
thisDir / "update.zip")
|
thisDir / "update.zip")
|
||||||
try:
|
try:
|
||||||
echo("Extracting source code from archive...")
|
echo("Extracting source code from archive...")
|
||||||
|
|
@ -320,7 +320,7 @@ proc winRelease() =
|
||||||
|
|
||||||
run7z("win32", "bin/nim.exe", "bin/c2nim.exe", "bin/nimgrep.exe",
|
run7z("win32", "bin/nim.exe", "bin/c2nim.exe", "bin/nimgrep.exe",
|
||||||
"bin/nimfix.exe",
|
"bin/nimfix.exe",
|
||||||
"bin/babel.exe", "bin/*.dll",
|
"bin/nimble.exe", "bin/*.dll",
|
||||||
"config", "dist/*.dll", "examples", "lib",
|
"config", "dist/*.dll", "examples", "lib",
|
||||||
"readme.txt", "contributors.txt", "copying.txt")
|
"readme.txt", "contributors.txt", "copying.txt")
|
||||||
# second step: XXX build 64 bit version
|
# second step: XXX build 64 bit version
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#! stdtmpl(subsChar='?') | standard
|
#! stdtmpl(subsChar='?') | standard
|
||||||
#proc generateBuildShellScript(c: ConfigData): string =
|
#proc generateBuildShellScript(c: ConfigData): string =
|
||||||
# result = "#! /bin/sh\n# Generated from niminst\n" &
|
# result = "#! /bin/sh\n# Generated from niminst\n" &
|
||||||
# "# Template is in tools/buildsh.tmpl\n" &
|
# "# Template is in tools/niminst/buildsh.tmpl\n" &
|
||||||
# "# To regenerate run ``niminst csource`` or ``koch csource``\n"
|
# "# To regenerate run ``niminst csource`` or ``koch csource``\n"
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
@ -111,7 +111,7 @@ case $ucpu in
|
||||||
LINK_FLAGS="$LINK_FLAGS -m64"
|
LINK_FLAGS="$LINK_FLAGS -m64"
|
||||||
fi
|
fi
|
||||||
mycpu="powerpc64" ;;
|
mycpu="powerpc64" ;;
|
||||||
*power*|*Power*|*ppc* )
|
*power*|*ppc* )
|
||||||
mycpu="powerpc" ;;
|
mycpu="powerpc" ;;
|
||||||
*mips* )
|
*mips* )
|
||||||
mycpu="mips" ;;
|
mycpu="mips" ;;
|
||||||
|
|
|
||||||
168
tools/niminst/makefile.tmpl
Normal file
168
tools/niminst/makefile.tmpl
Normal file
|
|
@ -0,0 +1,168 @@
|
||||||
|
#! stdtmpl(subsChar='?') | standard
|
||||||
|
#proc generateMakefile(c: ConfigData): string =
|
||||||
|
# result = "# Generated from niminst\n" &
|
||||||
|
# "# Template is in tools/niminst/makefile.tmpl\n" &
|
||||||
|
# "# To regenerate run ``niminst csource`` or ``koch csource``\n"
|
||||||
|
|
||||||
|
CC = gcc
|
||||||
|
LINKER = gcc
|
||||||
|
COMP_FLAGS = ?{c.ccompiler.flags}
|
||||||
|
LINK_FLAGS = ?{c.linker.flags}
|
||||||
|
binDir = ?{firstBinPath(c).toUnix}
|
||||||
|
|
||||||
|
koch := $(shell sh -c 'test -s ../koch.nim && echo "yes"')
|
||||||
|
ifeq ($(koch),yes)
|
||||||
|
binDir = ../bin
|
||||||
|
endif
|
||||||
|
|
||||||
|
ucpu := $(shell sh -c 'uname -m | tr "[:upper:]" "[:lower:]"')
|
||||||
|
uos := $(shell sh -c 'uname | tr "[:upper:]" "[:lower:]"')
|
||||||
|
|
||||||
|
ifeq ($(uos),linux)
|
||||||
|
myos = linux
|
||||||
|
LINK_FLAGS += -ldl -lm
|
||||||
|
endif
|
||||||
|
ifeq ($(uos),dragonfly)
|
||||||
|
myos = freebsd
|
||||||
|
LINK_FLAGS += -lm
|
||||||
|
endif
|
||||||
|
ifeq ($(uos),freebsd)
|
||||||
|
myos= freebsd
|
||||||
|
CC = clang
|
||||||
|
LINKER = clang
|
||||||
|
LINK_FLAGS += -lm
|
||||||
|
endif
|
||||||
|
ifeq ($(uos),openbsd)
|
||||||
|
myos = openbsd
|
||||||
|
LINK_FLAGS += -lm
|
||||||
|
endif
|
||||||
|
ifeq ($(uos),netbsd)
|
||||||
|
myos = netbsd
|
||||||
|
LINK_FLAGS += -lm
|
||||||
|
endif
|
||||||
|
ifeq ($(uos),darwin)
|
||||||
|
myos = macosx
|
||||||
|
CC = clang
|
||||||
|
LINKER = clang
|
||||||
|
LINK_FLAGS += -ldl -lm
|
||||||
|
ifeq ($HOSTTYPE,x86_64)
|
||||||
|
ucpu = amd64
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
ifeq ($(uos),aix)
|
||||||
|
myos = aix
|
||||||
|
LINK_FLAGS += -dl -lm
|
||||||
|
endif
|
||||||
|
ifeq ($(uos),solaris)
|
||||||
|
myos = solaris
|
||||||
|
LINK_FLAGS += -ldl -lm -lsocket -lnsl
|
||||||
|
endif
|
||||||
|
ifeq ($(uos),sun)
|
||||||
|
myos = solaris
|
||||||
|
LINK_FLAGS += -ldl -lm -lsocket -lnsl
|
||||||
|
endif
|
||||||
|
ifeq ($(uos),haiku)
|
||||||
|
myos = haiku
|
||||||
|
endif
|
||||||
|
ifndef uos
|
||||||
|
@echo "Error: unknown operating system: $(uos)"
|
||||||
|
@exit 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(ucpu),i386)
|
||||||
|
mycpu = i386
|
||||||
|
endif
|
||||||
|
ifeq ($(ucpu),i486)
|
||||||
|
mycpu = i386
|
||||||
|
endif
|
||||||
|
ifeq ($(ucpu),i586)
|
||||||
|
mycpu = i386
|
||||||
|
endif
|
||||||
|
ifeq ($(ucpu),i686)
|
||||||
|
mycpu = i386
|
||||||
|
endif
|
||||||
|
ifeq ($(ucpu),bepc)
|
||||||
|
mycpu = i386
|
||||||
|
endif
|
||||||
|
ifeq ($(ucpu),i86pc)
|
||||||
|
mycpu = i386
|
||||||
|
endif
|
||||||
|
ifeq ($(ucpu),amd64)
|
||||||
|
mycpu = amd64
|
||||||
|
endif
|
||||||
|
ifeq ($(ucpu),x86-64)
|
||||||
|
mycpu = amd64
|
||||||
|
endif
|
||||||
|
ifeq ($(ucpu),x86_64)
|
||||||
|
mycpu = amd64
|
||||||
|
endif
|
||||||
|
ifeq ($(ucpu),sparc)
|
||||||
|
mycpu = sparc
|
||||||
|
endif
|
||||||
|
ifeq ($(ucpu),sun)
|
||||||
|
mycpu = sparc
|
||||||
|
endif
|
||||||
|
ifeq ($(ucpu),ppc64)
|
||||||
|
mycpu = powerpc64
|
||||||
|
ifeq ($(myos),linux)
|
||||||
|
COMP_FLAGS += -m64
|
||||||
|
LINK_FLAGS += -m64
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
ifeq ($(ucpu),powerpc)
|
||||||
|
mycpu = powerpc
|
||||||
|
endif
|
||||||
|
ifeq ($(ucpu),ppc)
|
||||||
|
mycpu = ppc
|
||||||
|
endif
|
||||||
|
ifeq ($(ucpu),mips)
|
||||||
|
mycpu = mips
|
||||||
|
endif
|
||||||
|
ifeq ($(ucpu),arm)
|
||||||
|
mycpu = arm
|
||||||
|
endif
|
||||||
|
ifeq ($(ucpu),armeb)
|
||||||
|
mycpu = arm
|
||||||
|
endif
|
||||||
|
ifeq ($(ucpu),armel)
|
||||||
|
mycpu = arm
|
||||||
|
endif
|
||||||
|
ifeq ($(ucpu),armv6l)
|
||||||
|
mycpu = arm
|
||||||
|
endif
|
||||||
|
ifndef ucpu
|
||||||
|
@echo "Error: unknown processor : $(ucpu)"
|
||||||
|
@exit 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
# for osA in 1..c.oses.len:
|
||||||
|
ifeq ($(myos),?{c.oses[osA-1]})
|
||||||
|
# for cpuA in 1..c.cpus.len:
|
||||||
|
ifeq ($(mycpu),?{c.cpus[cpuA-1]})
|
||||||
|
# var oFiles = ""
|
||||||
|
# for ff in c.cfiles[osA][cpuA].items:
|
||||||
|
# oFiles.add(" " & changeFileExt(ff.toUnix, "o"))
|
||||||
|
# end for
|
||||||
|
oFiles =?oFiles
|
||||||
|
endif
|
||||||
|
# end for
|
||||||
|
endif
|
||||||
|
# end for
|
||||||
|
|
||||||
|
ifeq ($(strip $(oFiles)),)
|
||||||
|
@echo "Error: no C code generated for: [$(myos): $(mycpu)]"
|
||||||
|
@exit 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
%.o: %.c
|
||||||
|
$(CC) $(COMP_FLAGS) -Ic_code -c $< -o $@
|
||||||
|
|
||||||
|
?{"$(binDir)/" & toLower(c.name)}: $(oFiles)
|
||||||
|
@mkdir -p $(binDir)
|
||||||
|
$(LINKER) -o $@ $^ $(LINK_FLAGS)
|
||||||
|
@echo "SUCCESS"
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(oFiles) ?{"$(binDir)/" & toLower(c.name)}
|
||||||
|
|
@ -22,6 +22,7 @@ const
|
||||||
buildShFile = "build.sh"
|
buildShFile = "build.sh"
|
||||||
buildBatFile32 = "build.bat"
|
buildBatFile32 = "build.bat"
|
||||||
buildBatFile64 = "build64.bat"
|
buildBatFile64 = "build64.bat"
|
||||||
|
makeFile = "makefile"
|
||||||
installShFile = "install.sh"
|
installShFile = "install.sh"
|
||||||
deinstallShFile = "deinstall.sh"
|
deinstallShFile = "deinstall.sh"
|
||||||
|
|
||||||
|
|
@ -56,7 +57,7 @@ type
|
||||||
platforms: array[1..maxOS, array[1..maxCPU, bool]]
|
platforms: array[1..maxOS, array[1..maxCPU, bool]]
|
||||||
ccompiler, linker, innosetup, nsisSetup: tuple[path, flags: string]
|
ccompiler, linker, innosetup, nsisSetup: tuple[path, flags: string]
|
||||||
name, displayName, version, description, license, infile, outdir: string
|
name, displayName, version, description, license, infile, outdir: string
|
||||||
libpath: string
|
mainfile, libpath: string
|
||||||
innoSetupFlag, installScript, uninstallScript: bool
|
innoSetupFlag, installScript, uninstallScript: bool
|
||||||
explicitPlatforms: bool
|
explicitPlatforms: bool
|
||||||
vars: StringTableRef
|
vars: StringTableRef
|
||||||
|
|
@ -87,6 +88,7 @@ proc iniConfigData(c: var ConfigData) =
|
||||||
c.description = ""
|
c.description = ""
|
||||||
c.license = ""
|
c.license = ""
|
||||||
c.infile = ""
|
c.infile = ""
|
||||||
|
c.mainfile = ""
|
||||||
c.outdir = ""
|
c.outdir = ""
|
||||||
c.nimArgs = ""
|
c.nimArgs = ""
|
||||||
c.libpath = ""
|
c.libpath = ""
|
||||||
|
|
@ -122,6 +124,7 @@ proc skipRoot(f: string): string =
|
||||||
include "inno.tmpl"
|
include "inno.tmpl"
|
||||||
include "nsis.tmpl"
|
include "nsis.tmpl"
|
||||||
include "buildsh.tmpl"
|
include "buildsh.tmpl"
|
||||||
|
include "makefile.tmpl"
|
||||||
include "buildbat.tmpl"
|
include "buildbat.tmpl"
|
||||||
include "install.tmpl"
|
include "install.tmpl"
|
||||||
include "deinstall.tmpl"
|
include "deinstall.tmpl"
|
||||||
|
|
@ -144,6 +147,8 @@ Command:
|
||||||
deb create files for debhelper
|
deb create files for debhelper
|
||||||
Options:
|
Options:
|
||||||
-o, --output:dir set the output directory
|
-o, --output:dir set the output directory
|
||||||
|
-m, --main:file set the main nim file, by default ini-file with .nim
|
||||||
|
extension
|
||||||
--var:name=value set the value of a variable
|
--var:name=value set the value of a variable
|
||||||
-h, --help shows this help
|
-h, --help shows this help
|
||||||
-v, --version shows the version
|
-v, --version shows the version
|
||||||
|
|
@ -183,6 +188,7 @@ proc parseCmdLine(c: var ConfigData) =
|
||||||
stdout.write(Version & "\n")
|
stdout.write(Version & "\n")
|
||||||
quit(0)
|
quit(0)
|
||||||
of "o", "output": c.outdir = val
|
of "o", "output": c.outdir = val
|
||||||
|
of "m", "main": c.mainfile = changeFileExt(val, "nim")
|
||||||
of "var":
|
of "var":
|
||||||
var idx = val.find('=')
|
var idx = val.find('=')
|
||||||
if idx < 0: quit("invalid command line")
|
if idx < 0: quit("invalid command line")
|
||||||
|
|
@ -190,6 +196,7 @@ proc parseCmdLine(c: var ConfigData) =
|
||||||
else: quit(Usage)
|
else: quit(Usage)
|
||||||
of cmdEnd: break
|
of cmdEnd: break
|
||||||
if c.infile.len == 0: quit(Usage)
|
if c.infile.len == 0: quit(Usage)
|
||||||
|
if c.mainfile.len == 0: c.mainfile = changeFileExt(c.infile, "nim")
|
||||||
|
|
||||||
proc walkDirRecursively(s: var seq[string], root: string) =
|
proc walkDirRecursively(s: var seq[string], root: string) =
|
||||||
for k, f in walkDir(root):
|
for k, f in walkDir(root):
|
||||||
|
|
@ -358,7 +365,7 @@ proc parseIniFile(c: var ConfigData) =
|
||||||
of cfgOption: quit(errorStr(p, "syntax error"))
|
of cfgOption: quit(errorStr(p, "syntax error"))
|
||||||
of cfgError: quit(errorStr(p, k.msg))
|
of cfgError: quit(errorStr(p, k.msg))
|
||||||
close(p)
|
close(p)
|
||||||
if c.name.len == 0: c.name = changeFileExt(extractFilename(c.infile), "")
|
if c.name.len == 0: c.name = changeFileExt(extractFilename(c.mainfile), "")
|
||||||
if c.displayName.len == 0: c.displayName = c.name
|
if c.displayName.len == 0: c.displayName = c.name
|
||||||
else:
|
else:
|
||||||
quit("cannot open: " & c.infile)
|
quit("cannot open: " & c.infile)
|
||||||
|
|
@ -436,8 +443,10 @@ proc removeDuplicateFiles(c: var ConfigData) =
|
||||||
proc writeInstallScripts(c: var ConfigData) =
|
proc writeInstallScripts(c: var ConfigData) =
|
||||||
if c.installScript:
|
if c.installScript:
|
||||||
writeFile(installShFile, generateInstallScript(c), "\10")
|
writeFile(installShFile, generateInstallScript(c), "\10")
|
||||||
|
inclFilePermissions(installShFile, {fpUserExec, fpGroupExec, fpOthersExec})
|
||||||
if c.uninstallScript:
|
if c.uninstallScript:
|
||||||
writeFile(deinstallShFile, generateDeinstallScript(c), "\10")
|
writeFile(deinstallShFile, generateDeinstallScript(c), "\10")
|
||||||
|
inclFilePermissions(deinstallShFile, {fpUserExec, fpGroupExec, fpOthersExec})
|
||||||
|
|
||||||
proc srcdist(c: var ConfigData) =
|
proc srcdist(c: var ConfigData) =
|
||||||
if not existsDir(getOutputDir(c) / "c_code"):
|
if not existsDir(getOutputDir(c) / "c_code"):
|
||||||
|
|
@ -462,8 +471,7 @@ proc srcdist(c: var ConfigData) =
|
||||||
var cmd = ("nim compile -f --symbolfiles:off --compileonly " &
|
var cmd = ("nim compile -f --symbolfiles:off --compileonly " &
|
||||||
"--gen_mapping --cc:gcc --skipUserCfg" &
|
"--gen_mapping --cc:gcc --skipUserCfg" &
|
||||||
" --os:$# --cpu:$# $# $#") %
|
" --os:$# --cpu:$# $# $#") %
|
||||||
[osname, cpuname, c.nimArgs,
|
[osname, cpuname, c.nimArgs, c.mainfile]
|
||||||
changeFileExt(c.infile, "nim")]
|
|
||||||
echo(cmd)
|
echo(cmd)
|
||||||
if execShellCmd(cmd) != 0:
|
if execShellCmd(cmd) != 0:
|
||||||
quit("Error: call to nim compiler failed")
|
quit("Error: call to nim compiler failed")
|
||||||
|
|
@ -476,6 +484,8 @@ proc srcdist(c: var ConfigData) =
|
||||||
# second pass: remove duplicate files
|
# second pass: remove duplicate files
|
||||||
removeDuplicateFiles(c)
|
removeDuplicateFiles(c)
|
||||||
writeFile(getOutputDir(c) / buildShFile, generateBuildShellScript(c), "\10")
|
writeFile(getOutputDir(c) / buildShFile, generateBuildShellScript(c), "\10")
|
||||||
|
inclFilePermissions(getOutputDir(c) / buildShFile, {fpUserExec, fpGroupExec, fpOthersExec})
|
||||||
|
writeFile(getOutputDir(c) / makeFile, generateMakefile(c), "\10")
|
||||||
if winIndex >= 0:
|
if winIndex >= 0:
|
||||||
if intel32Index >= 0:
|
if intel32Index >= 0:
|
||||||
writeFile(getOutputDir(c) / buildBatFile32,
|
writeFile(getOutputDir(c) / buildBatFile32,
|
||||||
|
|
@ -531,6 +541,7 @@ when haveZipLib:
|
||||||
addFile(z, proj / buildBatFile32, "build" / buildBatFile32)
|
addFile(z, proj / buildBatFile32, "build" / buildBatFile32)
|
||||||
addFile(z, proj / buildBatFile64, "build" / buildBatFile64)
|
addFile(z, proj / buildBatFile64, "build" / buildBatFile64)
|
||||||
addFile(z, proj / buildShFile, "build" / buildShFile)
|
addFile(z, proj / buildShFile, "build" / buildShFile)
|
||||||
|
addFile(z, proj / makeFile, "build" / makeFile)
|
||||||
addFile(z, proj / installShFile, installShFile)
|
addFile(z, proj / installShFile, installShFile)
|
||||||
addFile(z, proj / deinstallShFile, deinstallShFile)
|
addFile(z, proj / deinstallShFile, deinstallShFile)
|
||||||
for f in walkFiles(c.libpath / "lib/*.h"):
|
for f in walkFiles(c.libpath / "lib/*.h"):
|
||||||
|
|
@ -571,6 +582,7 @@ proc debDist(c: var ConfigData) =
|
||||||
|
|
||||||
# Don't copy all files, only the ones specified in the config:
|
# Don't copy all files, only the ones specified in the config:
|
||||||
copyNimDist(buildShFile, buildShFile)
|
copyNimDist(buildShFile, buildShFile)
|
||||||
|
copyNimDist(makeFile, makeFile)
|
||||||
copyNimDist(installShFile, installShFile)
|
copyNimDist(installShFile, installShFile)
|
||||||
createDir(workingDir / upstreamSource / "build")
|
createDir(workingDir / upstreamSource / "build")
|
||||||
for f in walkFiles(c.libpath / "lib/*.h"):
|
for f in walkFiles(c.libpath / "lib/*.h"):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue