mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-01 14:30:27 +02:00
* importing via external is now possible for macos
This commit is contained in:
parent
fa4a4de18c
commit
654d313c73
@ -87,7 +87,7 @@ unit i_macos;
|
|||||||
first_parm_offset : 8;
|
first_parm_offset : 8;
|
||||||
heapsize : 256*1024;
|
heapsize : 256*1024;
|
||||||
stacksize : 262144;
|
stacksize : 262144;
|
||||||
DllScanSupported:true;
|
DllScanSupported:false;
|
||||||
use_function_relative_addresses : true
|
use_function_relative_addresses : true
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -102,7 +102,10 @@ initialization
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.3 2002-10-02 21:29:34 florian
|
Revision 1.4 2002-10-02 21:50:19 florian
|
||||||
|
* importing via external is now possible for macos
|
||||||
|
|
||||||
|
Revision 1.3 2002/10/02 21:29:34 florian
|
||||||
* ppus have the extension ppu on macos as well now
|
* ppus have the extension ppu on macos as well now
|
||||||
|
|
||||||
Revision 1.2 2002/09/11 19:59:14 florian
|
Revision 1.2 2002/09/11 19:59:14 florian
|
||||||
@ -124,4 +127,4 @@ end.
|
|||||||
|
|
||||||
Revision 1.1 2002/07/26 21:15:38 florian
|
Revision 1.1 2002/07/26 21:15:38 florian
|
||||||
* rewrote the system handling
|
* rewrote the system handling
|
||||||
}
|
}
|
||||||
|
@ -27,13 +27,63 @@ unit t_macos;
|
|||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
import,symsym;
|
||||||
|
|
||||||
|
type
|
||||||
|
timportlibmacos=class(timportlib)
|
||||||
|
procedure preparelib(const s:string);override;
|
||||||
|
procedure importprocedure(const func,module:string;index:longint;const name:string);override;
|
||||||
|
procedure importvariable(vs:tvarsym;const name,module:string);override;
|
||||||
|
procedure generatelib;override;
|
||||||
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
link,
|
link,
|
||||||
cutils,cclasses,
|
cutils,cclasses,
|
||||||
globtype,globals,systems,verbose,script,fmodule,i_macos;
|
globtype,globals,systems,verbose,script,fmodule,i_macos,
|
||||||
|
symconst;
|
||||||
|
|
||||||
|
{*****************************************************************************
|
||||||
|
TIMPORTLIBMACOS
|
||||||
|
*****************************************************************************}
|
||||||
|
|
||||||
|
procedure timportlibmacos.preparelib(const s : string);
|
||||||
|
begin
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure timportlibmacos.importprocedure(const func,module : string;index : longint;const name : string);
|
||||||
|
begin
|
||||||
|
{ insert sharedlibrary }
|
||||||
|
current_module.linkothersharedlibs.add(SplitName(module),link_allways);
|
||||||
|
{ do nothing with the procedure, only set the mangledname }
|
||||||
|
if name<>'' then
|
||||||
|
begin
|
||||||
|
aktprocdef.setmangledname(name);
|
||||||
|
aktprocdef.has_mangledname:=true;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
message(parser_e_empty_import_name);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure timportlibmacos.importvariable(vs:tvarsym;const name,module:string);
|
||||||
|
begin
|
||||||
|
{ insert sharedlibrary }
|
||||||
|
current_module.linkothersharedlibs.add(SplitName(module),link_allways);
|
||||||
|
{ reset the mangledname and turn off the dll_var option }
|
||||||
|
vs.set_mangledname(name);
|
||||||
|
exclude(vs.varoptions,vo_is_dll_var);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure timportlibmacos.generatelib;
|
||||||
|
begin
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
{*****************************************************************************
|
{*****************************************************************************
|
||||||
Initialize
|
Initialize
|
||||||
@ -42,14 +92,19 @@ implementation
|
|||||||
initialization
|
initialization
|
||||||
{$ifdef m68k}
|
{$ifdef m68k}
|
||||||
RegisterTarget(system_m68k_macos_info);
|
RegisterTarget(system_m68k_macos_info);
|
||||||
|
RegisterImport(system_m68k_macos,timportlibmacos);
|
||||||
{$endif m68k}
|
{$endif m68k}
|
||||||
{$ifdef powerpc}
|
{$ifdef powerpc}
|
||||||
RegisterTarget(system_powerpc_macos_info);
|
RegisterTarget(system_powerpc_macos_info);
|
||||||
|
RegisterImport(system_powerpc_macos,timportlibmacos);
|
||||||
{$endif powerpc}
|
{$endif powerpc}
|
||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.1 2002-09-06 15:03:50 carl
|
Revision 1.2 2002-10-02 21:50:19 florian
|
||||||
|
* importing via external is now possible for macos
|
||||||
|
|
||||||
|
Revision 1.1 2002/09/06 15:03:50 carl
|
||||||
* moved files to systems directory
|
* moved files to systems directory
|
||||||
|
|
||||||
Revision 1.13 2002/08/20 21:40:44 florian
|
Revision 1.13 2002/08/20 21:40:44 florian
|
||||||
@ -58,25 +113,4 @@ end.
|
|||||||
|
|
||||||
Revision 1.12 2002/07/26 21:15:46 florian
|
Revision 1.12 2002/07/26 21:15:46 florian
|
||||||
* rewrote the system handling
|
* rewrote the system handling
|
||||||
|
|
||||||
Revision 1.11 2002/05/18 13:34:27 peter
|
|
||||||
* readded missing revisions
|
|
||||||
|
|
||||||
Revision 1.10 2002/05/16 19:46:53 carl
|
|
||||||
+ defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
|
|
||||||
+ try to fix temp allocation (still in ifdef)
|
|
||||||
+ generic constructor calls
|
|
||||||
+ start of tassembler / tmodulebase class cleanup
|
|
||||||
|
|
||||||
Revision 1.8 2002/04/22 18:19:22 carl
|
|
||||||
- remove use_bound_instruction field
|
|
||||||
|
|
||||||
Revision 1.7 2002/04/20 21:43:18 carl
|
|
||||||
* fix stack size for some targets
|
|
||||||
+ add offset to parameters from frame pointer info.
|
|
||||||
- remove some unused stuff
|
|
||||||
|
|
||||||
Revision 1.6 2002/04/15 19:16:57 carl
|
|
||||||
- remove size_of_pointer field
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user