Difference between revisions of "Target Darwin"

From Lazarus wiki
Jump to navigationJump to search
(→‎Installation: Update + remove dead links)
m (Tweak warning note)
 
(8 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
{{Platform only|iOS}}
 
{{Platform only|iOS}}
 
{{LanguageBar}}
 
{{LanguageBar}}
= Introduction =
 
  
Darwin is the target for macOS and iOS, both PowerPC, ARM, i386 and X86_64. Programs may also be run on a machine with only Darwin installed.
+
{{Warning2|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.}}
  
= Installation =
+
== Introduction ==
  
See [[Installing Lazarus on macOS]].
+
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.
  
= Usage =
+
== Installation ==
  
1) Any Editor (AlphaX, BBedit, ...) and command line (fpc your_pascal_program.pas)
+
See [[Installing Lazarus on macOS]].
 
 
2) Xcode
 
 
 
The FPC installer disk images contain installers with Xcode templates.
 
 
 
3) Lightweight IDE
 
 
 
An free IDE in the classic Mac style: http://www.ragnemalm.se/lightweight/
 
 
 
4) PascalGladiator
 
 
 
A free graphical IDE for FPC and debugger front-end for GDB: http://www.thealchemistguild.com/pascalgladiator/
 
  
5) DOS-like IDE
+
== Usage ==
  
A description of how to get the IDE running is here: [[How to get the fpc ide running under Mac OS X]]
+
1) [http://forum.lazarus.freepascal.org Lazarus IDE]
  
6) Lazarus
+
Lazarus is a Delphi-style RAD environment
  
Lazarus is a Delphi-style RAD environment: http://forum.lazarus.freepascal.org
+
2) [http://www.ragnemalm.se/lightweight/ Lightweight IDE]
  
= Universal binaries =
+
A free IDE in the classic Mac style
  
Normally for each processor - operating system combination there is one executable, but in Mac OS X you can combine a PowerPC and a x86 binary into a so called "Universal Binary". To do this the PowerPC and i386 executables have to be compiled separately and then combined using the ''lipo'' command line tool.
+
3) Any Editor (AlphaX, BBedit, ...) and command line (fpc your_pascal_program.pas)
  
The Free Pascal installer for x86 already installs a PowerPC cross-compiler so you only need to use ppcppc instead of fpc to build your project to have the PowerPC binary. If have a PowerPC computer, then the simplest solution is to build the x86 binary in a different computer with x86 architecture, or use an emulator to run Mac OS X running in x86 architecture.
+
== Universal binaries ==
  
= More =
+
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 <code>lipo</code> command line utility.
  
* Mac OS Pascal universal interfaces are part of the fpc packages: check packages/univint
+
It is also possible to combine a PowerPC binaries and an x86 binaries into a single combined binary using the <code>lipo</code> command line tool. You would need to first [https://sourceforge.net/projects/freepascal/files/Mac%20OS%20X/ download the PowerPC cross-compiler] so you only need to use <code>ppcppc</code> instead of <code>fpc</code> 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.
  
* IDE already works, except for some graphic glitches on the user output screen,
+
== See also ==
  
* Can mouse events be supported with Terminal.app and X11.app? how?
+
* [[Portal:Mac|Mac Portal]].
** It is not possible to support the mouse in Terminal.app. In xterm (X11) it should be possible.
+
* [[macOS_Big_Sur_changes_for_developers#Creating_a_universal_binary_for_aarch64_and_x86_64| Creating a universal binary for aarch64 and x86_64]].
 +
* [[Target MacOS]] for PowerPC processors.  
  
[[Category: iOS]]
+
[[Category:iOS]]
 
[[Category:macOS]]
 
[[Category:macOS]]

Latest revision as of 00:54, 29 March 2022

macOSlogo.png

This article applies to macOS only.

See also: Multiplatform Programming Guide

Apple iOS new.svg

This article applies to iOS only.

See also: Multiplatform Programming Guide

English (en)

<translate> Warning: </translate> 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.

Introduction

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.

Installation

See Installing Lazarus on macOS.

Usage

1) Lazarus IDE

Lazarus is a Delphi-style RAD environment

2) Lightweight IDE

A free IDE in the classic Mac style

3) Any Editor (AlphaX, BBedit, ...) and command line (fpc your_pascal_program.pas)

Universal binaries

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.

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 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.

See also