Dieser Abschnitt beschreibt den Status der wxWidgets-Bibliotheken in den Ports und deren Einbindung in das Ports-System.
Es gibt viele Probleme bei der gleichzeitigen Verwendung unterschiedlicher Versionen von wxWidgets-Bibliotheken (Dateien unterschiedlicher wxWidgets-Versionen haben denselben Dateinamen). In den Ports wurde das Problem dadurch gelöst, dass jede Version unter einem eigenen Namen installiert wird, der die Versionsnummer als Suffix beinhaltet.
Der offensichtliche Nachteil dabei ist, dass jede
Anwendung so verändert werden muss, dass sie die
erwartete Version vorfindet. Die meisten solcher
Anwendungen benutzen das
wx-config
-Skript, um die benötigten
Compiler- und Linkerflags zu erhalten. Dieses Skript hat
für jede verfügbare Version einen anderen Namen.
Die meisten Anwendungen beachten eine Umgebungsvariable oder
ein Argument beim configure
-Skript, um
das gewünschte wx-config
-Skript
festzulegen. Ansonsten müssen sie gepatcht
werden.
Um festzulegen, welche Version der wxWidgets verwendet werden soll, gibt es zwei Variablen (falls nur eine der beiden definiert wird, so wird die andere auf einen Standardwert gesetzt):
Variable | Beschreibung | Standardwert |
---|---|---|
USE_WX | Liste der Versionen, die der Port verwenden kann | Alle verfügbaren Versionen |
USE_WX_NOT | Liste der Versionen, die der Port nicht verwenden kann | Nichts |
Es folgt eine Liste an möglichen wxWidgets-Versionen und deren zugehöriger Port:
Version | Port |
---|---|
2.4 | x11-toolkits/wxgtk24 |
2.6 | x11-toolkits/wxgtk26 |
2.8 | x11-toolkits/wxgtk28 |
Ab Version 2.5
werden auch Versionen in
Unicode unterstützt und über einen Unterport
mit dem Suffix -unicode
installiert.
Dies kann aber auch über Variablen gehandhabt
werden (siehe Abschnitt 6.18.4, „Unicode“).
Die Variablen in Tabelle 6.24, „Variablen, um die wxWidgets-Version festzulegen“ können auf einen oder mehrere (durch Leerzeichen getrennt) der folgenden Werte gesetzt werden:
Beschreibung | Beispiel |
---|---|
Einzelne Version | 2.4 |
Aufsteigende Versionsnummern | 2.4+ |
Absteigende Versionsnummern | 2.6- |
Versionsinterval (muss aufsteigend sein) | 2.4-2.6 |
Desweiteren gibt es Variablen, über die eine bevorzugte Version festgelegt werden kann. Die Versionen können als Liste angegeben werden, wobei die Reihenfolge der Priorisierung entspricht.
Name | Bestimmt für |
---|---|
WANT_WX_VER | den Port |
WITH_WX_VER | den Benutzer |
Desweiteren gibt es Anwendungen, die nicht direkt
wxWidgets-Bibliotheken sind, aber
trotzdem mit diesen zusammenhängen. Diese Anwendungen
können über die Variable
WX_COMPS
festgelegt werden. Die folgenden
Komponenten sind verfügbar:
Name | Beschreibung | Versionsbeschränkungen |
---|---|---|
wx | Hauptbibliothek | Nichts |
contrib | Beigesteuerte Bibliothek | Nichts |
python | wxPython (Python-Bindungen) | 2.4-2.6 |
mozilla | wxMozilla | 2.4 |
svg | wxSVG | 2.6 |
Der Typ der Abhängigkeit kann für jede Komponente durch hinzufügen eines Suffix (durch Strichpunkt getrennt) festgelegt werden. Falls der Typ nicht angegeben wird, wird ein Standardwert verwendet (siehe Tabelle 6.30, „Standardtypen der wxWidgets-Abhängigkeiten“). Die folgenden Typen sind verfügbar:
Name | Beschreibung |
---|---|
build | Komponente wird zum Bau
benötigt – äquivalent zu
BUILD_DEPENDS |
run | Komponente wird zum Ausführen
benötigt – äquivalent zu
RUN_DEPENDS |
lib | Komponente wird zum Bau und Ausführen
benötigt – äquivalent zu
LIB_DEPENDS |
Die Standardwerte für die einzelnen Komponenten sind in der folgenden Tabelle aufgeführt:
Komponente | Typ der Abhängigkeit |
---|---|
wx | lib |
contrib | lib |
python | run |
mozilla | lib |
svg | lib |
Der folgende Ausschnitt entspricht einem Port, der
die wxWidgets-Version
2.4
und die zugehörigen
Bibliotheken verwendet.
Die wxWidgets-Bibliotheken
unterstützen Unicode seit der Version
2.5
. In den Ports sind beide Versionen
verfügbar und können über die folgenden
Variablen ausgewählt werden:
Variable | Beschreibung | Bestimmt für |
---|---|---|
WX_UNICODE | Der Port funktioniert ausschließlich mit der Unicode-Version | den Port |
WANT_UNICODE | Der Port funktioniert in beiden Versionen – bevorzugt wird jedoch Unicode | den Port |
WITH_UNICODE | Der Port verwendet die Unicode-Version | den Benutzer |
WITHOUT_UNICODE | Der Port verwendet, falls unterstützt, die
normale Version (falls WX_UNICODE
nicht definiert ist) | den Benutzer |
Die Variable WX_UNICODE
darf
nicht bei Ports benutzt werden, die sowohl die Version mit
als auch ohne Unterstützung für Unicode
verwenden können. Falls der Port
standardmäßig Unterstützung für
Unicode bieten soll, verwenden Sie
WANT_UNICODE
stattdessen.
Um eine bereits installierte Version zu finden, muss
WANT_WX
definiert werden. Falls diese
Variable nicht auf eine bestimmte Versionsnummer gesetzt
wird, werden die Komponenten einen Suffix mit der
Versionsnummer tragen. Die Variable
HAVE_WX
wird gesetzt, falls eine
installierte Version vorgefunden wurde.
Der folgende Ausschnitt kann in einem Port verwendet werden, der wxWidgets verwendet, falls es installiert ist, oder falls eine Option dafür ausgewählt wurde.
Der folgende Ausschnitt kann verwendet werden, um
die Unterstützung für
wxPython zusätzlich zu der
von wxWidgets zu aktivieren
(beide in Version 2.6
), wenn das
installiert ist, oder die Option ausgewählt
wurde.
Die folgenden Variablen sind in den Ports verfügbar (nachdem sie entsprechend Tabelle 6.24, „Variablen, um die wxWidgets-Version festzulegen“ definiert wurden).
Name | Beschreibung |
---|---|
WX_CONFIG | Pfad zum wxWidgets
wx-config -Skript (mit
unterschiedlichem Namen) |
WXRC_CMD | Pfad zum wxWidgets
wxrc -Programm (mit
unterschiedlichem Namen) |
WX_VERSION | Version der wxWidgets, die
verwendet werden soll (z.B. 2.6 ) |
WX_UNICODE | Falls Unterstützung für Unicode nicht explizit definiert, jedoch verwendet wird, dann wird die Unterstützung automatisch aktiviert. |
Falls die Variablen gleich nach dem Importieren von
bsd.port.pre.mk
benutzt werden sollen,
so muss die Variable WX_PREMK
definiert
werden.
Falls WX_PREMK
definiert ist, so
werden Version, Abhängigkeiten, Komponenten und
vordefinierte Variablen nicht geändert, wenn die
Variablen des wxWidgets-Ports
nach dem Einbinden von
bsd.port.pre.mk
geändert
werden.
Der folgende Ausschnitt zeigt die Verwendung von
WX_PREMK
durch Ausführen des
wx-config
-Skriptes, um die
vollständige Version als Zeichenkette zu erhalten,
diese dann einer Variablen zuzuweisen und die Variable
anschließend einem Programm zu
übergeben.
Die wxWidgets-Variablen
können problemlos in Kommandos benutzt werden, falls
diese in Targets ohne gesetztes
WX_PREMK
verwendet werden.
Einige GNU configure
-Skripte
können wxWidgets nicht
auffinden, falls nur die Umgebungsvariable
WX_CONFIG
gesetzt ist, sondern
benötigen zusätzliche Argumente. Dafür kann
die Variable WX_CONF_ARGS
benutzt
werden.
WX_CONF_ARGS
Möglicher Wert | Resultierendes Argument |
---|---|
absolute | --with-wx-config=${WX_CONFIG} |
relative | --with-wx=${LOCALBASE}
--with-wx-config=${WX_CONFIG:T} |
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.