2 .TH WINEMAKER 1 "Januar 2012" "@PACKAGE_STRING@" "Wine Entwicklerhandbuch"
4 winemaker \- Erzeugt eine Build-Infrastruktur, um Windows Programme unter Unix zu kompilieren
8 .BR "--nobanner " "] [ " "--backup " "| " "--nobackup " "] [ "--nosource-fix "
12 .BR "--lower-none " "| " "--lower-all " "| " "--lower-uppercase "
16 .BR "--lower-include " "| " "--nolower-include " ]\ [ " --mfc " "| " "--nomfc "
20 .BR "--guiexe " "| " "--windows " "| " "--cuiexe " "| " "--console " "| " "--dll " "| " "--lib "
24 .BI "-D" macro "\fR[=\fIdefn\fR] ] [" "\ " "-I" "dir\fR ]\ [ " "-P" "dir\fR ] [ " "-i" "dll\fR ] [ " "-L" "dir\fR ] [ " "-l" "library "
28 .BR "--nodlls " "] [ " "--nomsvcrt " "] [ " "--interactive " "] [ " "--single-target \fIname\fR "
32 .BR "--generated-files " "] [ " "--nogenerated-files " "]
38 .IR " Arbeitsverzeichnis" " | " "Projektdatei" " | " "Workspacedatei"
43 ist ein Perl-Script um Ihnen das Konvertieren von Windows-Quellcode
44 zu einem Winelib-Programm zu erleichtern.
46 Zu diesem Zweck beherrscht Winemaker folgende Operationen:
48 - Quellcodedateien und Verzeichnisse in Kleinbuchstaben umbenennen, falls
49 diese beim Übertragen komplett in Großbuchstaben angekommen sind.
51 - Konvertierung von DOS- zu Unix-Zeilenenden (CRLF nach LF).
53 - Include-Anweisungen und Resourcenreferenzen durchsuchen, um Backslashes
54 durch Slashes zu ersetzen.
56 - Während des obigen Schrittes wird Winemaker ebenfalls nach der angegebenen Datei
57 im Includepfad suchen und die entsprechende Zeile, falls nötig, mit der korrekten
58 Groß-/Kleinschreibweise austauschen.
60 - Winemaker wird ebenso andere, exotischere Probleme wie die Benutzung von
61 '#pragma pack', 'afxres.h' in nicht-MFC-Projekten und mehr untersuchen.
62 Sollte etwas ungwöhnliches vorkommen, wird Winemaker Sie warnen.
64 - Winemaker kann eine ganze Verzeichnisstruktur auf einmal durchsuchen,
65 schätzen welche ausführbaren Dateien und Bibliotheken Sie zu erstellen
66 gedenken, diese den passenden Quelldateien zuordnen und entsprechende Makefiles
69 - letztendlich wird Winemaker eine globale Makefile für den normalen Gebrauch erzeugen.
71 - Winemaker erkennt MFC-basierte Projekte und erstellt angepasste Dateien.
73 - Existierende Projektdateien können von Winemaker gelesen werden.
74 Unterstützt sind dsp, dsw, vcproj und sln-Dateien.
79 Unterdrückt die Anzeige des Banners.
82 Lässt Winemaker Backups von allen Quellcodedateien anlegen, an denen
83 Änderungen vorgenommen werden. Diese Option ist Standard.
86 Lässt Winemaker keine Backups anlegen.
89 Weist Winemaker an, keine Quellcodedateien zu ändern (z.B. DOS zu Unix
90 Konvertierung). Verhindert Fehlermeldungen bei schreibgeschützten Dateien.
93 Alle Dateien und Verzeichnisse werden in Kleinschreibung umbenannt.
96 Nur Dateien und Verzeichnisse, die komplett groß geschrieben sind, werden
97 in Kleinschreibung umbenannt.
98 "HALLO.C" würde beispielsweise umbenannt werden, "Welt.c" jedoch nicht.
101 Keine Dateien und Verzeichnisse werden in Kleinschreibung umbenannt.
102 Beachten Sie, dass dies nicht die Umbenennung von Dateien verhindert, deren
103 Erweiterungen nicht unverändert verarbeitet werden können, z.B. ".Cxx".
104 Diese Option ist Standard.
106 .B "--lower-include "
107 Wenn die Datei zu einer Include-Anweisung (oder einer anderen Form von
108 Dateireferenz für Resourcen) nicht auffindbar ist, wird der Dateiname in
109 Kleinschreibung umbenannt. Diese Option ist Standard.
111 .B "--nolower-include "
112 Es werden keine Änderungen an Include-Anweisungen oder Referenzen vorgenommen,
113 wenn die entsprechende Datei nicht auffindbar ist.
115 .BR "--guiexe " "| " "--windows"
116 Legt fest, dass für jedes gefundene, ausführbare Target, oder Target unbekannten
117 Typs angenommen wird, dass es sich um eine grafische Anwendung handelt.
118 Diese Option ist Standard.
120 .BR "--cuiexe " "| " "--console"
121 Legt fest, dass für jedes gefundene, ausführbare Target, oder Target unbekannten
122 Typs angenommen wird, dass es sich um eine Konsolenanwendung handelt.
125 Winemaker wird im Zweifelsfall annehmen, dass es sich bei einem unbekannten
126 Target um eine DLL handelt.
129 Winemaker wird im Zweifelsfall annehmen, dass es sich bei einem unbekannten
130 Target um eine statische Bibliothek handelt.
133 Teilt Winemaker mit, dass es sich um MFC-basierte Ziele handelt. In solch einem
134 Fall passt Winemaker Pfade für Header und Bibliotheken entsprechend an und
135 verlinkt die Ziele mit der MFC-Bibliothek.
138 Teilt Winemaker mit, dass es sich nicht um MFC-basierte Ziele handelt. Diese
139 Option verhindert die Benutzung von MFC-Bibliotheken, selbst wenn Winemaker
140 Dateien wie "stdafx.cpp" oder "stdafx.h" begegnet, was normalerweise automatisch
141 MFC aktivieren würde, wenn weder \fB--nomfc\fR noch \fB--mfc\fR angegeben wurden.
143 .BI -D macro "\fR[=\fIdefn\fR]"
144 Fügt diese Makrodefinition zur globalen Makroliste hinzu.
147 Hängt das angegebene Verzeichnis dem globalen Include-Pfad an.
150 Hängt das angegebene Verzeichnis dem globalen DLL-Pfad an.
153 Fügt die angegebene Winelib-Bibliothek zur globalen Liste der zu importierenden
154 Winelib-Bibliotheken hinzu.
157 Hängt das angegebene Verzeichnis dem globalen Bibliotheks-Pfad an.
160 Fügt die angegebene Bibliothek zur globalen Liste der zu verlinkenden
164 Diese Option teilt Winemaker mit, nicht den Standardsatz an Winelib-Bibliotheken
165 zu importieren. Dies bedeutet, dass jede DLL, die Ihr Quellcode nutzt, explizit
166 mit \fB-i\fR an Winemaker übergeben werden muss.
167 Die Standard-Bibliotheken sind: odbc32.dll, odbccp32.dll, ole32.dll,
168 oleaut32.dll und winspool.drv.
171 Setzt einige Optionen, die winegcc daran hindern, gegen msvcrt zu kompilieren.
172 Nutzen Sie diese Option bei cpp-Dateien, die <string> einbinden.
175 Versetzt Winemaker in einen interaktiven Modus. In diesem Modus wird Winemaker
176 Sie für die Targetliste jedes Verzeichnisses nach Bestätigung und jeweils
177 target- und verzeichnisspezifischen Optionen fragen.
179 .BI --single-target " name"
180 Gibt an, dass es nur ein einziges Target gibt, namens \fIname\fR.
183 Weist Winemaker an, eine Makefile zu erzeugen. Diese Option ist Standard.
185 .B --nogenerated-files
186 Weist Winemaker an, keine Makefile zu erzeugen.
189 Weist Winemaker an, ein 32-Bit Target zu erstellen. Dies ist nützlich bei
190 wow64-Systemen. Ohne diese Option wird die Standardarchitektur benutzt.
194 Ein typischer Winemaker Aufruf:
196 $ winemaker --lower-uppercase -DSTRICT .
198 Damit scannt Winemaker das aktuelle Verzeichnis und die Unterverzeichnisse nach
199 Quellcodedateien. Jede Datei und jedes Verzeichnis, das ganz in Großbuchstaben
200 geschrieben ist, wird in Kleinbuchstaben umbenannt. Danach werden alle Quellcodedateien
201 an die Kompilierung mit Winelib angepasst und Makefiles erzeugt.
202 '-DSTRICT' gibt an, dass das STRICT-Makro gesetzt sein muss, um diesen Quellcode
203 zu kompilieren. Letztendlich wird Winemaker die globale Makefile erzeugen.
205 Der nächste Schritt wäre dann:
209 Wenn Sie an diesem Punkt Compilerfehler erhalten (was recht wahrscheinlich ist,
210 ab einer gewissen Projektgröße), sollten Sie den Winelib User Guide zu Rate
211 ziehen, um Problemlösungen und Tipps zu finden.
213 Bei einem MFC-basierten Projekt sollten Sie stattdessen folgenden Befehl ausführen:
215 $ winemaker --lower-uppercase --mfc .
219 Mit einer existierenden Projektdatei lautet der passende Befehl:
221 $ winemaker meinprojekt.dsp
228 In einigen Fällen werden Sie die Makefile oder den Quellcode von Hand
229 nachbearbeiten müssen.
231 Angenommen, die fertigen Windows-Bibliotheken oder Binärdateien sind vorhanden,
232 könnte mit winedump ermittelt werden, um welche Art von ausführbarer Datei es
233 sich handelt (grafisch oder Konsole), gegen welche Bibliotheken sie gelinkt
234 sind und welche Funktionen exportiert werden (bei Bibliotheken). All diese
235 Informationen könnten dann für das Winelib-Projekt verwendet werden.
237 Weiterhin ist Winemaker nicht sehr gut darin, die Bibliothek zu finden, die
238 die Anwendung enthält: Sie muss entweder im aktuellen Verzeichnis oder im
239 .IR LD_LIBRARY_PATH liegen.
241 Winemaker unterstützt noch keine Messagedateien und deren Compiler.
244 .UR http://bugs.winehq.org
249 François Gouget für CodeWeavers
256 ist Teil der Wine-Distribution, verfügbar im WineHQ, dem
257 .UR http://www.winehq.org/
258 .B Hauptquartier der Wine-Entwicklung
263 .UR http://www.winehq.org/help
264 .B Wine-Dokumentation und Support