t_macos.pas 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. {
  2. $Id$
  3. Copyright (c) 2001-2002 by Peter Vreman
  4. This unit implements support import,export,link routines
  5. for the (i386) Amiga target
  6. This program is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 2 of the License, or
  9. (at your option) any later version.
  10. This program is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. GNU General Public License for more details.
  14. You should have received a copy of the GNU General Public License
  15. along with this program; if not, write to the Free Software
  16. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17. ****************************************************************************
  18. }
  19. unit t_macos;
  20. {$i fpcdefs.inc}
  21. interface
  22. implementation
  23. uses
  24. link,
  25. cutils,cclasses,
  26. globtype,globals,systems,verbose,script,fmodule;
  27. {*****************************************************************************
  28. Initialize
  29. *****************************************************************************}
  30. {$ifdef m68k}
  31. const
  32. target_m68k_macos_info : ttargetinfo =
  33. (
  34. target : target_m68k_Mac;
  35. name : 'Macintosh m68k';
  36. shortname : 'mac';
  37. flags : [];
  38. cpu : cpu_m68k;
  39. short_name : 'MACOS';
  40. unit_env : '';
  41. extradefines : '';
  42. sharedlibext : 'Lib';
  43. staticlibext : 'Lib';
  44. sourceext : '.pp';
  45. pasext : '.pas';
  46. exeext : '';
  47. defext : '';
  48. scriptext : '';
  49. smartext : '.sl';
  50. unitext : '.ppt';
  51. unitlibext : '.ppl';
  52. asmext : '.a';
  53. objext : '.o';
  54. resext : '.res';
  55. resobjext : '.or';
  56. staticlibprefix : '';
  57. sharedlibprefix : '';
  58. Cprefix : '_';
  59. newline : #13;
  60. dirsep : '/';
  61. files_case_relevent : true;
  62. assem : as_m68k_mpw;
  63. assemextern : as_m68k_mpw;
  64. link : ld_m68k_mac;
  65. linkextern : ld_m68k_mac;
  66. ar : ar_m68k_ar;
  67. res : res_none;
  68. script : script_unix;
  69. endian : endian_big;
  70. stackalignment : 2;
  71. maxCrecordalignment : 4;
  72. size_of_longint : 4;
  73. heapsize : 128*1024;
  74. stacksize : 8192;
  75. DllScanSupported:false;
  76. use_function_relative_addresses : false
  77. );
  78. {$endif m68k}
  79. {$ifdef powerpc}
  80. const
  81. target_powerpc_macos_info : ttargetinfo =
  82. (
  83. target : target_powerpc_MACOS;
  84. name : 'MacOs (PowerPC)';
  85. shortname : 'MacOs/PPC';
  86. flags : [];
  87. cpu : cpu_powerpc;
  88. short_name : 'MACOS';
  89. unit_env : '';
  90. extradefines : '';
  91. sharedlibext : 'Lib';
  92. staticlibext : 'Lib';
  93. sourceext : '.pp';
  94. pasext : '.pas';
  95. exeext : '';
  96. defext : '';
  97. scriptext : '';
  98. smartext : '.sl';
  99. unitext : '.ppt';
  100. unitlibext : '.ppl';
  101. asmext : '.a';
  102. objext : '.o';
  103. resext : '.res';
  104. resobjext : '.or';
  105. staticlibprefix : '';
  106. sharedlibprefix : '';
  107. Cprefix : '';
  108. newline : #13;
  109. assem : as_powerpc_mpw;
  110. assemextern : as_powerpc_mpw;
  111. link : ld_powerpc_macos;
  112. linkextern : ld_powerpc_macos;
  113. ar : ar_powerpc_ar;
  114. res : res_powerpc_mpw;
  115. script : script_unix;
  116. endian : endian_big;
  117. stackalignment : 8;
  118. maxCrecordalignment : 32;
  119. size_of_longint : 4;
  120. heapsize : 256*1024;
  121. stacksize : 8192;
  122. DllScanSupported:false;
  123. use_function_relative_addresses : true
  124. );
  125. {$endif powerpc}
  126. initialization
  127. {$ifdef m68k}
  128. RegisterTarget(target_m68k_macos_info);
  129. {$endif m68k}
  130. {$ifdef powerpc}
  131. RegisterTarget(target_powerpc_macos_info);
  132. {$endif powerpc}
  133. end.
  134. {
  135. $Log$
  136. Revision 1.11 2002-05-18 13:34:27 peter
  137. * readded missing revisions
  138. Revision 1.10 2002/05/16 19:46:53 carl
  139. + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
  140. + try to fix temp allocation (still in ifdef)
  141. + generic constructor calls
  142. + start of tassembler / tmodulebase class cleanup
  143. Revision 1.8 2002/04/22 18:19:22 carl
  144. - remove use_bound_instruction field
  145. Revision 1.7 2002/04/20 21:43:18 carl
  146. * fix stack size for some targets
  147. + add offset to parameters from frame pointer info.
  148. - remove some unused stuff
  149. Revision 1.6 2002/04/15 19:16:57 carl
  150. - remove size_of_pointer field
  151. }