UniversalBinaries mit Lazarus?
-
- Beiträge: 688
- Registriert: Mi 3. Okt 2007, 21:00
- OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
- CPU-Target: x86_64
UniversalBinaries mit Lazarus?
Hallo!
Kann ich auf einem Intel-Mac mit Lazarus Universal-Binaries erstellen, OHNE gleich ein für PPC compiliertes Lazarus mitsamt Compiler zu installieren, das Projekt dort auchnoch neu zu erstellen und die beiden Binärdateien mit lipo zusammenzufügen?
Kann ich auf einem Intel-Mac mit Lazarus Universal-Binaries erstellen, OHNE gleich ein für PPC compiliertes Lazarus mitsamt Compiler zu installieren, das Projekt dort auchnoch neu zu erstellen und die beiden Binärdateien mit lipo zusammenzufügen?
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Du brauchst kein für ppc kompiliertes Lazarus sondern nur den power pc crosscompiler. Den musst du dir aber warscheinlich aus den Sourcen selbst übersetzen. Beides einzeln compilieren und dann mit lipo zusammenfügen. Der fpc kann von sich aus derzeit keine universal Binarys generieren.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 370
- Registriert: Di 6. Feb 2007, 09:29
- OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
- CPU-Target: 32bit i386, ARM
- Wohnort: Oberösterreich
UniversalBinary heißen AFAIK die ausführbaren Dateien eines Macs. In dem Fall bedeutet es, dass ein und dieselbe UB auf PPC und iX86 laufen kann.
Das Betriebssystem erkennt das offenbar am Header in der Datei. Hab es selber erst gerade auf Wikipedia nachlsen müssen.
Schon toll, was geht. Aber sind die dann nicht langsamer, oder so? Ne Jar-File läuft auch überall, wo es eine JVM gibt. Aber der Speed.....
Das Betriebssystem erkennt das offenbar am Header in der Datei. Hab es selber erst gerade auf Wikipedia nachlsen müssen.
Schon toll, was geht. Aber sind die dann nicht langsamer, oder so? Ne Jar-File läuft auch überall, wo es eine JVM gibt. Aber der Speed.....
I don't have a Mac, but I think you can create universal binaries as follows (A IntelMac host is required).
Install the IntelMac version of lazarus and fpc.
Compile the application for the IntelMac, keep the executable on a safe place.
Change the TargetCPU to powerpc (and make sure the compiler is set to fpc and not ppc386 in the environment options).
Compile the application for the PowerMac.
Combine the two binaries with the command line tool lipo into one universal binary.
Install the IntelMac version of lazarus and fpc.
Compile the application for the IntelMac, keep the executable on a safe place.
Change the TargetCPU to powerpc (and make sure the compiler is set to fpc and not ppc386 in the environment options).
Compile the application for the PowerMac.
Combine the two binaries with the command line tool lipo into one universal binary.
-
- Beiträge: 86
- Registriert: Mo 11. Sep 2006, 12:54
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Bremen
Man kann auch die PowerPC Variante von Lazarus auf einem Intel Mac zum Laufen bringen, braucht dazu aber eine powerpc Version der GTK-Bibliotheken. Zumindest war das beim letzten Mal so, als ich das probiert habe. Damals war die Carbon-LCL noch nicht so weit.
Noch eine kleine Anmerkung zum Thema Universal Binaries: Es gibt nicht nur i386 und PowerPC, sondern diese beiden auch nochmal in einer 64 Bit Version. Ein Universal Binary kann also bis zu vier verschiedene Komponenten haben.
Liest man die Doku zum neuen Mac OS X Leopard, dann hat man eher den Eindruck das in Zukunft eher Universal Binaries in der Form i366 32/64 Bit an Bedeutung gewinnen werden.
Noch eine kleine Anmerkung zum Thema Universal Binaries: Es gibt nicht nur i386 und PowerPC, sondern diese beiden auch nochmal in einer 64 Bit Version. Ein Universal Binary kann also bis zu vier verschiedene Komponenten haben.
Liest man die Doku zum neuen Mac OS X Leopard, dann hat man eher den Eindruck das in Zukunft eher Universal Binaries in der Form i366 32/64 Bit an Bedeutung gewinnen werden.
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
dann solltet ihr c-shap nutzen, wenn ich das richtig Verstanden habe laufen die auch auf vielen bs.... und werden beim jeden starten(?) neu kompliert...
Sowas währe doch auch für Lazarus Denkbar oder nicht ?
im Prinzip sollte doch folgendes gehen:
Du gibt den FPC Komplier weiter und fertig.... jetzt ein kleines Script eine Start Datei die das dann auto. Kompliert... Probleme gibt es nur wenn es ein LIB nicht gibt... ich hatte mal vor bzw. habe es immer noch wo genau das für ein einfaches Spiel zu machen... und zwar mit DLLS die halt einfach erstellt werden können und dank den FPC Kompliert werden könnten....
So muss keine Script Sprache gepast werden was ja immer länger Dauert...
Ich hoffe ihr Versteht das wie ich mir das Vorstelle...
Sowas währe doch auch für Lazarus Denkbar oder nicht ?
im Prinzip sollte doch folgendes gehen:
Du gibt den FPC Komplier weiter und fertig.... jetzt ein kleines Script eine Start Datei die das dann auto. Kompliert... Probleme gibt es nur wenn es ein LIB nicht gibt... ich hatte mal vor bzw. habe es immer noch wo genau das für ein einfaches Spiel zu machen... und zwar mit DLLS die halt einfach erstellt werden können und dank den FPC Kompliert werden könnten....
So muss keine Script Sprache gepast werden was ja immer länger Dauert...
Ich hoffe ihr Versteht das wie ich mir das Vorstelle...
MFG
Michael Springwald
Michael Springwald