Target Darwin: what changed
Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.
| Old | New | Line | |
|---|---|---|---|
| 1 | - | ||
| 1 | + | [](</File:macOSlogo.png>) | |
| 2 | 2 | ||
| 3 | - | ||
| 3 | + | This article applies to [macOS](</Category:macOS> "Category:macOS") only. | |
| 4 | 4 | ||
| 5 | + | See also: [[Multiplatform Programming Guide]] | |
| 6 | + | ||
| 7 | + | [](</File:Apple_iOS_new.svg>) | |
| 8 | + | ||
| 9 | + | This article applies to [iOS](</Category:iOS> "Category:iOS") only. | |
| 10 | + | ||
| 11 | + | See also: [[Multiplatform Programming Guide]] | |
| 12 | + | ||
| 13 | + | │ **English (en)** │ | |
| 14 | + | ||
| 15 | + |  **Warning **| In Lazarus 2.2.0/FPC 3.2.2 and later, the target for building iOS applications was changed from Darwin to iOS due to the advent of the Apple Silicon M1 (ARM64) processor in Mac computers. | |
| 16 | + | ---|--- | |
| 17 | + | ||
| 18 | + | ||
| 5 | 19 | ## Introduction | |
| 6 | 20 | ||
| 7 | - | ||
| 21 | + | Darwin is the target for macOS and iOS, both PowerPC, ARM and ARM64, i386 and X86_64. Programs may also be run on a machine with only Darwin installed. | |
| 8 | 22 | ||
| 9 | 23 | ## Installation | |
| 10 | 24 | ||
| 11 | - | ||
| 25 | + | See [[Installing Lazarus on macOS]]. | |
| 12 | 26 | ||
| 13 | 27 | ## Usage | |
| 14 | 28 | ||
| 15 | - | ||
| 29 | + | 1) [Lazarus IDE](<http://forum.lazarus.freepascal.org>) | |
| 16 | 30 | ||
| 17 | - | ||
| 31 | + | Lazarus is a Delphi-style RAD environment | |
| 18 | 32 | ||
| 19 | - | ||
| 33 | + | 2) [Lightweight IDE](<http://www.ragnemalm.se/lightweight/>) | |
| 20 | 34 | ||
| 21 | - | ||
| 35 | + | A free IDE in the classic Mac style | |
| 22 | 36 | ||
| 23 | - | ||
| 37 | + | 3) Any Editor (AlphaX, BBedit, ...) and command line (fpc your_pascal_program.pas) | |
| 24 | 38 | ||
| 25 | 39 | ## Universal binaries | |
| 26 | 40 | ||
| 27 | - | ||
| 41 | + | Normally for each processor - operating system combination there is one executable, but in macOS you can combine an aarch64 (ARM64) binary and an x86_64 binary into a so-called "universal binary" or "multi-architecture binary" that will run on both Apple ARM64 processors and Intel 64 bit processors. To do this the ARM64 and x86_64 executables have to be compiled separately and then combined using the `lipo` command line utility. | |
| 28 | 42 | ||
| 29 | - | ||
| 43 | + | It is also possible to combine a PowerPC binaries and an x86 binaries into a single combined binary using the `lipo` command line tool. You would need to first [download the PowerPC cross-compiler](<https://sourceforge.net/projects/freepascal/files/Mac%20OS%20X/>) so you only need to use `ppcppc` instead of `fpc` to build your project to generate the PowerPC binary. If you have a PowerPC computer, then the simplest solution is to build the x86 binary on a different computer with x86 architecture. | |
| 30 | 44 | ||
| 31 | 45 | ## See also | |
| 32 | 46 | ||
| 33 | - | ||
| 34 | - | ||
| 35 | - | ||
| 47 | + | * [[Portal:Mac|Mac Portal]]. | |
| 48 | + | * [[macOS Big Sur changes for developers|Creating a universal binary for aarch64 and x86_64]]. | |
| 49 | + | * [[Target MacOS]] for PowerPC processors. | |
| 36 | 50 | ||
| 37 | 51 | --- | |
| 38 | - | ||
| 39 | - | ||
| 40 | - | ||
| 52 | + | *From the Free Pascal wiki, page "Target Darwin", as the Internet Archive kept it on 2025-06-16, last changed on 2022-03-29. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* |
