Configure-de

From AMule Project FAQ
Jump to: navigation, search
English | Deutsch

Einleitung

configure konfiguriert aMule zur Verwendung auf vielen verschiedenen Systemen.

Sein Zeck is es, das Portieren auf unterschiedliche Plattformen, und das Kompilieren und Ausführen auf diesen zu vereinfachen.

Du kannst viele Parameter nutzen, um es auf dein System anzupassen, oder die Funktionalität zu beeinflussen.

ACHTUNG: Dieser Artikel bezieht sich auf aMules configure. Andere configure Skripte arbeiten ähnlich, aber deren Optionen können abweichen. Dieser Artikel kann für diese auch nützlich sein, aber sie können Optionen enthalten oder auch nicht enthalten die hier aufgeführt sind.

Grundsätzliche Nutzung

Grundsätzlich wird ./configure [OPTION]... [VARIABLE=WERT]... genutzt.

Du kannst also sein Verhalten durch Optionen und Variablen verändern.

Optionen

Du kannst eine odere mehrere Optionen definieren. Die verfügbaren Optionen in aMules configure sind hier aufgeführt. Um besser zu verstehen was sie bedeuten, wurden sie zu Gruppen, die configure in ähnlicher Weise steuern, zusammengefaßt.

Beachte, das configure sich (in den meisten Fällen) nicht beschwert, wenn du eine ungültige Variable oder Option eingibst. Also achte darauf die korrekten Optionen zu übergeben (keine Schreibfehler) oder sie werden ignoriert werden und configure wird sich anders verhalten als du es erwartest.

Haupt Optionen

Diese Optionen existieren in jedem configure Skript der Welt. Sie lassen das configure Skript nicht dein Programm konfigurieren, sondern geben Informationen aus die du vielleicht benötigst.

Grund Optionen
-h oder --help Gibt eine Hilfeseite mit allen configure Ooptionen aus.
--help=short Dies gibt eine Hilfeseite mit allen Optionen die spezifisch für diese Anwendung sind.
-V oder --version Gibt die Versionsinformationen aus.

Nicht kompilationsbezogene Optionen

Diese Optionen sollten auch in jedem configure Skript enthalten sein. Sie stellen einige Optionen ein, die sich nicht auf den eigentlichen Kompilier Vorgang beziehen.

Optionen die sich direkt auf das configure Skript beziehen
-q oder --quiet oder --silent Gebe nicht die 'checking...' Meldungen, sondern nur die abschließende Zusammenfassung aus.
--cache-file=DATEI Speicher die "checking" Ausgaben in DATEI in einem Skript Format, so das sie ohne erneuten configure-Lauf wiederverwendet werden können (Lies die DATEI für mehr Informationen)
-C oder --config-cache Das selbe wie --cache-file=config.cache
-n oder --no-create Nur configure ausführen aber keine Dateien erstellen
--srcdir=DIR Suche die Quellen in DIR. Voreinstellung, das configure oder das übergeordnete (../) Verzeichnis

Allgemeine Optionen

Auch diese Optionen sollten in jedem configure Skript zu finden sein. Dieses Mal beeinflussen sie aber direkt den Kompilierevorgang, nutze sie also vorsichtig. Du solltest einen Blick in das README Dokument (falls verfügbar) werfen falls du eine von ihnen verwenden willst (und auch falls du das nicht willst, weil es sein kann das du einige von ihnen nutzen musst).

Installations Verzeichnis Optionen
--prefix=PFAD Architektur unabhängige Dateien (Daten) werden in PFAD installiert. Voreinstellung ist /usr/local
--exec-prefix=EPFAD Architekturabhängige Datei (meistens Programme werden in EPFAD installiert. Voreinstellung ist das selbe wie PFAD.
Erweiterte Installationsverzeichnis Optionen
--bindir=PFAD Wo werden Programme für Benutzer installiert. Voreinstellung, EPFAD/bin
--sbindir=PFAD Wo werden Programme für den Administrator installiert. Voreinstellung, EPFAD/sbin
--libexecdir=PFAD Wo ausführbare Programme installiert werden. Voreinstellung EPFAD/libexec
--datadir=PFAD Wo unveränderliche architekturunabhängige Daten gespeichert werden. Voreinstellung, EPFAD/share
--sysconfdir=PFAD Wo Daten die sich auf die einzelne Maschine beziehengespeichert werden. Voreinstellung, PFAD/etc
--sharedstatedir=PFAD Wo architekturabhängige veränderliche Daten gespeichert werden. Voreinstellung PFAD/com
--localstatedir=PFAD Wo veränderliche maschinenbezogene Daten gespeichert werden. Voreinstellung, PFAD/var
--libdir=PFAD Wo Bibliothekscode gesucht werden soll. Voreinstellung, EPFAD/lib
--includedir=PFAD Verzeichnis der C Headerdateien. Voreinstellung, PFAD/include
--oldincludedir=PFAD Verzeichnis der nicht-GCC C Headerdateien. Voreinstellung, /usr/include
--infodir=PFAD Wo die Dokumentation gespeichert wird. Voreinstellung, EPFAD/info
--mandir=PFAD Wo die Hilfeseiten für 'man' gespeichert werden. Voreinstellung, EPFAD/man
Generelle Regeln um Programmteile zu (de)aktivieren und Pfade anzugeben
--program-prefix=PRÄFIX PRÄFIX das installierten Programmen vorangestellt wird
--program-suffix=SUFFIX SUFFIX das installierten Programmen angehängt wird
--program-transform-name=ERSETZUNG Führe sed ERSETZUNG am installierten Programnamen
Generelle Regel um Funktionen zu (de)aktivieren (manchmal (de)aktiviert dies das Kompilieren eines ganzen Programms)
--disable-FUNKTION Nutze FUNKTION nicht. Equivalent zu --enable-FUNKTION=no (siehe unten)
--enable-FUNKTION Nutze FUNKTION. Equivalent zu --enable-FUNKTION=yes (siehe unten)
--enable-FUNKTION=WERT Nutze FUNKTION und spezifiziere deren Wert mit WERT. Die Bedeutung dieses Wertes solte in der Ausgabe von configure --help erklärt sein
--without-PAKET Nutze PAKET nicht. Equivalent zu --with-PAKET=no (siehe unten)
--with-PAKET Nutze PAKET. Equivalent zu --with-PAKET=yes (siehe unten)
--with-PAKET=WERT Nutze PAKET und setze seinen Wert auf WERT
System Spezifikationen
--build=PLATTFORM Konfiguriere für den Bau auf PLATTFORM. Voreinstellung, die Plattform auf der es ausgeführt wird
--host=HOST Erstelle das Programm um auf HOST ausführbar zu sein. Voreinstellung, das selbe wie BUILD
--target=ZIEL Konfiguriere um auf der ZIEL Plattform gebaut zu werden. Voreinstellung, das selbe wie HOST

Verbreitete Optionen

In den meisten configure Skripten kannst du auch folgende Optionen verwenden.

Verbreitete Compiler Optionen
--with-gnu-ld Nutze GNU ld als Linker, ohne zu prüfen ob dieser der Standardlinker ist
X Verzeichnis Angaben
--with-x Nutze das X Window System
--x-includes=DIR DIR enthält die include-Dateien von X
--x-libraries=DIR DIR enthält die X Bibliotheken

aMule Optionen

Die folgenden Optionen sind spezifisch für aMules configure Skript. Sie erlauben dir sie zu aktivieren und zu deaktivieren, deswegen solltest du sie dir ansehen bevor du traurig feststellen musst das du verschiedene Dinge an deinem aMule system vermisst ;-)

Entwickler Optionen
--enable-maintainer-mode Aktiviere einige extra Befehle die nur für Entwicklung interessant (und absolut nicht für normale Nutzer zu empfehlen) sind
--disable-dependency-tracking Beschleunigt das Kompilieren des Programms, verursacht aber Fehler wenn du etwas am Quelltext änderst und nochmal kompilieren willst. Dependency tracking (Abhängigkeitsverfolgung) erlaubt es dem Bauprozess zu überwachen was neu übersetzt werden muss wenn sich etwas ändert. Falls du nicht planst dieselben Quelltexte nochmal zu übersetzen, kannst du diese Option risikolos verwenden
--enable-dependency-tracking Beobachtet die Abhängigkeiten, so dass beim nächsten Lauf, nur geänderte Dateien neu gebaut werden. Dies bremst den Übersetztungsvorgang ein bisschen. Dies ist die Voreinstellung
--enable-ccache Aktiviere ccache. Dies wird nachfolgende übersetzungsvorgänge beschleunigen, da nur die modifizierten Codezeilen rekompiliert werden. Wenn du nicht planst aMule sehr häfig zu kompilieren, aktiviere diese Option nicht, da der erste Lauf wesentlich länger dauert, und eine Menge Speicherplatz verbraucht wird
--enable-profile Aktiviere Code Profiling (dies erlaubt es zu sehen wieviel Zeit und Resourcen ein jedem Teil des Codes verbraucht werden, dies wird die Ausführung von aMule stark bremsen, also, in den meisten Fällen: nicht nutzen). Die Ausgabedatei ist gmon.out und kann mit gprof angesehen werden. Für weiterführende Informationen, man gprof und man gcc (suche in der Handbuchseite von gcc nach der Kommandozeilenoption -pg)
Kompilations Tricks
--disable-debug Deaktiviert die Ausgabe der Programmausführung. Diese Informationen sind nützlich um Programmfehler zu finden, also solltest du diese Option nicht verwenden wenn du brauchbare Fehlerberichte erstellen willst
--enable-optimize Optimiert den Quelltext um (ein bisschen) schneller zu laufen. Diese Option erlaubt es dir nicht brauchbare Fehlerberichte zu erstellen
--disable-rpath Schreib nicht den Pfad der Bibleotheken in das fertige Programm. Nützlich nur, wenn du das Programm auf andere Systeme übertragen willst, oder deine Bibleotheken häufig verschiebst. Nutze dies nur wenn du weißt was du tust, da es aMule langsamer macht
--enable-static Erstellt eine statisch gelinkte Programmdatei, das bedeutet, das keine weiteren Bibleotheken benötigt werden, da diese in die Programmdatei integriert wurden. Diese Programmdatei kann dadurch schneller laufen und leichter auf Systeme der gleichen Plattform übertragen werden, sie wird aber auch wesentlich größer
Kompilieren von externen Bibleotheken
--disable-embedded_crypto Nutze aMules integrieten krypthografischen Code nicht. Dies kann zu einer unbenutzbaren Programmdatei führen
--disable-nls Nutze Native Sprachunterstützung nicht. Dadurch wird gettext nicht mehr benötigt, aber Übersetzungen sind nicht mehr möglich
aMule Programmauswahl
--disable-monolithic erstellt das monolithische aMule Programm nicht. Dies wird normallerweise nicht empfolen, ausser du weißt was du tust (z.B. nur den Daemon erstellen)
--enable-amule-daemon Kompiliere aMule Daemon
--enable-amulecmd Kompiliere den aMule Kommandozeilen Klient
--enable-webserver Kompiliere aMules WebServer
--enable-amule-gui Kompiliere aMule Remote GUI
--enable-cas Kompiliere C aMule Statistics
--enable-wxcas Kompiliere aMule GUI Statistics
--disable-ed2k Kompiliere aMules ed2k Linkverwalter nicht
--enable-alc Kompiliere aMuleLinkCreator GUI Version
--enable-alcc Kompiliere aMuleLinkCreator für Konsole
Konfigurations Tricks
--disable-gtktest Versuche nicht einen Test für GTK (entweder GTK1 oder GTK2 abhängig von deiner Systemkonfiguration) zu kompilieren um zu sehen ob dein System über eine funktionierende GTK Konfiguration verfügt. Dies beschleunigt das configure Skript ein (kleines) bisschen, trotzdem solltest du diese Option nur nutzen wenn du weißt was du tust, da das configure Skript einige Tests übersehen könnte

aMule Kompilier Einstellungen

Diese Optionen sind spezifisch für aMules konfigurations Skript, beeinflussen aber nicht aMule direkt. Sie legen nur fest wo sich verschiedene Bibleotheken oder Header auf deinem System befinden, so das aMule sie beim kompilieren finden kann. Nutze sie wenn diese Dateien sich in außergewönichen Pfaden befinden und du weißt was du tust.

Um diese Optionen besser zu verstehen lies den Abschnitt Allgemeine Optionen.

zLib
--with-zlib=PFAD Suche nach zLib Dateien in PFAD
Curl
--with-curl-config=CONFIG CONFIG ist der Pfad von curl-config
LibGD
--with-gdlib-prefix=PFAD Suche nach LibGD Dateien in PFAD
--with-gdlib-exec-prefix=PFAD Suche nach GDLib Bibleotheken in PFAD
--with-gdlib-config=CONFIG CONFIG ist der Pfad von gdlib-config
LibPNG
--with-libpng-prefix=PFAD Suche nach LibPNG Dateien in PFAD
--with-libpng-exec-prefix=PFAD Suche nach LibPNG Bibleotheken in PFAD
--with-libpng-config=CONFIG CONFIG ist der Pfad von libpng-config
wxWidgets
--with-wx-prefix=PFAD Suche nach wxWidgets Dateien in PFAD
--with-wx-exec-prefix=PFAD Suche nach wxWidgets Bibleotheken in PFAD
--with-wx-config=CONFIG CONFIG ist der Pfad von wx-config
wxBase
--with-wxbase-prefix=PFAD Suche nach wxBase Dateien in PFAD
--with-wxbase-exec-prefix=PFAD Suche nach wxBase Bibleotheken in PFAD
--with-wxbase-config=CONFIG CONFIG ist der Pfad von wxbase-config
GTK
--with-gtk-prefix=PFAD Suche nach GTK (nicht GTK2) Dateien in PFAD
--with-gtk-exec-prefix=PFAD Suche nach GTK (nicht GTK2) Bibleotheken in PFAD
Crypto++
--with-crypto-prefix=PFAD Suche nach Crypto++ Dateien in PFAD
LibIConv
--with-libiconv-prefix=PFAD Suche nach LibIConv Dateien in PFAD/include und PFAD/lib
--without-libiconv-prefix Suche nicht nach LibIConv in includedir und libdir
gettext
--with-included-gettext Nutze die GNU gettext Bibleothek im intl/ Verzeichnis anstelle der des Systems. Dies ist nur für ungewöhliche Systeme auf denen gettext, warum auch immer, nicht in der Lage ist aMules Katalogdateien zu verarbeiten
LibIntl
--with-libintl-prefix=PFAD Suche nach LibIntl Dateien in PFAD/include und PFAD/lib'
--without-libintl-prefix Suche nicht nach LibIntl in includedir und libdir
ccache
--with-ccache-prefix=PFAD Suche nach ccache Dateien in PFAD

Variable

Bevor du einen Blick auf Variable und was sie bedeuten wirfst, solltest du Nutzungsarten von Variblen lesen.

Nutzungsarten

Du kannst entweder Umgebungsvariablen oder direkt zu übergebende Variable für configure nutzen.

Umgebungsvariablen

Wenn du Umgebungsvariable nutzt, beeinflussen sie jedes Programm das du in dieser Shell, bis zum Ende der Sitzung, startest. Du musst sie setzen, bevor du configure startest. Um das zu tun nutze

'export VAR=WERT'

wobei VAR der Name der Umgebungsvariablen und WERT deren Wert darstellt.

Konfigurations Variable

Wenn du keine Umgebungsvariablen nutzen willst, kannst du sie configure auch direkt auf diese Weise übergeben:

configure VAR=WERT

wobei VAR der Name der Umgebungsvariablen und WERT deren Wert darstellt.

Variable und was sie bedeuten

Ändere diese Variablen NICHT solange du nicht genau weißt was du tust!

Dies sind einige der am häfigsten genutzten Variablen für configure:

Variable
CC C Kompilierprogramm das genutzt werden soll
CXX C++ Kompiliererprogramm das genutzt werden soll (z.B. g++)
CPP C Vorverarbeitungsprogramm das genutzt werden soll
CFLAGS Einstellungen für das C Kompilierprogramm
CXXCPP C++ Vorverarbeitungsprogramm das genutzt werden soll
CXXFLAGS Einstellungen für das C++ Kompilierprogramm
LDFLAGS Einstellungen für den Linker. Normalerweise zusätzliche Pfade für Bibleotheken (z.B. LDFLAGS="-L/usr/lib")
CPPFLAGS Einstellungen für das C/C++ Vorverarbeitungsprogramm (z.B. CPPFLAGS="-I/usr/include")

Weitere Informationen

Dieser Artikel ist hauptsächlich eine (idiotensichere) Erklärung der Ausgabe von configure --help.

Trotzdem kann sie (teilweise) veraltet sein. Wenn du also etwas mit configure tun willst das hier nicht aufgeführt ist, starte configure --help und sieh nach ob es dort steht.

Natürlich kannst du auch immer einen Blick auf die GNU configure Seite werfen. | |}