t_macos.pas 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. {
  2. $Id$
  3. Copyright (c) 2001 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 defines.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 : 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. assem : as_m68k_mpw;
  61. assemextern : as_m68k_mpw;
  62. link : ld_m68k_mac;
  63. linkextern : ld_m68k_mac;
  64. ar : ar_m68k_ar;
  65. res : res_none;
  66. endian : endian_big;
  67. stackalignment : 2;
  68. maxCrecordalignment : 4;
  69. size_of_pointer : 4;
  70. size_of_longint : 4;
  71. heapsize : 128*1024;
  72. maxheapsize : 32768*1024;
  73. stacksize : 8192;
  74. DllScanSupported:false;
  75. use_bound_instruction : 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 : 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. endian : endian_big;
  116. stackalignment : 8;
  117. maxCrecordalignment : 32;
  118. size_of_pointer : 4;
  119. size_of_longint : 4;
  120. heapsize : 256*1024;
  121. maxheapsize : 32768*1024;
  122. stacksize : 8192;
  123. DllScanSupported:false;
  124. use_bound_instruction : false;
  125. use_function_relative_addresses : true
  126. );
  127. {$endif powerpc}
  128. initialization
  129. {$ifdef m68k}
  130. RegisterTarget(target_m68k_macos_info);
  131. {$endif m68k}
  132. {$ifdef powerpc}
  133. RegisterTarget(target_powerpc_macos_info);
  134. {$endif powerpc}
  135. end.
  136. {
  137. $Log$
  138. Revision 1.3 2001-06-03 15:15:32 peter
  139. * dllprt0 stub for linux shared libs
  140. * pass -init and -fini for linux shared libs
  141. * libprefix splitted into staticlibprefix and sharedlibprefix
  142. Revision 1.2 2001/06/02 19:22:44 peter
  143. * extradefines field added
  144. Revision 1.1 2001/04/18 22:02:04 peter
  145. * registration of targets and assemblers
  146. }