286 lines
9.1 KiB
Groff
286 lines
9.1 KiB
Groff
.\" -*- nroff -*-
|
||
.TH WINEMAKER 1 "jan 2012" "@PACKAGE_STRING@" "Manuel des développeurs de Wine"
|
||
.SH NOM
|
||
winemaker \- générer une infrastructure de construction pour la compilation de programmes Windows sur UNIX
|
||
.SH SYNOPSIS
|
||
.B "winemaker "
|
||
[
|
||
.BR "--nobanner " "] [ " "--backup " "| " "--nobackup " "] [ "--nosource-fix "
|
||
]
|
||
.br
|
||
[
|
||
.BR "--lower-none " "| " "--lower-all " "| " "--lower-uppercase "
|
||
]
|
||
.br
|
||
[
|
||
.BR "--lower-include " "| " "--nolower-include " ]\ [ " --mfc " "| " "--nomfc "
|
||
]
|
||
.br
|
||
[
|
||
.BR "--guiexe " "| " "--windows " "| " "--cuiexe " "| " "--console " "| " "--dll " "| " "--lib "
|
||
]
|
||
.br
|
||
[
|
||
.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 "
|
||
]
|
||
.br
|
||
[
|
||
.BR "--nodlls " "] [ " "--nomsvcrt " "] [ " "--interactive " "] [ " "--single-target \fInom\fR "
|
||
]
|
||
.br
|
||
[
|
||
.BR "--generated-files " "] [ " "--nogenerated-files " "]
|
||
]
|
||
.br
|
||
[
|
||
.BR "--wine32 " "]
|
||
.br
|
||
.IR " répertoire_de_travail" "| " "fichier_projet" "| " "fichier_espace_de_travail"
|
||
|
||
.SH DESCRIPTION
|
||
.PP
|
||
.B winemaker
|
||
est un script perl conçu pour vous aider à entamer le
|
||
processus de conversion de vos sources Windows en programmes Winelib.
|
||
.PP
|
||
À cet effet, il peut effectuer les opérations suivantes :
|
||
.PP
|
||
-\ renommer vos fichiers sources et répertoires en minuscules s'ils ont été
|
||
convertis en majuscules durant le transfert.
|
||
.PP
|
||
-\ convertir les fins de ligne DOS en fins de ligne UNIX (CRLF vers LF).
|
||
.PP
|
||
-\ balayer les directives d'inclusion et les références aux fichiers
|
||
de ressources pour y remplacer les backslashs par des slashs.
|
||
.PP
|
||
-\ durant l'étape ci-dessus,
|
||
.B winemaker
|
||
va également effectuer une recherche insensible à la casse du fichier
|
||
référencé dans le chemin d'inclusion, et réécrire la directive d'inclusion
|
||
avec la casse correcte si nécessaire.
|
||
.PP
|
||
.RB "-\ " winemaker
|
||
recherchera également d'autres problèmes plus exotiques comme l'emploi
|
||
de « #pragma pack », l'utilisation de « afxres.h » dans des projets
|
||
non MFC, etc. Quand il trouve de tels points nébuleux, il émettra des
|
||
avertissements.
|
||
.PP
|
||
.RB "-\ " winemaker
|
||
peut également balayer un arbre de répertoires complet en une seule passe,
|
||
deviner quels sont les exécutables et bibliothèques en cours de construction,
|
||
les faire correspondre à des fichiers sources, et générer le Makefile
|
||
correspondant.
|
||
.PP
|
||
-\ finalement,
|
||
.B winemaker
|
||
générera un Makefile global pour une utilisation classique.
|
||
.PP
|
||
.RB "-\ " winemaker
|
||
comprend les projets de type MFC, et génère des fichiers appropriés.
|
||
.PP
|
||
.RB "-\ " winemaker
|
||
est capable de lire des fichiers projets existants (dsp, dsw, vcproj et sln).
|
||
.PP
|
||
.SH OPTIONS
|
||
.TP
|
||
.B --nobanner
|
||
Désactiver l'affichage de la bannière.
|
||
.TP
|
||
.B --backup
|
||
Effectuer une sauvegarde préalable de tous les fichiers modifiés.
|
||
Comportement par défaut.
|
||
.TP
|
||
.B --nobackup
|
||
Ne pas effectuer de sauvegarde des fichiers sources modifiés.
|
||
.TP
|
||
.B --nosource-fix
|
||
Ne pas essayer de corriger les fichiers sources (p.ex. la conversion
|
||
DOS vers UNIX). Cela évite des messages d'erreur si des fichiers sont
|
||
accessibles en lecture seule uniquement.
|
||
.TP
|
||
.B --lower-all
|
||
Renommer tous les fichiers et répertoires en minuscules.
|
||
.TP
|
||
.B --lower-uppercase
|
||
Ne renommer que les fichiers et répertoires qui ont un nom composé
|
||
uniquement de majuscules.
|
||
Ainsi, « HELLO.C » serait renommé, mais pas « World.c ».
|
||
.TP
|
||
.B --lower-none
|
||
Ne pas renommer de fichiers et répertoires en minuscules. Notez que cela
|
||
n'empêche pas le renommage d'un fichier si son extension ne peut être traitée
|
||
telle quelle, comme par exemple « .Cxx ». Comportement par défaut.
|
||
.TP
|
||
.B "--lower-include "
|
||
Convertir en minuscules les noms de fichiers associés à des directives
|
||
d'inclusion (ou à d'autres formes de références de fichiers pour les
|
||
fichiers ressources) que
|
||
.B winemaker
|
||
n'arrive pas à trouver. Comportement par défaut.
|
||
.TP
|
||
.B "--nolower-include "
|
||
Ne pas modifier la directive d'inclusion si le fichier référencé ne peut
|
||
être trouvé.
|
||
.TP
|
||
.BR "--guiexe " "| " "--windows"
|
||
Présumer une application graphique quand une cible exécutable ou une cible d'un
|
||
type inconnu est rencontrée.
|
||
Comportement par défaut.
|
||
.TP
|
||
.BR "--cuiexe " "| " "--console"
|
||
Présumer une application en mode console quand une cible exécutable ou une cible d'un
|
||
type inconnu est rencontrée.
|
||
.TP
|
||
.B --dll
|
||
Présumer une DLL quand une cible d'un type inconnu est rencontrée (c.-à-d. si
|
||
.B winemaker
|
||
ne peut déterminer s'il s'agit d'un exécutable, d'une DLL ou d'une bibliothèque statique).
|
||
.TP
|
||
.B --lib
|
||
Présumer une bibliothèque statique quand une cible d'un type inconnu est rencontrée (c.-à-d. si
|
||
.B winemaker
|
||
ne peut déterminer s'il s'agit d'un exécutable, d'une DLL ou d'une bibliothèque statique).
|
||
.TP
|
||
.B --mfc
|
||
Spécifier que les cibles utilisent les MFC. Dans ce cas,
|
||
.B winemaker
|
||
adapte les chemins d'inclusion et des bibliothèques en conséquence,
|
||
et lie la cible avec la bibliothèque MFC.
|
||
.TP
|
||
.B --nomfc
|
||
Spécifier que les cibles n'utilisent pas les MFC. Cette option empêche
|
||
l'utilisation des bibliothèques MFC même si
|
||
.B winemaker
|
||
rencontre des fichiers « stdafx.cpp » ou « stdafx.h » qui activeraient
|
||
les MFC automatiquement en temps normal si ni --nomfc ni --mfc n'était
|
||
spécifiée.
|
||
.TP
|
||
.BI -D macro "\fR[=\fIdéfn\fR]"
|
||
Ajouter la définition de macro spécifiée à la liste globale des
|
||
définitions de macros.
|
||
.TP
|
||
.BI -I répertoire
|
||
Ajouter le répertoire spécifié au chemin global d'inclusion.
|
||
.TP
|
||
.BI -P répertoire
|
||
Ajouter le répertoire spécifié au chemin global des DLL.
|
||
.TP
|
||
.BI -i dll
|
||
Ajouter la bibliothèque Winelib à la liste global de bibliothèques Winelib
|
||
à importer.
|
||
.TP
|
||
.BI -L répertoire
|
||
Ajouter le répertoire spécifié au chemin global des bibliothèques.
|
||
.TP
|
||
.BI -l bibliothèque
|
||
Ajouter la bibliothèque spécifiée à la liste globale de bibliothèques à utiliser lors de l'édition des liens.
|
||
.TP
|
||
.B --nodlls
|
||
Ne pas utiliser l'ensemble standard de bibliothèques Winelib pour les imports,
|
||
c.-à-d. que toute DLL utilisée par votre code doit être explicitement spécifiée à l'aide d'options -i.
|
||
L'ensemble standard de bibliothèques est\ : odbc32.dll, odbccp32.dll, ole32.dll,
|
||
oleaut32.dll et winspool.drv.
|
||
.TP
|
||
.B --nomsvcrt
|
||
Définir certaines options afin que winegcc n'utilise pas
|
||
msvcrt durant la compilation. Utilisez cette option si certains fichiers cpp
|
||
incluent <string>.
|
||
.TP
|
||
.B --interactive
|
||
Entrer dans le mode interactif. Dans ce mode,
|
||
.B winemaker
|
||
demandera de confirmer la liste de cibles pour chaque répertoire, et ensuite
|
||
de fournir des options spécifiques de répertoire et/ou de cible.
|
||
.TP
|
||
.BR --single-target " nom"
|
||
Spécifier qu'il n'y a qu'une seule cible, appelée « nom ».
|
||
.TP
|
||
.B --generated-files
|
||
Générer le Makefile. Comportement par défaut.
|
||
.TP
|
||
.B --nogenerated-files
|
||
Ne pas générer le Makefile.
|
||
.TP
|
||
.B --wine32
|
||
Générer une cible 32 bits. Utile sur les systèmes wow64. Sans cette option,
|
||
l'architecture par défaut est utilisée.
|
||
|
||
.SH EXEMPLES
|
||
.PP
|
||
Voici quelques exemples typiques d'utilisation de
|
||
.B winemaker
|
||
:
|
||
.PP
|
||
$ winemaker --lower-uppercase -DSTRICT .
|
||
.PP
|
||
Recherche des fichiers sources dans le répertoire courant et ses
|
||
sous-répertoires. Quand un fichier ou répertoire a un nom composé
|
||
uniquement de majuscules, le renomme en minuscules. Ensuite, adapte tous
|
||
ces fichiers sources pour une compilation avec Winelib, et génère des
|
||
Makefiles. « -DSTRICT » spécifie que la macro STRICT doit
|
||
être définie lors de la compilation des sources.
|
||
Finalement, un Makefile est créé.
|
||
.PP
|
||
L'étape suivante serait :
|
||
.PP
|
||
$ make
|
||
.PP
|
||
Si vous obtenez des erreurs de compilation à ce moment (ce qui est plus que
|
||
probable pour un projet d'une taille raisonnable), vous devriez consulter
|
||
le guide d'utilisateur Winelib pour trouver des moyens de les résoudre.
|
||
.PP
|
||
Pour un projet utilisant les MFC, vous devriez plutôt exécuter les commandes
|
||
suivantes\ :
|
||
.PP
|
||
$ winemaker --lower-uppercase --mfc .
|
||
.br
|
||
$ make
|
||
.PP
|
||
Pour un fichier projet existant, vous devriez exécuter les commandes suivantes :
|
||
.PP
|
||
$ winemaker monprojet.dsp
|
||
.br
|
||
$ make
|
||
.PP
|
||
|
||
.SH LIMITATIONS / PROBLÈMES
|
||
.PP
|
||
Dans certains cas, vous devrez éditer manuellement le Makefile ou les fichiers
|
||
sources.
|
||
.PP
|
||
En supposant que l'exécutable ou la bibliothèque windows est disponible, on peut
|
||
utiliser
|
||
.B winedump
|
||
pour en déterminer le type (graphique ou en mode console) et les
|
||
bibliothèques auxquelles il est lié (pour les exécutables), ou quelles fonctions
|
||
elle exporte (pour les bibliothèques). On pourrait ensuite restituer tous ces
|
||
réglages pour la cible Winelib correspondante.
|
||
.PP
|
||
De plus,
|
||
.B winemaker
|
||
n'est pas très apte à trouver la bibliothèque contenant l'exécutable : elle doit
|
||
être soit dans le répertoire courant, soit dans un des répertoires de
|
||
.IR LD_LIBRARY_PATH .
|
||
.PP
|
||
.B winemaker
|
||
ne prend pas encore en charge les fichiers de messages, ni le compilateur
|
||
de messages.
|
||
.PP
|
||
|
||
.SH VOIR AUSSI
|
||
.PP
|
||
Le guide utilisateur de Winelib :
|
||
.PP
|
||
http://www.winehq.org/docs/winelib-guide/index
|
||
.PP
|
||
.BR wine (1)
|
||
.PP
|
||
|
||
.SH AUTEURS
|
||
François Gouget pour CodeWeavers
|
||
.PP
|
||
Dimitrie O. Paun
|
||
.PP
|
||
André Hentschel
|
||
.PP
|