|
@@ -33,7 +33,8 @@ interface
|
|
fmodule,
|
|
fmodule,
|
|
globtype,
|
|
globtype,
|
|
ldscript,
|
|
ldscript,
|
|
- ogbase;
|
|
|
|
|
|
+ ogbase,
|
|
|
|
+ owbase;
|
|
|
|
|
|
Type
|
|
Type
|
|
TLinkerInfo=record
|
|
TLinkerInfo=record
|
|
@@ -93,6 +94,7 @@ interface
|
|
private
|
|
private
|
|
FCExeOutput : TExeOutputClass;
|
|
FCExeOutput : TExeOutputClass;
|
|
FCObjInput : TObjInputClass;
|
|
FCObjInput : TObjInputClass;
|
|
|
|
+ FCArObjectReader : TObjectReaderClass;
|
|
{ Libraries }
|
|
{ Libraries }
|
|
FStaticLibraryList : TFPObjectList;
|
|
FStaticLibraryList : TFPObjectList;
|
|
FImportLibraryList : TFPHashObjectList;
|
|
FImportLibraryList : TFPHashObjectList;
|
|
@@ -115,6 +117,7 @@ interface
|
|
linkscript : TCmdStrList;
|
|
linkscript : TCmdStrList;
|
|
ScriptCount : longint;
|
|
ScriptCount : longint;
|
|
IsHandled : PBooleanArray;
|
|
IsHandled : PBooleanArray;
|
|
|
|
+ property CArObjectReader:TObjectReaderClass read FCArObjectReader write FCArObjectReader;
|
|
property CObjInput:TObjInputClass read FCObjInput write FCObjInput;
|
|
property CObjInput:TObjInputClass read FCObjInput write FCObjInput;
|
|
property CExeOutput:TExeOutputClass read FCExeOutput write FCExeOutput;
|
|
property CExeOutput:TExeOutputClass read FCExeOutput write FCExeOutput;
|
|
property StaticLibraryList:TFPObjectList read FStaticLibraryList;
|
|
property StaticLibraryList:TFPObjectList read FStaticLibraryList;
|
|
@@ -159,7 +162,7 @@ Implementation
|
|
{$endif hasUnix}
|
|
{$endif hasUnix}
|
|
script,globals,verbose,comphook,ppu,fpccrc,
|
|
script,globals,verbose,comphook,ppu,fpccrc,
|
|
aasmbase,aasmtai,aasmdata,aasmcpu,
|
|
aasmbase,aasmtai,aasmdata,aasmcpu,
|
|
- owbase,owar,ogmap;
|
|
|
|
|
|
+ ogmap;
|
|
|
|
|
|
var
|
|
var
|
|
CLinker : array[tlink] of TLinkerClass;
|
|
CLinker : array[tlink] of TLinkerClass;
|
|
@@ -1094,7 +1097,7 @@ Implementation
|
|
|
|
|
|
procedure TInternalLinker.Load_ReadStaticLibrary(const para:TCmdStr;asneededflag:boolean);
|
|
procedure TInternalLinker.Load_ReadStaticLibrary(const para:TCmdStr;asneededflag:boolean);
|
|
var
|
|
var
|
|
- objreader : TArObjectReader;
|
|
|
|
|
|
+ objreader : TObjectReader;
|
|
objinput: TObjInput;
|
|
objinput: TObjInput;
|
|
objdata: TObjData;
|
|
objdata: TObjData;
|
|
ScriptLexer: TScriptLexer;
|
|
ScriptLexer: TScriptLexer;
|
|
@@ -1105,7 +1108,7 @@ Implementation
|
|
if copy(ExtractFileName(para),1,6)='libimp' then
|
|
if copy(ExtractFileName(para),1,6)='libimp' then
|
|
exit;
|
|
exit;
|
|
Comment(V_Tried,'Opening library '+para);
|
|
Comment(V_Tried,'Opening library '+para);
|
|
- objreader:=TArObjectreader.create(para,true);
|
|
|
|
|
|
+ objreader:=CArObjectreader.createAr(para,true);
|
|
if ErrorCount>0 then
|
|
if ErrorCount>0 then
|
|
exit;
|
|
exit;
|
|
if objreader.isarchive then
|
|
if objreader.isarchive then
|