2
0

DirectX.inc 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. {******************************************************************************}
  2. { }
  3. { The contents of this file are subject to the Mozilla Public License Version }
  4. { 1.1 (the "License"); you may not use this file except in compliance with the }
  5. { License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ }
  6. { }
  7. { Software distributed under the License is distributed on an "AS IS" basis, }
  8. { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
  9. { the specific language governing rights and limitations under the License. }
  10. { }
  11. { The Original Code is DirectX.inc. }
  12. { }
  13. {******************************************************************************}
  14. {$IFNDEF __TMT__}
  15. {$IFNDEF FPC}
  16. // *** Borland compilers support ***
  17. {$INCLUDE Jedi.inc}
  18. {$DEFINE BORLAND}
  19. {$DEFINE TYPE_IDENTITY}
  20. {$DEFINE SUPPORTS_EXCEPTIONS}
  21. {$IFDEF COMPILER6_UP}
  22. {$DEFINE SUPPORTS_EXPL_ENUMS} // Enumerated types with explicitly assigned ordinality
  23. {$IFNDEF BCB6_UP}
  24. // C++Builder6 hack: Delphi 6-7 compilers have bugged .HPP generation for
  25. // enums in some cases (and D6 compiler is included with BCB6)
  26. {$DEFINE SUPPORTS_EXPL_ENUMS_except_BCB6}
  27. {$ENDIF}
  28. {$ENDIF}
  29. // Additional settings
  30. {$BOOLEVAL OFF}
  31. {$MINENUMSIZE 4}
  32. {$ALIGN ON}
  33. {$IFDEF COMPILER7_UP}
  34. {$WARN UNSAFE_CODE OFF}
  35. {$WARN UNSAFE_TYPE OFF}
  36. {$WARN UNSAFE_CAST OFF}
  37. {$ENDIF}
  38. {$IFDEF COMPILER9_UP}
  39. {$IFDEF DEBUG}
  40. {$INLINE OFF}
  41. {$ELSE}
  42. {$INLINE ON}
  43. {$ENDIF}
  44. {$ENDIF}
  45. {$ELSE}
  46. // *** FreePascal compiler support ***
  47. {$INCLUDE Jedi.inc}
  48. {$APPTYPE GUI}
  49. // Additional settings
  50. {$H+} // Long Strings
  51. {$BOOLEVAL OFF}
  52. {$MINENUMSIZE 4}
  53. {$ALIGN ON}
  54. {$PACKRECORDS 8}
  55. {$INLINE ON}
  56. {$UNDEF TYPE_IDENTITY}
  57. {$DEFINE SUPPORTS_EXCEPTIONS}
  58. {$DEFINE SUPPORTS_INLINE}
  59. {$DEFINE COMPILER5_UP} // Specially for DirectDraw.pas
  60. {$ENDIF}
  61. {$ELSE}
  62. // *** TMT Pascal compiler support ***
  63. {.$I TMT.inc}
  64. // TMT compiler support
  65. {$IFNDEF __TMT__}
  66. TMT pascal compiler required here
  67. {$ENDIF}
  68. // ADD IFOPT for TMT
  69. {$DEFINE TMT}
  70. {$IFDEF __WIN32__}
  71. {$DEFINE WIN32}
  72. {$ENDIF}
  73. {$IFDEF __VER5__}
  74. {$DEFINE TMT5}
  75. {$DEFINE TMT5_UP}
  76. {$DEFINE TMT4_UP}
  77. {$DEFINE TMT3_UP}
  78. {$ENDIF}
  79. {$IFDEF __VER4__}
  80. {$DEFINE TMT4}
  81. {$DEFINE TMT4_UP}
  82. {$DEFINE TMT3_UP}
  83. {$ENDIF}
  84. {$IFDEF __VER3__}
  85. {$DEFINE TMT3}
  86. {$DEFINE TMT3_UP}
  87. {$ENDIF}
  88. {$IFDEF TMT4_UP}
  89. {$DEFINE SUPPORTS_INTERFACE}
  90. {$ENDIF}
  91. // Additional settings
  92. {$A+} // Word alignment data
  93. {$OA+} // Objects and structures align
  94. {$Z4} // Set minimum size of enumerated type to 4
  95. {$ENDIF}
  96. // By default use most recent DirectX sub-version
  97. {$IFNDEF DX81}
  98. {$IFNDEF DX80}
  99. {$DEFINE DX81}
  100. {$ENDIF}
  101. {$ENDIF}
  102. {$IFNDEF DX92}
  103. {$IFNDEF DX91}
  104. {$IFNDEF DX90}
  105. {$DEFINE DX92}
  106. {$ENDIF}
  107. {$ENDIF}
  108. {$ENDIF}