MODULE Setup;
Generated by m3bundle; see its manpage.
IMPORT Bundle, BundleRep, Text;
TYPE T = Bundle.T OBJECT OVERRIDES
get := LookUp;
getNames := GetNames;
END;
TYPE Texts = REF ARRAY OF TEXT;
VAR
bundle: T := NIL;
names : Texts := NIL;
PROCEDURE Get(): Bundle.T =
BEGIN
IF (bundle = NIL) THEN bundle := NEW (T) END;
RETURN bundle;
END Get;
PROCEDURE GetNames (<*UNUSED*> self: T): Texts =
BEGIN
IF names = NIL THEN
names := NEW (Texts, NUMBER (Names));
names^ := Names;
END;
RETURN names;
END GetNames;
PROCEDURE LookUp (<*UNUSED*> self: T; element: TEXT): TEXT =
BEGIN
FOR i := 0 TO LAST (Names)-1 DO
IF Text.Equal (Names[i], element) THEN
RETURN Elements[i];
END;
END;
RETURN NIL;
END LookUp;
CONST Names = ARRAY [0..1] OF TEXT {
"config",
NIL
};
CONST Elements = ARRAY [0..1] OF TEXT {
E0,
NIL
};
CONST E0 =
"readonly TARGET = \"AMD64_LINUX\" % code generation target\nreadonly WO"
& "RD_SIZE = \"64BITS\" % { \"32BITS\" or \"64BITS\" }\nreadonly GNU_PLATF"
& "ORM = \"amd64-pc-linux-gnu\" % \"cpu-vendor-os\" string for GNU\n\n%\n%"
& " add s switch to ar and remove need for ranlib\n%\nreadonly AR_AND_RANL"
& "IB_ARE_ONE = TRUE\n\nreadonly m3back_flags = \"-quiet -gstabs+ -m64 -fP"
& "IC -mno-align-double\"\nreadonly SYSTEM_CC = \"gcc -gstabs+ -m64 -fPIC "
& "-mno-align-double\" % C compiler\nSYSTEM_LD = SYSTEM_CC\n & \" -z now\""
& "\n & \" -z origin\"\n & \" -Bsymbolic\"\n% I thought -as-needed was g"
& "enerally considered good, but it is\n% breaking Linux/x86 so disable he"
& "re for now.\n% & \" -Wl,--as-needed\"\n & \" -Wl,--fatal-warnings\"\n%"
& " & \" -Wl,-no-allow-shlib-undefined\"\n & \" -Wl,-rpath,\\\\$ORIGIN/.."
& "/lib\"\n & \" -Wl,--warn-common\"\n% -pie is broken by linking to posi"
& "tition-dependent static libraries,\n% such as libz.a by cvsup on birch "
& "(elegosoft machine).\n% Imho position-dependent code should just never "
& "exist, oh well.\n%readonly POSITION_INDEPENDENT_EXECUTABLE = \"-pie\"\n"
& "readonly USE_ORIGIN = TRUE\nreadonly SYSTEM_ASM = \"as --64\" % Assembl"
& "er\n\n%\n% newer platforms never needed these workarounds for\n% bootst"
& "rapping with older builds\n%\nreadonly proc GetGcWrapFlags() is return "
& "\"\" end\nreadonly proc FixM3GcDefs(x) is return x end\nreadonly proc G"
& "etM3BackFlag(x) is return x end\n\ninclude(\"Unix.common\")\ninclude(\""
& "gnuld.common\")\n\n";
BEGIN
END Setup.