mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 15:09:19 +02:00
* use as,ld,ar instead of asw,ldw,arw for win32
This commit is contained in:
parent
7d3f0468e4
commit
4b89bdf738
@ -40,8 +40,8 @@ interface
|
|||||||
{$endif}
|
{$endif}
|
||||||
|
|
||||||
var
|
var
|
||||||
asw_name,
|
as_name,
|
||||||
arw_name : string;
|
ar_name : string;
|
||||||
|
|
||||||
function makedef(const binname,
|
function makedef(const binname,
|
||||||
{$IFDEF STANDALONE}
|
{$IFDEF STANDALONE}
|
||||||
@ -173,12 +173,11 @@ procedure CreateTempDir(const s:string);
|
|||||||
if ioresult<>0 then;
|
if ioresult<>0 then;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
procedure call_asw(const name:string);
|
procedure call_as(const name:string);
|
||||||
begin
|
begin
|
||||||
writeln(name);
|
exec(as_name,'-o '+name+'o '+name);
|
||||||
exec(asw_name,'-o '+name+'o '+name);
|
|
||||||
end;
|
end;
|
||||||
procedure call_arw;
|
procedure call_ar;
|
||||||
var
|
var
|
||||||
f:file;
|
f:file;
|
||||||
attr:word;
|
attr:word;
|
||||||
@ -191,7 +190,7 @@ procedure call_arw;
|
|||||||
GetFAttr(f,attr);
|
GetFAttr(f,attr);
|
||||||
If DOSError=0 then
|
If DOSError=0 then
|
||||||
erase(f);
|
erase(f);
|
||||||
exec(arw_name,'rs '+impname+' '+path+dirsep+'*.swo');
|
exec(ar_name,'rs '+impname+' '+path+dirsep+'*.swo');
|
||||||
cleardir(path,'*.sw');
|
cleardir(path,'*.sw');
|
||||||
cleardir(path,'*.swo');
|
cleardir(path,'*.swo');
|
||||||
{$i-}
|
{$i-}
|
||||||
@ -294,7 +293,7 @@ procedure makeasm(index:cardinal;name:pchar;isData:longbool);
|
|||||||
writeln(f,s);
|
writeln(f,s);
|
||||||
end;
|
end;
|
||||||
close(f);
|
close(f);
|
||||||
call_asw(asmout);
|
call_as(asmout);
|
||||||
common_created:=true;
|
common_created:=true;
|
||||||
end;
|
end;
|
||||||
n:=strpas(name);
|
n:=strpas(name);
|
||||||
@ -316,7 +315,7 @@ procedure makeasm(index:cardinal;name:pchar;isData:longbool);
|
|||||||
writeln(f,s);
|
writeln(f,s);
|
||||||
end;
|
end;
|
||||||
close(f);
|
close(f);
|
||||||
call_asw(asmout);
|
call_as(asmout);
|
||||||
end;
|
end;
|
||||||
procedure ProcessEdata;
|
procedure ProcessEdata;
|
||||||
type
|
type
|
||||||
@ -402,7 +401,7 @@ procedure ProcessEdata;
|
|||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
makeasm(j,cstring,isData);
|
makeasm(j,cstring,isData);
|
||||||
end;
|
end;
|
||||||
call_arw;
|
call_ar;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -479,7 +478,10 @@ end.
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.10 2002-10-05 12:43:24 carl
|
Revision 1.11 2003-10-02 21:17:08 peter
|
||||||
|
* use as,ld,ar instead of asw,ldw,arw for win32
|
||||||
|
|
||||||
|
Revision 1.10 2002/10/05 12:43:24 carl
|
||||||
* fixes for Delphi 6 compilation
|
* fixes for Delphi 6 compilation
|
||||||
(warning : Some features do not work under Delphi)
|
(warning : Some features do not work under Delphi)
|
||||||
|
|
||||||
|
@ -111,8 +111,8 @@ interface
|
|||||||
system_x86_64_linux, { 26 }
|
system_x86_64_linux, { 26 }
|
||||||
system_powerpc_darwin, { 27 }
|
system_powerpc_darwin, { 27 }
|
||||||
system_i386_EMX, { 28 }
|
system_i386_EMX, { 28 }
|
||||||
system_powerpc_netbsd, { 29 }
|
system_powerpc_netbsd, { 29 }
|
||||||
system_powerpc_openbsd, { 30 }
|
system_powerpc_openbsd, { 30 }
|
||||||
system_arm_linux, { 31 }
|
system_arm_linux, { 31 }
|
||||||
system_i386_watcom { 32 }
|
system_i386_watcom { 32 }
|
||||||
);
|
);
|
||||||
@ -120,7 +120,6 @@ interface
|
|||||||
tasm = (as_none
|
tasm = (as_none
|
||||||
,as_gas { standard gnu assembler }
|
,as_gas { standard gnu assembler }
|
||||||
,as_i386_as_aout
|
,as_i386_as_aout
|
||||||
,as_i386_asw
|
|
||||||
,as_i386_nasmcoff
|
,as_i386_nasmcoff
|
||||||
,as_i386_nasmwin32
|
,as_i386_nasmwin32
|
||||||
,as_i386_nasmwdosx
|
,as_i386_nasmwdosx
|
||||||
@ -138,7 +137,7 @@ interface
|
|||||||
);
|
);
|
||||||
|
|
||||||
tar = (ar_none
|
tar = (ar_none
|
||||||
,ar_gnu_ar,ar_gnu_arw,ar_mpw_ar
|
,ar_gnu_ar,ar_mpw_ar
|
||||||
);
|
);
|
||||||
|
|
||||||
tres = (res_none
|
tres = (res_none
|
||||||
@ -697,7 +696,10 @@ finalization
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.68 2003-09-05 17:41:13 florian
|
Revision 1.69 2003-10-02 21:17:08 peter
|
||||||
|
* use as,ld,ar instead of asw,ldw,arw for win32
|
||||||
|
|
||||||
|
Revision 1.68 2003/09/05 17:41:13 florian
|
||||||
* merged Wiktor's Watcom patches in 1.1
|
* merged Wiktor's Watcom patches in 1.1
|
||||||
|
|
||||||
Revision 1.67 2003/08/08 15:49:24 olle
|
Revision 1.67 2003/08/08 15:49:24 olle
|
||||||
|
@ -62,10 +62,10 @@ unit i_wdosx;
|
|||||||
dirsep : '\';
|
dirsep : '\';
|
||||||
files_case_relevent : false;
|
files_case_relevent : false;
|
||||||
assem : as_i386_pecoffwdosx;
|
assem : as_i386_pecoffwdosx;
|
||||||
assemextern : as_i386_asw;
|
assemextern : as_gas;
|
||||||
link : nil;
|
link : nil;
|
||||||
linkextern : nil;
|
linkextern : nil;
|
||||||
ar : ar_gnu_arw;
|
ar : ar_gnu_ar;
|
||||||
res : res_gnu_windres;
|
res : res_gnu_windres;
|
||||||
script : script_dos;
|
script : script_dos;
|
||||||
endian : endian_little;
|
endian : endian_little;
|
||||||
@ -105,7 +105,10 @@ initialization
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.3 2003-03-23 23:31:54 hajny
|
Revision 1.4 2003-10-02 21:17:08 peter
|
||||||
|
* use as,ld,ar instead of asw,ldw,arw for win32
|
||||||
|
|
||||||
|
Revision 1.3 2003/03/23 23:31:54 hajny
|
||||||
+ platform extensions unified
|
+ platform extensions unified
|
||||||
|
|
||||||
Revision 1.2 2002/09/07 15:25:15 peter
|
Revision 1.2 2002/09/07 15:25:15 peter
|
||||||
|
@ -27,13 +27,6 @@ unit i_win32;
|
|||||||
uses
|
uses
|
||||||
systems;
|
systems;
|
||||||
|
|
||||||
const
|
|
||||||
ar_gnu_arw_info : tarinfo =
|
|
||||||
(
|
|
||||||
id : ar_gnu_arw;
|
|
||||||
arcmd : 'arw rs $LIB $FILES'
|
|
||||||
);
|
|
||||||
|
|
||||||
const
|
const
|
||||||
res_gnu_windres_info : tresinfo =
|
res_gnu_windres_info : tresinfo =
|
||||||
(
|
(
|
||||||
@ -77,10 +70,10 @@ unit i_win32;
|
|||||||
dirsep : '\';
|
dirsep : '\';
|
||||||
files_case_relevent : false;
|
files_case_relevent : false;
|
||||||
assem : as_i386_pecoff;
|
assem : as_i386_pecoff;
|
||||||
assemextern : as_i386_asw;
|
assemextern : as_gas;
|
||||||
link : nil;
|
link : nil;
|
||||||
linkextern : nil;
|
linkextern : nil;
|
||||||
ar : ar_gnu_arw;
|
ar : ar_gnu_ar;
|
||||||
res : res_gnu_windres;
|
res : res_gnu_windres;
|
||||||
script : script_dos;
|
script : script_dos;
|
||||||
endian : endian_little;
|
endian : endian_little;
|
||||||
@ -120,7 +113,10 @@ initialization
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.3 2003-03-23 23:31:54 hajny
|
Revision 1.4 2003-10-02 21:17:08 peter
|
||||||
|
* use as,ld,ar instead of asw,ldw,arw for win32
|
||||||
|
|
||||||
|
Revision 1.3 2003/03/23 23:31:54 hajny
|
||||||
+ platform extensions unified
|
+ platform extensions unified
|
||||||
|
|
||||||
Revision 1.2 2002/09/07 15:25:15 peter
|
Revision 1.2 2002/09/07 15:25:15 peter
|
||||||
|
@ -261,7 +261,7 @@ const
|
|||||||
|
|
||||||
|
|
||||||
const
|
const
|
||||||
MainAsmFormats=[as_i386_asw,as_i386_pecoff,as_i386_pecoffwdosx];
|
MainAsmFormats=[as_i386_pecoff,as_i386_pecoffwdosx];
|
||||||
|
|
||||||
procedure timportlibwin32.generatesmartlib;
|
procedure timportlibwin32.generatesmartlib;
|
||||||
var
|
var
|
||||||
@ -862,17 +862,17 @@ Procedure TLinkerWin32.SetDefaultInfo;
|
|||||||
begin
|
begin
|
||||||
with Info do
|
with Info do
|
||||||
begin
|
begin
|
||||||
ExeCmd[1]:='ldw $OPT $STRIP $APPTYPE $IMAGEBASE $RELOC -o $EXE $RES';
|
ExeCmd[1]:='ld $OPT $STRIP $APPTYPE $IMAGEBASE $RELOC -o $EXE $RES';
|
||||||
DllCmd[1]:='ldw $OPT $STRIP --dll $APPTYPE $IMAGEBASE $RELOC -o $EXE $RES';
|
DllCmd[1]:='ld $OPT $STRIP --dll $APPTYPE $IMAGEBASE $RELOC -o $EXE $RES';
|
||||||
if RelocSection or UseDeffileForExport then
|
if RelocSection or UseDeffileForExport then
|
||||||
begin
|
begin
|
||||||
{ ExeCmd[2]:='dlltool --as $ASBIN --dllname $EXE --output-exp exp.$$$ $RELOC $DEF';
|
{ ExeCmd[2]:='dlltool --as $ASBIN --dllname $EXE --output-exp exp.$$$ $RELOC $DEF';
|
||||||
use short forms to avoid 128 char limitation problem }
|
use short forms to avoid 128 char limitation problem }
|
||||||
ExeCmd[2]:='dlltool -S $ASBIN -D $EXE -e exp.$$$ $RELOC $DEF';
|
ExeCmd[2]:='dlltool -S $ASBIN -D $EXE -e exp.$$$ $RELOC $DEF';
|
||||||
ExeCmd[3]:='ldw $OPT $STRIP $APPTYPE $IMAGEBASE -o $EXE $RES exp.$$$';
|
ExeCmd[3]:='ld $OPT $STRIP $APPTYPE $IMAGEBASE -o $EXE $RES exp.$$$';
|
||||||
{ DllCmd[2]:='dlltool --as $ASBIN --dllname $EXE --output-exp exp.$$$ $RELOC $DEF'; }
|
{ DllCmd[2]:='dlltool --as $ASBIN --dllname $EXE --output-exp exp.$$$ $RELOC $DEF'; }
|
||||||
DllCmd[2]:='dlltool -S $ASBIN -D $EXE -e exp.$$$ $RELOC $DEF';
|
DllCmd[2]:='dlltool -S $ASBIN -D $EXE -e exp.$$$ $RELOC $DEF';
|
||||||
DllCmd[3]:='ldw $OPT $STRIP --dll $APPTYPE $IMAGEBASE -o $EXE $RES exp.$$$';
|
DllCmd[3]:='ld $OPT $STRIP --dll $APPTYPE $IMAGEBASE -o $EXE $RES exp.$$$';
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -1007,7 +1007,7 @@ begin
|
|||||||
AppTypeStr:='';
|
AppTypeStr:='';
|
||||||
ImageBaseStr:='';
|
ImageBaseStr:='';
|
||||||
StripStr:='';
|
StripStr:='';
|
||||||
AsBinStr:=FindUtil('asw');
|
AsBinStr:=FindUtil('as');
|
||||||
if RelocSection then
|
if RelocSection then
|
||||||
{ Using short form to avoid problems with 128 char limitation under Dos. }
|
{ Using short form to avoid problems with 128 char limitation under Dos. }
|
||||||
RelocStr:='-b base.$$$';
|
RelocStr:='-b base.$$$';
|
||||||
@ -1087,7 +1087,7 @@ begin
|
|||||||
AppTypeStr:='';
|
AppTypeStr:='';
|
||||||
ImageBaseStr:='';
|
ImageBaseStr:='';
|
||||||
StripStr:='';
|
StripStr:='';
|
||||||
AsBinStr:=FindUtil('asw');
|
AsBinStr:=FindUtil('as');
|
||||||
if RelocSection then
|
if RelocSection then
|
||||||
{ Using short form to avoid problems with 128 char limitation under Dos. }
|
{ Using short form to avoid problems with 128 char limitation under Dos. }
|
||||||
RelocStr:='-b base.$$$';
|
RelocStr:='-b base.$$$';
|
||||||
@ -1620,14 +1620,16 @@ initialization
|
|||||||
RegisterImport(system_i386_win32,TImportLibWin32);
|
RegisterImport(system_i386_win32,TImportLibWin32);
|
||||||
RegisterExport(system_i386_win32,TExportLibWin32);
|
RegisterExport(system_i386_win32,TExportLibWin32);
|
||||||
RegisterDLLScanner(system_i386_win32,TDLLScannerWin32);
|
RegisterDLLScanner(system_i386_win32,TDLLScannerWin32);
|
||||||
RegisterAr(ar_gnu_arw_info);
|
|
||||||
RegisterRes(res_gnu_windres_info);
|
RegisterRes(res_gnu_windres_info);
|
||||||
RegisterTarget(system_i386_win32_info);
|
RegisterTarget(system_i386_win32_info);
|
||||||
{$endif i386}
|
{$endif i386}
|
||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.19 2003-09-30 20:10:12 peter
|
Revision 1.20 2003-10-02 21:17:08 peter
|
||||||
|
* use as,ld,ar instead of asw,ldw,arw for win32
|
||||||
|
|
||||||
|
Revision 1.19 2003/09/30 20:10:12 peter
|
||||||
* smartlink fix for dlls from Pavel
|
* smartlink fix for dlls from Pavel
|
||||||
|
|
||||||
Revision 1.18 2003/08/21 14:47:41 peter
|
Revision 1.18 2003/08/21 14:47:41 peter
|
||||||
|
Loading…
Reference in New Issue
Block a user