mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 14:32:24 +00:00
Fix shared library naming, and getcwd warning.
This commit is contained in:
parent
a6f0088299
commit
ef0a447a68
4 changed files with 21 additions and 21 deletions
|
|
@ -86,7 +86,7 @@ MODULE OPM; (* RC 6.3.89 / 28.6.89, J.Templ 10.7.89 / 22.7.96 *)
|
||||||
VAR
|
VAR
|
||||||
SourceFileName : ARRAY 256 OF CHAR;
|
SourceFileName : ARRAY 256 OF CHAR;
|
||||||
|
|
||||||
GlobalModel, Model*: CHAR; (* 2: S8/I16/L32, C: S16/I32/L64, V:S8/I32/L64 *)
|
GlobalModel, Model*: ARRAY 10 OF CHAR; (* 2: S8/I16/L32, C: S16/I32/L64, V:S8/I32/L64 *)
|
||||||
GlobalAddressSize, AddressSize*: INTEGER;
|
GlobalAddressSize, AddressSize*: INTEGER;
|
||||||
GlobalAlignment, Alignment*: INTEGER;
|
GlobalAlignment, Alignment*: INTEGER;
|
||||||
GlobalOptions*, Options*: SET;
|
GlobalOptions*, Options*: SET;
|
||||||
|
|
@ -189,8 +189,8 @@ MODULE OPM; (* RC 6.3.89 / 28.6.89, J.Templ 10.7.89 / 22.7.96 *)
|
||||||
|
|
||||||
(* Elementary type size model *)
|
(* Elementary type size model *)
|
||||||
| "O": IF i+1 >= Strings.Length(s) THEN LogWStr("-O option requires following size model character."); LogWLn ELSE
|
| "O": IF i+1 >= Strings.Length(s) THEN LogWStr("-O option requires following size model character."); LogWLn ELSE
|
||||||
Model := s[i+1];
|
Model[0] := s[i+1]; Model[1] := 0X;
|
||||||
IF (Model # '2') & (Model # 'C') & (Model # 'V') THEN
|
IF (Model[0] # '2') & (Model[0] # 'C') & (Model[0] # 'V') THEN
|
||||||
LogWStr("Unrecognised size model character following -O."); LogWLn
|
LogWStr("Unrecognised size model character following -O."); LogWLn
|
||||||
END;
|
END;
|
||||||
INC(i)
|
INC(i)
|
||||||
|
|
@ -287,7 +287,7 @@ MODULE OPM; (* RC 6.3.89 / 28.6.89, J.Templ 10.7.89 / 22.7.96 *)
|
||||||
(* Set options to initial defaults *)
|
(* Set options to initial defaults *)
|
||||||
AddressSize := SIZE(SYSTEM.ADDRESS); (* This compilers address size *)
|
AddressSize := SIZE(SYSTEM.ADDRESS); (* This compilers address size *)
|
||||||
GetAlignment(Alignment); (* This compilers alignment *)
|
GetAlignment(Alignment); (* This compilers alignment *)
|
||||||
Model := '2'; (* Size model of common Oberon-2 implementations: S8/I16/L32 *)
|
Model := "2"; (* Size model of common Oberon-2 implementations: S8/I16/L32 *)
|
||||||
Options := {inxchk, typchk, ptrinit, assert}; (* Default options *)
|
Options := {inxchk, typchk, ptrinit, assert}; (* Default options *)
|
||||||
|
|
||||||
(* Pick up global option changes from start of command line *)
|
(* Pick up global option changes from start of command line *)
|
||||||
|
|
@ -338,7 +338,7 @@ MODULE OPM; (* RC 6.3.89 / 28.6.89, J.Templ 10.7.89 / 22.7.96 *)
|
||||||
IF mainlinkstat IN Options THEN INCL(Options, mainprog) END;
|
IF mainlinkstat IN Options THEN INCL(Options, mainprog) END;
|
||||||
|
|
||||||
MaxIndex := SignedMaximum(AddressSize);
|
MaxIndex := SignedMaximum(AddressSize);
|
||||||
CASE Model OF
|
CASE Model[0] OF
|
||||||
|'2': ShortintSize := 1; IntegerSize := 2; LongintSize := 4; SetSize := 4
|
|'2': ShortintSize := 1; IntegerSize := 2; LongintSize := 4; SetSize := 4
|
||||||
|'C': ShortintSize := 2; IntegerSize := 4; LongintSize := 8; SetSize := 8
|
|'C': ShortintSize := 2; IntegerSize := 4; LongintSize := 8; SetSize := 8
|
||||||
|'V': ShortintSize := 1; IntegerSize := 4; LongintSize := 8; SetSize := 8
|
|'V': ShortintSize := 1; IntegerSize := 4; LongintSize := 8; SetSize := 8
|
||||||
|
|
@ -349,8 +349,8 @@ MODULE OPM; (* RC 6.3.89 / 28.6.89, J.Templ 10.7.89 / 22.7.96 *)
|
||||||
IF verbose IN Options THEN VerboseListSizes END;
|
IF verbose IN Options THEN VerboseListSizes END;
|
||||||
|
|
||||||
ResourceDir := Configuration.installdir;
|
ResourceDir := Configuration.installdir;
|
||||||
Strings.Append("/ ", ResourceDir);
|
Strings.Append("/", ResourceDir);
|
||||||
ResourceDir[Strings.Length(ResourceDir)-1] := Model;
|
Strings.Append(Model, ResourceDir);
|
||||||
|
|
||||||
modules := ""; Platform.GetEnv("MODULES", modules);
|
modules := ""; Platform.GetEnv("MODULES", modules);
|
||||||
searchpath := "."; Platform.GetEnv("OBERON", searchpath);
|
searchpath := "."; Platform.GetEnv("OBERON", searchpath);
|
||||||
|
|
|
||||||
|
|
@ -67,10 +67,10 @@ PROCEDURE LinkMain*(VAR moduleName: ARRAY OF CHAR; statically: BOOLEAN; addition
|
||||||
Strings.Append(Configuration.objflag, cmd);
|
Strings.Append(Configuration.objflag, cmd);
|
||||||
Strings.Append(moduleName, cmd);
|
Strings.Append(moduleName, cmd);
|
||||||
Strings.Append(Configuration.linkflags, cmd);
|
Strings.Append(Configuration.linkflags, cmd);
|
||||||
Strings.Append(OPM.ResourceDir, cmd);
|
Strings.Append(Configuration.installdir, cmd);
|
||||||
Strings.Append('/lib"', cmd);
|
Strings.Append('/lib"', cmd);
|
||||||
Strings.Append(Configuration.libspec, cmd);
|
Strings.Append(Configuration.libspec, cmd);
|
||||||
|
Strings.Append(OPM.Model, cmd);
|
||||||
execute("Assemble and link: ", cmd);
|
execute("Assemble and link: ", cmd);
|
||||||
END LinkMain;
|
END LinkMain;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -437,13 +437,13 @@ END Unlink;
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE -chdir(n: ARRAY OF CHAR): INTEGER "chdir((char*)n)";
|
PROCEDURE -chdir(n: ARRAY OF CHAR): INTEGER "chdir((char*)n)";
|
||||||
PROCEDURE -getcwd(VAR cwd: ARRAY OF CHAR) "getcwd((char*)cwd, cwd__len)";
|
PROCEDURE -getcwd(VAR cwd: ARRAY OF CHAR): SYSTEM.PTR "getcwd((char*)cwd, cwd__len)";
|
||||||
|
|
||||||
PROCEDURE Chdir*(VAR n: ARRAY OF CHAR): ErrorCode;
|
PROCEDURE Chdir*(VAR n: ARRAY OF CHAR): ErrorCode;
|
||||||
VAR r: INTEGER;
|
VAR r: INTEGER;
|
||||||
BEGIN
|
BEGIN
|
||||||
r := chdir(n); getcwd(CWD);
|
IF (chdir(n) >= 0) & (getcwd(CWD) # NIL) THEN RETURN 0
|
||||||
IF r < 0 THEN RETURN err() ELSE RETURN 0 END
|
ELSE RETURN err() END
|
||||||
END Chdir;
|
END Chdir;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -536,8 +536,8 @@ BEGIN
|
||||||
HaltCode := -128;
|
HaltCode := -128;
|
||||||
HaltHandler := NIL;
|
HaltHandler := NIL;
|
||||||
TimeStart := 0; TimeStart := Time();
|
TimeStart := 0; TimeStart := Time();
|
||||||
CWD := ""; getcwd(CWD);
|
|
||||||
PID := getpid();
|
PID := getpid();
|
||||||
|
IF getcwd(CWD) = NIL THEN CWD := "" END;
|
||||||
|
|
||||||
SeekSet := seekset();
|
SeekSet := seekset();
|
||||||
SeekCur := seekcur();
|
SeekCur := seekcur();
|
||||||
|
|
|
||||||
|
|
@ -157,14 +157,14 @@ install:
|
||||||
@printf "\nInstalling into \"$(INSTALLDIR)\"\n"
|
@printf "\nInstalling into \"$(INSTALLDIR)\"\n"
|
||||||
@rm -rf "$(INSTALLDIR)/bin" "$(INSTALLDIR)/$(MODEL)"
|
@rm -rf "$(INSTALLDIR)/bin" "$(INSTALLDIR)/$(MODEL)"
|
||||||
@mkdir -p "$(INSTALLDIR)/bin"
|
@mkdir -p "$(INSTALLDIR)/bin"
|
||||||
|
@mkdir -p "$(INSTALLDIR)/lib"
|
||||||
@mkdir -p "$(INSTALLDIR)/$(MODEL)/include"
|
@mkdir -p "$(INSTALLDIR)/$(MODEL)/include"
|
||||||
@mkdir -p "$(INSTALLDIR)/$(MODEL)/sym"
|
@mkdir -p "$(INSTALLDIR)/$(MODEL)/sym"
|
||||||
@mkdir -p "$(INSTALLDIR)/$(MODEL)/lib"
|
@cp $(BUILDDIR)/*.h "$(INSTALLDIR)/$(MODEL)/include/"
|
||||||
@cp $(BUILDDIR)/*.h "$(INSTALLDIR)/$(MODEL)/include/"
|
@cp $(BUILDDIR)/*.sym "$(INSTALLDIR)/$(MODEL)/sym/"
|
||||||
@cp $(BUILDDIR)/*.sym "$(INSTALLDIR)/$(MODEL)/sym/"
|
@cp $(OBECOMP) "$(INSTALLDIR)/bin/$(OBECOMP)"
|
||||||
@cp $(OBECOMP) "$(INSTALLDIR)/bin/$(OBECOMP)"
|
@-cp $(BUILDDIR)/showdef$(BINEXT) "$(INSTALLDIR)/bin"
|
||||||
@-cp $(BUILDDIR)/showdef$(BINEXT) "$(INSTALLDIR)/bin"
|
@cp $(BUILDDIR)/lib$(ONAME)* "$(INSTALLDIR)/lib/"
|
||||||
@cp $(BUILDDIR)/lib$(ONAME)* "$(INSTALLDIR)/$(MODEL)/lib/"
|
|
||||||
@if which ldconfig >/dev/null 2>&1; then $(LDCONFIG); fi
|
@if which ldconfig >/dev/null 2>&1; then $(LDCONFIG); fi
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -345,10 +345,10 @@ librarybinary:
|
||||||
# of utilities like BrowserCmd.Mod (aka showdef).
|
# of utilities like BrowserCmd.Mod (aka showdef).
|
||||||
|
|
||||||
# Make static library
|
# Make static library
|
||||||
ar rcs "$(BUILDDIR)/lib$(ONAME).a" $(BUILDDIR)/*.o
|
ar rcs "$(BUILDDIR)/lib$(ONAME)$(MODEL).a" $(BUILDDIR)/*.o
|
||||||
|
|
||||||
# Make shared library
|
# Make shared library
|
||||||
@cd $(BUILDDIR) && $(COMPILE) -shared -o lib$(ONAME).so *.o
|
@cd $(BUILDDIR) && $(COMPILE) -shared -o lib$(ONAME)$(MODEL).so *.o
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue