Chapter 5Target Platforms
By Felipe Monteiro de Carvalho
Lazarus programs can be compiled to run on three major computer platforms: Windows, Linux/Unix, and MacOS X. That is fewer platforms than the FreePascal compiler is able to target. The reason for this is that appropriate compilercapability is not the only condition that must be met before you can create aLazarus program for a new platform.
The following three conditions have to be fulfilled before you can install and use Lazaruson any platform: A current Free Pascal compiler for themust be available. At themoment these are available for Windows 32, Windows 64, Windows CE, MacOS X,Linux, FreeBSD and OS/2 (and eComStation) and (to a certain extent) for Solaris. A current Free Pascal compiler for themust be available. At the momentthese are available for x86, x86_64, PowerPC, PowerPC64 and Arm(ARM4-instruction set only–the THUMB instruction set is not supported). There must be aavailable for the operating system platform.Currently fully supported are Windows, Windows CE and MacOS X, and also theLinux/Unix widget-set Gtk versions 1 and 2, and the platform-independent Qt 4(Unix, MacOS, Windows). This third requirement is the reason it is not possible to create OS/2 programs withLazarus. A Free Pascal compiler for x86-OS/2 exists, but there is no support for theOS/2 presentation manager and for eComStation. In theory it should be possible toinstall Lazarus under XFree86/2 and create OS/2 programs for X. Nobody has tried thisyet, but all the requirements can be met: there is a compiler and there is a port ofGtk version 2. There are hugedifferences between the four basic platforms Win32/64, WinCE, MacOSand Linux/FreeBSD/Solaris. For that reason it is important ifyou want to createapplications to run on multiple platforms (or ifyou intend to port software from oneplatform to another) to get acquainted with the details ofusing Lazarus on each oftheseplatforms before making a start. That way you can investigate beforehand what problemsyou might encounter, and so make the right choices when designing software to run onall the desired platforms without problems. With some experience you can then developsoftware completely on one platform, and simply recompile your program to make itavailable on additional platforms.
target platform target CPU GUI library
Lazarus - the complete guide