jcl.inc 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624
  1. {**************************************************************************************************}
  2. { }
  3. { The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License");}
  4. { you may not use this file except in compliance with the License. You may obtain a copy of the }
  5. { License at http://www.mozilla.org/MPL/ }
  6. { }
  7. { Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF }
  8. { ANY KIND, either express or implied. See the License for the specific language governing rights }
  9. { and limitations under the License. }
  10. { }
  11. { The Original Code is jcl.inc }
  12. { }
  13. { The Initial Developer of the Original Code is Marcel van Brakel. }
  14. { Portions created by Marcel van Brakel are Copyright (C) Marcel van Brakel. }
  15. { }
  16. { Contributors: }
  17. { Marcel van Brakel }
  18. { Matthias Thoma (mthoma) }
  19. { Petr Vones }
  20. { Robert Marquardt (marquardt) }
  21. { Robert Rossmair (rrossmair) }
  22. { }
  23. {**************************************************************************************************}
  24. { }
  25. { This include file defines various JCL specific defines. The more generic defines are defined in }
  26. { the jedi.inc file which is shared with the JEDI VCL. }
  27. { }
  28. {**************************************************************************************************}
  29. { }
  30. { Last modified: $Date:: $ }
  31. { Revision: $Rev:: $ }
  32. { Author: $Author:: $ }
  33. { }
  34. {**************************************************************************************************}
  35. {$BOOLEVAL OFF} // Boolean shortcut evaluation
  36. {$LONGSTRINGS ON} // Long strings
  37. {$WRITEABLECONST OFF} // Read-only typed constants
  38. {$TYPEDADDRESS OFF} // Type checked pointers off
  39. {$LOCALSYMBOLS ON} // Local symbol information
  40. {$DEFINITIONINFO ON} // Symbol definition information
  41. {$REFERENCEINFO ON} // Symbol reference information
  42. {$I jedi\jedi.inc} // Pull in the JCL/J-VCL shared directives
  43. {$IFNDEF JEDI_INC}
  44. ALERT_jedi_inc_incompatible
  45. // secure against old versions of jedi.inc.
  46. {$ENDIF ~JEDI_INC}
  47. {$IFNDEF JCLINSTALL}
  48. {$IFDEF CLR}
  49. {----------------------------}
  50. { BDS }
  51. {----------------------------}
  52. {$IFDEF BDS3}
  53. // This file should be located in directory jcl/source/include
  54. // It is automatically created by the JCL installer
  55. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  56. {$I jcld9.net.inc}
  57. {$DEFINE JCL_CONFIGURED}
  58. {$ENDIF BDS3}
  59. {----------------------------}
  60. {$IFDEF BDS4}
  61. // This file should be located in directory jcl/source/include
  62. // It is automatically created by the JCL installer
  63. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  64. {$I jcld10.net.inc}
  65. {$DEFINE JCL_CONFIGURED}
  66. {$ENDIF BDS4}
  67. {----------------------------}
  68. {$IFDEF BDS5}
  69. // This file should be located in directory jcl/source/include
  70. // It is automatically created by the JCL installer
  71. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  72. {$I jcld11.net.inc}
  73. {$DEFINE JCL_CONFIGURED}
  74. {$ENDIF BDS5}
  75. {----------------------------}
  76. {$ELSE ~CLR}
  77. {----------------------------}
  78. { C++Builder }
  79. {----------------------------}
  80. {$IFDEF BCB5}
  81. // This file should be located in directory jcl/source/include
  82. // It is automatically created by the JCL installer
  83. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  84. {$I jclc5.inc}
  85. {$DEFINE JCL_CONFIGURED}
  86. {$ENDIF BCB5}
  87. {----------------------------}
  88. {$IFDEF BCB6}
  89. // This file should be located in directory jcl/source/include
  90. // It is automatically created by the JCL installer
  91. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  92. {$I jclc6.inc}
  93. {$DEFINE JCL_CONFIGURED}
  94. {$ENDIF BCB6}
  95. {----------------------------}
  96. { Delphi }
  97. {----------------------------}
  98. {$IFDEF DELPHI5}
  99. // This file should be located in directory jcl/source/include
  100. // It is automatically created by the JCL installer
  101. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  102. {$I jcld5.inc}
  103. {$DEFINE JCL_CONFIGURED}
  104. {$ENDIF DELPIH5}
  105. {----------------------------}
  106. {$IFDEF DELPHI6}
  107. // This file should be located in directory jcl/source/include
  108. // It is automatically created by the JCL installer
  109. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  110. {$I jcld6.inc}
  111. {$DEFINE JCL_CONFIGURED}
  112. {$ENDIF DELPIH6}
  113. {----------------------------}
  114. {$IFDEF DELPHI7}
  115. // This file should be located in directory jcl/source/include
  116. // It is automatically created by the JCL installer
  117. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  118. {$I jcld7.inc}
  119. {$DEFINE JCL_CONFIGURED}
  120. {$ENDIF DELPIH7}
  121. {----------------------------}
  122. { BDS }
  123. {----------------------------}
  124. // BDS 1 and BDS 2 have the same version numbers for their native compilers
  125. // no compiler defines are used for BDS 1 and BDS 2
  126. {$IFDEF BDS1}
  127. // This file should be located in directory jcl/source/include
  128. // It is automatically created by the JCL installer
  129. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  130. //{$I jclcs1.inc}
  131. {$DEFINE JCL_CONFIGURED}
  132. {$ENDIF BDS1}
  133. {----------------------------}
  134. {$IFDEF BDS2}
  135. // This file should be located in directory jcl/source/include
  136. // It is automatically created by the JCL installer
  137. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  138. //{$I jcld8.inc}
  139. {$DEFINE JCL_CONFIGURED}
  140. {$ENDIF BDS2}
  141. {----------------------------}
  142. {$IFDEF BDS3}
  143. // This file should be located in directory jcl/source/include
  144. // It is automatically created by the JCL installer
  145. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  146. {$I jcld9.inc}
  147. {$DEFINE JCL_CONFIGURED}
  148. {$ENDIF BDS3}
  149. {----------------------------}
  150. {$IFDEF BDS4}
  151. // This file should be located in directory jcl/source/include
  152. // It is automatically created by the JCL installer
  153. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  154. {$I jcld10.inc}
  155. {$DEFINE JCL_CONFIGURED}
  156. {$ENDIF BDS4}
  157. {----------------------------}
  158. {$IFDEF BDS5}
  159. // This file should be located in directory jcl/source/include
  160. // It is automatically created by the JCL installer
  161. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  162. {$I jcld11.inc}
  163. {$DEFINE JCL_CONFIGURED}
  164. {$ENDIF BDS5}
  165. {----------------------------}
  166. {$IFDEF BDS6}
  167. // This file should be located in directory jcl/source/include
  168. // It is automatically created by the JCL installer
  169. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  170. {$I jcld12.inc}
  171. {$DEFINE JCL_CONFIGURED}
  172. {$ENDIF BDS6}
  173. {----------------------------}
  174. {$IFDEF BDS7}
  175. // This file should be located in directory jcl/source/include
  176. // It is automatically created by the JCL installer
  177. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  178. {$I jcld14.inc}
  179. {$DEFINE JCL_CONFIGURED}
  180. {$ENDIF BDS7}
  181. {----------------------------}
  182. {$IFDEF BDS8}
  183. // This file should be located in directory jcl/source/include
  184. // It is automatically created by the JCL installer
  185. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  186. {$I jcld15.inc}
  187. {$DEFINE JCL_CONFIGURED}
  188. {$ENDIF BDS8}
  189. {----------------------------}
  190. {$IFDEF BDS9}
  191. {$IFDEF MSWINDOWS}
  192. {$IFDEF CPUX86}
  193. // This file should be located in directory jcl/source/include
  194. // It is automatically created by the JCL installer
  195. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  196. {$I jcld16win32.inc}
  197. {$ENDIF CPUX86}
  198. {$IFDEF CPUX64}
  199. // This file should be located in directory jcl/source/include
  200. // It is automatically created by the JCL installer
  201. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  202. {$I jcld16win64.inc}
  203. {$ENDIF CPUX64}
  204. {$DEFINE JCL_CONFIGURED}
  205. {$ENDIF MSWINDOWS}
  206. {$ENDIF BDS9}
  207. {----------------------------}
  208. {$IFDEF BDS10}
  209. {$IFDEF MSWINDOWS}
  210. {$IFDEF CPUX86}
  211. // This file should be located in directory jcl/source/include
  212. // It is automatically created by the JCL installer
  213. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  214. {$I jcld17win32.inc}
  215. {$ENDIF CPUX86}
  216. {$IFDEF CPUX64}
  217. // This file should be located in directory jcl/source/include
  218. // It is automatically created by the JCL installer
  219. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  220. {$I jcld17win64.inc}
  221. {$ENDIF CPUX64}
  222. {$DEFINE JCL_CONFIGURED}
  223. {$ENDIF MSWINDOWS}
  224. {$ENDIF BDS10}
  225. {----------------------------}
  226. {$IFDEF BDS11}
  227. {$IFDEF MSWINDOWS}
  228. {$IFDEF CPUX86}
  229. // This file should be located in directory jcl/source/include
  230. // It is automatically created by the JCL installer
  231. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  232. {$I jcld18win32.inc}
  233. {$ENDIF CPUX86}
  234. {$IFDEF CPUX64}
  235. // This file should be located in directory jcl/source/include
  236. // It is automatically created by the JCL installer
  237. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  238. {$I jcld18win64.inc}
  239. {$ENDIF CPUX64}
  240. {$DEFINE JCL_CONFIGURED}
  241. {$ENDIF MSWINDOWS}
  242. {$ENDIF BDS11}
  243. {----------------------------}
  244. {$IFDEF BDS12}
  245. {$IFDEF MSWINDOWS}
  246. {$IFDEF CPUX86}
  247. // This file should be located in directory jcl/source/include
  248. // It is automatically created by the JCL installer
  249. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  250. {$I jcld19win32.inc}
  251. {$ENDIF CPUX86}
  252. {$IFDEF CPUX64}
  253. // This file should be located in directory jcl/source/include
  254. // It is automatically created by the JCL installer
  255. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  256. {$I jcld19win64.inc}
  257. {$ENDIF CPUX64}
  258. {$DEFINE JCL_CONFIGURED}
  259. {$ENDIF MSWINDOWS}
  260. {$ENDIF BDS12}
  261. {----------------------------}
  262. {$IFDEF BDS14}
  263. {$IFDEF MSWINDOWS}
  264. {$IFDEF CPUX86}
  265. // This file should be located in directory jcl/source/include
  266. // It is automatically created by the JCL installer
  267. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  268. {$I jcld20win32.inc}
  269. {$ENDIF CPUX86}
  270. {$IFDEF CPUX64}
  271. // This file should be located in directory jcl/source/include
  272. // It is automatically created by the JCL installer
  273. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  274. {$I jcld20win64.inc}
  275. {$ENDIF CPUX64}
  276. {$DEFINE JCL_CONFIGURED}
  277. {$ENDIF MSWINDOWS}
  278. {$ENDIF BDS14}
  279. {----------------------------}
  280. {$IFDEF BDS15}
  281. {$IFDEF MSWINDOWS}
  282. {$IFDEF CPUX86}
  283. // This file should be located in directory jcl/source/include
  284. // It is automatically created by the JCL installer
  285. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  286. {$I jcld21win32.inc}
  287. {$ENDIF CPUX86}
  288. {$IFDEF CPUX64}
  289. // This file should be located in directory jcl/source/include
  290. // It is automatically created by the JCL installer
  291. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  292. {$I jcld21win64.inc}
  293. {$ENDIF CPUX64}
  294. {$DEFINE JCL_CONFIGURED}
  295. {$ENDIF MSWINDOWS}
  296. {$ENDIF BDS15}
  297. {----------------------------}
  298. {$IFDEF BDS16}
  299. {$IFDEF MSWINDOWS}
  300. {$IFDEF CPUX86}
  301. // This file should be located in directory jcl/source/include
  302. // It is automatically created by the JCL installer
  303. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  304. {$I jcld22win32.inc}
  305. {$ENDIF CPUX86}
  306. {$IFDEF CPUX64}
  307. // This file should be located in directory jcl/source/include
  308. // It is automatically created by the JCL installer
  309. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  310. {$I jcld22win64.inc}
  311. {$ENDIF CPUX64}
  312. {$DEFINE JCL_CONFIGURED}
  313. {$ENDIF MSWINDOWS}
  314. {$ENDIF BDS16}
  315. {----------------------------}
  316. {$IFDEF BDS17}
  317. {$IFDEF MSWINDOWS}
  318. {$IFDEF CPUX86}
  319. // This file should be located in directory jcl/source/include
  320. // It is automatically created by the JCL installer
  321. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  322. {$I jcld23win32.inc}
  323. {$ENDIF CPUX86}
  324. {$IFDEF CPUX64}
  325. // This file should be located in directory jcl/source/include
  326. // It is automatically created by the JCL installer
  327. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  328. {$I jcld23win64.inc}
  329. {$ENDIF CPUX64}
  330. {$DEFINE JCL_CONFIGURED}
  331. {$ENDIF MSWINDOWS}
  332. {$ENDIF BDS17}
  333. {----------------------------}
  334. {$IFDEF FPC}
  335. // This file should be located in directory jcl/source/include
  336. // It is automatically created by the JCL installer
  337. // For manual installations, copy and adjust jcl/source/include/jcl.template.inc
  338. {$I jclfpc.inc}
  339. {$DEFINE JCL_CONFIGURED}
  340. {$ENDIF FPC}
  341. {----------------------------}
  342. {$ENDIF ~CLR}
  343. // check configuration
  344. {$IFNDEF JCL_CONFIGURED}
  345. {$IFDEF SUPPORTS_COMPILETIME_MESSAGES}
  346. {$MESSAGE FATAL 'Your Delphi/BCB version is not supported by this JCL version!'}
  347. {$ELSE ~SUPPORTS_COMPILETIME_MESSAGES}
  348. 'Your Delphi/BCB version is not supported by this JCL version!'
  349. {$ENDIF ~SUPPORTS_COMPILETIME_MESSAGES}
  350. {$ENDIF !JCL_CONFIGURED}
  351. {$ENDIF ~JCLINSTALL}
  352. // Math precision selection, mutually exclusive
  353. {$IFDEF MATH_EXTENDED_PRECISION}
  354. {$UNDEF MATH_SINGLE_PRECISION}
  355. {$UNDEF MATH_DOUBLE_PRECISION}
  356. {$ENDIF}
  357. {$IFDEF MATH_DOUBLE_PRECISION}
  358. {$UNDEF MATH_SINGLE_PRECISION}
  359. {$UNDEF MATH_EXTENDED_PRECISION}
  360. {$ENDIF}
  361. {$IFDEF MATH_SINGLE_PRECISION}
  362. {$UNDEF MATH_DOUBLE_PRECISION}
  363. {$UNDEF MATH_EXTENDED_PRECISION}
  364. {$ENDIF}
  365. {$IFNDEF MATH_EXTENDED_PRECISION}
  366. {$IFNDEF MATH_DOUBLE_PRECISION}
  367. {$IFNDEF MATH_SINGLE_PRECISION}
  368. {$IFDEF FPC}
  369. {$IFDEF CPU64}
  370. {$DEFINE MATH_DOUBLE_PRECISION}
  371. {$ELSE ~CPU64}
  372. {$DEFINE MATH_EXTENDED_PRECISION}
  373. {$ENDIF ~CPU64}
  374. {$ELSE ~FPC}
  375. {$DEFINE MATH_EXTENDED_PRECISION}
  376. {$ENDIF ~FPC}
  377. {$ENDIF}
  378. {$ENDIF}
  379. {$ENDIF}
  380. {$IFDEF MATH_EXTENDED_PRECISION}
  381. {$IFDEF CPU64}
  382. {$IFDEF FPC}
  383. {$MESSAGE FATAL 'FPC does not support extended floating points on x86_64!'}
  384. {$ENDIF FPC}
  385. {$ENDIF CPU64}
  386. {$ENDIF MATH_EXTENDED_PRECISION}
  387. // PCRE options, mutually exclusive
  388. {$IFDEF PCRE_STATICLINK}
  389. {$UNDEF PCRE_LINKDLL}
  390. {$UNDEF PCRE_LINKONREQUEST}
  391. {$UNDEF PCRE_RTL}
  392. {$ENDIF PCRE_STATICLINK}
  393. {$IFDEF PCRE_LINKDLL}
  394. {$UNDEF PCRE_LINKONREQUEST}
  395. {$UNDEF PCRE_RTL}
  396. {$ENDIF PCRE_LINKDLL}
  397. {$IFDEF PCRE_LINKONREQUEST}
  398. {$UNDEF PCRE_RTL}
  399. {$ENDIF PCRE_LINKONREQUEST}
  400. {$IFNDEF PCRE_STATICLINK}
  401. {$IFNDEF PCRE_LINKDLL}
  402. {$IFNDEF PCRE_LINKONREQUEST}
  403. {$IFNDEF PCRE_RTL}
  404. {$DEFINE PCRE_LINKONREQUEST}
  405. {$ENDIF ~PCRE_RTL}
  406. {$ENDIF ~PCRE_LINKONREQUEST}
  407. {$ENDIF ~PCRE_LINKDLL}
  408. {$ENDIF ~PCRE_STATICLINK}
  409. {$IFNDEF PCRE_STATICLINK}
  410. {$IFNDEF PCRE_RTL}
  411. {$DEFINE PCRE_EXPORT_CDECL}
  412. {$ENDIF ~PCRE_RTL}
  413. {$ENDIF ~PCRE_STATICLINK}
  414. {$IFNDEF PCRE_STATICLINK}
  415. {$UNDEF PCRE_16}
  416. {$ENDIF ~PCRE_STATICLINK}
  417. {$IFNDEF PCRE_8}
  418. {$IFNDEF PCRE_16}
  419. {$DEFINE PCRE_RTL}
  420. {$UNDEF PCRE_STATICLINK}
  421. {$UNDEF PCRE_LINKDLL}
  422. {$UNDEF PCRE_LINKONREQUEST}
  423. {$ENDIF ~PCRE_16}
  424. {$ENDIF ~PCRE_8}
  425. {$IFDEF PCRE_8}
  426. {$IFDEF PCRE_16}
  427. {$IFDEF PCRE_PREFER_16}
  428. {$DEFINE JCL_PCRE_16}
  429. {$ELSE ~PCRE_PREFER_16}
  430. {$DEFINE JCL_PCRE_8}
  431. {$ENDIF ~PCRE_PREFER_16}
  432. {$ELSE ~PCRE_16}
  433. {$DEFINE JCL_PCRE_8}
  434. {$ENDIF ~PCRE_16}
  435. {$ELSE ~PCRE_8}
  436. {$IFDEF PCRE_16}
  437. {$DEFINE JCL_PCRE_16}
  438. {$ENDIF PCRE_16}
  439. {$ENDIF ~PCRE_8}
  440. {$IFDEF JCL_PCRE_8}
  441. {$DEFINE JCL_PCRE}
  442. {$ENDIF JCL_PCRE_8}
  443. {$IFDEF JCL_PCRE_16}
  444. {$DEFINE JCL_PCRE}
  445. {$ENDIF JCL_PCRE_16}
  446. // BZip2 options
  447. {$IFDEF BZIP2_STATICLINK}
  448. {$UNDEF BZIP2_LINKDLL}
  449. {$UNDEF BZIP2_LINKONREQUEST}
  450. {$ENDIF BZIP2_STATICLINK}
  451. {$IFDEF BZIP2_LINKDLL}
  452. {$UNDEF BZIP2_LINKONREQUEST}
  453. {$ENDIF BZIP2_LINKDLL}
  454. {$IFNDEF BZIP2_STATICLINK}
  455. {$IFNDEF BZIP2_LINKDLL}
  456. {$IFNDEF BZIP2_LINKONREQUEST}
  457. {$DEFINE BZIP2_STATICLINK}
  458. {$ENDIF ~BZIP2_LINKONREQUEST}
  459. {$ENDIF ~BZIP2_LINKDLL}
  460. {$ENDIF ~BZIP2_STATICLINK}
  461. {$IFDEF BZIP2_STATICLINK}
  462. {$DEFINE BZIP2_EXPORT_STDCALL}
  463. {$ENDIF BZIP2_STATICLINK}
  464. {$IFDEF BZIP2_LINKDLL}
  465. {$DEFINE BZIP2_EXPORT_CDECL}
  466. {$ENDIF BZIP2_LINKDLL}
  467. {$IFDEF BZIP2_LINKONREQUEST}
  468. {$DEFINE BZIP2_EXPORT_CDECL}
  469. {$ENDIF BZIP2_LINKONREQUEST}
  470. // ZLib options
  471. {$IFDEF ZLIB_STATICLINK}
  472. {$UNDEF ZLIB_LINKDLL}
  473. {$UNDEF ZLIB_LINKONREQUEST}
  474. {$UNDEF ZLIB_RTL}
  475. {$ENDIF ZLIB_STATICLINK}
  476. {$IFDEF ZLIB_LINKDLL}
  477. {$UNDEF ZLIB_LINKONREQUEST}
  478. {$UNDEF ZLIB_RTL}
  479. {$ENDIF ZLIB_LINKDLL}
  480. {$IFDEF ZLIB_LINKONREQUEST}
  481. {$UNDEF ZLIB_RTL}
  482. {$ENDIF ZLIB_LINKONREQUEST}
  483. {$IFNDEF ZLIB_STATICLINK}
  484. {$IFNDEF ZLIB_LINKDLL}
  485. {$IFNDEF ZLIB_LINKONREQUEST}
  486. {$IFNDEF ZLIB_RTL}
  487. {$DEFINE ZLIB_STATICLINK}
  488. {$ENDIF ~ZLIB_RTL}
  489. {$ENDIF ~ZLIB_LINKONREQUEST}
  490. {$ENDIF ~ZLIB_LINKDLL}
  491. {$ENDIF ~ZLIB_STATICLINK}
  492. {$IFDEF ZLIB_LINKDLL}
  493. {$DEFINE ZLIB_EXPORT_CDECL}
  494. {$ENDIF ZLIB_LINKDLL}
  495. {$IFDEF ZLIB_LINKONREQUEST}
  496. {$DEFINE ZLIB_EXPORT_CDECL}
  497. {$ENDIF ZLIB_LINKONREQUEST}
  498. // calling convention for static link is fastcall
  499. {$IFNDEF HAS_UNIT_CHARACTER}
  500. {$UNDEF UNICODE_RTL_DATABASE}
  501. {$ENDIF ~HAS_UNIT_CHARACTER}
  502. {$IFDEF UNICODE_RAW_DATA}
  503. {$UNDEF UNICODE_ZLIB_DATA}
  504. {$UNDEF UNICODE_BZIP2_DATA}
  505. {$ENDIF UNICODE_RAW_DATA}
  506. {$IFDEF UNICODE_ZLIB_DATA}
  507. {$UNDEF UNICODE_RAW_DATA}
  508. {$UNDEF UNICODE_BZIP2_DATA}
  509. {$ENDIF UNICODE_ZLIB_DATA}
  510. {$IFNDEF UNICODE_ZLIB_DATA}
  511. {$IFNDEF UNICODE_BZIP2_DATA}
  512. {$DEFINE UNICODE_RAW_DATA}
  513. {$ENDIF ~UNICODE_BZIP2_DATA}
  514. {$ENDIF ~UNICODE_ZLIB_DATA}
  515. {$IFDEF CONTAINER_ANSISTR}
  516. {$UNDEF CONTAINER_WIDESTR}
  517. {$UNDEF CONTAINER_UNICODESTR}
  518. {$UNDEF CONTAINER_NOSTR}
  519. {$ENDIF CONTAINER_ANSISTR}
  520. {$IFDEF CONTAINER_WIDESTR}
  521. {$UNDEF CONTAINER_UNICODESTR}
  522. {$UNDEF CONTAINER_NOSTR}
  523. {$ENDIF CONTAINER_WIDESTR}
  524. {$IFDEF CONTAINER_UNICODESTR}
  525. {$UNDEF CONTAINER_NOSTR}
  526. {$ENDIF CONTAINER_UNICODESTR}
  527. {$IFNDEF CONTAINER_ANSISTR}
  528. {$IFNDEF CONTAINER_WIDESTR}
  529. {$IFNDEF CONTAINER_UNICODESTR}
  530. {$IFNDEF CONTAINER_NOSTR}
  531. {$IFDEF SUPPORTS_UNICODE_STRING}
  532. {$DEFINE CONTAINER_UNICODESTR}
  533. {$ELSE ~SUPPORTS_UNICODE_STRING}
  534. {$DEFINE CONTAINER_ANSISTR}
  535. {$ENDIF ~SUPPORTS_UNICODE_STRING}
  536. {$ENDIF ~CONTAINER_NOSTR}
  537. {$ENDIF ~CONTAINER_UNICODESTR}
  538. {$ENDIF ~CONTAINER_WIDESTR}
  539. {$ENDIF ~CONTAINER_ANSISTR}
  540. // 7zip options
  541. {$IFDEF 7ZIP_STATICLINK}
  542. {$UNDEF 7ZIP_LINKDLL}
  543. {$UNDEF 7ZIP_LINKONREQUEST}
  544. {$ENDIF 7ZIP_STATICLINK}
  545. {$IFDEF 7ZIP_LINKDLL}
  546. {$UNDEF 7ZIP_LINKONREQUEST}
  547. {$ENDIF 7ZIP_LINKDLL}
  548. {$IFNDEF 7ZIP_STATICLINK}
  549. {$IFNDEF 7ZIP_LINKDLL}
  550. {$IFNDEF 7ZIP_LINKONREQUEST}
  551. {$DEFINE 7ZIP_LINKONREQUEST}
  552. {$ENDIF ~7ZIP_LINKONREQUEST}
  553. {$ENDIF ~7ZIP_LINKDLL}
  554. {$ENDIF ~7ZIP_STATICLINK}
  555. {$IFDEF SUPPORTS_UNSAFE_WARNINGS}
  556. {$WARN UNSAFE_TYPE OFF}
  557. {$WARN UNSAFE_CODE OFF}
  558. {$WARN UNSAFE_CAST OFF}
  559. {$ENDIF}
  560. {$IFNDEF DROP_OBSOLETE_CODE}
  561. {$IFNDEF JCLINSTALL}
  562. {$DEFINE KEEP_DEPRECATED}
  563. {$ENDIF}
  564. {$ENDIF}
  565. {$IFDEF CLR}
  566. {$WARN UNSAFE_TYPE ON}
  567. {$WARN UNSAFE_CODE ON}
  568. {$WARN UNSAFE_CAST ON}
  569. {$WARN UNIT_PLATFORM OFF}
  570. {$DEFINE MSWINDOWS}
  571. {$DEFINE PIC}
  572. {$DEFINE PUREPASCAL}
  573. {$ENDIF CLR}
  574. // Delphi 2005 has a compiler internal failure when compiling the JCL with UNITVERSIONING enabled
  575. {$IFDEF DELPHI2005}
  576. {$UNDEF UNITVERSIONING}
  577. {$ENDIF DELPHI2005}
  578. {$IFDEF FPC}
  579. {$DEFINE DEBUG_NO_TD32}
  580. {$ENDIF FPC}