check.inc 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. {
  2. This file checks feature dependencies, so the compiler
  3. exits with a proper error message before a bunch of errors
  4. confuse the user.
  5. }
  6. {$ifdef FPC_HAS_FEATURE_COMMANDARGS}
  7. {$ifndef FPC_HAS_FEATURE_HEAP}
  8. {$fatal Using commandline arguments requires a heap manager }
  9. {$endif FPC_HAS_FEATURE_HEAP}
  10. {$endif FPC_HAS_FEATURE_COMMANDARGS}
  11. {$ifdef FPC_HAS_FEATURE_OBJECTS}
  12. {$ifndef FPC_HAS_FEATURE_HEAP}
  13. {$fatal Using objects requires a heap manager }
  14. {$endif FPC_HAS_FEATURE_HEAP}
  15. {$endif FPC_HAS_FEATURE_OBJECTS}
  16. {$ifdef FPC_HAS_FEATURE_EXCEPTIONS}
  17. {$ifndef FPC_HAS_FEATURE_HEAP}
  18. {$fatal Using exceptions requires a heap manager }
  19. {$endif FPC_HAS_FEATURE_HEAP}
  20. {$endif FPC_HAS_FEATURE_EXCEPTIONS}
  21. {$ifdef FPC_HAS_FEATURE_WIDESTRINGS}
  22. {$ifndef FPC_HAS_FEATURE_HEAP}
  23. {$fatal Using widestrings requires a heap manager }
  24. {$endif FPC_HAS_FEATURE_HEAP}
  25. {$ifndef FPC_HAS_FEATURE_RTTI}
  26. {$fatal Using widestrings requires rtti }
  27. {$endif FPC_HAS_FEATURE_RTTI}
  28. {$endif FPC_HAS_FEATURE_WIDESTRINGS}
  29. {$ifdef FPC_HAS_FEATURE_ANSISTRINGS}
  30. {$ifndef FPC_HAS_FEATURE_HEAP}
  31. {$fatal Using ansistrings requires a heap manager }
  32. {$endif FPC_HAS_FEATURE_HEAP}
  33. {$ifndef FPC_HAS_FEATURE_RTTI}
  34. {$fatal Using ansistrings requires rtti }
  35. {$endif FPC_HAS_FEATURE_RTTI}
  36. {$endif FPC_HAS_FEATURE_ANSISTRINGS}
  37. {$ifdef FPC_HAS_FEATURE_DYNARRAYS}
  38. {$ifndef FPC_HAS_FEATURE_HEAP}
  39. {$fatal Using dyn. arrays requires a heap manager }
  40. {$endif FPC_HAS_FEATURE_HEAP}
  41. {$ifndef FPC_HAS_FEATURE_RTTI}
  42. {$fatal Using dyn. arrays requires rtti }
  43. {$endif FPC_HAS_FEATURE_RTTI}
  44. {$endif FPC_HAS_FEATURE_DYNARRAYS}
  45. {$ifdef FPC_HAS_FEATURE_CLASSES}
  46. {$ifndef FPC_HAS_FEATURE_HEAP}
  47. {$fatal Using classes requires a heap manager }
  48. {$endif FPC_HAS_FEATURE_HEAP}
  49. {$ifndef FPC_HAS_FEATURE_RTTI}
  50. {$fatal Using classes requires rtti }
  51. {$endif FPC_HAS_FEATURE_RTTI}
  52. {$ifndef FPC_HAS_FEATURE_EXCEPTIONS}
  53. {$fatal Using classes requires exceptions }
  54. {$endif FPC_HAS_FEATURE_EXCEPTIONS}
  55. {$endif FPC_HAS_FEATURE_CLASSES}
  56. {$ifdef FPC_HAS_FEATURE_VARIANTS}
  57. {$ifndef FPC_HAS_FEATURE_HEAP}
  58. {$fatal Using variants requires a heap manager }
  59. {$endif FPC_HAS_FEATURE_HEAP}
  60. {$ifndef FPC_HAS_FEATURE_ANSISTRINGS}
  61. {$fatal Using variants requires ansistrings }
  62. {$endif FPC_HAS_FEATURE_ANSISTRRING}
  63. {$ifndef FPC_HAS_FEATURE_WIDESTRINGS}
  64. {$fatal Using variants requires widestrings }
  65. {$endif FPC_HAS_FEATURE_WIDESTRINGS}
  66. {$ifndef FPC_HAS_FEATURE_CLASSES}
  67. {$fatal Using variants requires classes }
  68. {$endif FPC_HAS_FEATURE_CLASSES}
  69. {$endif FPC_HAS_FEATURE_VARIANTS}