First of all, since FPC - and Lazarus, its sibling IDE - are Open Source and
free, we can focus on mainly support a single version of the compiler.
Since some missing RTTI for interfaces were recently merged into the trunk, we
start from the current FPC trunk as our main version. Easier than maintaining
Delphi 5 - 10.2 compability!
To install it, we usually use the fpcupdeluxe tool: you download a single binary for your platform, then you run the executable, pickup the compiler (or cross-compiler) versions you need, and everything is downloaded and compiled from git/svn on your own computer. Then click on the desktop link, and the IDE launches in seconds. Nice fresh air in respect to Delphi setup experience!
As I wrote, in the last weeks/months, we worked a lot to improve FPC support.
Just a few commits:
- crc32c 2x/4x speeup by using SSE4.2+pclmulqdq opcodes on x64 - speed is now around 21GB/s
- TSynDaemon fork/run support on Linux/Posix
- fixed vtQWord proper support for FPC - this doesn't exist in Delphi, but it should!
- added pure pascal version of SynECC.pas to run on all FPC platforms, including ARM
- BSD/OSX enhanced support
- added scripts to use fpcupdeluxe's gcc cross-compilers for FPC static linking on Windows, Linux, BSD and OSX
- updated SQLite3 engine to latest version 3.22.0 - statically linked under FPC Linux (no external dependency to the system libsqlite3.so)
- HTTP server enhancements and fixes for high performance and stability under Linux behind a local nginx proxy for production servers
- better Linux compatibility
- TSQLRecord QWord property fix
- tuned/enhanced logging content
- deep refactoring of FPC RTTI access to have the same level than Delphi
-
implemented Exceptions interception and logging for FPC
with call stack trace (if available) - includes source code lines if compiled using -g or -gl switches - tested on Win32, Win64, Linux i386 et x86_64 but should work on other OS - SyNode JavaScript engine support under FPC / Linux x86_64 by ssoftpro and pavelmash - including a lot of fixes and tuning for this platform to be heavily used on production
- and a lot of smaller enhancements (just search for FPC in the commit timeline), especially tuning the pascal code to better compile and execute under FPC, which can generate very efficient assembly!
Staty tuned, and we encourage you to discover FPC/Lazarus!