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
|
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
|
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
|
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.
|
|}