mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 21:49:06 +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 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
|
begin
|
||||||
result := '';
|
result := '';
|
||||||
while (assigned(item) and ((length(result) + length(item.str) + 1) < maxCmdLength)) do begin
|
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);
|
item := TCmdStrListItem(item.next);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -849,7 +849,7 @@ Implementation
|
|||||||
nextcmd := firstcmd
|
nextcmd := firstcmd
|
||||||
else
|
else
|
||||||
nextcmd := cmdstr;
|
nextcmd := cmdstr;
|
||||||
Replace(nextcmd,'$FILES',GetNextFiles(2047, current));
|
Replace(nextcmd,'$FILES',GetNextFiles(2047, current, target_ar.addfilecmd));
|
||||||
if first then
|
if first then
|
||||||
success:=DoExec(firstbinstr,nextcmd,false,true)
|
success:=DoExec(firstbinstr,nextcmd,false,true)
|
||||||
else
|
else
|
||||||
@ -1604,6 +1604,7 @@ Implementation
|
|||||||
ar_gnu_ar_info : tarinfo =
|
ar_gnu_ar_info : tarinfo =
|
||||||
(
|
(
|
||||||
id : ar_gnu_ar;
|
id : ar_gnu_ar;
|
||||||
|
addfilecmd : '';
|
||||||
arfirstcmd : '';
|
arfirstcmd : '';
|
||||||
arcmd : 'ar qS $LIB $FILES';
|
arcmd : 'ar qS $LIB $FILES';
|
||||||
arfinishcmd : 'ar s $LIB'
|
arfinishcmd : 'ar s $LIB'
|
||||||
@ -1612,6 +1613,7 @@ Implementation
|
|||||||
ar_gnu_ar_scripted_info : tarinfo =
|
ar_gnu_ar_scripted_info : tarinfo =
|
||||||
(
|
(
|
||||||
id : ar_gnu_ar_scripted;
|
id : ar_gnu_ar_scripted;
|
||||||
|
addfilecmd : '';
|
||||||
arfirstcmd : '';
|
arfirstcmd : '';
|
||||||
arcmd : 'ar -M < $SCRIPT';
|
arcmd : 'ar -M < $SCRIPT';
|
||||||
arfinishcmd : ''
|
arfinishcmd : ''
|
||||||
@ -1619,6 +1621,7 @@ Implementation
|
|||||||
|
|
||||||
ar_gnu_gar_info : tarinfo =
|
ar_gnu_gar_info : tarinfo =
|
||||||
( id : ar_gnu_gar;
|
( id : ar_gnu_gar;
|
||||||
|
addfilecmd : '';
|
||||||
arfirstcmd : '';
|
arfirstcmd : '';
|
||||||
arcmd : 'gar qS $LIB $FILES';
|
arcmd : 'gar qS $LIB $FILES';
|
||||||
arfinishcmd : 'gar s $LIB'
|
arfinishcmd : 'gar s $LIB'
|
||||||
@ -1626,6 +1629,7 @@ Implementation
|
|||||||
|
|
||||||
ar_watcom_wlib_omf_info : tarinfo =
|
ar_watcom_wlib_omf_info : tarinfo =
|
||||||
( id : ar_watcom_wlib_omf;
|
( id : ar_watcom_wlib_omf;
|
||||||
|
addfilecmd : '+';
|
||||||
arfirstcmd : 'wlib -q -fo -c -b -n -o=$OUTPUTLIB $LIB $FILES';
|
arfirstcmd : 'wlib -q -fo -c -b -n -o=$OUTPUTLIB $LIB $FILES';
|
||||||
arcmd : 'wlib -q -fo -c -b -o=$OUTPUTLIB $LIB $FILES';
|
arcmd : 'wlib -q -fo -c -b -o=$OUTPUTLIB $LIB $FILES';
|
||||||
arfinishcmd : ''
|
arfinishcmd : ''
|
||||||
@ -1634,6 +1638,7 @@ Implementation
|
|||||||
ar_watcom_wlib_omf_scripted_info : tarinfo =
|
ar_watcom_wlib_omf_scripted_info : tarinfo =
|
||||||
(
|
(
|
||||||
id : ar_watcom_wlib_omf_scripted;
|
id : ar_watcom_wlib_omf_scripted;
|
||||||
|
addfilecmd : '+';
|
||||||
arfirstcmd : '';
|
arfirstcmd : '';
|
||||||
arcmd : 'wlib @$SCRIPT';
|
arcmd : 'wlib @$SCRIPT';
|
||||||
arfinishcmd : ''
|
arfinishcmd : ''
|
||||||
|
@ -83,6 +83,7 @@ interface
|
|||||||
parinfo = ^tarinfo;
|
parinfo = ^tarinfo;
|
||||||
tarinfo = record
|
tarinfo = record
|
||||||
id : tar;
|
id : tar;
|
||||||
|
addfilecmd : string[10];
|
||||||
arfirstcmd : string[50];
|
arfirstcmd : string[50];
|
||||||
arcmd : string[50];
|
arcmd : string[50];
|
||||||
arfinishcmd : string[10];
|
arfinishcmd : string[10];
|
||||||
|
Loading…
Reference in New Issue
Block a user