added missing files

This commit is contained in:
Andreas Rumpf
2010-08-08 23:50:06 +02:00
parent 25ff3913ec
commit 040c57f0a5
4 changed files with 190 additions and 0 deletions

83
build.bat Executable file
View File

@@ -0,0 +1,83 @@
@echo on
REM Generated by niminst
SET CC=gcc
SET LINKER=gcc
SET COMP_FLAGS=-w -O3 -fno-strict-aliasing
SET LINK_FLAGS=
REM call the compiler:
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/system.c -o build/1_1/system.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/winlean.c -o build/1_1/winlean.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/times.c -o build/1_1/times.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/lists.c -o build/1_1/lists.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/nhashes.c -o build/1_1/nhashes.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/nstrtabs.c -o build/1_1/nstrtabs.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/options.c -o build/1_1/options.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/msgs.c -o build/1_1/msgs.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/nversion.c -o build/1_1/nversion.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/crc.c -o build/1_1/crc.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/platform.c -o build/1_1/platform.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/ropes.c -o build/1_1/ropes.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/idents.c -o build/1_1/idents.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/ast.c -o build/1_1/ast.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/astalgo.c -o build/1_1/astalgo.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/condsyms.c -o build/1_1/condsyms.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/hashes.c -o build/1_1/hashes.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/strtabs.c -o build/1_1/strtabs.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/streams.c -o build/1_1/streams.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/osproc.c -o build/1_1/osproc.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/extccomp.c -o build/1_1/extccomp.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/wordrecg.c -o build/1_1/wordrecg.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/commands.c -o build/1_1/commands.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/llstream.c -o build/1_1/llstream.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/lexbase.c -o build/1_1/lexbase.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/scanner.c -o build/1_1/scanner.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/nimconf.c -o build/1_1/nimconf.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/pnimsyn.c -o build/1_1/pnimsyn.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/pbraces.c -o build/1_1/pbraces.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/rnimsyn.c -o build/1_1/rnimsyn.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/filters.c -o build/1_1/filters.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/ptmplsyn.c -o build/1_1/ptmplsyn.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/syntaxes.c -o build/1_1/syntaxes.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/rodread.c -o build/1_1/rodread.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/trees.c -o build/1_1/trees.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/types.c -o build/1_1/types.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/math.c -o build/1_1/math.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/magicsys.c -o build/1_1/magicsys.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/bitsets.c -o build/1_1/bitsets.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/nimsets.c -o build/1_1/nimsets.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/passes.c -o build/1_1/passes.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/treetab.c -o build/1_1/treetab.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/semdata.c -o build/1_1/semdata.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/lookups.c -o build/1_1/lookups.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/importer.c -o build/1_1/importer.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/rodwrite.c -o build/1_1/rodwrite.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/semfold.c -o build/1_1/semfold.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/evals.c -o build/1_1/evals.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/procfind.c -o build/1_1/procfind.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/pragmas.c -o build/1_1/pragmas.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/sem.c -o build/1_1/sem.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/rst.c -o build/1_1/rst.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/highlite.c -o build/1_1/highlite.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/docgen.c -o build/1_1/docgen.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/ccgutils.c -o build/1_1/ccgutils.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/cgmeth.c -o build/1_1/cgmeth.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/cgen.c -o build/1_1/cgen.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/ecmasgen.c -o build/1_1/ecmasgen.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/interact.c -o build/1_1/interact.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/passaux.c -o build/1_1/passaux.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/depends.c -o build/1_1/depends.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/transf.c -o build/1_1/transf.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/main.c -o build/1_1/main.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/parseopt.c -o build/1_1/parseopt.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/nim__dat.c -o build/1_1/nim__dat.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/parseutils.c -o build/1_1/parseutils.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/strutils.c -o build/1_1/strutils.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/os.c -o build/1_1/os.o
%CC% %COMP_FLAGS% -Ibuild -c build/1_1/nimrod.c -o build/1_1/nimrod.o
%LINKER% %LINK_FLAGS% -o bin\nimrod.exe build/1_1/system.o build/1_1/winlean.o build/1_1/times.o build/1_1/lists.o build/1_1/nhashes.o build/1_1/nstrtabs.o build/1_1/options.o build/1_1/msgs.o build/1_1/nversion.o build/1_1/crc.o build/1_1/platform.o build/1_1/ropes.o build/1_1/idents.o build/1_1/ast.o build/1_1/astalgo.o build/1_1/condsyms.o build/1_1/hashes.o build/1_1/strtabs.o build/1_1/streams.o build/1_1/osproc.o build/1_1/extccomp.o build/1_1/wordrecg.o build/1_1/commands.o build/1_1/llstream.o build/1_1/lexbase.o build/1_1/scanner.o build/1_1/nimconf.o build/1_1/pnimsyn.o build/1_1/pbraces.o build/1_1/rnimsyn.o build/1_1/filters.o build/1_1/ptmplsyn.o build/1_1/syntaxes.o build/1_1/rodread.o build/1_1/trees.o build/1_1/types.o build/1_1/math.o build/1_1/magicsys.o build/1_1/bitsets.o build/1_1/nimsets.o build/1_1/passes.o build/1_1/treetab.o build/1_1/semdata.o build/1_1/lookups.o build/1_1/importer.o build/1_1/rodwrite.o build/1_1/semfold.o build/1_1/evals.o build/1_1/procfind.o build/1_1/pragmas.o build/1_1/sem.o build/1_1/rst.o build/1_1/highlite.o build/1_1/docgen.o build/1_1/ccgutils.o build/1_1/cgmeth.o build/1_1/cgen.o build/1_1/ecmasgen.o build/1_1/interact.o build/1_1/passaux.o build/1_1/depends.o build/1_1/transf.o build/1_1/main.o build/1_1/parseopt.o build/1_1/nim__dat.o build/1_1/parseutils.o build/1_1/strutils.o build/1_1/os.o build/1_1/nimrod.o
ECHO SUCCESS

15
rod/noprefix2.nim Executable file
View File

@@ -0,0 +1,15 @@
# strip those silly GTK/ATK prefixes...
import
expandimportc, os
const
filelist = [
("gtk/pango", "pango"),
("gtk/pangoutils", "pango")
]
for filename, prefix in items(filelist):
var f = addFileExt(filename, "nim")
main("lib/newwrap" / f, "lib/newwrap" / filename & ".new.nim", prefix)

73
rod/tccgen.nim Executable file
View File

@@ -0,0 +1,73 @@
#
#
# The Nimrod Compiler
# (c) Copyright 2010 Andreas Rumpf
#
# See the file "copying.txt", included in this
# distribution, for details about the copyright.
#
import
os, strutils, options, msgs, tinyc
{.compile: "../tinyc/libtcc.c".}
proc tinyCErrorHandler(closure: pointer, msg: cstring) {.cdecl.} =
rawMessage(errGenerated, $msg)
proc initTinyCState: PccState =
result = openCCState()
setErrorFunc(result, nil, tinyCErrorHandler)
var
gTinyC = initTinyCState()
libIncluded = false
proc addFile(filename: string) =
if addFile(gTinyC, filename) != 0'i32:
rawMessage(errCannotOpenFile, filename)
proc setupEnvironment =
#defineSymbol(gTinyC, "__x86_64__", nil)
#defineSymbol(gTinyC, "__linux__", nil)
#defineSymbol(gTinyC, "__linux", nil)
var nimrodDir = getPrefixDir()
addIncludePath(gTinyC, libpath)
when defined(windows):
addSysincludePath(gTinyC, nimrodDir / "tinyc/win32/include")
addSysincludePath(gTinyC, nimrodDir / "tinyc/include")
when defined(windows):
defineSymbol(gTinyC, "__i386__", nil)
defineSymbol(gTinyC, "_WIN32", nil)
# we need Mingw's headers too:
var gccbin = getConfigVar("gcc.path") % ["nimrod", nimrodDir]
addSysincludePath(gTinyC, gccbin /../ "include")
#addFile(nimrodDir / r"tinyc\win32\wincrt1.o")
addFile(nimrodDir / r"tinyc\win32\alloca86.o")
addFile(nimrodDir / r"tinyc\win32\chkstk.o")
#addFile(nimrodDir / r"tinyc\win32\crt1.o")
#addFile(nimrodDir / r"tinyc\win32\dllcrt1.o")
#addFile(nimrodDir / r"tinyc\win32\dllmain.o")
addFile(nimrodDir / r"tinyc\win32\libtcc1.o")
#addFile(nimrodDir / r"tinyc\win32\lib\crt1.c")
#addFile(nimrodDir / r"tinyc\lib\libtcc1.c")
else:
addSysincludePath(gTinyC, "/usr/include")
proc compileCCode*(ccode: string) =
if not libIncluded:
libIncluded = true
setupEnvironment()
discard compileString(gTinyC, ccode)
proc run*() =
var a: array[0..1, cstring]
a[0] = ""
a[1] = ""
var err = tinyc.run(gTinyC, 0'i32, addr(a)) != 0'i32
closeCCState(gTinyC)
if err: rawMessage(errExecutionOfProgramFailed, "")

19
tools/buildbat.tmpl Executable file
View File

@@ -0,0 +1,19 @@
#! stdtmpl(subsChar='?') | standard
#proc GenerateBuildBatchScript(c: TConfigData): string =
# result = "@echo on\nREM Generated by niminst\n"
SET CC=gcc
SET LINKER=gcc
SET COMP_FLAGS=-w -O3 -fno-strict-aliasing
SET LINK_FLAGS=
REM call the compiler:
# var linkCmd = ""
# for f in items(c.cfiles[1][1]):
%CC% %COMP_FLAGS% -Ibuild -c ?{f} -o ?{changeFileExt(f, "o")}
# linkCmd.add(" " & changeFileExt(f, "o"))
# end for
%LINKER% %LINK_FLAGS% -o ?{c.binPaths[0]}\?{toLower(c.name)}.exe ?linkCmd
ECHO SUCCESS