Script für Lazarus Trunk und FPC Trunk

Für Installationen unter Windows
Antworten
Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Script für Lazarus Trunk und FPC Trunk

Beitrag von Michl »

Hallo,

anbei das Skript für Windows, was ich nutze, um Lazarus Trunk und FPC Trunk zu bauen (einfach in eine create.bat kopieren und im Trunkverzeichnis ausführen):

32bit:

Code: Alles auswählen

@echo on
 
set LazPath=C:\Lazarus
set TrunkLazPath=C:\FreePascal
 
cd %TrunkLazPath%
md BinUtils
md Laz
md FPC
md FPC\bin
md FPC\bin\i386-win32
copy %LazPath%\FPC\2.6.4\bin\i386-win32\*.* %TrunkLazPath%\BinUtils
copy %LazPath%\FPC\2.6.4\bin\i386-win32\*.* %TrunkLazPath%\FPC\bin\i386-win32
svn co http://svn.freepascal.org/svn/fpc/trunk FPC
svn co http://svn.freepascal.org/svn/lazarus/trunk Laz
 
set mypath=%TrunkLazPath%\FPC
set mybinutils=%TrunkLazPath%\BinUtils
set OldPATH=%PATH%
set PATH=%mybinutils%;%mypath%\bin\i386-win32;%PATH%
cd %mypath%
make distclean
make all install INSTALL_PREFIX=%mypath% PP=%mybinutils%\ppc386.exe
 
cd %mypath%\bin\i386-win32
fpcmkcfg -d basepath=%mypath% -o .\fpc.cfg
 
set PATH=%TrunkLazPath%\FPC\bin\i386-win32;%OldPATH%
cd %TrunkLazPath%\Laz
make clean all OPT="-glw2"


64bit:

Code: Alles auswählen

@echo on
 
set LazPath=C:\Lazarus64
set TrunkLazPath=C:\FreePascal64
 
cd %TrunkLazPath%
md BinUtils
md Laz
md FPC
md FPC\bin
md FPC\bin\x86_64-win64
copy %LazPath%\FPC\2.6.4\bin\x86_64-win64\*.* %TrunkLazPath%\BinUtils
copy %LazPath%\FPC\2.6.4\bin\x86_64-win64\*.* %TrunkLazPath%\FPC\bin\x86_64-win64
svn co http://svn.freepascal.org/svn/fpc/trunk FPC
svn co http://svn.freepascal.org/svn/lazarus/trunk Laz
 
set mypath=%TrunkLazPath%\FPC
set mybinutils=%TrunkLazPath%\BinUtils
set OldPATH=%PATH%
set PATH=%mybinutils%;%mypath%\bin\x86_64-win64;%PATH%
cd %mypath%
make distclean
make all install INSTALL_PREFIX=%mypath% PP=%mybinutils%\ppcx64.exe
 
cd %mypath%\bin\x86_64-win64
fpcmkcfg -d basepath=%mypath% -o .\fpc.cfg
 
set PATH=%TrunkLazPath%\FPC\bin\x86_64-win64;%OldPATH%
cd %TrunkLazPath%\Laz
make clean all OPT="-glw2"


Für alle nachfolgende Leser, wie man die create.bat nun einsetzt (kopiert aus Thread http://www.lazarusforum.de/viewtopic.php?p=68169#p68169 bzw. http://www.lazarusforum.de/viewtopic.php?p=72725#p72725):

Installiere TortioseSVN. Da man zum Erstellen einer FPC-Trunk-Version die letzte stabile FPC-Version braucht, habe ich mir angewöhnt, diese aus der letzten stabilen Lazarus-Version zu benutzen. Daher entferne am besten alle Lazarus-Versionen, die Du zur Zeit installiert hast (notfalls per Hand noch die Restdaten löschen vor allem "C:\Users\...\AppData\Local\lazarus) und installiere unter C:\Lazarus die aktuelle Lazarus-Version von der Lazarus-Homepage.

Wenn Du diese erfolgreich installiert hast, erstellst Du ein Verzeichnis C:\FreePascal und kopierst die beigefügte "create32.bat" (für Lazarus 64bit "create64.bat") in das Verzeichnis. Gehe in das Verzeichnis und starte create32.bat, jetzt werden die FPC-Trunk und Lazarus-Trunk-Versionen runtergeladen und gebaut.

Solltest Du andere Verzeichnisse benutzen wollen, musst Du diese zuvor in der "create32.bat" anpassen! (LazPath ist der Pfad der letzten stabilen Lazarusversion, TrunkLazPath ist der Pfad, wohin FPC Trunk und Lazarus Trunk installiert werden sollen):

Code: Alles auswählen

set LazPath=C:\Lazarus
set TrunkLazPath=C:\FreePascal

Sollte FPC/Lazarus nicht ordentlich gebaut werden, empfiehlt es sich die "create.bat" mittels cmd zu starten (cmd ausführen, in das Verzeichnis (cd c:\FreePascal) gehen und create eingeben), dann schließt sich das Konsolefenster nicht und man kann den Fehlertext lesen!

Jetzt hast Du zwei Versionen von Lazarus installiert, die aktuelle stabile und die aktuelle Entwicklerversion mit der FPC-Entwicklerversion. Damit Du beide Versionen auf dem Rechner nutzen kannst, erstellst Du am besten noch ein Verknüpfung mit Lazarus Trunk (Desktop -> Rechtsklick -> Neu -> Verknüpfung und gibst dort

Code: Alles auswählen

C:\FreePascal\Laz\startlazarus.exe --pcp=C:\FreePascal\Configs

ein und benennst diese z.B. Lazarus Trunk).

Jetzt kannst Du Lazarus Trunk starten. Es wird sich ein Fenster öffnen, wo div. fehlende Pfade angemahnt werden:
Der Compilerpfad wäre: "C:\FreePascal\FPC\bin\i386-win32\ppc386.exe"
FPC-Source-Pfad wäre: "C:\FreePascal\FPC"
Als Debugger kannst Du den vom aktuellen Lazarus nehmen: "C:\Lazarus\mingw\i386-win32\bin\gdb.exe"

Weitere Infos http://wiki.lazarus.freepascal.org/Getting_Lazarus/de

Noch der Hinweis:
Seit ca. einem Jahr kann ich nicht über eine bestehende FreePascal-Trunk Version eine neue installieren. Ein "make clean" oder "make distclean" hilft bei mir nicht, selbst die oft gefundene Antwort, alle .ppu und .o zu löschen hilft mir nicht. Daher lautet meine Lösung, per svn revert (Rechtsklick TortoisSVN -> Cleanup -> mit Delete unversioned Files) alle compilierten Dateien zu löschen und dann erst ein Update auf eine neue Version zu machen.
Dateianhänge
create32.bat
(836 Bytes) 214-mal heruntergeladen
create64.bat
(854 Bytes) 209-mal heruntergeladen
Zuletzt geändert von Michl am Do 8. Sep 2016, 21:12, insgesamt 2-mal geändert.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Script für Lazarus Trunc und FPC Trunc

Beitrag von af0815 »

Ich verwende mittlerweile FPCup, das ja nach dem plötzlichen Tod des Programmierers jetzt von einem neuen Maintainer weitergepflegt wird. Für mich eine funktionierende Altrnative zu den Scripts. Wenn man sich in die konfiguration einmal eigearbeitet hat, kann mannallesmögliche auch gleich auf Stand halten.

Es ist allerdings Geschmackssache was man verwendet.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Script für Lazarus Trunc und FPC Trunc

Beitrag von Michl »

af0815 hat geschrieben:Ich verwende mittlerweile FPCup
Ich kannte FPCup bisher nur aus diversen Forenbeiträgen und habe bisher nicht verwendet, da ich noch keine Notwendigkeit sah. Ich habe mir mal die Wikiseite http://wiki.freepascal.org/fpcup dazu durchgelesen und mal zwei Fragen dazu.

So wie ich das sehen konnte, installiert sich die entsprechende Zielversion mit einer eigenen Config. Kann man die Ziel- und Configverzeichnisse in der GUI frei einstellen?

Ist das Erstellen einer Lazarusversion mit mehreren Targets (wählbar in der GUI) möglich?

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Script für Lazarus Trunc und FPC Trunc

Beitrag von af0815 »

Michl hat geschrieben:So wie ich das sehen konnte, installiert sich die entsprechende Zielversion mit einer eigenen Config. Kann man die Ziel- und Configverzeichnisse in der GUI frei einstellen?

Es gibt keine GUI, kommandozeile bzw. Batsch Script. Kannst dir die fpcup.ini und in den Unterverzeichnissen die mysettings.ini und die Batchscripts mal ansehen. Es gibt fast nichts was man nicht konfigurieren könnte. Fast alles was man kennt oder auch nicht kennt ist dort vorhanden.
Edit: Es gibt eine GUI, die ich nicht verwendet und so wie aussieht auch aktuell nicht kompilierbar ist. IMHO fehlen dort ein paar Konstanten bzw. wird gerade was geändert. Das editieren der Konfigs kann ich auch so erledigen.

Michl hat geschrieben:Ist das Erstellen einer Lazarusversion mit mehreren Targets (wählbar in der GUI) möglich?

Crosscompiling ? Es gibt cross_????.bat Scripts, die ich aber biher nicht verwendet habe. Deshalb dazu kein Wissen oder Erfahrung.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Script für Lazarus Trunc und FPC Trunc

Beitrag von Michl »

Danke für die Info, werde es mir mal anschauen.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Antworten