oleview: Fix a crash on null helpstring and name on library level.
[wine] / tools / winemaker.de.man.in
1 .\" -*- nroff -*-
2 .TH WINEMAKER 1 "April 2010" "@PACKAGE_STRING@" "Wine Developers Manual"
3 .SH NAME
4 winemaker \- Erzeugt eine Buildumgebung um Windows Programme unter Unix zu kompilieren
5 .SH ÜBERSICHT
6 .B "winemaker "
7 [
8 .BR               "--nobanner " "] [ " "--backup " "| " "--nobackup " "] [ "--nosource-fix "
9 ]
10 .br
11   [
12 .BR               "--lower-none " "| " "--lower-all " "| " "--lower-uppercase "
13 ]
14 .br
15   [
16 .BR               "--lower-include " "| " "--nolower-include " ]\ [ " --mfc " "| " "--nomfc "
17 ]
18 .br
19   [
20 .BR               "--guiexe " "| " "--windows " "| " "--cuiexe " "| " "--console " "| " "--dll "
21 ]
22 .br
23   [
24 .BI               "-D" macro "\fR[=\fIdefn\fR] ] [" "\ " "-I" "dir\fR ]\ [ " "-P" "dir\fR ] [ " "-i" "dll\fR ] [ " "-L" "dir\fR ] [ " "-l" "library "
25 ]
26 .br
27   [
28 .BR               "--nodlls " "] [ " "--nomsvcrt " "] [ " "--interactive " "] [ " "--single-target \fIname\fR "
29 ]
30 .br
31   [
32 .BR               "--generated-files " "] [ " "--nogenerated-files " "]
33 ]
34 .br
35   [
36 .BR               "--wine32 " "]
37 .br
38 .IR               "  Arbeitsverzeichnis" " | " "Projektdatei" " | " "Workspacedatei"
39
40 .SH BESCHREIBUNG
41 .PP
42 .B winemaker
43 ist ein Perl Script um Ihnen das konvertieren von Windows Quellcode
44 zu einem Winelib Programm zu erleichtern.
45 .PP
46 Um diese zu tun kann winemaker folgendes vornehmen:
47 .PP
48 - Quellcodedateien und Verzeichnisse in Kleinbuchstaben umbennen falls
49 alle Buchstaben groß sind.
50 .PP
51 - DOS zu Unix konvertierung (CRLF to LF).
52 .PP
53 - include Anweisungen und Resource Referenzen durchsuchen um Backslashes
54 durch Slashes zu ersetzen.
55 .PP
56 - während des oberen Schrittes wird winemaker auch nach der angegebenen Datei
57 im Includepfad suchen um die entsprechende Zeile falls nötig mit der jeweiligen Schreibweise
58 zu korriegieren.
59 .PP
60 - winemaker wird ebenso andere exotische Probleme wie die Benutzung von
61 '#pragma pack', 'afxres.h' in nicht-MFC-Projekten und mehr untersuchen.
62 Sollte irgendwas ungwöhnliches vorkommen wird winemaker Sie warnen.
63 .PP
64 - winemaker kann auch eine ganze Verzeichnisstruktur auf einmal durchsuchen,
65 schätzen was die ausführbaren Dateien und Bibliotheken sind die Sie neu erstellen
66 möchten und dazu die Quellcodedateien zuordnen.
67 .PP
68 - letzendlich wird winemaker eine Makefile für den normalen gebrauch erstellen.
69 .PP
70 - MFC-basierte Projekte werden erkannt und es werden angepasste Dateien erstellt.
71 .PP
72 - Existierende Projektdateien können von winemaker gelesen werden.
73 Unterstützt werden dsp, dsw, vcproj und sln Dateien.
74 .PP
75 .SH ARGUMENTE
76 .TP
77 .B --nobanner
78 Schaltet das anzeigen des Banners aus.
79 .TP
80 .B --backup
81 Lässt winemaker Backups von allen Quellcodedateien erstellen an denen
82 Änderungen vorgenommen werden. Diese Option ist Standard.
83 .TP
84 .B --nobackup
85 Lässt winemaker keine Backups erstellen.
86 .TP
87 .B --nosource-fix
88 Lässt winemaker keine Quellcodedateien ändern (z.B. DOS zu Unix Konvertierung)
89 Das kann Meldungen bei schreibgeschützten Dateien verhindern.
90 .TP
91 .B --lower-all
92 Alle Dateien und Verzeichnisse werden in Kleinschreibung umbenannt.
93 .TP
94 .B --lower-uppercase
95 Alle Dateien und Verzeichnisse die komplett groß geschrieben sind werden
96 in Kleinschreibung umbenannt.
97 Also "HALLO.C" würde umbenannt werden, "Welt.c" jedoch nicht.
98 .TP
99 .B --lower-none
100 Keine Dateien und Verzeichnisse werden in Kleinschreibung umbenannt.
101 Achtung: Dies verhindert nicht die Umbennenung von Dateien, deren Erweiterung
102 nicht verarbeiten lassen, wie z.B. ".Cxx". Diese Option ist Standard.
103 .TP
104 .B "--lower-include "
105 Wenn die Datei zu einer include Anweisung (oder einer Resource Referenz)
106 nicht auffindbar ist, wird der Dateiname in Kleinschreibung umbenannt.
107 Diese Option ist Standard.
108 .TP
109 .B "--nolower-include "
110 Wenn die Datei zu einer include Anweisung (oder einer Resource Referenz)
111 nicht auffindbar ist, wird keine Änderung vorgenommen.
112 .TP
113 .BR "--guiexe " "| " "--windows"
114 Gibt den Typ(grafisch) der zu erstellenden Anwendung an.
115 Diese Option ist Standard.
116 .TP
117 .BR "--cuiexe " "| " "--console"
118 Gibt den Typ(Konsole) der zu erstellenden Anwendung an.
119 .TP
120 .B --dll
121 winemaker wird im Zweifelsfall annehmen, dass es sich um eine Bibliothek handelt.
122 .TP
123 .B --mfc
124 Teilt winemaker mit, dass es sich um MFC-basierten Quellcode handelt.
125 In solch einem Fall passt winemaker Pfade für Header und Bibliotheken entsprechend an
126 und kompiliert gegen die MFC Bibliothek.
127 .TP
128 .B --nomfc
129 Teilt winemaker mit, dass es sich nicht um MFC-basierten Quellcode handelt.
130 Selbst wenn winemaker dateien wie "stdafx.cpp" oder "stdafx.h" bemerkt, was automatisch
131 MFC aktivieren würde, wenn weder --nomfc noch --mfc angegeben wurden.
132 .TP
133 .BI -D macro "\fR[=\fIdefn\fR]"
134 Verwendet diese Makrodefinition global.
135 .TP
136 .BI -I dir
137 Verwendet den Pfad als globalen Include-Pfad.
138 .TP
139 .BI -P dir
140 Verwendet den Pfad als globalen DLL-Pfad.
141 .TP
142 .BI -i dll
143 Fügt eine Winelib Bibliothek zu der globalen Liste der zu importierenden
144 Winelib Bibliotheken hinzu.
145 .TP
146 .BI -L dir
147 Verwendet den Pfad als globalen Bibliotheks-Pfad.
148 .TP
149 .BI -l library
150 Fügt eine Bibliothek zu der globalen Liste der zu importierenden
151 Bibliotheken hinzu.
152 .TP
153 .B --nodlls
154 Dieso Option teil winemakr mit, nicht die Standard Winelib Bibliotheken zu importieren.
155 Also muss jede DLL die der Quellcode nutzt explizit mit -i an winemaker übergeben werden.
156 Die Standard Bibliotheken sind: odbc32.dll, odbccp32.dll, ole32.dll,
157 oleaut32.dll und winspool.drv.
158 .TP
159 .B --nomsvcrt
160 Dies hindert winegcc gegen msvcrt zu kompilieren.
161 Nutzen Sie diese Option bei cpp-Dateien mit einem <string> include.
162 .TP
163 .B --interactive
164 Versetzt winemaker in einen interaktiven Modus. In diesem Modus wird winemaker
165 Sie für jede Targetliste in jedem Verzeichniss nach Bestätigung fragen und nach jeweils
166 speziellen Optionen fragen.
167 .TP
168 .B --single-target name
169 Es gibt nur ein Target namens "name".
170 .TP
171 .B --generated-files
172 Eine Makefile soll erzeugt werden. Diese Option ist Standard.
173 .TP
174 .B --nogenerated-files
175 Keine Makefile erstellen.
176 .TP
177 .B --wine32
178 Ein 32-Bit Target erstellen. Das ist nützlich unter wow64 Systemen.
179 Ohne dieser Option wird die Standard Architektur genutzt.
180
181 .SH BEISPIELE
182 .PP
183 Ein typischer winemaker aufruf:
184 .PP
185 $ winemaker --lower-uppercase -DSTRICT .
186 .PP
187 Damit scannt winemaker das aktuelle Verzeichnis und die Unterverzeichnisse nach
188 Quellcodedateien. Jede Datei und jedes Verzeichnis das in Großbuchstaben geschrieben
189 ist wird in Kleinbuchstaben umbenannt. Danach werden alle Quellcodedateien an die
190 kompilierung mit Winelib angepasst und Makefiles erzeugt.
191 '-DSTRICT' gibt an, dass das STRICT Makro gesetzt sein muss wenn man diesen Quellcode
192 kompiliert. Letztendlich wird winemaker die globale Makefile erzeugen.
193 .PP
194 Der nächste Schritt wäre dann:
195 .PP
196 $ make
197 .PP
198 Wenn Sie hier Compiler Fehler sehen (was nicht unwahrscheinlich für ein einigermaßen
199 großes Projekt), dann sollten Sie einen Blick in den Winelib User Guide werfen um
200 für die Problemlösung ein paar Tipps zu finden.
201 .PP
202 Bei einem MFC-basierten Projekt müssen Sie stattdessen folgenden Befehl ausführen:
203 .PP
204 $ winemaker --lower-uppercase --mfc .
205 .br
206 $ make
207 .PP
208 Mit einer existierenden Projektdatei folgenden Befehl ausführen:
209 .PP
210 $ winemaker meinprojekt.dsp
211 .br
212 $ make
213 .PP
214
215 .SH TODO / FEHLER
216 .PP
217 In einigen Fällen müssen Sie die Makefile oder den Quellcode nachbearbeiten.
218 .PP
219 Für den Fall das die Binärdateien schon vorhanden sind könnten wir winedump
220 nutzen um die Art (grafisch oder Konsole), die benötigten Bibliotheken und welche
221 Funktionen exportiert werden (bei den Bibliotheken). Wir könnten all diese Informationen
222 für das Winelib Projekt verwenden.
223 .PP
224 Weiterhin ist winemaker nicht sehr gut darin die Bibliothek zu finden, die die
225 Anwendung enthält. Sie muss entweder im aktuellen Verzeichnis sein oder in
226 .IR LD_LIBRARY_PATH .
227 .PP
228 Winemaker unterstützt noch keine Messagedateien und deren Compiler.
229 .PP
230
231 .SH SIEHE AUCH
232 .PP
233 Den Winelib User Guide:
234 .PP
235 http://www.winehq.org/docs/winelib-guide/index
236 .PP
237 .BR wine (1)
238 .PP
239
240 .SH AUTOREN
241 François Gouget for CodeWeavers
242 .PP
243 Dimitrie O. Paun
244 .PP
245 André Hentschel
246 .PP