blob: 61616bacdc94c9511da7f74379fc181fb4e24faf [file] [log] [blame]
Frédéric Delanoy0c07c7b2010-05-14 09:49:11 +02001.\" -*- nroff -*-
2.TH WINEMAKER 1 "mai 2010" "@PACKAGE_STRING@" "Manuel des développeurs de Wine"
3.SH NOM
4winemaker \- générer une infrastructure de construction pour la compilation de programmes Windows sur UNIX
5.SH SYNOPSIS
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[=\fIdéfn\fR] ] [" "\ " "-I" "rép\fR ]\ [ " "-P" "rép\fR ] [ " "-i" "dll\fR ] [ " "-L" "rép\fR ] [ " "-l" "bibliothèque "
25]
26.br
27 [
28.BR "--nodlls " "] [ " "--nomsvcrt " "] [ " "--interactive " "] [ " "--single-target \fInom\fR "
29]
30.br
31 [
32.BR "--generated-files " "] [ " "--nogenerated-files " "]
33]
34.br
35 [
36.BR "--wine32 " "]
37.br
38.IR " répertoire_de_travail" "| " "fichier_projet" "| " "fichier_espace_de_travail"
39
40.SH DESCRIPTION
41.PP
42.B winemaker
43est un script perl conçu pour vous aider à entamer le
44processus de conversion de vos sources Windows en programmes Winelib.
45.PP
46À cet effet, il peut effectuer les opérations suivantes :
47.PP
48-\ renommer vos fichiers sources et répertoires en minuscules s'ils ont été
49convertis en majuscules durant le transfert.
50.PP
51-\ convertir les fins de ligne DOS en fins de lignes UNIX (CRLF vers LF).
52.PP
53-\ balayer les directives d'inclusion et les références aux fichiers
54de ressources pour y remplacer les backslashs par des slashs.
55.PP
56-\ durant l'étape ci-dessus,
57.B winemaker
58va également effectuer une recherche insensible à la casse du fichier
59référencé dans le chemin d'inclusion, et réécrire la directive d'inclusion
60avec la casse correcte si nécessaire.
61.PP
62.RB "-\ " winemaker
63recherchera également d'autres problèmes plus exotiques comme l'emploi
64de «\ #pragma pack\ », l'utilisation de «\ afxres.h\ » dans des projets
65non MFC, etc. Quand il trouve de tels points nébuleux, il émettra des
66avertissements.
67.PP
68.RB "-\ " winemaker
69peut également balayer un arbre de répertoires complet en une seule passe,
70deviner quels sont les exécutables et bibliothèques en cours de construction,
71les faire correspondre à des fichiers sources, et générer le Makefile
72correspondant.
73.PP
74-\ finalement,
75.B winemaker
76générera un Makefile global pour une utilisation classique.
77.PP
78.RB "-\ " winemaker
79comprend les projets de type MFC, et génère des fichiers appropriés.
80.PP
81.RB "-\ " winemaker
82est capable de lire des fichiers projets existants (dsp, dsw, vcproj et sln).
83.PP
84.SH OPTIONS
85.TP
86.B --nobanner
87Désactiver l'affichage de la bannière.
88.TP
89.B --backup
90Effectuer une sauvegarde préalable de tous les fichiers modifiés.
91Comportement par défaut.
92.TP
93.B --nobackup
94Ne pas effectuer de sauvegarde des fichiers sources modifiés.
95.TP
96.B --nosource-fix
97Ne pas essayer de corriger les fichiers sources (p.ex. la conversion
98DOS vers UNIX). Cela évite des messages d'erreur si des fichiers sont
99accessibles en lecture seule uniquement.
100.TP
101.B --lower-all
102Renommer tous les fichiers et répertoires en minuscules.
103.TP
104.B --lower-uppercase
105Ne renommer que les fichiers et répertoires qui ont un nom composé
106uniquement de majuscules.
107Ainsi, «\ HELLO.C\ » serait renommé, mais pas «\ World.c\ ».
108.TP
109.B --lower-none
110Ne pas renommer de fichiers et répertoires en minuscules. Notez que cela
111n'empêche pas le renommage d'un fichier si son extension ne peut être traitée
112telle quelle, comme par exemple «\ .Cxx\ ». Comportement par défaut.
113.TP
114.B "--lower-include "
115Convertir en minuscules les noms de fichiers associés à des directives
116d'inclusion (ou à d'autres formes de références de fichiers pour les
117fichiers ressources) que
118.B winemaker
119n'arrive pas à trouver. Comportement par défaut.
120.TP
121.B "--nolower-include "
122Ne pas modifier la directive d'inclusion si le fichier référencé ne peut
123être trouvé.
124.TP
125.BR "--guiexe " "| " "--windows"
126Présumer une application graphique quand une cible exécutable ou une cible d'un
127type inconnu est rencontrée.
128Comportement par défaut.
129.TP
130.BR "--cuiexe " "| " "--console"
131Présumer une application en mode console quand une cible exécutable ou une cible d'un
132type inconnu est rencontrée.
133.TP
134.B --dll
135Présumer une bibliothèque quand une cible d'un type inconnu est rencontrée (c.-à-d.
136si
137.B winemaker
138ne peut déterminer s'il s'agit d'un exécutable ou d'une bibliothèque).
139.TP
140.B --mfc
141Spécifier que les cibles utilisent les MFC. Dans ce cas,
142.B winemaker
143adapte les chemins d'inclusion et des bibliothèques en conséquence,
144et lie la cible avec la bibliothèque MFC.
145.TP
146.B --nomfc
147Spécifier que les cibles n'utilisent pas les MFC. Cette option empêche
148l'utilisation des bibliothèques MFC même si
149.B winemaker
150rencontre des fichiers «\ stdafx.cpp\ » ou «\ stdafx.h\ » qui activeraient
151les MFC automatiquement en temps normal si ni --nomfc ni --mfc n'était
152spécifiée.
153.TP
154.BI -D macro "\fR[=\fIdéfn\fR]"
155Ajouter la définition de macro spécifiée à la liste globale des
156définitions de macros.
157.TP
158.BI -I répertoire
159Ajouter le répertoire spécifié au chemin global d'inclusion.
160.TP
161.BI -P répertoire
162Ajouter le répertoire spécifié au chemin global des DLL.
163.TP
164.BI -i dll
165Ajouter la bibliothèque Winelib à la liste global de bibliothèques Winelib
166à importer.
167.TP
168.BI -L répertoire
169Ajouter le répertoire spécifié au chemin global des bibliothèques.
170.TP
171.BI -l bibliothèque
172Ajouter la bibliothèque spécifiée à la liste globale de bibliothèques à utiliser lors de l'édition des liens.
173.TP
174.B --nodlls
175Ne pas utiliser l'ensemble standard de bibliothèques Winelib pour les imports,
176c.-à-d. que toute DLL utilisée par votre code doit être explicitement spécifiée à l'aide d'options -i.
177L'ensemble standard de bibliothèques est\ : odbc32.dll, odbccp32.dll, ole32.dll,
178oleaut32.dll et winspool.drv.
179.TP
180.B --nomsvcrt
181Définir certaines options afin que winegcc n'utilise pas
182msvcrt durant la compilation. Utilisez cette option si certains fichiers cpp
183incluent <string>.
184.TP
185.B --interactive
186Entrer dans le mode interactif. Dans ce mode,
187.B winemaker
188demandera de confirmer la liste de cibles pour chaque répertoire, et ensuite
189de fournir des options spécifiques de répertoire et/ou de cible.
190.TP
191.BR --single-target " nom"
192Spécifier qu'il n'y a qu'une seule cible, appelée «\ nom\ ».
193.TP
194.B --generated-files
195Générer le Makefile. Comportement par défaut.
196.TP
197.B --nogenerated-files
198Ne pas générer le Makefile.
199.TP
200.B --wine32
201Générer une cible 32 bits. Utile sur les systèmes wow64. Sans cette option,
202l'architecture par défaut est utilisée.
203
204.SH EXEMPLES
205.PP
206Voici quelques exemples typiques d'utilisation de
207.B winemaker
208:
209.PP
210$ winemaker --lower-uppercase -DSTRICT .
211.PP
212Recherche des fichiers sources dans le répertoire courant et ses
213sous-répertoires. Quand un fichier ou répertoire a un nom composé
214uniquement de majuscules, le renomme en minuscules. Ensuite, adapte tous
215ces fichiers sources pour une compilation avec Winelib, et génère des
216Makefiles. «\ -DSTRICT\ » spécifie que la macro STRICT doit
217être définie lors de la compilation des sources.
218Finalement, un Makefile est créé.
219.PP
220L'étape suivante serait :
221.PP
222$ make
223.PP
224Si vous obtenez des erreurs de compilation à ce moment (ce qui est plus que
225probable pour un projet d'une taille raisonnable), vous devriez consulter
226le guide d'utilisateur Winelib pour trouver des moyens de les résoudre.
227.PP
228Pour un projet utilisant les MFC, vous devriez plutôt exécuter les commandes
229suivantes\ :
230.PP
231$ winemaker --lower-uppercase --mfc .
232.br
233$ make
234.PP
235Pour un fichier projet existant, vous devriez exécuter les commandes suivantes :
236.PP
237$ winemaker monprojet.dsp
238.br
239$ make
240.PP
241
242.SH LIMITATIONS / PROBLÈMES
243.PP
244Dans certains cas, vous devrez éditer manuellement le Makefile ou les fichiers
245sources.
246.PP
247En supposant que l'exécutable ou la bibliothèque windows est disponible, on peut
248utiliser
249.B winedump
250pour en déterminer le type (graphique ou en mode console) et les
251bibliothèques auxquelles il est lié (pour les exécutables), ou quelles fonctions
252elle exporte (pour les bibliothèques). On pourrait ensuite restituer tous ces
253réglages pour la cible Winelib correspondante.
254.PP
255De plus,
256.B winemaker
257n'est pas très apte à trouver la bibliothèque contenant l'exécutable : elle doit
258être soit dans le répertoire courant, soit dans un des répertoires de
259.IR LD_LIBRARY_PATH .
260.PP
261.B winemaker
262ne prend pas encore en charge les fichiers de messages, ni le compilateur
263de messages.
264.PP
265
266.SH VOIR AUSSI
267.PP
268Le guide utilisateur de Winelib :
269.PP
270http://www.winehq.org/docs/winelib-guide/index
271.PP
272.BR wine (1)
273.PP
274
275.SH AUTEURS
276François Gouget pour CodeWeavers
277.PP
278Dimitrie O. Paun
279.PP
280André Hentschel
281.PP