mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 13:22:26 +00:00
linux clang platform added
This commit is contained in:
parent
87f7119dfd
commit
d2680335c6
52 changed files with 10281 additions and 2 deletions
4
src/voc/linux/clang/armv6j/architecture.Mod
Normal file
4
src/voc/linux/clang/armv6j/architecture.Mod
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
MODULE architecture;
|
||||
CONST arch* = "armv6j";
|
||||
|
||||
END architecture.
|
||||
4
src/voc/linux/clang/armv6j_hardfp/architecture.Mod
Normal file
4
src/voc/linux/clang/armv6j_hardfp/architecture.Mod
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
MODULE architecture;
|
||||
CONST arch* = "armv6j_hardfp";
|
||||
|
||||
END architecture.
|
||||
4
src/voc/linux/clang/armv7a_hardfp/architecture.Mod
Normal file
4
src/voc/linux/clang/armv7a_hardfp/architecture.Mod
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
MODULE architecture;
|
||||
CONST arch* = "armv7a_hardfp";
|
||||
|
||||
END architecture.
|
||||
82
src/voc/linux/clang/extTools.Mod
Normal file
82
src/voc/linux/clang/extTools.Mod
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
MODULE extTools;
|
||||
IMPORT Args, Unix, Strings := oocOakStrings, Console, version;
|
||||
(*
|
||||
INCLUDEPATH = -Isrc/lib/system/gnuc/x86_64
|
||||
CCOPT = -fPIC $(INCLUDEPATH) -g
|
||||
CLOBERONOPTS = -fPIC $(INCLUDEPATH) -L. -L/usr/lib -lOberon -static -g
|
||||
CC = cc $(CCOPT) -c
|
||||
*)
|
||||
|
||||
VAR incPath0, incPath1, ccOpt, ccString, CFLAGS, tmp0, tmp1 : ARRAY 1023 OF CHAR;
|
||||
|
||||
PROCEDURE Assemble*(m : ARRAY OF CHAR);
|
||||
VAR cmd : ARRAY 1023 OF CHAR;
|
||||
cc : ARRAY 1023 OF CHAR;
|
||||
ext : ARRAY 5 OF CHAR;
|
||||
BEGIN
|
||||
COPY (ccString, cc);
|
||||
Strings.Append (" -c ", cc);
|
||||
COPY(cc, cmd);
|
||||
Strings.Append (" ", cmd);
|
||||
Strings.Append (ccOpt, cmd);
|
||||
ext := ".c";
|
||||
Strings.Append (ext, m);
|
||||
Strings.Append(m, cmd);
|
||||
(*Console.Ln; Console.String (cmd); Console.Ln;*)
|
||||
Unix.system(cmd);
|
||||
END Assemble;
|
||||
|
||||
|
||||
PROCEDURE LinkMain*(VAR m : ARRAY OF CHAR; statically : BOOLEAN; additionalopts : ARRAY OF CHAR);
|
||||
VAR lpath : ARRAY 1023 OF CHAR;
|
||||
cc : ARRAY 1023 OF CHAR;
|
||||
ccopt : ARRAY 1023 OF CHAR;
|
||||
cmd : ARRAY 1023 OF CHAR;
|
||||
ext : ARRAY 5 OF CHAR;
|
||||
BEGIN
|
||||
(*
|
||||
gcc -g -o hello hello.c -I $RPATH/src/lib/system/gnuc/x86_64 -I. -I$RPATH -lOberon -L. -L$RPATH -static
|
||||
*)
|
||||
cmd := "";
|
||||
cc := "";
|
||||
ext := ".c";
|
||||
COPY(ccString, cc);
|
||||
COPY (cc, cmd);
|
||||
Strings.Append(" ", cmd);
|
||||
Strings.Append(m, cmd);
|
||||
Strings.Append(ext, cmd);
|
||||
Strings.Append(additionalopts, cmd);
|
||||
IF statically THEN Strings.Append(" -static ", cmd) END;
|
||||
Strings.Append(" -o ", cmd);
|
||||
Strings.Append(m, cmd);
|
||||
Strings.Append(" ", cmd);
|
||||
Strings.Append(ccOpt, cmd);
|
||||
Console.Ln; Console.String(cmd); Console.Ln; (* may be it's feasible to add debug mode later *)
|
||||
Unix.system(cmd);
|
||||
END LinkMain;
|
||||
|
||||
BEGIN
|
||||
|
||||
incPath0 := "src/lib/system/linux/gnuc";
|
||||
incPath1 := "lib/voc/obj ";
|
||||
ccOpt := " -fPIC -g -I ";
|
||||
COPY (version.prefix, tmp1);
|
||||
Strings.Append("/", tmp1);
|
||||
Strings.Append(incPath0, tmp1);
|
||||
Strings.Append("/", tmp1);
|
||||
Strings.Append(version.arch, tmp1);
|
||||
Strings.Append(" -I ", tmp1);
|
||||
Strings.Append(version.prefix, tmp1);
|
||||
Strings.Append("/", tmp1);
|
||||
Strings.Append(incPath1, tmp1);
|
||||
Strings.Append(tmp1, ccOpt);
|
||||
Strings.Append ("-lVishapOberon -L. -L", ccOpt);
|
||||
Strings.Append (version.prefix, ccOpt);
|
||||
Strings.Append ("/lib ", ccOpt);
|
||||
Args.GetEnv("CFLAGS", CFLAGS);
|
||||
Strings.Append (CFLAGS, ccOpt);
|
||||
Strings.Append (" ", ccOpt);
|
||||
ccString := "cc ";
|
||||
(*Strings.Append (ccOpt, ccString);*)
|
||||
|
||||
END extTools.
|
||||
4
src/voc/linux/clang/powerpc/architecture.Mod
Normal file
4
src/voc/linux/clang/powerpc/architecture.Mod
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
MODULE architecture;
|
||||
CONST arch* = "powerpc";
|
||||
|
||||
END architecture.
|
||||
4
src/voc/linux/clang/x86/architecture.Mod
Normal file
4
src/voc/linux/clang/x86/architecture.Mod
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
MODULE architecture;
|
||||
CONST arch* = "x86";
|
||||
|
||||
END architecture.
|
||||
4
src/voc/linux/clang/x86_64/architecture.Mod
Normal file
4
src/voc/linux/clang/x86_64/architecture.Mod
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
MODULE architecture;
|
||||
CONST arch* = "x86_64";
|
||||
|
||||
END architecture.
|
||||
Loading…
Add table
Add a link
Reference in a new issue