# Handbuch zum Skript &kdesrc-build;

Michael
Pyne

    mpyne@kde.org

Carlos
Woelz

    carloswoelz@imap-mail.com

Thomas
Reitelbach

    tr@erdfunkstelle.de

Deutsche Übersetzung
2006
2007
2008
2009
2010
Michael Pyne
2005
Carlos Woelz
&FDLNotice;
2010-01-30
1.12

Das Skript &kdesrc-build; kompiliert und installiert &kde; direkt aus den Quelltexten der &kde;-Projektarchive.

KDE
kdesdk
SVN
Subversion
git
gitorious
KDE-Entwicklung
kdesvn-build
kdecvs-build

## Einführung

Das Skript &kdesrc-build; hilft Benutzern bei der Installation von &kde; aus den &subversion;- und &git;-Quelltextarchiven.

Dieses Skript hiess früher kdesvn-build, daher werden Sie den Namen kdesvn-build möglicherweise noch im Internet oder in der Dokumentation finden.

Dieses Handbuch beschreibt die folgenden Aspekte der Arbeitsweise von &kdesrc-build;:

- Wichtige Leistungsmerkmale.

- Ein Überblick über die erforderlichen Schritte für einen erfolgreichen Start.

- Die Syntax und Optionen der Einrichtungsdatei.

- Die Optionen auf der Befehlszeile.

Ausserdem wird erläutert, welche zusätzlichen Programme benutzt werden müssen, um alle nicht automatisch von &kdesrc-build; ausgeführten Aktionen auszuführen.

## Erste Schritte

In diesem Kapitel wird erklärt, wie Sie mit Hilfe von &kdesrc-build; die entsprechenden Module aus dem &kde;-Quelltextarchiv herunterladen und kompilieren. Des weiteren werden einige Grundlagen zur &subversion;-Struktur des &kde;-Archivs und die nötigen Schritte vor dem Ausführen des Skripts erklärt.

Alle in diesem Kapitel angesprochene Punkte werden detaillierter im Artikel &kde;4 selbst kompilieren auf den &kde;-Techbase-Webseiten erklärt. Wenn Sie &kde; zum ersten Mal kompilieren, sollten Sie dieses Dokument lesen und bei Fragen als Referenz heranziehen. Darin finden Sie auch Informationen zu Paketierungs-Hilfsprogrammen, Kompilier-Voraussetzungen, häufigen Stolperfallen und allgemeinen Strategien zur Verwendung Ihrer neuen &kde;-Installation.

### Vorbereiten des Systems zum Kompilieren von &kde;

#### Einrichten eines neuen Benutzerkontos

Es wird empfohlen, für das Erstellen, die Installation und das Ausführen von &kde; einen eigenen Benutzer anzulegen. Das erfordert weniger Berechtigungen und verhindert Konflikte mit den von Ihrer Distribution installierten Paketen. Wenn Sie bereits &kde;-Pakete installiert haben, sollten Sie einen anderen Benutzer nur für das Kompilieren und Ausführen des neuen &kde; verwenden.

Lassen Sie Ihr &kde; aus der Distribution unverändert, dann haben Sie immer noch ein funktionsfähiges Arbeitssystem, wenn ein selbsterstelltes &kde; aus welchen Gründen auch immer nicht stabil läuft.

Sie können die Installation später immer noch systemweit als Systemverwalter durchführen. Das geht allerdings über den Rahmen dieses Handbuchs hinaus. Es wird davon ausgegangen, dass Sie wissen was Sie tun, wenn Sie eine systemweite Installation durchführen. Im Zweifelsfall sollten Sie die Dokumentation oder die Hilfeseiten für Ihre Distribution lesen, um die systemweite Installation richtig vorzubereiten und auszuführen.

#### Das System für das Kompilieren der &kde;-Quelltexte vorbereiten

Bevor Sie &kdesrc-build; (oder eine andere Kompiliermethode) verwenden, müssen Sie die Entwickler-Werkzeuge und -Bibliotheken für &kde; installieren. Ein vollständige Liste finden Sie auf der KDE TechBase.

Hier ist eine Liste einiger erforderlicher Entwicklungswerkzeuge:

- Als erstes brauchen Sie &cmake;. Die erforderliche Version hängt davon ab, welche Version von &kde; 4 erstellt werden soll. Genauere Informationen dazu finden Sie auf Techbase.

- Außerdem benötigen Sie das &subversion;-Programm mit Unterstützung für Secure HTTP (https). Um das zu überprüfen, geben Sie ``svn `--version``` in einer Konsole ein. In der Ausgabe dieses Befehls muss ein Modul genannt werden, das das Schema „https“ (Lese-/Schreibzugriff auf das SVN-Archiv) oder „svn“ (nur Lesezugriff über anonsvn.kde.org) behandelt.

- Wenn Sie &Qt; oder eines der anderen &kde;-Module erstellen möchten, deren Archiv sich auf Gitorious befindet, dann müssen Sie auch das Quelltextverwaltungssystem Git installieren.

- Sie brauchen eine C++-Entwicklungsumgebung, Als Compiler wird GCC Version 3.4 oder neuer empfohlen.

In den meisten Betriebssystem-Distributionen ist Methode enthalten, die erforderlichen Entwicklungswerkzeuge leicht zu installieren. Sehen Sie auf der TechBase-Seite Getting Started im Abschnitt Required Packages from your Distribution nach, ob hier bereits Anleitungen vorliegen.

Eine Ausnahme der erforderlichen Bibliotheken bildet die &Qt;-Bibliothek. &kdesrc-build; installiert im Regelfall eine Kopie von &Qt;, unabhängig davon, ob diese Bibliothek bereits installiert ist. Daher muss diese Bibliothek nicht von Ihnen installiert werden. Möchten Sie die Kopie von &Qt; nicht benutzen, sind folgende Schritte auszuführen:

- Entfernen Sie das Modul qt-copy aus der Einrichtungsdatei. Es wird nicht benötigt und das spart Zeit beim Erstellen.

- Ändern Sie die Einstellung von qtdir in Ihrer Einrichtungsdatei auf die auf dem System installierte Version von &Qt; ab. Das entspricht normalerweise der Einstellung für $`QTDIR` auf Ihrem System.

- Wenn &Qt; bisher noch nicht installiert ist, installieren Sie es einschließlich aller zugehörigen -dev oder -devel Pakete. Für &kde; 4 brauchen Sie mindestens &Qt; 4.6.

Einige der benötigten Pakete werden von den Distributoren in Bibliotheken, Programmdateien oder Werkzeuge und Entwickler-Pakete unterteilt. In diesen Fällen benötigen Sie wenigstens die Programmdateien und das Entwicklungs-Paket. Wenn Sie unsicher sind, installieren Sie am besten alle Pakete zu einem Programm. Die benötigen Bibliotheken sind abhängig von dem &kde;-Modul, welches Sie installieren möchten. Auf der &kde; TechBase finden Sie mehr Details über die einzelnen Hilfsprogramme und Techniken zur Installation der Abhängigkeiten.

#### Einrichtung von &kdesrc-build;

##### Installation von &kdesrc-build;

Vielleicht haben Sie bereits eine Version des Skripts &kdesrc-build; auf Ihrem System installiert. Wenn nicht, kann es von der &kdesrc-build;-Webseite oder aus dem &kde;-Archiv heruntergeladen werden.

&kdesrc-build; ist im Modul kdesdk enthalten, dieses Modul wird oft bereits von den Distributionen installiert. Wenn Sie &kdesrc-build; heruntergeladen haben, überprüfen Sie, dass es auch tatsächlich verwendet wird. Dazu rufen Sie &kdesrc-build; mit der Option „--version“ auf.

1. Die neueste passende Version von &kdesrc-build; können Sie von der &kdesrc-build;-Webseite herunterladen. Es handelt sich dabei um ein komprimiertes tar-Archiv, das mit &ark; oder dem Programm `tar` ausgepackt werden kann. Das Archiv enthält das neueste &kdesrc-build;-Skript und die beispielhafte Einrichtungsdatei `kdesrc-buildrc-sample`.

2. Alternativ kann &kdesrc-build; auch aus dem Quelltextarchiv auf http://websvn.kde.org/trunk/KDE/kdesdk/scripts/ bezogen werden. Dies ist der Ordner mit Skripten zum &kde;-Software-Entwicklungssystem. Klicken Sie auf den Eintrag `kdesrc-build`, damit kommen Sie auf eine Seite, auf der die neueste Version der Datei heruntergeladen werden kann. Speichern Sie diese Datei zusammen mit `kdesrc-buildrc-sample` auf der Festplatte.

Die Datei `kdesrc-build` muss ausführbar und in einem Ordner gespeichert sein, der in der Umgebungsvariablen `PATH` enthalten ist, damit das Skript beim Aufruf des Befehls gefunden bzw. nicht irrtümlich eine falsche Version benutzt wird.

##### Einstellungen der Einrichtungsdatei

Obwohl eine Einrichtungsdatei für &kdesrc-build; nicht erforderlich ist, kann damit die Arbeit erleichtert werden. In einer Einrichtungsdatei kann eingestellt werden, welche Module installiert oder nicht installiert werden sollen. Mit der Standardeinstellung installiert &kdesrc-build; unter Verwendung von allgemeinen Installationsparametern ein vollständiges &kde;-System. Um dieses Verhalten an Ihre Anforderungen anzupassen, kann eine Einrichtungsdatei verwendet werden.

Die Einrichtungsdatei hat den Namen `.kdesrc-buildrc`. Die Datei sollte in Ihrem persönlichen Ordner (`~/`) liegen und enthält alle benötigten Optionen und Einstellungen, Compiler-Optionen, den Speicherort der Quelldateien, das Installationsziel, die zu installierenden Module und so weiter. Die Voreinstellungen finden Sie in der Datei `kdesrc-buildrc-sample`, die Sie als `~/.kdesrc-buildrc` kopieren und dann bearbeiten können.

Weitere Informationen zur Syntax der Einrichtungsdatei können Sie in und nachlesen.

### Festlegen der Einstellungen

Damit &kdesrc-build; funktioniert, sollten Sie die Datei `.kdesrc-buildrc` in Ihrem persönlichen Ordner haben, in der die allgemeinen Einstellungen festgelegt sind.

Es ist möglich, mehrere Einrichtungsdateien für &kdesrc-build; zu verwenden, das wird im Kapitel beschrieben. In diesem Handbuch wird davon ausgegangen, dass die Einstellungen in der Datei `~/.kdesrc-buildrc` gespeichert werden.

Benutzen Sie die Datei `kdesrc-buildrc-sample` als Vorlage und stellen Sie die allgemeinen Optionen und die Module ein, die Sie installieren möchten.

Die Standardeinstellungen sind normalerweise bereits ausreichend, um &kde; zu erstellen. Folgende Einstellungen bieten sich zu Anpassung an:

- binpath: Zum Festlegen der Ordner, in denen nach Befehlen gesucht wird. Entspricht der Umgebungsvariable `PATH`.

- kdedir: Der Zielordner, in den &kde; installiert wird. Als Voreinstellung wird `~/kde` für eine benutzerweite Installation verwendet.

- qtdir: Der Pfad zur installierten Bibliothek &Qt;. In der Voreinstellung wird eine Version von &Qt; verwendet, die von &kdesrc-build; mit dem besonderen Modul qt-copy aus dem aktuellen Quelltext erstellt wird. (`~/kdesrc/build/qt-copy`).

  Damit wird auch der Installationsordner für qt-copy festgelegt.

- svn-server: Die &url; von der die Quelltexte heruntergeladen werden. Dies kann von Entwicklern mit einem &kde;-&subversion;-Zugang genutzt werden.

Nach den globalen Einstellungen folgt eine Liste von Modulen mit den Zeilen module ... end module am Anfang und Ende. Prüfen Sie, ob hier alle Module aufgeführt sind, die Sie installieren möchten. Mit den Voreinstellungen aus `kdesrc-buildrc-sample` erhalten Sie eine weitgehend vollständige &kde;-Installation. Speichern Sie Ihre Einstellungen in die Datei `.kdesrc-buildrc` in Ihrem persönlichen Ordner.

Wenn Sie Feineinstellungen an `.kdesrc-buildrc` vornehmen möchten, lesen Sie bitte in die detaillierten Informationen über alle Einrichtungs-Optionen nach.

### Das Skript &kdesrc-build; verwenden

Sie können das Skript nun ausführen. Melden Sie sich in einem Terminal-Fenster als der Benutzer an, den Sie zum Kompilieren und Installieren des neuen &kde; verwenden möchten, und führen Sie das Skript aus:

    $kdesrc-build

Jetzt beginnt das Skript mit dem Herunterladen der Quelltexte und der Installation. Wenn Sie viele Module herunterladen und erstellen wollen, kann es vorkommen, das bei der ersten Kompilierung von &kde; Fehler auftreten. Das ist aber kein Problem.

&kdesrc-build; protokolliert die Ausgabe jedes ausgeführten Befehls. In der Standardeinstellung werden die Protokolldateien in den Ordner `~/kdesrc/log` geschrieben. Um die Ursache für den Fehler beim Erstellen eines Moduls im letzten &kdesrc-build;-Befehl zu finden, lesen Sie die Datei `~/kdesrc/log/latest/module-name/error.log`.

In dieser Datei finden Sie die Fehlermeldungen, mit denen das Kompilieren des Moduls fehlgeschlagen ist. Wurde der Fehler durch fehlende Softwarepakete verursacht, installieren Sie diese mit den zugehörigen Entwicklungspaketen (-dev). Dann versuchen Sie das Modul mit der Option --reconfigure neu zu kompilieren.

Wenn ein Kompilierfehler aufgetreten ist, ist die Ursache dafür vielleicht in den &kde;-Quelltexten. Warten Sie ein paar Tage, sollte der Fehler dann immer noch auftreten, schicken Sie eine E-Mail an die Mailingliste kde-devel@kde.org und berichten den Fehler.

Weitere Hinweise über mögliche Fehler und deren Beseitigung wie auch allgemeine Tipps und Strategien zum Erstellen von &kde; finden Sie auf der Seite Building &kde; 4 from Source.

Weitere Informationen über die Protokolle von &kdesrc-build; finden Sie im Kapitel .

### Einrichten der neuen &kde;-Umgebung

Im Folgenden wird davon ausgegangen, dass Sie einen separaten Benutzer zum Kompilieren und Installieren von &kde; verwendet haben. Desweiteren wird davon ausgegangen, dass Sie bereits eine &kde;-Version installiert haben. Wenn dies der Fall ist, muss das neue &kde; Vorrang vor der alten Version erhalten. Bearbeiten Sie die Umgebungsvariablen entsprechend.

#### Einstellungen des Anmeldungsprofils ändern

Die Datei `.bash_profile` enthält die Einstellungen zur Anmeldung für die von vielen &Linux;-Distributionen verwendete bash-Shell. Benutzen Sie eine andere Shell, müssen alle in diesem Abschnitt genannten Beispiele dafür angepasst werden.

Öffnen Sie die Datei `.bash_profile` in Ihrem persönlichen Ordner oder erzeugen Sie eine neue, falls sie noch nicht existiert. Am Ende der Datei fügen Sie folgendes ein:

    QTDIR=(pfad zu qtdir)   # wie z. B. ~/kdesrc/build/qt-copy als Standard.
    KDEDIR=(pfad zu kdedir) # wie z. B. ~/kde als Standard.
    KDEDIRS=$KDEDIR
    PATH=$KDEDIR/bin:$QTDIR/bin:$PATH
    MANPATH=$QTDIR/doc/man:$MANPATH

    # Überprüfen, ob LD_LIBRARY_PATH gesetzt ist.
    if [ -z $LD_LIBRARY_PATH ]; then
      LD_LIBRARY_PATH=$KDEDIR/lib:$QTDIR/lib
    else
      LD_LIBRARY_PATH=$KDEDIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH
    fi

    export QTDIR KDEDIRS PATH MANPATH LD_LIBRARY_PATH

Wenn Sie das Module qt-copy nicht selbst bauen, sondern das in Ihrem System installierte &Qt; benutzen, dann fügen Sie dies ein:

    KDEDIR=(path to kdedir)  # wie z. B. ~/kde als Standard.
    KDEDIRS=$KDEDIR
    PATH=$KDEDIR/bin:$QTDIR/bin:$PATH

    # Überprüfen, ob LD_LIBRARY_PATH gesetzt ist.
    if [ -z $LD_LIBRARY_PATH ]; then
      LD_LIBRARY_PATH=$KDEDIR/lib
    else
      LD_LIBRARY_PATH=$KDEDIR/lib:$LD_LIBRARY_PATH
    fi

    export KDEDIRS PATH LD_LIBRARY_PATH

Wenn Sie keinen eigenen Benutzer verwenden, ändern Sie die Umgebungsvariable $`KDEHOME` in `.bash_profile` für die neue Umgebung.

    export KDEHOME="${HOME}/.kde-svn"

    # Create it if needed
    [ ! -e ~/.kde-svn ] && mkdir ~/.kde-svn

Falls das K-Menü später leer oder völlig überfüllt mit Programmen Ihrer Distribution sein sollte, müssen Sie unter Umständen die XDG-Umgebungsvariable in `.bash_profile` anpassen:

    XDG_CONFIG_DIRS="/etc/xdg"
    XDG_DATA_DIRS="${KDEDIR}/share:/usr/share"
    export XDG_CONFIG_DIRS XDG_DATA_DIRS

#### Starten von &kde;

Nachdem jetzt die Einstellungen der Umgebungsvariablen für das richtige &kde; angepasst wurden, muss auch der richtige Befehl `startkde` benutzt werden.

Öffnen Sie die Datei `.xinitrc` in Ihrem persönlichen Ordner. Erzeugen Sie sie, falls nötig. Fügen Sie die folgende Zeile hinzu:

    exec ${KDEDIR}/bin/startkde

Für einige Distributionen ist es erforderlich, dies auch in die Datei `.xsession` in Ihrem persönlichen Ordner einzutragen. Dies gilt besonders, wenn grafische Anmeldungsmanager wie &kdm;,gdm oder xdm verwendet werden.

Starten Sie nun Ihr neues &kde;. In &BSD; und &Linux; mit Unterstützung für virtuelle Terminals können Sie die Tastenkombination &Ctrl;&Alt;F1 ... &Ctrl;&Alt;F12 benutzen, um zwischen den Terminals zu wechseln. Auf diese Weise können Sie mehrere Arbeitsumgebungen gleichzeitig ausführen. Die ersten sechs Terminals sind Text-Terminals, die folgenden sechs sind grafische Terminals.

Falls beim Systemstart der grafische Anmeldungsmanager erscheint, können Sie Ihr neues &kde; dennoch verwenden, auch wenn es nicht in der Liste für die grafische Anmeldung aufgeführt ist. In den meisten Anmeldungsmanagern wie zum Beispiel &kdm; kann eine benutzerdefinierte Sitzung bei der Anmeldung gestartet werden. Mit dieser Option werden die Einstellungen für die Sitzung aus der Datei `.xsession` im persönlichen Ordner gelesen. Wenn Sie diese Datei bereits wie oben beschrieben geändert haben, sollte mit dieser Option Ihre neue &kde;-Installation starten.

Falls dies nicht funktioniert, gibt es noch eine weitere Möglichkeit zum Starten: Drücken Sie &Ctrl;&Alt;F2 um zu einem Text-Terminal zu gelangen. Melden Sie sich als der separate KDE-Benutzer an und geben Sie folgendes ein:

    startx -- :1

Sie können das aus den Quelltexten installierte &kde; und das &kde; aus Ihrer Distribution gleichzeitig ausführen. Melden Sie sich als normaler Benutzer an und starten Sie das &kde;-System Ihrer Distribution. Drücken Sie dann &Ctrl;&Alt;F2 (oder F1, F3, &etc;) und öffnen damit eine Textkonsole. Melden Sie sich als &kde;-&subversion;-Benutzer an und geben Sie ein:

    startx -- :1

Zurück zum &kde;-System des normalen Benutzers kommen Sie mit den Kurzwahltasten für diese Arbeitsumgebung. Das ist normalerweise &Ctrl;&Alt;F7, manchmal auch F6 oder F8. Zum mit &kdesrc-build; kompilierten &kde; wechseln Sie mit der gleichen Tastenkombination und verwenden dabei nur die nächste F-Taste. Benutzen Sie zum Beispiel &Ctrl;&Alt;F7 zum Wechsel in das normale &kde;, dann drücken Sie &Ctrl;&Alt;F8, um wieder zurück zum &kdesrc-build;-&kde; zu kommen.

## Besondere Funktionen des Skripts

### Übersicht der Funktionen

&kdesrc-build; beinhaltet die folgenden Funktionen und Besonderheiten:

- Ausgabemeldungen lassen sich in verschiedenen Stufen einstellen, von wenigen Meldungen bis zu vollständigen Meldungen für die Fehlersuche.

- &kdesrc-build; kann mit Unterstützung der &kdesrc-build;-Website und der &kde;-FTP-Server (FTP seit &kdesrc-build; Version 1.4) einige Module beschleunigt herunterladen. Wenn für diese Module bereits komprimierte Pakete auf der Webseite vorhanden sind, werden diese geladen und ausgepackt.

  Dies ist für Sie schneller und verringert die Last der kde.org-Server für anonymes &subversion;.

- Um den Ablauf weiter zu beschleunigen, wird das Kompilieren eines Moduls sofort gestartet, wenn es vollständig heruntergeladen wurde. Dies funktioniert seit Version 1.6.

- Das Modul qt-copy kann ebenfalls heruntergeladen und erstellt werden, dabei werden alle Patches für Fehlerbehebungen und Optimierungen für qt-copy angewendet.

- &kdesrc-build; zeigt farbige Ausgaben an.

- &kdesrc-build; erfordert keine grafische Bedienungsoberfläche (GUI), Sie können &kde; ohne eine zusätzliche grafische Bedienungsoberfläche erstellen.

- Standardeinstellungen für alle Module wie Optionen zum Kompilieren und Konfigurieren. Diese Optionen können gleichfalls für einzelne Module angegeben werden.

  &kdesrc-build; verwendet Standard-Parameter, das erspart die Eingabe und verhindert Tippfehler.

- &kdesrc-build; kann einen bestimmten Zweig (branch) oder Tag oder auch eine vorgegebene Revision eines Moduls herunterladen.

- &kdesrc-build; kann automatisch für einen Quelltextordner das Archiv zum Herunterladen wechsenl, zum Beispiel von Zweig (branch) auf trunk. Das geschieht automatisch, wenn Optionen geändert werden, die auch die &url; des Archivs ändern. Es muss dazu aber die Befehlszeilenoption --src-only verwendet werden, damit &kdesrc-build; den Wechsel durchführt.

- &kdesrc-build; kann ein Modul nur teilweise herunterladen, wenn Sie zum Beispiel nur ein Programm aus einem großen Modul benötigen.

- Das erste Herunterladen einiger Module kann durch &kdesrc-build; beschleunigt werden, indem automatisch komprimierte Archive -sofern vorhanden- von den &kde;-Spiegelservern heruntergeladen und als lokale Kopie des Subversionsarchivs eingerichtet werden. Damit wird Zeit und Bandbreite sowohl für Ihr System als auch für die &kde;-Server eingespart.

- Für Entwickler, die svn+ssh:// verwenden, überprüft &kdesrc-build;, ob der Dienst ssh-agent lauft, damit es nicht zu wiederholten Passwortabfragen durch &ssh; kommt.

- Fehlerberichte können als E-Mail an einen Benutzer gesendet werden.

- Der Ordner zum Erstellen kann gelöscht werden, nachdem ein Modul installiert wurde, um Speicherplatz auf der Festplatte auf Kosten der Zeit zum erneuten Kompilieren einzusparen.

- Die von &kdesrc-build; benutzten Ordner können sogar für jedes einzelne Modul angepasst werden.

- &sudo; oder ein anderer benutzerdefinierter Befehl kann zur Installation von Modulen benutzt werden, sodass &kdesrc-build; nicht mit den Rechten des Systemverwalters ausgeführt werden muss.

- &kdesrc-build; wird als Voreinstellung mit reduzierter Priorität ausgeführt, sodass am Rechner auch dann noch gearbeitet werden kann, wenn gerade &kdesrc-build; ausgeführt wird.

- Unterstützt Tags und Zweige (branches) in &kde;s &subversion;-Archiv.

- &kdesrc-build; verwendet bestimmte Techniken, um ein erfolgreiches Kompilieren zu gewährleisten.

- Das erneute Erstellen kann mit einem angegebenen Modul wieder aufgenommen werden. Es können bei der Ausführung auch einige Module ausgelassen werden.

- &kdesrc-build; kann direkt von der Befehlszeile aus Teile eines Moduls kompilieren.

- &kdesrc-build; zeigt den Fortschritt beim Kompilieren mit &cmake; an und schreibt die Dauer des Kompilierens in das Protokoll.

- Automatisches Neu-Kompilieren von Modulen, die inkrementelles make verwenden (welches nach verschiedenen Arten von commits fehleranfällig ist).

- Die voreingestellten Optionen sind gut geeignet für die Installation von &kde; aus dem &subversion;-Archiv für einen einzelnen Benutzer.

- Benutzung der Tilde als Platzhalter in den Optionen. Beispielsweise ist folgender Befehl möglich:

      qtdir ~/kdesrc/build/qt-copy

- Erstellt automatisch ein System mit getrennten Ordnern für den Quelltext und das Kompilieren, damit bleibt der Quelltextordner unverändert.

- Es können sowohl globale Einstellungen für alle Module als auch spezifische Einstellungen für bestimmte Module vorgenommen werden.

- In manchen Fällen verlieren die autotools die Synchronisation mit dem Quell-Ordner, daher können Sie erzwingen, dass bestimmte Module vollständig neu kompiliert werden. Dazu müssen Sie im Quell-Ordner des fraglichen Moduls eine Datei namens .refresh-me anlegen oder &kdesrc-build; mit der Option `--refresh-build` aufrufen.

- Es können verschiedene Umgebungsvariablen benutzt werden, die den Kompiliervorgang beeinflussen. Dazu gehören unter anderem `KDEDIR`, `QTDIR`, `DO_NOT_COMPILE` und `CXXFLAGS`.

- Befehls-Protokolle. Alle Protokolle werden durchnummeriert und mit einem Datums-Stempel versehen, sodass Sie pro Skript-Durchlauf ein Protokoll erhalten. Desweiteren wird mit jedem Skript-Durchlauf ein symbolischer Link namens latest erzeugt, der auf das jeweils letzte Protokoll verweist.

- Wenn Sie &kde; für einen Benutzer anstatt systemweit installieren (wofür Sie Systemverwalter-Rechte benötigen würden), können Sie das Skript zum Installieren verwenden. Das Skript wurde nicht auf Sicherheitsprobleme bei der Ausführung als Systemverwalter überprüft und benutzt häufig die Funktion `system()`, daher wird empfohlen, das Skript nicht als Systemverwalter auszuführen.

- Sie können make-install-prefix verwenden, um ``make` `install`` einen Befehl voranzustellen. Dies ist &eg; für die Verwendung von &sudo; nützlich.

- Sie können auch nur einzelne Teile von &kde; aus einem &subversion;-Modul herunterladen lassen. Beispielsweise könnten Sie nur taglib aus kdesupport herunterladen, oder nur K3b aus extragear/multimedia. Das Skript wird automatisch kde-common mit einbeziehen, falls dies zum Kompilieren nötig ist.

- Sie können alle Vorgänge simulieren anstatt sie wirklich ausführen zu lassen. Benutzen Sie dazu die Option `--pretend` oder `-p` und das Skript wird eine detaillierte Beschreibung aller Befehle ausgeben, die es ausführen würde, ohne tatsächlich etwas zu unternehmen.

### Protokolle von &kdesrc-build;

#### Übersicht der Protokollfunktionen

Beim Protokollieren schreibt &kdesrc-build; die Ausgabe jedes Befehls bei der Ausführung in eine Datei. So können bei einem Fehler die Protokolle nach der möglichen Ursache durchsucht werden.

##### Ordnerlayout für Protokolle

Protokolle werden immer in einem eigenen Ordner gespeichert. Dieser Ordner wird mit der Option log-dir angegeben, die Voreinstellung dafür ist `${source-dir}/log`. Dabei wird ${source-dir} durch den Wert der Option source-dir ersetzt. Im weiteren Text wird für diesen Wert ${log-dir} benutzt.

Der Ordner ${log-dir} hat weitere Unterordner, einen für jeden Ausführungszeitpunkt von &kdesrc-build;. Jeder Ordner wird mit dem Datum und einer fortlaufenden Zahl benannt. Wird &kdesrc-build; zum Beispiel am 26. Mai 2004 zum zweitenmal ausgeführt, lautet der Name des Ordners `2004-05-26-02`.

Für einen leichteren Zugriff erstellt &kdesrc-build; eine Verknüpfung zu den Protokollen der letzten Ausführung mit dem Namen `latest`. Daher sind die aktuellen Protokolle immer unter `${log-dir}/latest` zu finden.

Der Protokollordner für jede Ausführung von &kdesrc-build; enthält Unterordner, einen für jedes Modul, das erstellt wurde. Zusätzlich wird die Datei `build-status` angelegt, in der aufgeführt ist, welche Module erstellt bzw. nicht erstellt werden konnten.

Wenn ein Modul weitere Untermodule enthält, wie zum Beispiel extragear/multimedia, playground/utils oder KDE/kdelibs, dann wird dieses Ordnerlayout auch für die Protokollordner verwendet. Das Protokoll für die letzte Ausführung von &kdesrc-build; für das Modul KDE/kdelibs finden Sie in `${log-dir}/latest/KDE/kdelibs`, nicht in `${log-dir}/latest/kdelibs`.

Im Protokollordner eines Moduls werden Dateien für jede Operation angelegt, die &kdesrc-build; ausführt. Aktualisiert &kdesrc-build; ein Modul, werden Dateien wie `svn-co.log` - wenn ein Modul das erste Mal heruntergeladen wird - oder `svn-up.log` - wenn das Modul aktualisiert wird - erstellt. Wird der Befehl `configure` ausgeführt, so wird das in der Datei `configure.log` protokolliert.

Ist ein Fehler aufgetreten, finden Sie eine Erklärung der Ursache in einer dieser Dateien. &kdesrc-build; erstellt eine Verknüpfung von der Datei mit dem Fehlerprotokoll wie zum Beispiel `build-1.log` zu der Datei `error.log`.

Um zu sehen, warum ein Modul bei der letzten Ausführung von &kdesrc-build; nicht erstellt werden konnte, sollten Sie daher als erstes die Datei `${log-dir}/latest/module-name/error.log` begutachten.

Wenn die Datei `error.log` leer ist, insbesondere nach einer Installation, dann ist wahrscheinlich kein Fehler aufgetreten. Einige Programme im &kde;-Erstellungssystem melden manchmal fälschlicherweise einen Fehler.

Außerdem können manche Befehle die Ausgabeumleitung von &kdesrc-build; unter bestimmten Umständen umgehen, normalerweise beim ersten Herunterladen aus dem &subversion;-Archiv. Die Fehlerausgabe wird in diesem Fall nicht in die Protokolldatei geschrieben, sondern erscheint auf der &konsole; oder im Terminal, in dem &kdesrc-build; ausgeführt wird.

## &kdesrc-build; einrichten

### Übersicht über die Einrichtung von &kdesrc-build;

Für die korrekte Funktion benötigt das Skript eine Datei namens `.kdesrc-buildrc` in Ihrem persönlichen Ordner. Diese beschreibt unter anderem die KDE-Module, die Sie herunterladen und installieren möchten.

Zuerst werden die globalen Einstellungen wie folgt festgelegt:

    global
    option-name option-wert
    [...]
    end global

Danach folgen eine oder mehrere Modul-Abschnitte, die wie folgt aussehen:

    module modul-name
    option-name option-wert
    [...]
    end module

modul-name muss ein Modulname aus dem &kde;-&subversion;-Archiv sein (zum Beispiel kdelibs oder kdebase). Einige Optionen überschreiben die globalen Optionen, einige können zusätzlich zu globalen Optionen festgelegt werden und einige globale Optionen lassen sich gar nicht überschreiben.

Im Folgenden sehen Sie eine Liste von häufig benutzten Optionen. Klicken Sie auf eine Option, um mehr darüber zu erfahren. Eine vollständige Liste aller Optionen finden Sie unter .

- branch: Zum Herunterladen aus einem bestimmten Zweig (branch) anstelle von /trunk.

- build-dir: Legt den Kompilier-Ordner fest.

- cmake-options: Legt fest, welche Parameter zur Konfiguration eines bestimmten Moduls mit &cmake; übergeben werden sollen.

- configure-flags: Legt fest, welche Parameter zur Konfiguration eines bestimmten Moduls benutzt werden sollen.

- cxxflags: Legt den Inhalt der Umgebungsvariable `CXXFLAGS` fest.

- kdedir: Legt den Zielordner für die &kde;-Installation fest.

- kde-languages: Zum Herunterladen und Installieren von Übersetzungen.

- make-options: Übergibt bestimmte Optionen an das Programm &make;.

- qtdir: Legt den Pfad zu &Qt; fest.

- set-env: Zum Einstellen einer Umgebungsvariablen.

- source-dir: Ändert den Pfad für heruntergeladene Quellen.

- svn-server: Ändert den Server, von dem die Quellen heruntergeladen werden.

### Tabelle der verfügbaren Einstellungsoptionen

Es folgt eine Tabelle der verschiedenen Optionen mit folgenden Informationen:

- Der Name der Option

- Eine Beschreibung des Verhaltens von &kdesrc-build; beim Erstellen eines Moduls, wenn diese Option sowohl im globalen Abschnitt als auch im Abschnitt für das Modul in der Einrichtungsdatei gesetzt ist..

- Zusätzliche Hinweise zum Zweck und zur Benutzung der Option.

#### Tabelle der Optionen

Name der Option | Modul -> Globales Verhalten | Anmerkungen
--- | --- | ---

apidox

Mit dieser Option wurde die API-Dokumentation der KDE-Module erstellt. Da dies in KDE 4 nicht mehr funktioniert, wurde diese Option in &kdesrc-build; 1.6.3 entfernt. Die API-Dokumentation finden Sie im Internet auf kde.org. Zusätzlich kann die API-Dokumentation für KDE 4 mit einem Skript aus dem Ordner /scripts im Modul kdesdk lokal erstellt werden. Weitere Informationen dazu finden Sie auf der KDE TechBase. Für Module aus KDE 3 kann die API-Dokumentation immer noch manuell erstellt werden.

apply-qt-patches |  | Diese Option wurde in &kdesrc-build; Version 1.10 entfernt. Um den gleichen Effekt zu erreichen, lesen Sie bitte die Informationen zu und der Option repository.

async

Kann nicht überschrieben werden

Diese Option aktiviert den asynchronen Arbeitsmodus, in dem Quelltexte gleichzeitig heruntergeladen und die Module kompiliert werden, anstatt erst nach dem Laden des Quelltextes mit dem Kompilieren zu beginnen. Diese Option ist als Voreinstellung eingeschaltet, um sie abzuschalten, wird diese Option auf den Wert false gesetzt.

Diese Option gibt es seit Version 1.6.

binpath

Moduleinstellung überschreibt die globale Einstellung

Mit dieser Option können Sie die Umgebungsvariable PATH für den Kompiliervorgang festlegen. Diese Option lässt sich nicht mit einer Modul-Option überschreiben. Die Voreinstellung ist die beim Start des Skripts gesetzte Umgebungsvariable $`PATH`. Diese Umgebungsvariable sollte die Pfade zu den notwendigen Entwicklungs-Werkzeugen beinhalten. Die Pfade `$`KDEDIR`/bin` und `$`QTDIR`/bin` werden automatisch hinzugefügt. Sie können auch die Tilde (~) für Pfadangaben verwenden.

branch

Moduleinstellung überschreibt die globale Einstellung

Mit dieser Option legen Sie fest, dass die Quellen aus einem bestimmten &kde;-Zweig anstelle von trunk heruntergeladen werden sollen. Um beispielsweise &kde; 4.5 herunterzuladen, stellen Sie die Option auf 4.5 ein.

Wenn das Herunterladen eines Zweigs mit dieser Option fehlschlägt, müssen Sie möglicherweise die korrekte Adresse zum Herunterladen manuell eingeben. Verwenden Sie dazu die Optionen module-base-path oder override-url.

Hinweis: Diese Option funktioniert auch mit Quelltextmodulen, die &git; anstatt &subversion; als Versionsverwaltungssystem benutzen

build-dir

Moduleinstellung überschreibt die globale Einstellung

Verwenden Sie diese Option zum Ändern des Ordners, in dem die Quellen kompiliert werden sollen. Sie können diese Option auf drei Arten verwenden:

1. Relativ zum &kde;-&subversion;-Quellordner (siehe die Option source-dir). Dies ist die Voreinstellung und dieser Modus wird automatisch verwendet, wenn Sie einen Ordner-Namen eingeben, der nicht mit einer Tilde (~) oder einem Schrägstrich (/) beginnt.

   Die Voreinstellung ist `build`.

2. Absoluter Pfad. Wenn Sie einen Pfad eingeben, der mit einem Schrägstrich (/) beginnt, so wird dieser Pfad wie eingegeben verwendet. Beispiel: `/tmp/kde-obj-dir/`.

3. Relativ zum persönlichen Ordner. Wenn Sie einen Pfad angeben, der mit einer Tilde (~) beginnt, so wird der Pfad als relativ zu Ihrem persönlichen Ordner angesehen. Dies funktioniert analog zu der Art und Weise, wie die Shell eine Tilde interpretiert. Beispiel: `~/builddir` würde den Kompilier-Ordner auf `/home/benutzer/builddir` einstellen.

Diese Option kann für jedes Modul separat eingestellt werden.

build-when-unchanged

Moduleinstellung überschreibt die globale Einstellung

Mit dieser Option stellen Sie ein, ob &kdesrc-build; ein immer Modul erstellt, auch wenn der Quelltext nicht geändert wurde.

Mit der Option `build-when-unchanged` gleich true erstellt &kdesrc-build; ein Modul immer neu, auch wenn der Quelltext dieses Moduls nicht geändert wurde. Dies ist die Voreinstellung, damit lassen sich Module meistens erfolgreich erstellen.

Mit der Option `build-when-unchanged` gleich false wird ein Modul nur dann neu erstellt, wenn entweder der Quelltext geändert wurde oder das erneute Erstellen wahrscheinlich erforderlich ist. Mit dieser Einstellung sparen Sie Zeit, besonders wenn Sie &kdesrc-build; täglich oder noch häufiger ausführen.

Diese Funktion dient nur zur Optimierung. Wie viele Optimierungen kann es Probleme mit einer korrekten Installation geben. Änderungen in qt-copy oder kdelibs erfordern zum Beispiel das erneute Erstellen anderer Module, auch wenn deren Quelltext unverändert ist.

checkout-only

Moduleinstellung überschreibt die globale Einstellung

Mit Hilfe dieser Option können Sie &subversion;-Quelltexte nacheinander herunterladen. Die Einstellung für diese Option sollte eine durch Leerzeichen getrennte Liste der herunterzuladenden Ordner sein. Zwar überschreibt diese Option die globale Version, es ist jedoch dennoch nicht sinnvoll, die Option global einzustellen.

Beachten Sie, dass diese Einstellung bei Modulen aus &git;-Archiven wirkungslos ist. Der Grund dafür liegt in der Arbeitsweise des &git;-Quelltext- Verwaltungssystems.

Ein Beispiel finden Sie unter .

cmake-options

Wird den globalen Optionen angefügt (nicht für qt-copy anzuwenden)

Mit Hilfe dieser Option können Sie die Parameter festlegen, die &cmake; für das jeweilige Modul übergeben werden. Wenn Sie diese Option global einstellen, wird sie für alle Module angewandt. Wenn Optionen für einzelne Module angegeben sind, werden sie nach den globalen Optionen eingefügt. Dadurch können &cmake;-Optionen für alle Module im globalen Abschnitt eingegeben werden.

Diese Option wird nicht für qt-copy angewendet, da &cmake; dafür nicht benutzt wird. Verwenden Sie statt dessen die Option configure-flags.

Da diese Optionen direkt ohne weitere Bearbeitung an &cmake; übergeben werden, müssen Sie in der gleichen Form wie für &cmake; eingetragen werden. Zum Beispiel:

    cmake-options -DCMAKE_BUILD_TYPE=RelWithDebInfo

Solange alle anderen Optionen richtig gesetzt sind, wird diese Option nicht benötigt und kann leer bleiben. &kdesrc-build; setzt alle erforderlichen Parameter für &cmake; automatisch auf den richtigen Wert.

colorful-output | Kann nicht überschrieben werden | Wenn Sie diese Option auf false setzen, wird die farbige Ausgabe von &kdesrc-build; unterbunden. Die Voreinstellung ist true. Beachten Sie, dass &kdesrc-build; die Farbcodes nur auf ein Terminal ausgibt (wie beispielsweise xterm, &konsole; oder die normale &Linux;-Konsole).
configure-flags | Moduleinstellung überschreibt die globale Einstellung | Mit Hilfe dieser Option können Sie die Parameter festlegen, die dem Skript ./configure für das jeweilige Modul übergeben werden. Wenn Sie diese Option global einstellen, wird sie für alle Module angewandt. Diese Option funktioniert nur für qt-copy. Die Einstellungen für KDE 4 Module werden mit cmake-options vorgenommen.

cxxflags

Wird der globalen Option angefügt

Mit dieser Option können Sie die Parameter für das Erstellen der Module festlegen.Diese Option wird hier angegeben und nicht einfach an `configure-flags` oder an cmake-options mit angehängt, weil sie auch die Umgebungsvariable `CXXFLAGS` während des Kompilierens setzt.

Beachten Sie, dass in &kde; 4 für jedes Modul, das &cmake; verwendet, die Option CMAKE_BUILD_TYPE auf den Wert none eingestellt werden muss. Dazu dient die Option cmake-options.

dest-dir | Moduleinstellung überschreibt die globale Einstellung | Mit dieser Option wird der Ordnername eines Moduls auf der Festplatte eingestellt. Das Modul extragear/network zum Beispiel kann mit dieser Option in extragear-network umbenannt werden. Das Trennzeichen für Ordner sollte nicht im Namen benutzt werden, dadurch gibt es Probleme mit den Optionen build-dir und source-dir.

disable-agent-check

Kann nicht überschrieben werden

Wenn Sie &ssh; zum Herunterladen der &subversion;-Quelltexte verwenden (zum Beispiel mit dem Protokoll svn+ssh), wird &kdesrc-build; überprüfen, dass Ihr SSH-Agent auch einige &ssh;-Identitäten verwalten kann. Auf diese Weise soll &ssh; daran gehindert werden, Sie andauernd zur Passworteingabe aufzufordern. Sie können diese Prüfung unterbinden, indem Sie die Option `disable-agent-check` auf true einstellen.

do-not-compile

Moduleinstellung überschreibt die globale Einstellung

Verwenden Sie diese Option, um bestimmte Ordner aus einem Modul nicht zu erstellen. Die Namen dieser Ordner werden durch Leerzeichen getrennt.

Beachten Sie, dass die Quellen zu den übersprungenen Programmen dennoch heruntergeladen werden. Um auch dies zu unterbinden, können Sie die Option checkout-only verwenden. Geben Sie mit dieser Option nur die Ordner an, die Sie herunterladen möchten.

Um zum Beispiel &juk; und &kscd; aus dem Modul kdemultimedia nicht zu erstellen, fügen Sie do-not-compile juk kscd zu den Einstellungen für kdemultimedia hinzu.

Ein Beispiel finden Sie unter .

email-address

Kann nicht überschrieben werden

Mit dieser Option können Sie die E-Mail-Adresse festlegen, die &kdesrc-build; als Absender verwenden soll, falls das Senden einer E-Mail nötig sein sollte. Sie können diese Option vernachlässigen, wenn Sie keine Funktionen benutzen, die E-Mails senden. (Diese Funktionen sind in der Voreinstellung deaktiviert.)

Derzeit benötigt nur email-on-compile-error diese Option.

email-on-compile-error

Kann nicht überschrieben werden

Mit dieser Option können Sie die E-Mail-Adresse festlegen, an die eine Nachricht gesendet werden soll, falls sich ein Modul nicht kompilieren lässt. &kdesrc-build; wartet ab, bis alle Module bearbeitet wurden und sendet dann einen Sammelbericht über die fehlgeschlagenen Module per E-Mail. Es wird nur eine E-Mail gesendet, falls das Erstellen eines Moduls fehlschlägt.

Bitte beachten Sie die Option email-address, mit der die Absenderadresse für diese Funktion eingestellt wird. Als Voreinstellung ist keine Adresse eingetragen.

inst-apps |  | Diese Option wurde in Version 1.10 entfernt.
install-after-build | Moduleinstellung überschreibt die globale Einstellung | Diese Option legt fest, dass ein Paket nach erfolgreichem Kompilieren installiert werden soll. Dies ist in der Voreinstellung eingeschaltet. Wenn Sie dieses Verhalten nicht wünschen, stellen Sie die Option in der Einrichtungsdatei auf false. Sie können analog auch den Befehlszeilen-Parameter `--no-install` verwenden.
kdedir | Moduleinstellung überschreibt die globale Einstellung | Mit dieser Option wird der Zielordner festgelegt, in den &kde; nach dem Kompilieren installiert wird. Die Voreinstellung ist `~/kde`. Wenn Sie hier einen Ordner einstellen, für den Systemverwalter-Rechte benötigt werden, sollten Sie auch die Anmerkungen zur Option make-install-prefix lesen.

kde-languages

Kann nicht überschrieben werden

Mit dieser Option kann ausgewählt werden, welche Sprachpakete heruntergeladen und kompiliert werden. So kann &kde; mit Übersetzungen in Ihrer Sprache ausgeführt werden.

Geben Sie alle Sprachen, die installiert werden sollen, in einer durch Leerzeichen getrennten Liste an. Für jede gewünschte Sprache ist der Sprachencode dafür einzutragen, den Sie auf der Seite http://i18n.kde.org/teams/ finden.

Es muss nur eine Sprache ausgewählt werden. Als Voreinstellung wird kein Sprachenpaket heruntergeladen. &kde; wird in amerikanischem Englisch angezeigt.

Um zum Beispiel die französische Sprache zu installieren, wird für diese Option ``kde-languages` fr` eingetragen. Nach der Installation muss diese Sprache dann in den &systemsettings; als erste Sprache ausgewählt werden.

libpath

Moduleinstellung überschreibt die globale Einstellung

Mit dieser Option wird die Umgebungsvariable `LD_LIBRARY_PATH` für den Kompiliervorgang gesetzt. Sie können die Option für jedes Modul separat einstellen. In der Voreinstellung ist sie nicht gesetzt, aber die Pfade `$`KDEDIR`/lib` und ``$`QTDIR/lib` werden automatisch hinzugefügt. Sie können für Pfadangaben auch die Tilde (~) benutzen.

log-dir | Moduleinstellung überschreibt die globale Einstellung | Diese Option wird zum Ändern des Ordners für Protokoll-Dateien des Skripts verwendet.

make-install-prefix

Moduleinstellung überschreibt die globale Einstellung

Geben Sie für diese Variable eine Liste mit Befehlen ein. Mehrere Befehle werden durch Leerzeichen getrennt. Die hier eingegebenen Befehle werden vor jedem Aufruf von ``make` `install`` ausgeführt. Dies ist hilfreich, wenn Sie für die Installation einiger Pakete Systemverwalter-Rechte benötigen und daher zum Beispiel &sudo; aufrufen müssen. Bitte seien Sie umsichtig im Umgang mit Systemverwalter-Rechten.

make-options | Moduleinstellung überschreibt die globale Einstellung | Mit Hilfe dieser Variablen können Sie Befehlszeilen-Parameter an `make` übergeben. Das kann beispielsweise bei Verwendung von distcc oder auf Systemen mit mehr als einem Prozessor nützlich sein.
manual-build | Moduleinstellung überschreibt die globale Einstellung | Stellen Sie diese Option auf true, um zu verhindern, dass ein Modul kompiliert wird. Es wird dennoch weiterhin aktualisiert, wenn Quellen aus dem &subversion;-Archiv heruntergeladen werden. Diese Option entspricht dem Befehlszeilen-Parameter `--no-build`.
manual-update | Moduleinstellung überschreibt die globale Einstellung | Stellen Sie diese Option auf true, um zu verhindern, dass &kdesrc-build; ein Modul aktualisiert (und auch nicht kompiliert und installiert). Wenn Sie diese Option so verwenden, entspricht das im Grunde dem Auskommentieren - es wird völlig übergangen.

module-base-path

Moduleinstellung überschreibt die globale Einstellung

Mit dieser Option können Sie den in &kdesrc-build; voreingestellten Pfad zu einem Modul übergehen. Das kann zum Beispiel verwendet werden, um für ein Modul einen besonderen Zweig oder eine als Tag vorhandene Version herunterzuladen. Bei der Suche nach dem richtigen Pfad kann Ihnen das &kde; WebSVN behilflich sein.

Beachten Sie: &kdesrc-build; setzt den Pfad nach dem folgenden Schema zusammen: ``$svn-server`/home/kde/`$module-base-path``.

Die Voreinstellung ist entweder `trunk/`$module`` oder `trunk/KDE/`$module``, abhängig vom Namen des Moduls.

Verwenden Sie stattdessen die Optionen branch oder tag, sofern möglich.

niceness | Kann nicht überschrieben werden | Diese Option können Sie auf einen Wert zwischen 20 und 0 einstellen. Je höher die Zahl, desto niedriger ist die Laufzeit-Priorität für &kdesrc-build;, &ie; bei einer höheren Zahl ist das Programm „netter“. Die Voreinstellung ist 10.
no-svn | Moduleinstellung überschreibt die globale Einstellung | Steht diese Option auf true, aktualisiert &kdesrc-build; nicht automatisch den Quelltext für dieses Modul, erstellt aber trotzdem das Modul, sofern dies nicht durch eine andere Option verhindert wird.
no-rebuild-on-fail |  | Diese Option wurde in Version 1.10 entfernt, da dieses Verhalten wegen Fehlerbehebungen im zugrunde liegenden Erstellungssystem nicht mehr erforderlich ist.
override-url | Moduleinstellung überschreibt die globale Einstellung | Wenn Sie diese Option einstellen, wird &kdesrc-build; den eingestellten Wert unverändert als Adresse an &subversion; übergeben. Sie können diese Option grundsätzlich verwenden, um eine bestimmte Programmversion herunterzuladen. Dann kann &kdesrc-build; allerdings nichts mit der Option branch anfangen.
prefix | Moduleinstellung überschreibt die globale Einstellung | Mit dieser Option wird festgelegt, in welchen Ordner die erstellten Module installiert werden. Als Voreinstellung wird `kdedir` verwendet. Mit dieser Option können Sie Module in einen anderen Ordner als die Bibliotheken der KDE-Plattform installieren. Damit benutzen Sie &kdesrc-build; nur zum Erstellen einzelner Programme,

--purge-old-logs

Moduleinstellung überschreibt die globale Einstellung

Diese Einstellung bestimmt, ob alte Protokollordner automatisch gelöscht werden. Der Standardwert ist false.

Auch wenn diese Option nicht auf truegesetzt ist, können die alten Protokollordner mit diesem Befehl gelöscht werden:

`kdesrc-build --no-src --no-build --purge-old-logs kdelibs`

In der oben genannten Befehlszeile kann jeder beliebige Modulname verwendet werden, nicht nur kdelibs.

qtdir

Moduleinstellung überschreibt die globale Einstellung

Diese Option setzt die Umgebungsvariable `QTDIR` für den Kompiliervorgang. Sie können die Einstellung nicht für einzelne Module überschreiben. Wenn Sie diese Option nicht setzen, lautet die Voreinstellung `${source-dir}/build/qt-copy`, damit wird die mit &kde; ausgelieferte Version von qt-copy verwendet. Sie können die Tilde (~) verwenden.

remove-after-install

Moduleinstellung überschreibt die globale Einstellung

Wenn Sie wenig Festplattenspeicher zur Verfügung haben, können Sie mit Hilfe dieser Option alle Kompilier-Ordner oder zusätzlich auch den Quelltext-Ordner nach der erfolgreichen Installation löschen lassen.

Die möglichen Einstellungen für diese Option sind:

- none - Nichts wird gelöscht (dies ist die Voreinstellung).

- builddir - Kompilier-Ordner werden gelöscht, aber keine Quelltext-Ordner.

- all - Sowohl Kompilier- als auch Quelltext-Ordner werden gelöscht.

Beachten Sie: Die Verwendung dieser Option kann negative Auswirkungen auf Ihre Internet-Bandbreite und die Gesamtdauer einer &kde;-Installation haben, weil &kdesrc-build; nicht mehr inkrementell kompilieren kann und die Pakete unter Umständen immer wieder neu herunterladen muss. Dies ist insbesondere der Fall, wenn Sie die Option auf all einstellen.

repository | Moduleinstellung überschreibt die globale Einstellung | Diese Option wurde mit der Version 1.10 eingeführt. Damit wird das &git;-Archiv angegeben, aus dem der Quelltext heruntergeladen wird. Für &Qt; und qt-copy ist diese Option nötig, ebenso die verschiedenen &kde;-Module, deren Quelltext sich mittlerweile in &git;-Archiven befindet.

revision

Moduleinstellung überschreibt die globale Einstellung

Wird diese Option auf einen Wert größer 0 gesetzt, aktualisiert &kdesrc-build; das Modul auf genau diese &subversion;-Revision, auch wenn zusätzlich Optionen wie branch verwendet werden. Hat das Modul bereits diese Revision, wird es nicht weiter aktualisiert, bis diese Option geändert oder aus der Einrichtungsdatei entfernt worden ist.

run-tests | Moduleinstellung überschreibt die globale Einstellung | Ist diese Option auf true gesetzt, dann werden für das Modul auch die Tests erstellt und beim Erstellen mit ausgeführt. &kdesrc-build; zeigt dann einen einfachen Bericht über das Testergebnis an. Die hilft Entwicklern und anderen zu überprüfen, ob das System richtig eingerichtet ist.

set-env

Moduleinstellung überschreibt die globale Einstellung

Diese Option erwartet eine Liste mit durch Leerzeichen getrennten Werten. Der erste Wert ist die zu setzende Umgebungsvariable, die restlichen Werte sind der Inhalt der Variable. Wenn Sie beispielsweise die Umgebungsvariable `RONALD` auf McDonald setzen möchten, würden Sie diese Einstellung verwenden:

    set-env RONALD McDonald

Das besondere an dieser Option ist, dass Sie sie mehrfach verwenden können, ohne dass die jeweils vorige set-env-Option im gleichen Abschnitt der Einrichtungsdatei überschrieben wird. Auf diese Weise können Sie pro Modul und auch global mehrere Umgebungsvariablen setzen.

source-dir | Moduleinstellung überschreibt die globale Einstellung | Diese Option legt den Ordner auf Ihrer Festplatte fest, in dem die &kde;-&subversion;-Quellen gespeichert werden sollen. Wenn Sie die Option nicht setzen, lautet die Voreinstellung `~/kdesrc`. Sie können für diese Option die Tilde (~) als Abkürzung für Ihren persönlichen Ordner benutzen.
stop-on-failure | Moduleinstellung überschreibt die globale Einstellung | Setzen Sie diese Option auf true, wenn &kdesrc-build; beendet werden soll, sobald beim Kompilieren oder Installieren ein Fehler auftritt. Diese Einstellung ist in der Voreinstellung ausgeschaltet.
svn-server | Moduleinstellung überschreibt die globale Einstellung | Mit dieser Option können Sie den zu verwendenden &subversion;-Server festlegen. Die Voreinstellung ist der Server für anonymes &subversion; `svn://anonsvn.kde.org/`. KDE-Entwickler sollten hier das &subversion;-Archiv benutzen, das Ihnen mit dem Entwickler-Zugang mitgeteilt wurde, nicht das anonyme Archiv.
tag | Moduleinstellung überschreibt die globale Einstellung | Benutzen Sie diese Option, um eine bestimmte Version eines Moduls herunterzuladen. Hinweis: Im Regelfall ist es sinnvoller, diese Option nicht zu benutzen. Fertige &kde;-Versionen können üblicherweise als Tar-Archiv von der &kde;-FTP-Seite oder einem der Softwarespiegelserver heruntergeladen werden.
use-cmake |  | Diese Option wurde in &kdesrc-build; Version 1.4 entfernt, da alle &kde; 4 Module &cmake; erfordern. Die Verwendung von &cmake; für andere Module ist nicht möglich.

use-idle-io-priority

Kann nicht überschrieben werden

Mit dieser Option, die es in &kdesrc-build; seit der Version 1.12 gibt, wird die Auslastung der Ein-Ausgabe zum Beispiel zur Festplatte verringert. Damit kann das Verhalten des Systems auf Benutzeraktionen spürbar verbessert werden, die Laufzeit von &kdesrc-build; wird nur unwesentlich verlängert. In der Standardeinstellung ist diese Option deaktiviert. Setzen Sie diese Option auf true, um die Ein-/Ausgabe zur Festplatte weniger auszunutzen.

use-qt-builddir-hack | Moduleinstellung überschreibt die globale Einstellung | Diese Option wurde entfernt, sie ist wegen des verbesserten Erstellungssystem für &Qt; nicht mehr erforderlich.
use-stable-kde |  | Diese Option wurde in Version 1.10 entfernt. Diese Version unterstützt nur noch KDE 4, damit ist diese Option wirkungslos.

## Befehlszeilen-Parameter und Umgebungsvariablen

### Unterstützte Umgebungsvariablen

&kdesrc-build; verwendet keine Umgebungsvariablen. Falls Sie welche für den Kompilier- oder Installationsvorgang benötigen, lesen Sie bitte die Hinweise für die Option set-env.

### Unterstützte Befehlszeilenparameter

Das Skript kennt die folgenden Befehlszeilen-Parameter:

`--async`

  Aktualisiert den Quelltext und kompiliert gleichzeitig im asynchronen Modus. Dies ist die Voreinstellung, daher muss diese Option nur angegeben werden, wenn sie in der Einrichtungsdatei abgeschaltet wurde.

`--help`

  Zeigt eine kurze Hilfe für dieses Skript an.

`--version`

  Zeigt die Programmversion an.

`--author`

  Zeigt Kontaktinformationen zum Autor des Skripts an.

`--color`

  Aktiviert die farbige Darstellung der Ausgabe. Dies ist die Voreinstellung für interaktive Terminals.

`--nice=wert`

  Dieser Wert bestimmt die Priorität der CPU des Rechners, die von &kdesrc-build; angefordert wird und sollte einen Wert zwischen 0 und 20 haben. 0 entspricht der höchsten Priorität und am wenigsten nett, 20 entspricht der niedrigsten Priorität. Als Standard benutzt &kdesrc-build; den Wert 10.

`--no-async`

  Deaktiviert den asynchronen Modus. So werden erst alle Module aktualisiert, ehe mit dem Erstellen begonnen wird. Insgesamt dauert damit die Ausführung länger, wenn aber IPC-Fehler bei der Ausführung von &kdesrc-build; auftreten, verwenden Sie diese Option und berichten den Fehler.

`--no-color`

  Deaktiviert die farbige Darstellung der Ausgaben.

`--pretend` (oder `-p`)

  &kdesrc-build; simuliert das Aktualisieren der Quelltexte und das Erstellen, aber ohne diese Aktionen tatsächlich auszuführen. Stattdessen werden alle simulierten Aktionen, d. h. die auszuführenden Befehle und Aktionen protokolliert.

  Hinweis: Einfache Befehle, die nur Informationen wie zum Beispiel Informationen über Dateien einlesen, können immer noch ausgeführt werden, damit das Protokoll auch zutreffend wird. Die Ausführung von Befehlen, die nur Daten lesen, ist zum Beispiel nötig, um zu prüfen, ob der Quelltext heruntergeladen oder aktualisiert werden muss.

`--quiet` (oder `-q`)

  Reduziert die Ausgaben auf der Konsole auf grundlegende Informationen.

`--really-quiet`

  Nur Warnungen und Fehler ausgeben.

`--verbose` (oder `-v`)

  Es werden ausführliche Ausgaben erzeugt, Sie können den genauen Ablauf verfolgen.

`--src-only` (oder `--svn-only`)

  Aktualisiert nur den Quelltext. Die Option `--svn-only` wird nur noch unterstützt, damit auch ältere Skripte noch funktionieren.

`--build-only`

  Führt nur den Kompiliervorgang durch.

`--ignore-modules`

  Alle auf diese Option folgenden Module auf der Befehlszeile werden nicht aktualisiert oder erstellt. Diese Option ist dann sinnvoll, wenn fast alle Module in Ihrer Einstellungsdatei erstellt werden sollen und nur einige wenige ausgelassen werden.

`--no-src` (or `--no-svn`)

  Überspringt das Aktualisieren der Quelltexte vom &subversion;-Server. Der Parameter `--no-svn` wird nur noch zur Kompatibilität mit älteren Versionen des Skripts unterstützt.

`--no-build`

  Den Kompiliervorgang überspringen.

`--no-install`

  Pakete nicht automatisch installieren, nachdem sie kompiliert wurden.

`--no-build-when-unchanged`
`--force-build`

  Mit dieser Option wird das Überspringen von Modulen, eine Optimierung, die mit build-when-unchanged festgelegt wird, ausdrücklich verhindert. Diese Option ist dann sinnvoll, wenn das &kdesrc-build; Module erstellen soll, weil Sie Änderungen vorgenommen haben, die &kdesrc-build; nicht erkennt.

  `--force-build` hat genau die gleiche Funktion, diese Option lässt sich vielleicht leichter merken.

`--debug`

  Aktiviert den Modus zur Fehlersuche. Dies bedeutet, dass alle Ausgaben auf der Standardausgabe ausgegeben und zusätzlich im Protokoll abgelegt werden. Desweiteren sind die meisten Funktionen wesentlich gesprächiger.

`--no-rebuild-on-fail`

  Es wird nicht versucht, ein Modul nach einem Fehler erneut zu kompilieren. Es werden grundsätzlich keine Module neu kompiliert, bei denen es bereits einen Fehler beim Kompilieren gegeben hat.

`--refresh-build`

  Aktualisiert das Erstellungssystem und beginnt den Kompiliervorgang von vorne.

`--reconfigure`

  Führt die Befehle `cmake` (für &kde;-Module) oder `configure` (für &Qt;) nochmal aus, ohne den Erstellungsordner zu löschen. Diese Option ist normalerweise nicht erforderlich, da &kdesrc-build; erkennt, wenn wichtige Optionen geändert wurden, und dann das Erstellen erneut startet. Diese Option ist in `--refresh-build` automatisch enthalten.

`--resume-from`

  Mit dieser Option wird das Erstellen mit dem angegebenen Modul fortgesetzt, das als nächste Option auf der Befehlszeile angegebenen ist. Diese Option schließt automatisch `--no-src` ein. Sie sollten keine weiteren Modul-Namen auf der Befehlszeile übergeben.

  Siehe auch und . Diese Befehlszeilenoption sollten Sie benutzen, wenn Sie den Fehler beim Erstellen beseitigt haben und mit &kdesrc-build; das Erstellen fortsetzen möchten.

`--resume-after`

  Mit dieser Option wird das Erstellen mit dem als nächste Option auf der Befehlszeile angegebenen Modul fortgesetzt. Diese Option schließt automatisch `--no-src` ein. Sie sollten keine weiteren Modul-Namen auf der Befehlszeile übergeben.

  Siehe auch und . Diese Befehlszeilenoption sollten Sie benutzen, wenn Sie den Fehler beim Erstellen beseitigt und auch das betreffende Modul manuell erstellt und installiert haben und mit &kdesrc-build; das Erstellen mit dem nächsten Modul fortsetzen möchten.

`--rc-file`

  Der auf diese Option folgende Parameter ist die Einrichtungsdatei, aus der die Optionen eingelesen werden sollen. Die Voreinstellung für diesen Parameter ist `kdesrc-buildrc`. Diese Datei wird im aktuellen Ordner gesucht. Ist diese Datei nicht vorhanden wird die Datei `~/.kdesrc-buildrc` gelesen. Siehe auch .

`--run`

  Diese Option interpretiert den nächsten Parameter auf der Befehlszeile als Programm, das auszuführen ist. &kdesrc-build; beendet erst das Einlesen der Einrichtungsdatei, aktualisiert die Umgebungsvariablen und führt dann das Programm aus.

  Damit lässt sich keine neue Shell mit den Umgebungsvariablen von &kdesrc-build; starten, da interaktive Shells normalerweise mindestens einen Teil der Umgebungsvariablen wie `PATH` und `KDEDIRS` beim Startvorgang zurücksetzen.

  Möchten Sie die von &kdesrc-build; benutzten Umgebungsvariablen sehen, geben Sie den Befehl `printenv` ein.

      $ kdesrc-build --run printenv
      KDE_SESSION_VERSION=4
      SDL_AUDIODRIVER=alsa
      LANGUAGE=
      XCURSOR_THEME=Oxygen_Blue
      LESS=-R -M --shift 5
      QMAIL_CONTROLDIR=/var/qmail/control
      ... etc.

`--prefix=</pfad/zu/kde>`

  Ermöglicht Ihnen, den Ordner zu wählen, in den &kde; installiert wird. Diese Option schließt automatisch `--reconfigure` ein, aber die Option `--refresh-build` kann immer noch erforderlich sein.

`--revision`

  Mit dieser Option wird &kdesrc-build; eine vorgegebene Revisionsnummer für jedes Modul herunterladen. Damit werden alle Einstellungen der Optionen branch, tag oder revision für diese Module überschrieben.

  Diese Option sollten Sie nicht mehr verwenden, Sie wird nur noch unterstützt, damit ältere Skripte noch funktionieren

`--build-system-only`

  Mit dieser Option bricht &kdesrc-build; das Erstellen eines Moduls direkt vor der Ausführung des Befehls `make` ab. Diese option wird nur zur Kompatibilität mit älteren Versionen des Skripts unterstützt. Beim aktuellen Erstellungssystem für &kde; ist diese Option nicht mehr nötig.

`--install`

  Wenn dies der einzige Befehlszeilen-Parameter ist, wird versucht, alle Module zu installieren, die in der Datei `log/latest/build-status` aufgelistet sind. Wenn Sie nach `--install` weitere Parameter angeben, werden diese als Module interpretiert, die installiert werden sollen, auch wenn diese Module beim letzten Mal nicht erstellt werden konnten.

`--purge-old-logs`

  Mit dieser Einstellung löscht &kdesrc-build; nicht mehr benötigte Protokollordner nach dem Erstellen. Damit wird Platz auf der Festplatte gespart. Es werden alle Protokollordner gelöscht, die keine Verknüpfung von `log/latest` enthalten. Dies ist in der Voreinstellung nicht eingeschaltet. Weitere Informationen um diese Einstellung als Standard zu verwenden, finden Sie unter der Option purge-old-logs.

`--no-snapshots`

  Mit dieser Option geben Sie &kdesrc-build; an, für ein Modul immer das &subversion;-Archiv statt des komprimierten Archivs herunterzuladen.

  Komprimierte Archive sind tatsächlich &subversion;-Archive. Diese Option ist normalerweise nicht erforderlich, sie sollte nur bei Problemen mit dem Herunterladen benutzt werden.

`--<option-name>=`

  Dies können Sie verwenden, um eine Option in Ihrer Einrichtungsdatei für einzelne Module zu überschreiben. Beispiel: ``--log-dir=`/pfad/zu/ordner``` würde die Option log-dir überschreiben.

`--<modul-name>,<option-name>=`

  Mit dieser Option können Einstellungen aus der Einrichtungsdatei für ein einzelnes Module überschrieben werden.

Alle weiteren Parameter werden als Modul-Namen interpretiert, die aktualisiert oder kompiliert werden sollen. Verwechseln Sie Kompilieren nicht mit Installieren.

## &kdesrc-build; verwenden

### Einleitung

Nachdem Sie das gelesen haben, können Sie &kdesrc-build; im Terminal mit dieser Eingabe starten:

    &percnt; kdesrc-build

&kdesrc-build; lädt dann die Quelltexte für &kde; herunter und konfiguriert, kompiliert und installiert das &kde;-System.

In den folgenden Kapiteln erfahren Sie, wie &kdesrc-build; diese Aufgabe ausführt und welche weiteren Hilfen geboten werden.

### Grundfunktionen von &kdesrc-build;

#### Unterstützung für qt-copy

Als Hilfe für die Benutzer unterstützt &kdesrc-build; das Erstellen der &Qt;-Bibliothek, die von den &kde;-Programmen benutzt wird. Dabei handelt es sich um ein besonderes Modul mit dem Namen qt-copy.

&Qt; wird in einen eigenen Archiv auf http://qt.gitorious.org/qt unabhängig von der &kde;-Software entwickelt.

Um &Qt; zu erstellen, müssen Sie den Pfad qtdir für den Ordner einstellen, in den Sie &Qt; installieren möchten. Dies wird im Abschnitt beschrieben.

Stellen Sie sicher dass das Modul qt-copy in Ihrer Datei `.kdesrc-buildrc` enthalten ist und vor allen anderen Modulen steht. Wenn Sie die mitgelieferte Beispieldatei benutzen, müssen Sie nur das Kommentarzeichen vor dem Eintrag für das Modul qt-copy entfernen.

Nun sollten Sie überprüfen, ob die Optionen repository und branch richtig eingestellt sind.

1. Als erstes haben Sie die Möglichkeit, qt-copy mit einer Gruppe von empfohlenen Fehlerkorrekturen und Optimierungen zu erstellen. In früheren Versionen von &kdesrc-build; wurde dies mit der Option apply-patches festgelegt. Diese Qt-Version wird in einen eigenen Archiv auf http://gitorious.org/+kde-developers/qt/kde-qt entwickelt. Möchten Sie qt-copy mit diesen Korrekturen wie die meisten &kde;-Entwickler erstellen, geben Sie für die Option repository `git://gitorious.org/+kde-developers/qt/kde-qt.git` an.

2. Um andernfalls die Standardversion von &Qt; zu erstellen, geben Sie für das Archiv `git://gitorious.org/qt/qt.git` an.

In beiden Fällen sollten Sie die Option „branch“ auf `master` setzen, es sei denn, Sie möchten eine anderen Zweig (branch) erstellen.

Unter bestimmten Bedingungen funktioniert das zugrunde liegende Quelltext-Verwaltungssystem nicht richtig bei der Ausführung von &kdesrc-build;, aber ohne Probleme, wenn die gleichen Aktionen von der Befehlszeile aufgerufen werden. Dieser Fehler wird noch untersucht.

#### Standard-Parameter von &kdesrc-build;

&kdesrc-build; fügt einige Standardpfade zur der Entwicklungsumgebung hinzu:

- Der Pfad zu den &kde;- und &Qt;-Bibliotheken wird automatisch zur Variablen `LD_LIBRARY_PATH` hinzugefügt. Es ist nicht erforderlich, &libpath; zu bearbeiten und den Pfad dort einzutragen.

- Der Pfad zu den &kde;- und &Qt;-Hilfsprogrammen für die Entwicklung wird automatisch zur Variablen `PATH` hinzugefügt. Es ist nicht erforderlich, &binpath; zu bearbeiten und den Pfad dort einzutragen.

- Der Pfad zum Programm pkg-config von &kde; wird automatisch zur Variablen `PKG_CONFIG_PATH` hinzugefügt. Es ist nicht erforderlich, &set-env; zu bearbeiten und den Pfad dort einzutragen.

- Die Einstellung für &kdedir; wird automatisch beim Erstellen zur Umgebungsvariablen `KDEDIR` hinzugefügt. Die Variable `KDEDIRS` wird nicht verändert.

- Die Einstellung für &qtdir; wird automatisch beim Erstellen zur Umgebungsvariablen `QTDIR` hinzugefügt.

#### Ändern der Priorität von &kdesrc-build; beim Erstellen

Programme können auf Betriebssystemen wie &Linux; und &BSD; mit unterschiedlichen Prioritäten ausgeführt werden. Damit werden den verschiedenen Programmen je nach Wichtigkeit vom System unterschiedliche Anteile an der Prozessorlaufzeit zugewiesen.

&kdesrc-build; wird normalerweise mit einer niedrigen Priorität ausgeführt, sodass die Ausführung der anderen laufenden Programme auf dem System nicht behindert wird. Mit dieser Technik verwendet &kdesrc-build; CPU-Zeit, wenn sie verfügbar ist.

&kdesrc-build; wird aber noch mit einer genügend hohen Priorität gestartet, dass es vorrangig vor normalen Wartungsprogrammen oder Programmen wie Seti@Home ausgeführt wird.

Um &kdesrc-build; immer mit niedrigerer oder höherer Priorität auszuführen, muss die Einstellung für &niceness; in der Einrichtungsdatei geändert werden. Dabei bedeutet ein höherer Wert für &niceness; eine niedrigere Priorität und umgekehrt. Der Wert für &niceness; kann zwischen 0 - höchste Priorität - und 20 - niedrigste Priorität liegen.

Mit der Befehlszeilenoption &cmd-nice; kann &kdesrc-build; vorübergehend mit geänderter Priorität ausgeführt werden. Für diesen Befehl werden die gleichen Werte wie für &niceness; verwendet.

Programme können vom Systemverwalter sogar mit einem negativen Nice-Wert und damit sehr hoher Priorität ausgeführt werden. &kdesrc-build; mit einer &niceness; von 0 laufen zu lassen, spart nicht merklich Zeit, kann aber dazu führen, dass andere Programme auf dem Rechner nur noch träge reagieren.

Um &kdesrc-build; mit einem Nice-Wert von 15 (kleiner als normal) auszuführen. geben Sie folgendes ein:

    &percnt; kdesrc-build --nice=15

Alternativ ändern Sie den Wert dauerhaft in der Einrichtungsdatei:

    &niceness; 15

Die Option niceness beeinflusst nur die Auslastung des Prozessors Ihres Rechners. Ein weiterer wichtiger Einfluß der Leistungsfähigkeit eines Rechners ist die Auslastung der Dateneingabe oder -Ausgabe (I/O) durch ein Programm. Um festzulegen, wieviel dieser Ein-/Ausgabe (I/O) ein Programm benutzen darf, kann in modernen &Linux;-Systemen das Werkzeug ionice benutzt werden. &kdesrc-build; unterstützt ionice mit der Option use-idle-io-priority seit der &kdesrc-build;-Version 1.12. ionice kann aber nur ein- oder ausgeschaltet werden.

#### Installation als Systemverwalter

&kdesrc-build; kann auch mit der Berechtigung des Systemverwalters ausgeführt werden, zum Beispiel für eine nicht empfohlene Installation in den Systemordnern. Es gibt aber einige Module wie besonders kdebase, die Programme installieren, die mit erweiterten Berechtigungen ausgeführt werden müssen. Dazu müssen diese Programme aber auch mit erweiterten Berechtigungen installiert werden.

&kdesrc-build; könnte einfach mit der Berechtigung des Systemverwalters ausgeführt werden, aber davon wird abgeraten, da das Programm für diesen Anwendungsfall nicht getestet wurde. Wenn immer möglich, sollte ein Programm mit begrenzten Berechtigungen ausgeführt werden.

Dazu gibt es in &kdesrc-build; die Option &make-install-prefix;. Mit dieser Option wird ein Befehl angegeben, der die Installation mit der Berechtigung eines anderen Benutzers ausführt. Es wird empfohlen, für diese Option den Befehl &sudo; zu benutzen, damit kann die Installation als Systemverwalter ausgeführt werden.

Um zum Beispiel alle Module mit &sudo; zu installieren, geben Sie folgendes ein:

    global
      &make-install-prefix; sudo
      # Weitere Optionen
    end global

Um &make-install-prefix; nur für ein einzelnes Modul zu benutzen, geben Sie folgendes ein:

    module kdemultimedia
      &make-install-prefix; sudo
    end module

#### Fortschrittsanzeige beim Erstellen eines Moduls anzeigen

Diese Funktion wird immer automatisch aktiviert. Sie zeigt den geschätzten Fortschritt für das Erstellen eines Moduls an. Damit ist erkennbar, wie lange das Erstellen eines Moduls noch dauert.

### Weitergehende Funktionen

#### Teile eines Moduls erstellen

Es ist möglich, nur Teile eines einzelnen &kde;-Moduls zu erstellen, zum Beispiel nur ein Programm aus einem Modul. Das ist mit &kdesrc-build; einfach durchzuführen, es gibt dafür mehrere Möglichkeiten.

##### Teile eines Moduls herunterladen

Mit dieser Methode wird Zeit beim Herunterladen und Speicherplatz auf der Festplatte eingespart. &kdesrc-build; lädt nur die angegebenen Teile eines Moduls herunter. Dazu wird die Option &checkout-only; mit einer Liste der herunterzuladenden Ordner für ein Modul verwendet.

Wenn Sie nicht genau wissen, welche Programme ein Modul enthält, sollten Sie zuerst die Ordner im Modul mit WebSVN ansehen.

Um nur &kuser; und KSystemLog aus dem Modul kdeadmin herunterzuladen, benutzen Sie &checkout-only; wie im folgenden Beispiel:

    module kdeadmin
      &checkout-only; kuser ksystemlog
    end module

Die Ordner werden in der gleichen Reihenfolge wie in der Liste kompiliert. Wenn für das Kompilieren eines Ordners vorher andere Teile des Moduls kompiliert werden müssen, sind alle erforderlichen Ordner zusammen in die Zeile &checkout-only; einzutragen, und zwar in der richtigen Reihenfolge entsprechend den Abhängigkeiten.

Manchmal benötigt ein Programm andere Ordner, aber es ist nicht direkt erkennbar welche erforderlich sind. In diesem Fall ist es am einfachsten, einen Ordner nach dem anderen hinzuzufügen bis das Erstellen gelingt. Diese Option funktioniert nur, wenn das Erstellungssystem des Moduls dies unterstützt. Daher ist die Option nur für Module sinnvoll, die aus einer Sammlung von einzelnen Programmen bestehen.

Ein letzter Hinweis zu dieser Option: Wenn der Wert der Option geändert wird, sollte mit ``kdesrc-build` `&cmd-refresh-build;` `module`` sichergestellt werden, dass das Modul korrekt neu konfiguriert wird. &kdesrc-build; entfernt keine vorhandenen Dateien, wenn einige Ordner aus der Option &checkout-only; gelöscht oder diese Option für ein bereits heruntergeladenes Modul eingefügt wird.

##### Ordner beim Erstellen auslassen

Anstatt die Menge der herunterzuladenden Quelltexte zu beschränken, kann alles heruntergeladen werden und einige wenige Ordner werden beim Kompilieren ausgelassen. Diese Vorgehensweise kann zum Beispiel benutzt werden, wenn bei einem Ordner immer Fehler auftreten, dieser Ordner aber für die übrigen Programme im Modul nicht erforderlich ist.

Dazu wird die Option &do-not-compile; verwendet, Sie funktioniert ähnlich wie die gerade beschriebene Option &checkout-only; und enthält ebenfalls eine Liste der Ordner, die nicht kompiliert werden sollen.

Wie &checkout-only; erfordert auch diese Option, dass das Erstellungssystem nach den Änderungen für das Modul erneut ausgeführt wird. Dies erreichen Sie mit dem Befehl ``kdesrc-build` `&cmd-reconfigure;` `module``.

Um den Ordner `python` beim Erstellen des Moduls kdebindings auszulassen, geben Sie folgendes ein:

    module kdebindings
      &do-not-compile; python
    end module

Diese Option hängt von einigen Standardkonventionen ab, die in den meisten &kde;-Modulen benutzt werden. Daher kann diese Option für einige Programme nicht funktionieren.

#### Zweige (Branches) und Tags mit &kdesrc-build; verwenden

##### Was sind eigentlich Zweige (Branches) und Tags?

&subversion; verwaltet den Verlauf der Änderungen am &kde;-Quelltext. Im &kde;-System werden mit dieser Funktion Zweige für die Entwicklung und Tags des Archivs für eine Veröffentlichung erstellt.

Die &kmail;-Entwickler können zum Beispiel an neuen Funktionen in einem eigenen Zweig arbeiten, ohne Fehler in die von den meisten Entwicklern benutzten Hauptversion einzubringen. Im getrennten Zweig kann die Software unabhängig von der ebenfalls weiterentwickelten Hauptversion /trunk verbessert werden.

Ein Tag ist ein Abbild des Quelltextarchivs zu einem bestimmten Zeitpunkt. Die &kde;-Systemverwalter verwenden Tags , um eine neue Version des Quelltextes für eine Veröffentlichung zu kennzeichnen. Die Softwareentwicklung kann dann in der Hauptversion /trunk weitergehen.

In &subversion; gibt es keinen Unterschied zwischen Zweigen, Tags oder Trunk im Quelltext. Diese Bezeichnungen sind nur eine Konvention der Entwickler. Damit ist es schwierig, Zweige und Tags in &kdesrc-build; richtig zu verarbeiten.

##### Zweige (Branches) und Tags verwenden

Zweige und Tags werden mit einigen Optionen angegeben, von einer generellen Angabe für eine Version bis zu bestimmten &url;s zum Herunterladen für erfahrene Benutzer.

Am einfachsten ist es, die Optionen &branch; und &tag; zu verwenden. Dazu wird die Option mit dem Namen des gewünschten Zweigs oder Tags für ein Modul angegeben. &kdesrc-build; ermittelt dann den passenden Pfad im &kde;-Archiv. Für die meisten &kde;.-Module funktioniert das ohne Probleme.

Mit diesem Eintrag wird das Modul kdelibs aus &kde; 4.5 - 4.5-Zweig genannt - heruntergeladen:

    module kdelibs
      branch 4.5
      # weitere Optionen...
    end module

Mit diesem Eintrag wird das Modul kdemultimedia aus &kde; 4.5.1 heruntergeladen:

    module kdemultimedia
      tag 4.5.1
      # weitere Optionen...
    end module

Für die Option branch kann ein globaler Wert eingestellt werden. Denken Sie aber daran, für alle Module einen zutreffenden Zweig (branch) einzustellen, die diesen globalen Wert nicht verwenden sollen.

##### Erweiterte Optionen für Zweige (branch)

&kdesrc-build; bietet zwei Optionen für Situationen, in denen mit &branch; und &tag; der falsche Pfad benutzt wird: &module-base-path; und &override-url;.

- Mit &module-base-path; kann &kdesrc-build; den fehlenden Teil für den Pfad eines Moduls einfügen. Im &kde;-Archiv haben alle Pfade die Form `svnRoot/module-base-path/module-name`. Normalerweise ist &kdesrc-build; dazu in der Lage, den passenden mittleren Teil des Pfades selbst zu bestimmen. Funktioniert dies nicht, ist &module-base-path; wie im folgenden Beispiel zu verwenden:

      module kdesupport
          # kdesupport supports various tags to easily organize the required
          # software for a given KDE Platform release.
          module-base-path tags/kdesupport-for-4.5
      end module

  Mit dieser Option lädt &kdesrc-build; in diesem Beispiel kdesupport von `svn://anonsvn.kde.org/home/kde/tags/kdesupport-for-4.5` herunter.

  In früheren Versionen von &kdesrc-build; wurde die Option &module-base-path; anders verwendet. Stellen Sie Probleme mit einer alten Definition für diese Option fest, überprüfen Sie ob der tatsächliche Pfad in der von &kdesrc-build; erwarteten Form vorliegt, indem Sie die Option --pretend benutzen.

- Die Option &override-url; erfordert die genaue Angabe des Pfades zum Modul im Archiv. Damit wird es &kdesrc-build; ermöglicht, Module zu laden, die mit den anderen Optionen nicht eingegeben werden können. Zurzeit sollte die Option &module-base-path; für alle Subversion-Archive funktionieren.

  &kdesrc-build; ändert oder bearbeitet den angegebenen Wert für die Option &override-url; nicht. Wenn die Einstellung &svn-server; geändert wird, müssen auch die Pfade in &override-url; entsprechend angepasst werden.

#### Arbeitsweise von &kdesrc-build; zum erfolgreichen Erstellen

##### Automatisch das Erstellen neu ausführen

&kdesrc-build; enthielt in früheren Versionen Funktionen, um ein Module nach einem Fehler automatisch wieder neu zu erstellen. Dieses Verhalten war häufig wegen Fehlern im alten Erstellungssystem erfolgreich. Mit dem Wechsel zu &cmake; sind diese Fehler beseitigt, daher versucht &kdesrc-build; nur noch einmal, ein Modul zu erstellen. Trotzdem gibt es noch Situationen, in denen &kdesrc-build; automatisch aus diesen Gründen ein Modul erneut erstellt:

- Wenn Sie für ein Modul configure-flags oder cmake-options geändert haben, erkannt &kdesrc-build; dies und führt automatisch erneut „configure“ oder „cmake“ für dieses Modul aus.

- Wenn der Erstellungsordner nicht vorhanden ist - auch wenn er nicht von &kdesrc-build; entfernt wurde - erstellt das Skript ihn automatisch neu. Damit ist es möglich, einen vollständigen --refresh-build nur für ein bestimmtes Modul und nicht für alle anderen Module auszuführen.

##### Module manuell neu erstellen

Wenn die Optionen oder der Quelltext eines Moduls in einer Weise geändert wurden, die von &kdesrc-build; nicht erkannt wird, muss ein Modul manuell neu erstellt werden.

Dazu wird der Befehl ``kdesrc-build` `--refresh-build` `module`` ausgeführt.

Wenn dies erst bei der nächsten normalen Ausführung von &kdesrc-build; automatisch erfolgen soll, kann eine Datei `.refresh-me` in den Erstellungsordner eines Moduls geschrieben werden. So wird &kdesrc-build; bei der nächsten Ausführung das Modul neu erstellen und nicht wie normalerweise nur inkrementell.

In der Voreinstellung ist der Erstellungsordner `~/kdesrc/build/module/`. Haben Sie die Einstellung für die Option &build-dir; geändert, verwenden Sie diese Einstellung anstelle von `~/kdesrc/build`.

Neu erstellen mit `.refresh-me` für das Modul kdelibs:

    % touch ~/kdesrc/build/kdelibs.refresh-me
    % kdesrc-build

#### Einstellungen für Umgebungsvariablen ändern

Normalerweise benutzt &kdesrc-build; die Umgebungsvariablen, die beim Start des Skripts gesetzt sind, um den Quelltext zu aktualisieren und zu kompilieren. Das funktioniert ohne Probleme, wenn Sie &kdesrc-build; von der Befehlszeile ausführen.

Manchmal möchten Sie die Umgebungsvariablen ändern, für die keine Optionen in &kdesrc-build; vorhanden sind. Wenn Sie zum Beispiel &kdesrc-build; als &cron;-Job regelmäßig ausführen möchten, können Sie mit der Option &set-env; alle dafür nötigen Umgebungsvariablen setzen.

Anders als alle anderen Optionen kann diese Option mehrfach verwendet werden. Sie erfordert zwei durch Leerzeichen getrennte Einträge. Der erste Eintrag ist der Name der Umgebungsvariablen und der zweite der einzustellende Wert.

Setzt ``DISTRO`=BSD` für alle Module:

    global
      set-env DISTRO BSD
    end global

#### Das Erstellen fortsetzen

##### Ein abgebrochenes oder fehlgeschlagenes Erstellen fortsetzen

&kdesrc-build; kann das Erstellen mit einem bestimmten Modul fortsetzen. Diese Funktion kann mit den Optionen &cmd-resume-from; und &cmd-resume-after; benutzt werden, wenn bei einigen Modulen Fehler aufgetreten sind, oder das Kompilieren abgebrochen wurde.

Benutzen Sie diese beiden Optionen, wird das Aktualisieren des Quelltextes übersprungen.

Das Erstellen mit kdebase fortsetzen:

    % kdesrc-build --resume-from=kdebase

Das Erstellen mit dem Modul nach kdebase fortsetzen (für den Fall, dass Sie den Fehler in kdebase manuell beseitigt und dieses Modul selbst installiert haben):

    % kdesrc-build --resume-after=kdebase

##### Module vom Erstellen ausschließen

Ähnlich wie das Erstellen eines Moduls fortgesetzt wird, kann statt dessen das Aktualisieren und Erstellen für alles ausgeführt werden, wobei einige Module ausgelassen werden.

Verwenden Sie dazu die Option &cmd-ignore-modules;. Damit werden alle mit dieser Option angegebenen Module nicht aktualisiert oder erstellt.

Mit dieser Eingabe werden extragear/multimedia und kdereview beim Erstellen ausgelassen:

    % kdesrc-build --ignore-modules extragear/multimedia kdereview

#### Optionen auf der Befehlszeile ändern

##### Globale Optionen ändern

Die Einstellungen aus der Einrichtungsdatei können auf der Befehlszeile geändert werden. Damit werden die globalen Einstellungen nur für die Ausführung dieses Befehls überschrieben.

In &kdesrc-build; können interne Optionen mit Namen wie option-name durch Eingabe eines Arguments auf der Befehlszeile in der Form ``--option-name=value`` geändert werden. &kdesrc-build; sucht den angegebenen Namen in der internen Liste der Optionen. Wird der Name nicht gefunden, so wird eine Warnung ausgegeben, andernfalls wird der angegeben Wert der Option übernommen und der Wert aus der Einrichtungsdatei überschrieben.

Einstellung der Option &source-dir; auf `/dev/null` zum Testen:

    % kdesrc-build --pretend --source-dir=/dev/null

##### Änderung der Optionen für Module

Sie können Optionen nur für bestimmte Module ändern. Die Syntax ist ähnlich: --module,option-name=value.

Diese Änderung überschreibt jede Einstellung für das Modul aus der Einstellungsdatei und wird nur bei Eingabe auf der Befehlszeile benutzt.

Mit dieser Eingabe wird ein anderer Ordner zum Erstellen des Moduls kdeedu verwendet:

    % kdesrc-build --kdeedu,build-dir=temp-build

### Funktionen für &kde;-Entwickler

#### Überprüfung des &ssh;-Agenten

&kdesrc-build; kann überprüfen, ob &kde;-Entwickler mit &ssh;-Zugriff auf das &kde;-Quelltextarchiv nicht aus Versehen den Dienst &ssh;-Agent deaktiviert haben. In diesem Fall würde &kdesrc-build; auf die Eingabe des &ssh;-Passwort des Entwicklers warten und die Ausführung anhalten. Daher wird als Standard vor dem Aktualisieren der Quelltexte überprüft, ob der Dienst &ssh;-Agent läuft.

Dies ist nur für &kde;-Entwickler mit &ssh;-Zugriff auf das Archiv erforderlich, über anonymes SVN kann der Quelltext ohne Passwort heruntergeladen werden.

Diese Prüfung kann für die Fälle abgeschaltet werden, in denen &kdesrc-build; irrtümlicherweise diesen Dienst falsch erkennt. Um die Überprüfung des &ssh;-Agenten abzuschalten, setzen Sie die Option `disable-agent-check` auf true.

Überprüfung des &ssh;-Agenten abschalten:

    global
      disable-agent-check true
    end global

### Weitere Funktionen von &kdesrc-build;

#### Ausgabe des Skripts &kdesrc-build; einstellen

&kdesrc-build; hat mehrere Optionen, um den Umfang der vom Skript generierten Ausgaben einzustellen. Fehler werden in jedem Fall angezeigt.

- Mit der Option `--quiet` (Kurzform `-q`) werden nur wichtige Meldungen, Warnungen und Fehler angezeigt. Wenn verfügbar, wird auch der Fortschritt beim Erstellen ausgegeben.

- Mit der Option `--really-quiet` (keine Kurzform) werden nur wichtige Warnungen oder Fehler angezeigt.

- Mit der Option `--verbose` (Kurzform `-v`) wird eine sehr detaillierte Ausgabe eingestellt.

- Die Option `--debug` ist nur für die Fehlersuche erforderlich, damit verhält sich &kdesrc-build; als wenn die Option `--verbose` aktiviert ist. Zusätzlich werden alle Meldungen auf der Konsole und viele Informationen über die ausgeführten Funktionen ausgegeben.

#### Farbige Ausgaben

Bei der Ausführung von &kdesrc-build; in der &konsole; oder einem anderen Terminal wird die Ausgabe nomalerweise als farbiger Text dargestellt.

Dies kann mit der Option `--no-color` auf der Befehlszeile ausgeschaltet werden oder indem in der Einrichtungsdatei die Option &colorful-output; gleich false gesetzt wird.

Farbige Ausgabe in der Einrichtungsdatei abschalten:

    global
      colorful-output false
    end global

#### E-Mail-Benachrichtigung über Fehler beim Erstellen

&kdesrc-build; kann E-Mails an eine beliebige Adresse senden, wenn das Erstellen eines Moduls fehlgeschlagen ist. Geben Sie dazu E-Mail-Adressen für den Absender und den Empfänger der Fehlerberichte an.

&kdesrc-build; stellt dann am Ende der Ausführung eine E-Mail zusammen, sofern das Erstellen eines Modules fehlgeschlagen ist. Diese E-Mail enthält ein gekürztes Fehlerprotokoll für jedes Modul. Es wird nur eine E-Mail verschickt, auch wenn Fehler in mehreren Modulen aufgetreten sind.

Diese Funktion ist als Voreinstellung ausgeschaltet. Um sie zu aktivieren, muss sowohl die Option &email-address; als auch &email-on-compile-error; gesetzt werden. Die Option `email-address` enthält die Absenderadresse und die Option `email-on-compile-error` die Empfängeradresse.

&kdesrc-build; benutzt das Standard-Perlmodul Mail::Mailer zum Versenden von E-Mails. Diese Modul ist in Perl 5.8 enthalten und kann für Perl 5.6 installiert werden. Das Modul Mail::Mailer kann Sendmail (einschließlich Sendmail-kompatibler E-Mail-Dienste), Transport über SMTP und qmail verwenden.

Versenden einer E-Mail von foo@example.com an bar@example.com bei einem Fehler beim Erstellen:

    global
      email-address          foo@example.com    # From: address for any kdesrc-build e-mail
      email-on-compile-error bar@example.com    # To: address for build failure e-mail
    end global

#### Ordner nach dem Erstellen löschen

Sie haben wenig Festplattenspeicherplatz, möchten aber trotzdem die Entwicklerversion von &kde; herunterladen? &kdesrc-build; kann dabei helfen, Speicher auf der Festplatte beim Erstellen von &kde; aus dem &subversion;-Archiv einzusparen.

Beachten Sie, dass das Erstellen von &kde; viel Speicherplatz benötigt. Dafür gibt es mehrere Ursachen:

1. Der aktuelle Quelltext beansprucht viel Speicherplatz, alle Standardmodule zusammen etwa 1,6 Gigabyte. Diesen Wert können Sie dadurch verringern, dass nur die tatsächlich erforderlichen Module heruntergeladen werden. &kdesrc-build; löscht keinen Quelltext von der Festplatte, auch wenn ein Modul aus der Einrichtungsdatei entfernt wird. Unbenutzter Quelltext muss manuell gelöscht werden. Es sollten aber keine Quelltexte gelöscht werden, wenn &kdesrc-build; noch läuft.

   Wenn Sie &Qt; bereits über Ihre Distribution installiert haben, können Sie vielleicht auf das Modul qt-copy verzichten und damit etwa 200 MB Quelltext einsparen.

   Ein Hinweis zur Arbeitsweise von &subversion;: Es gibt immer zwei Dateien auf der Festplatte für jede aus dem Archiv heruntergeladene Datei. Mit &kdesrc-build; ist es zurzeit nicht möglich, den von nicht verwendetem Quelltext belegten Speicherplatz frei zu machen.

2. &kdesrc-build; erstellt einen eigenen Ordner zum Erstellen der Programme aus den Quelltexten. Manchmal muss &kdesrc-build; einen Quelltextordner kopieren, um einen Erstellungsordner vorzutäuschen. In diesem Fall werden symbolische Verknüpfungen verwendet. Der Erstellungsordner ist typischerweise erheblich größer als der Quelltextordner. Für kdebase werden im Erstellungsordner etwa 1050 Megabyte benötigt, für den Quelltext jedoch nur 550 Megabyte.

   Der Ordner zum Kompilieren der Software wird aber nicht mehr benötigt, wenn das Modul erfolgreich erstellt und installiert worden ist. &kdesrc-build; kann automatisch den Erstellungsordner löschen, nachdem das Modul installiert wurde, ein Beispiel dazu wird weiter unten gezeigt. Damit ist es aber mit &kdesrc-build; nicht mehr möglich, nur die Änderungen in einem Modul zu kompilieren und damit Zeit einzusparen.

3. Außerdem ist noch Speicherplatz auf der Festplatte für den Installationsordner von &kde; erforderlich. Dieser Ordner verbraucht weniger Platz als der Erstellungsordner, genaue Angaben sind aber nicht möglich.

Wie kann der erforderliche Speicherplatz für &kde; verringert werden? Eine Möglichkeit ist die Verwendung der richtigen Kompiler-Schalter - Optimierung des Speicherbedarfs anstelle der Ausführungsgeschwindigkeit. Die andere Möglichkeit ist das Entfernen der Debugging-Informationen aus dem kompilierten &kde;, das spart viel Speicherplatz.

Bedenken Sie vor dem Entfernen der Debugging-Informationen: Entwicklersoftware kann viel häufiger abstürzen als eine stabile Version. Ohne Debugging-Informationen ist es kaum möglich, Fehlerberichte zu schreiben, die alle zur Behebung benötigten Informationen enthalten. Dazu müssen Sie unter Umständen ein Modul mit Debugging-Informationen neu kompilieren, um den Entwicklern ausreichende Informationen zur Behebung des Fehlers zu liefern. Bedenken Sie dies, wenn Sie Debugging-Informationen entfernen wollen.

Löschen des Erstellungsordners nach der Installation eines Moduls. Der Quelltextordner bleibt erhalten und das Debuggen ist eingeschaltet:

    global
      configure-flags      --enable-debug
      remove-after-install builddir        # Build-Ordner nach der Installation löschen
    end global

Löschen des Erstellungsordners nach der Installation, ohne Debugging-Informationen, mit Optimierung für die Dateigröße:

    global
      cxxflags             -Os             # Optimimierung für Dateigröße
      configure-flags      --disable-debug
      remove-after-install builddir        # Build-Ordner nach der Installation löschen
    end global

## &cmake;, das System zum Erstellen von &kde; 4

### Einführung zu &cmake;

Im März 2006 wurde &cmake; als neues System zum Erstellen von &kde; 4 ausgewählt. Damit wurde das autotools-basierte System abgelöst, das in &kde; von Anfang an verwendet wurde.

Eine Einführung zu &cmake; finden Sie auf der &kde; TechBase. Anstatt ``make` `-f` `Makefile.cvs``, `configure` und &make; wird nur noch &cmake; und dann &make; eingegeben.

Einige Funktionen von &kdesrc-build; waren tatsächlich Funktionen des Erstellungssystems, wie configure-flags und do-not-compile. Alle diese Funktionen sind auch weiterhin verfügbar, wenn sie durch &cmake; unterstützt werden. Als Ersatz für die Option „configure-flags“ gibt es in &cmake; cmake-options und die Option do-not-compile wird auch seit &kdesrc-build; Version 1.6.3 unterstützt.

## Danksagungen und Lizenz

Übersetzung: Thomas Reitelbachtr@erdfunkstelle.de

&underFDL;