## Hoe installeer ik de broncode en compileer ik met Lazarus.

### Haal de broncode

Creëer een nieuwe map voor de broncode. Er zijn twee manieren om aan de broncode te geraken:
1 Download het broncode bestand file skychart_v3_xxx_source.tar.gz in je nieuwe map en pak het bestand daar uit.
Onder Linux is het commando om uit te pakken: tar xzf skychart_v3_xxx_source.tar.gz
Onder Windows kun je 7-Zip gebruiken, te verkrijgen vanaf: http://sourceforge.net/projects/sevenzip/.

2 Nog beter kun je de broncode van Subversion binnnen halen met een svn client-programma.
Het commando is:

    svn co https://skychart.svn.sourceforge.net/svnroot/skychart/trunk .

Uiteindelijk moet je zoiets als het onderstaande hebben:

    cdc -|                                    < map die het uitvoerbare programma bevat
         |- src -|                            < ontwikkelings map
                 |- skychart |                < skychart modules
                             |- component     < project componenten
                             |- library       < project bibliotheken
                             |- ...
                             |- units         < alle gecompileerde objecten gaan hier in
                 |- tools | - data            < de vereiste "data" mappen structuur om het programma te draaien
                          | - ...             < verschillende tools die niet persé nuttig zijn voor de eindgebruiker

### Installeer Lazarus

Gebruik van de Lazarus source code steeds de laatste versie. De dagelijkse verse 'snapshot' versie of de SVN versie van de broncode is verkrijgbaar op http://lazarus.freepascal.org. Zie http://wiki.lazarus.freepascal.org/Installing_Lazarus voor meer informatie.

Start Lazarus en open Components-Configure, Installed Packages.

Controleer dat Printer4Lazarus, JPEGForLazarus en TurboPowerIPro geïnstalleerd zijn, dit is normaal gesproken het geval. Als dat niet zo is installeer ze dan vanaf lazarus/component

- printers/printer4lazarus.lpk
- turbopower_ipro/turbopoweripro.lpk

De volgende methode gebruikt Patrick Chevalley om Free Pascal en Lazarus op Linux te installeren en updaten en te gebruiken als cross compiler voor Windows:

    cd ~/fpc
    # svn co http://svn.freepascal.org/svn/fpc/branches/fixes_2_2 .
    svn up
    make clean
    make build
    sudo make install
    make clean OS_TARGET=win32 CPU_TARGET=i386
    make build OS_TARGET=win32 CPU_TARGET=i386
    sudo make crossinstall OS_TARGET=win32 CPU_TARGET=i386
    ver=`fpc -iV`
    sudo ln -f -s /usr/local/lib/fpc/$ver/ppc386 /usr/local/bin
    sudo ln -f -s /usr/local/lib/fpc/$ver/ppcross386 /usr/local/bin
    cd ~/lazarus
    # svn co http://svn.freepascal.org/svn/lazarus/trunk .
    svn up
    make clean
    make OS_TARGET=win32 CPU_TARGET=i386 clean
    make bigide
    make OS_TARGET=win32 CPU_TARGET=i386 bigide

### Interactieve compilatie

Installeer eerst de vereiste componenten vanuit de map src/skychart/component

Klik “Open Package”, selecteer “component/cdccomponents.lpk”, Klik “Compile”, “Install”.

Wanneer de installatie je vertelt om Lazarus opnieuw te bouwen, zeg je Yes.

Je kunt nu de hoofdproject bestand skychart/cdc.lpi openen en compileren.

Om debug mogelijk te maken moet je de Run-Run Parameters-Werk map aanpassen naar je CdC-map.

Om het voor normale productie uitvoerbare bestand te verkleinen gebruik je strip en upx.

De libraries getdss en plan404 zijn in C geschreven. Om deze te compileren, installeer de gcc compiler (Mingw voor Windows) en start make in iedere library map.

Enkele Windows-specifieke libraries en plugins zijn nog niet geporteerd voor Lazarus, gebuik Delphi voor het compileren hiervan.

### Geautomatiseerde compilatie en installatie

Als je de software wilt compileren zonder gebruik te maken van de interactieve Lazarus omgeving, dan kun je gebruik maken van de scripts in de hoofdmap.

Voor dat je deze scripts gebruikt, vergewis je ervan dat de Free Pascal binaries in je PATH-omgeving zijn opgenomen. Dit is waar je het fpcmake commando vindt.

In de hoofdmap vind je ook het 'daily_build.sh' script dat je kunt gebruiken om automatisch de packeges te bouwen voor Linux en Windows.

#### Voor Linux

    ./configure [fpc=free_pascal_path] [lazarus=lazarus_path] [prefix=installation_path]
    make
    make install
    make install_data

#### Voor Windows

- Vergewis je ervan dat je geen ander 'make' commando dan die van Free Pascal in je pad hebt.
- Compileer handmatig de library 'getdss' en 'plan404' met Mingw
- Installeer het programma sed for Windows
- Bewerk met een editor het bestand 'configure.cmd' om de juiste instellingen te geven voor sed=, fpc=, lazarus=, prefix=

    configure.cmd
    make
    make install
    make install_data

## Naamconventie voor de programma broncode

De volgende conventie voor de namen wordt gebruikt voor de broncode van het hoofdproject om vlot het doel te herkennen van de units.

    cdc.lpi         : Het hoofdproject
    pu_*.pas        : Form units met alleen specifieke code
    pu_*.lfm        : Form definitie
    cu_*.pas        : Units die niet-visuele objecten bevatten.
    u_*.pas         : Units met algemene code.