aboutsummaryrefslogtreecommitdiff
path: root/gcc/m2/gm2-compiler/M2Options.mod
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/m2/gm2-compiler/M2Options.mod')
-rw-r--r--gcc/m2/gm2-compiler/M2Options.mod61
1 files changed, 55 insertions, 6 deletions
diff --git a/gcc/m2/gm2-compiler/M2Options.mod b/gcc/m2/gm2-compiler/M2Options.mod
index 865b857..95dc607 100644
--- a/gcc/m2/gm2-compiler/M2Options.mod
+++ b/gcc/m2/gm2-compiler/M2Options.mod
@@ -25,7 +25,7 @@ IMPLEMENTATION MODULE M2Options ;
IMPORT CmdArgs ;
FROM SArgs IMPORT GetArg, Narg ;
FROM M2Search IMPORT SetDefExtension, SetModExtension ;
-FROM DynamicStringPath IMPORT Cons, GetUserPath, SetUserPath, Cons ;
+FROM PathName IMPORT DumpPathName, AddInclude ;
FROM M2Printf IMPORT printf0, printf1, fprintf1 ;
FROM FIO IMPORT StdErr ;
FROM libc IMPORT exit ;
@@ -33,6 +33,7 @@ FROM Debug IMPORT Halt ;
FROM m2linemap IMPORT location_t ;
FROM m2configure IMPORT FullPathCPP ;
+
FROM DynamicStrings IMPORT String, Length, InitString, Mark, Slice, EqualArray,
InitStringCharStar, ConCatChar, ConCat, KillString,
Dup, string,
@@ -51,8 +52,11 @@ FROM DynamicStrings IMPORT String, Length, InitString, Mark, Slice, EqualArray,
CONST
Debugging = FALSE ;
+ DefaultRuntimeModuleOverride = "m2iso:RTentity,m2iso:Storage,m2iso:SYSTEM,m2iso:M2RTS,m2iso:RTExceptions,m2iso:IOLink" ;
VAR
+ M2Prefix,
+ M2PathName,
Barg,
MDarg,
MMDarg,
@@ -117,6 +121,49 @@ END DSdbExit ;
(*
+ SetM2Prefix - assign arg to M2Prefix.
+*)
+
+PROCEDURE SetM2Prefix (arg: ADDRESS) ;
+BEGIN
+ M2Prefix := KillString (M2Prefix) ;
+ M2Prefix := InitStringCharStar (arg)
+END SetM2Prefix ;
+
+
+(*
+ GetM2Prefix - return M2Prefix as a C string.
+*)
+
+PROCEDURE GetM2Prefix () : ADDRESS ;
+BEGIN
+ RETURN string (M2Prefix)
+END GetM2Prefix ;
+
+
+(*
+ SetM2PathName - assign arg to M2PathName.
+*)
+
+PROCEDURE SetM2PathName (arg: ADDRESS) ;
+BEGIN
+ M2PathName := KillString (M2PathName) ;
+ M2PathName := InitStringCharStar (arg) ;
+ (* fprintf1 (StdErr, "M2PathName = %s\n", M2PathName) *)
+END SetM2PathName ;
+
+
+(*
+ GetM2PathName - return M2PathName as a C string.
+*)
+
+PROCEDURE GetM2PathName () : ADDRESS ;
+BEGIN
+ RETURN string (M2PathName)
+END GetM2PathName ;
+
+
+(*
SetB - assigns Barg to arg.
*)
@@ -900,12 +947,12 @@ PROCEDURE SetSearchPath (arg: ADDRESS) ;
VAR
s: String ;
BEGIN
- s := InitStringCharStar(arg) ;
+ s := InitStringCharStar (arg) ;
+ AddInclude (M2PathName, s) ;
IF Debugging
THEN
- fprintf1 (StdErr, "M2Search.SetSearchPath setting search path to: %s\n", s)
+ DumpPathName ("path name entries: ")
END ;
- SetUserPath (Cons (GetUserPath (), s)) ;
s := KillString (s)
END SetSearchPath ;
@@ -1315,7 +1362,7 @@ END SetShared ;
BEGIN
cflag := FALSE ; (* -c. *)
- RuntimeModuleOverride := NIL ;
+ RuntimeModuleOverride := InitString (DefaultRuntimeModuleOverride) ;
CppArgs := InitString ('') ;
Pim := TRUE ;
Pim2 := FALSE ;
@@ -1382,5 +1429,7 @@ BEGIN
MMDarg := NIL ;
MQarg := NIL ;
SaveTempsDir := NIL ;
- DumpDir := NIL
+ DumpDir := NIL ;
+ M2Prefix := InitString ('') ;
+ M2PathName := InitString ('')
END M2Options.