jcl.inc 23 KB

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