* use as,ld,ar instead of asw,ldw,arw for win32

This commit is contained in:
peter 2003-10-02 21:17:08 +00:00
parent 7d3f0468e4
commit 4b89bdf738
5 changed files with 43 additions and 38 deletions

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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