mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-16 05:59:28 +02:00
* prepend "+" to each file name to be added to the library by wlib. This
indicates an "add" command, instead of "replace". git-svn-id: trunk@30287 -
This commit is contained in:
parent
931f5a0b54
commit
85cb180d80
@ -761,11 +761,11 @@ Implementation
|
||||
|
||||
Function TExternalLinker.MakeStaticLibrary:boolean;
|
||||
|
||||
function GetNextFiles(const maxCmdLength : Longint; var item : TCmdStrListItem) : TCmdStr;
|
||||
function GetNextFiles(const maxCmdLength : Longint; var item : TCmdStrListItem; const addfilecmd : string) : TCmdStr;
|
||||
begin
|
||||
result := '';
|
||||
while (assigned(item) and ((length(result) + length(item.str) + 1) < maxCmdLength)) do begin
|
||||
result := result + ' ' + item.str;
|
||||
result := result + ' ' + addfilecmd + item.str;
|
||||
item := TCmdStrListItem(item.next);
|
||||
end;
|
||||
end;
|
||||
@ -849,7 +849,7 @@ Implementation
|
||||
nextcmd := firstcmd
|
||||
else
|
||||
nextcmd := cmdstr;
|
||||
Replace(nextcmd,'$FILES',GetNextFiles(2047, current));
|
||||
Replace(nextcmd,'$FILES',GetNextFiles(2047, current, target_ar.addfilecmd));
|
||||
if first then
|
||||
success:=DoExec(firstbinstr,nextcmd,false,true)
|
||||
else
|
||||
@ -1604,6 +1604,7 @@ Implementation
|
||||
ar_gnu_ar_info : tarinfo =
|
||||
(
|
||||
id : ar_gnu_ar;
|
||||
addfilecmd : '';
|
||||
arfirstcmd : '';
|
||||
arcmd : 'ar qS $LIB $FILES';
|
||||
arfinishcmd : 'ar s $LIB'
|
||||
@ -1612,6 +1613,7 @@ Implementation
|
||||
ar_gnu_ar_scripted_info : tarinfo =
|
||||
(
|
||||
id : ar_gnu_ar_scripted;
|
||||
addfilecmd : '';
|
||||
arfirstcmd : '';
|
||||
arcmd : 'ar -M < $SCRIPT';
|
||||
arfinishcmd : ''
|
||||
@ -1619,6 +1621,7 @@ Implementation
|
||||
|
||||
ar_gnu_gar_info : tarinfo =
|
||||
( id : ar_gnu_gar;
|
||||
addfilecmd : '';
|
||||
arfirstcmd : '';
|
||||
arcmd : 'gar qS $LIB $FILES';
|
||||
arfinishcmd : 'gar s $LIB'
|
||||
@ -1626,6 +1629,7 @@ Implementation
|
||||
|
||||
ar_watcom_wlib_omf_info : tarinfo =
|
||||
( id : ar_watcom_wlib_omf;
|
||||
addfilecmd : '+';
|
||||
arfirstcmd : 'wlib -q -fo -c -b -n -o=$OUTPUTLIB $LIB $FILES';
|
||||
arcmd : 'wlib -q -fo -c -b -o=$OUTPUTLIB $LIB $FILES';
|
||||
arfinishcmd : ''
|
||||
@ -1634,6 +1638,7 @@ Implementation
|
||||
ar_watcom_wlib_omf_scripted_info : tarinfo =
|
||||
(
|
||||
id : ar_watcom_wlib_omf_scripted;
|
||||
addfilecmd : '+';
|
||||
arfirstcmd : '';
|
||||
arcmd : 'wlib @$SCRIPT';
|
||||
arfinishcmd : ''
|
||||
|
@ -83,6 +83,7 @@ interface
|
||||
parinfo = ^tarinfo;
|
||||
tarinfo = record
|
||||
id : tar;
|
||||
addfilecmd : string[10];
|
||||
arfirstcmd : string[50];
|
||||
arcmd : string[50];
|
||||
arfinishcmd : string[10];
|
||||
|
Loading…
Reference in New Issue
Block a user