jcld28win32.inc 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. {**************************************************************************************************}
  2. { }
  3. { Project JEDI Code Library (JCL) }
  4. { }
  5. { The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); }
  6. { you may not use this file except in compliance with the License. You may obtain a copy of the }
  7. { License at http://www.mozilla.org/MPL/ }
  8. { }
  9. { Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF }
  10. { ANY KIND, either express or implied. See the License for the specific language governing rights }
  11. { and limitations under the License. }
  12. { }
  13. { The Original Code is jcl.inc }
  14. { }
  15. { The Initial Developer of the Original Code is Marcel van Brakel. }
  16. { Portions created by Marcel van Brakel are Copyright (C) Marcel van Brakel. }
  17. { }
  18. { Contributors: }
  19. { Marcel van Brakel }
  20. { Matthias Thoma (mthoma) }
  21. { Petr Vones }
  22. { Robert Marquardt (marquardt) }
  23. { Robert Rossmair (rrossmair) }
  24. { Florent Ouchet (outchy) }
  25. { }
  26. {**************************************************************************************************}
  27. { }
  28. { This include file defines various JCL specific defines. }
  29. { The more generic JCL defines are defined in jcl.inc and the generic defines in the jedi.inc file }
  30. { which is shared with the JEDI VCL. }
  31. { }
  32. {**************************************************************************************************}
  33. { }
  34. { This file is filled by the JCL installer, all the changes made in its content will be lost the }
  35. { next time the JCL is installed. }
  36. { }
  37. {**************************************************************************************************}
  38. // $Id$
  39. // Math precision selection, mutually exclusive
  40. // FPC does not support EXTENDED when targetting x86_64, MATH_DOUBLE_PRECISION is the default in this situation
  41. {$DEFINE MATH_EXTENDED_PRECISION} // default
  42. {.$DEFINE MATH_DOUBLE_PRECISION}
  43. {.$DEFINE MATH_SINGLE_PRECISION}
  44. // Math functions takes care of infinites and NaN
  45. {$DEFINE MATH_EXT_EXTREMEVALUES}
  46. // JclHookExcept support for hooking exceptions from DLLs
  47. {.$DEFINE HOOK_DLL_EXCEPTIONS}
  48. //Threadsafe directive
  49. {$DEFINE THREADSAFE}
  50. // To exclude obsolete code from compilation, remove the point from the line below
  51. {$DEFINE DROP_OBSOLETE_CODE}
  52. //Support for JclUnitVersioning.pas, not supported by Delphi 2005 (automatically disabled afterward)
  53. {.$DEFINE UNITVERSIONING}
  54. // debug sources
  55. // defining these symbols will the debug source to be automatically registered
  56. {.$DEFINE DEBUG_NO_BINARY}
  57. {.$DEFINE DEBUG_NO_TD32} // automatically defined for FPC
  58. {.$DEFINE DEBUG_NO_MAP}
  59. {.$DEFINE DEBUG_NO_EXPORTS}
  60. {.$DEFINE DEBUG_NO_SYMBOLS}
  61. // PCRE options, mutually exclusive
  62. // IMPORTANT: The static link works only for Delphi 2005 and newer
  63. // (an internal error is raised on other compilers)
  64. // Only one of the following defines can be defined at a time
  65. // static link: PCRE_STATICLINK
  66. // static dll import: PCRE_LINKDLL
  67. // dynamic dll import: PCRE_LINKONREQUEST
  68. // RTL's RegularExpressionsAPI: PCRE_RTL
  69. {$DEFINE PCRE_STATICLINK}
  70. {.$DEFINE PCRE_LINKDLL}
  71. {.$DEFINE PCRE_LINKONREQUEST} // default
  72. {.$DEFINE PCRE_RTL} // DXE and newer
  73. // ANSI/UTF8 PCRE
  74. {$DEFINE PCRE_8}
  75. // UCS2/UTF16 enabled PCRE
  76. {.$DEFINE PCRE_16} // only valid when PCRE_STATICLINK is enabled, the RTL does not support it and the DLL found over the internet are completly outdated.
  77. // use PCRE16 when available rather than good old PCRE8
  78. {.$DEFINE PCRE_PREFER_16}
  79. // BZIP2 options, mutually exclusive
  80. {$DEFINE BZIP2_STATICLINK} // default
  81. {.$DEFINE BZIP2_LINKDLL}
  82. {.$DEFINE BZIP2_LINKONREQUEST}
  83. // ZLIB options, mutually exclusive
  84. {$DEFINE ZLIB_STATICLINK} // default
  85. {.$DEFINE ZLIB_LINKDLL}
  86. {.$DEFINE ZLIB_LINKONREQUEST}
  87. {.$DEFINE ZLIB_RTL} // DXE2 and newer only
  88. // Unicode options
  89. // use RTL Character Database rather than JCL one, less accurate but reduce executable size
  90. {.$DEFINE UNICODE_RTL_DATABASE}
  91. // insert a replacement character if sequence is corrupted rather than raising an exception
  92. {$DEFINE UNICODE_SILENT_FAILURE}
  93. // defines resource compression (uncompressed, compressed with ZLib, compressed with BZip2), mutually exclusive
  94. {$DEFINE UNICODE_RAW_DATA} // default
  95. {.$DEFINE UNICODE_ZLIB_DATA}
  96. {.$DEFINE UNICODE_BZIP2_DATA}
  97. // container options
  98. // define mapping of TJclStr* containers to TJclAnsiStr* or TJclWideStr* (mutually exclusive)
  99. {.$DEFINE CONTAINER_ANSISTR} // default for D2007 and older
  100. {.$DEFINE CONTAINER_WIDESTR}
  101. {$DEFINE CONTAINER_UNICODESTR} // default for D2009 and newer, not supported for Delphi 2007 and older
  102. {.$DEFINE CONTAINER_NOSTR}
  103. // 7Zip options, mutually exclusive
  104. // IMPORTANT: The static link is not supported yet
  105. {.$DEFINE 7ZIP_STATICLINK} // not supported yet
  106. {.$DEFINE 7ZIP_LINKDLL}
  107. {$DEFINE 7ZIP_LINKONREQUEST} // default