// The complete list of compiler versions is here : // http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Compiler_Versions {$DEFINE DELPHI_VERSION_UNKNOW} // Delphi 5 {$IFDEF VER130} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$ENDIF} // Delphi 6 {$IFDEF VER140} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$ENDIF} // Delphi 7 {$IFDEF VER150} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$ENDIF} // Delphi 8 {$IFDEF VER160} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$ENDIF} // Delphi 2005 {$IFDEF VER170} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$ENDIF} {$IFDEF VER180} {$UNDEF DELPHI_VERSION_UNKNOW} // Delphi 2007 {$IFDEF VER185} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} // Delphi 2006 {$ELSE} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$ENDIF} {$ENDIF} // Delphi 2009 {$IFDEF VER200} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} {$DEFINE DELPHI12_UP} {$ENDIF} //Delphi 2010 {$IFDEF VER210} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} {$DEFINE DELPHI12_UP} {$DEFINE DELPHI14_UP} {$ENDIF} // Delphi XE {$IFDEF VER220} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} {$DEFINE DELPHI12_UP} {$DEFINE DELPHI14_UP} {$DEFINE DELPHI15_UP} {$ENDIF} // Delphi XE2 (First FireMonkey and 64bit compiler) {$IFDEF VER230} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} {$DEFINE DELPHI12_UP} {$DEFINE DELPHI14_UP} {$DEFINE DELPHI15_UP} {$DEFINE DELPHI16_UP} {$ENDIF} // Delphi XE3 {$IFDEF VER240} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} {$DEFINE DELPHI12_UP} {$DEFINE DELPHI14_UP} {$DEFINE DELPHI15_UP} {$DEFINE DELPHI16_UP} {$DEFINE DELPHI17_UP} {$ENDIF} // Delphi XE4 {$IFDEF VER250} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} {$DEFINE DELPHI12_UP} {$DEFINE DELPHI14_UP} {$DEFINE DELPHI15_UP} {$DEFINE DELPHI16_UP} {$DEFINE DELPHI17_UP} {$DEFINE DELPHI18_UP} {$ENDIF} // Delphi XE5 {$IFDEF VER260} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} {$DEFINE DELPHI12_UP} {$DEFINE DELPHI14_UP} {$DEFINE DELPHI15_UP} {$DEFINE DELPHI16_UP} {$DEFINE DELPHI17_UP} {$DEFINE DELPHI18_UP} {$DEFINE DELPHI19_UP} {$ENDIF} // Delphi XE6 {$IFDEF VER270} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} {$DEFINE DELPHI12_UP} {$DEFINE DELPHI14_UP} {$DEFINE DELPHI15_UP} {$DEFINE DELPHI16_UP} {$DEFINE DELPHI17_UP} {$DEFINE DELPHI18_UP} {$DEFINE DELPHI19_UP} {$DEFINE DELPHI20_UP} {$ENDIF} // Delphi XE7 {$IFDEF VER280} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} {$DEFINE DELPHI12_UP} {$DEFINE DELPHI14_UP} {$DEFINE DELPHI15_UP} {$DEFINE DELPHI16_UP} {$DEFINE DELPHI17_UP} {$DEFINE DELPHI18_UP} {$DEFINE DELPHI19_UP} {$DEFINE DELPHI20_UP} {$DEFINE DELPHI21_UP} {$ENDIF} // Delphi XE8 {$IFDEF VER290} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} {$DEFINE DELPHI12_UP} {$DEFINE DELPHI14_UP} {$DEFINE DELPHI15_UP} {$DEFINE DELPHI16_UP} {$DEFINE DELPHI17_UP} {$DEFINE DELPHI18_UP} {$DEFINE DELPHI19_UP} {$DEFINE DELPHI20_UP} {$DEFINE DELPHI21_UP} {$DEFINE DELPHI22_UP} {$ENDIF VER290} // Rad Studio 10 - Delphi Seattle {$IFDEF VER300} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} {$DEFINE DELPHI12_UP} {$DEFINE DELPHI14_UP} {$DEFINE DELPHI15_UP} {$DEFINE DELPHI16_UP} {$DEFINE DELPHI17_UP} {$DEFINE DELPHI18_UP} {$DEFINE DELPHI19_UP} {$DEFINE DELPHI20_UP} {$DEFINE DELPHI21_UP} {$DEFINE DELPHI22_UP} {$DEFINE DELPHI23_UP} {$ENDIF} // Rad Studio 10.1 - Delphi Berlin {$IFDEF VER310} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} {$DEFINE DELPHI12_UP} {$DEFINE DELPHI14_UP} {$DEFINE DELPHI15_UP} {$DEFINE DELPHI16_UP} {$DEFINE DELPHI17_UP} {$DEFINE DELPHI18_UP} {$DEFINE DELPHI19_UP} {$DEFINE DELPHI20_UP} {$DEFINE DELPHI21_UP} {$DEFINE DELPHI22_UP} {$DEFINE DELPHI23_UP} {$DEFINE DELPHI24_UP} {$ENDIF} // Rad Studio 10.2 - Delphi Tokyo {$IFDEF VER320} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} {$DEFINE DELPHI12_UP} {$DEFINE DELPHI14_UP} {$DEFINE DELPHI15_UP} {$DEFINE DELPHI16_UP} {$DEFINE DELPHI17_UP} {$DEFINE DELPHI18_UP} {$DEFINE DELPHI19_UP} {$DEFINE DELPHI20_UP} {$DEFINE DELPHI21_UP} {$DEFINE DELPHI22_UP} {$DEFINE DELPHI23_UP} {$DEFINE DELPHI24_UP} {$DEFINE DELPHI25_UP} {$ENDIF} // Rad Studio 10.3 - Delphi Rio {$IFDEF VER330} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} {$DEFINE DELPHI12_UP} {$DEFINE DELPHI14_UP} {$DEFINE DELPHI15_UP} {$DEFINE DELPHI16_UP} {$DEFINE DELPHI17_UP} {$DEFINE DELPHI18_UP} {$DEFINE DELPHI19_UP} {$DEFINE DELPHI20_UP} {$DEFINE DELPHI21_UP} {$DEFINE DELPHI22_UP} {$DEFINE DELPHI23_UP} {$DEFINE DELPHI24_UP} {$DEFINE DELPHI25_UP} {$DEFINE DELPHI26_UP} {$ENDIF} // Rad Studio 10.4 - Delphi Sydney {$IFDEF VER340} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} {$DEFINE DELPHI12_UP} {$DEFINE DELPHI14_UP} {$DEFINE DELPHI15_UP} {$DEFINE DELPHI16_UP} {$DEFINE DELPHI17_UP} {$DEFINE DELPHI18_UP} {$DEFINE DELPHI19_UP} {$DEFINE DELPHI20_UP} {$DEFINE DELPHI21_UP} {$DEFINE DELPHI22_UP} {$DEFINE DELPHI23_UP} {$DEFINE DELPHI24_UP} {$DEFINE DELPHI25_UP} {$DEFINE DELPHI26_UP} {$DEFINE DELPHI27_UP} {$ENDIF} // Rad Studio 11.0 - Delphi Alexandria {$IFDEF VER350} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} {$DEFINE DELPHI12_UP} {$DEFINE DELPHI14_UP} {$DEFINE DELPHI15_UP} {$DEFINE DELPHI16_UP} {$DEFINE DELPHI17_UP} {$DEFINE DELPHI18_UP} {$DEFINE DELPHI19_UP} {$DEFINE DELPHI20_UP} {$DEFINE DELPHI21_UP} {$DEFINE DELPHI22_UP} {$DEFINE DELPHI23_UP} {$DEFINE DELPHI24_UP} {$DEFINE DELPHI25_UP} {$DEFINE DELPHI26_UP} {$DEFINE DELPHI27_UP} {$DEFINE DELPHI28_UP} {$ENDIF} // Rad Studio 12.0 - Delphi Yukon {$IFDEF VER360} {$UNDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} {$DEFINE DELPHI12_UP} {$DEFINE DELPHI14_UP} {$DEFINE DELPHI15_UP} {$DEFINE DELPHI16_UP} {$DEFINE DELPHI17_UP} {$DEFINE DELPHI18_UP} {$DEFINE DELPHI19_UP} {$DEFINE DELPHI20_UP} {$DEFINE DELPHI21_UP} {$DEFINE DELPHI22_UP} {$DEFINE DELPHI23_UP} {$DEFINE DELPHI24_UP} {$DEFINE DELPHI25_UP} {$DEFINE DELPHI26_UP} {$DEFINE DELPHI27_UP} {$DEFINE DELPHI28_UP} {$DEFINE DELPHI29_UP} {$ENDIF} {$IFDEF FPC} {$DEFINE SUPPORTS_INLINE} {$IF DEFINED(FPC_FULLVERSION) AND (FPC_FULLVERSION >= 30200)} {$DEFINE FPC_VER_320} {$IFEND} {$ELSE} {$IFDEF DELPHI_VERSION_UNKNOW} {$DEFINE DELPHI5_UP} {$DEFINE DELPHI6_UP} {$DEFINE DELPHI7_UP} {$DEFINE DELPHI8_UP} {$DEFINE DELPHI9_UP} {$DEFINE DELPHI10_UP} {$DEFINE DELPHI11_UP} {$DEFINE DELPHI12_UP} {$DEFINE DELPHI14_UP} {$DEFINE DELPHI15_UP} {$DEFINE DELPHI16_UP} {$DEFINE DELPHI17_UP} {$DEFINE DELPHI18_UP} {$DEFINE DELPHI19_UP} {$DEFINE DELPHI20_UP} {$DEFINE DELPHI21_UP} {$DEFINE DELPHI22_UP} {$DEFINE DELPHI23_UP} {$DEFINE DELPHI24_UP} {$DEFINE DELPHI25_UP} {$DEFINE DELPHI26_UP} {$DEFINE DELPHI27_UP} {$DEFINE DELPHI28_UP} {$ENDIF} {$ENDIF} {$IFDEF DELPHI9_UP} {$DEFINE SUPPORTS_INLINE} {$ENDIF} {$IF DEFINED(CPUX32) OR DEFINED(CPU32) OR DEFINED(CPU32BITS) OR DEFINED(CPUARM32) OR DEFINED(WIN32) OR DEFINED(IOS32) OR DEFINED(MACOS32) OR DEFINED(LINUX32) OR DEFINED(POSIX32) OR DEFINED(ANDROID32)} {$DEFINE TARGET_32BITS} {$ELSE} {$IF DEFINED(CPUX64) OR DEFINED(CPU64) OR DEFINED(CPU64BITS) OR DEFINED(CPUARM64) OR DEFINED(WIN64) OR DEFINED(IOS64) OR DEFINED(MACOS64) OR DEFINED(LINUX64) OR DEFINED(POSIX64) OR DEFINED(ANDROID64)} {$DEFINE TARGET_64BITS} {$IFEND} {$IFEND} // Delphi uses MACOS for the new MacOSX and DARWIN is not defined // FPC uses DARWIN for the new MacOSX and MACOS is defined for the classic Macintosh OS (System 7) // We define MACOSX to avoid conflicts in both situations {$IFDEF FPC} {$IFDEF DARWIN} {$DEFINE MACOSX} {$ENDIF} {$ELSE} {$IFDEF MACOS} {$DEFINE MACOSX} {$ENDIF} {$ENDIF} {$IFDEF LINUX} {$IFDEF FPC} {$DEFINE LINUXFPC} {$ELSE} {$DEFINE LINUXFMX} {$ENDIF} {$ENDIF}