Quellcode durchsuchen

* allow executable/library name to be changed for an intermediate file

git-svn-id: trunk@45599 -
svenbarth vor 5 Jahren
Ursprung
Commit
e2d8f7b68f
1 geänderte Dateien mit 16 neuen und 2 gelöschten Zeilen
  1. 16 2
      compiler/link.pas

+ 16 - 2
compiler/link.pas

@@ -134,6 +134,8 @@ interface
          function GetCodeSize(aExeOutput: TExeOutput): QWord;virtual;
          function GetDataSize(aExeOutput: TExeOutput): QWord;virtual;
          function GetBssSize(aExeOutput: TExeOutput): QWord;virtual;
+         function ExecutableFilename:String;virtual;
+         function SharedLibFilename:String;virtual;
       public
          IsSharedLibrary : boolean;
          UseStabs : boolean;
@@ -1630,10 +1632,22 @@ Implementation
       end;
 
 
+    function TInternalLinker.ExecutableFilename:String;
+      begin
+        result:=current_module.exefilename;
+      end;
+
+
+    function TInternalLinker.SharedLibFilename:String;
+      begin
+        result:=current_module.sharedlibfilename;
+      end;
+
+
     function TInternalLinker.MakeExecutable:boolean;
       begin
         IsSharedLibrary:=false;
-        result:=RunLinkScript(current_module.exefilename);
+        result:=RunLinkScript(ExecutableFilename);
 {$ifdef hasUnix}
         fpchmod(current_module.exefilename,493);
 {$endif hasUnix}
@@ -1643,7 +1657,7 @@ Implementation
     function TInternalLinker.MakeSharedLibrary:boolean;
       begin
         IsSharedLibrary:=true;
-        result:=RunLinkScript(current_module.sharedlibfilename);
+        result:=RunLinkScript(SharedLibFilename);
       end;