WINEMAKER(1) Manuel des developpeurs de Wine WINEMAKER(1) NOM winemaker - generer une infrastructure de construction pour la compilation de programmes Windows sur UNIX SYNOPSIS winemaker [ --nobanner ] [ --backup | --nobackup ] [ --nosource-fix ] [ --lower-none | --lower-all | --lower-uppercase ] [ --lower-include | --nolower-include ] [ --mfc | --nomfc ] [ --guiexe | --windows | --cuiexe | --console | --dll | --lib ] [ -Dmacro[=defn] ] [ -Irep ] [ -Prep ] [ -idll ] [ -Lrep ] [ -lbibliotheque ] [ --nodlls ] [ --nomsvcrt ] [ --interactive ] [ --single-target nom ] [ --generated-files ] [ --nogenerated-files ] [ --wine32 ] repertoire_de_travail | fichier_projet | fichier_espace_de_travail DESCRIPTION winemaker est un script perl concu pour vous aider a entamer le processus de conversion de vos sources Windows en programmes Winelib. A cet effet, il peut effectuer les operations suivantes : - renommer vos fichiers sources et repertoires en minuscules s'ils ont ete convertis en majuscules durant le transfert. - convertir les fins de ligne DOS en fins de ligne UNIX (CRLF vers LF). - parcourir les directives d'inclusion et les references aux fichiers de ressources pour y remplacer les backslashs par des slashs. - durant l'etape ci-dessus, winemaker va egalement effectuer une recherche insensible a la casse du fichier reference dans le chemin d'inclusion, et reecrire la directive d'inclusion avec la casse correcte si necessaire. - winemaker recherchera egalement d'autres problemes 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 nebuleux, il emettra des avertissements. - winemaker peut egalement balayer un arbre de repertoires complet en une seule passe, deviner quels sont les executables et bibliotheques en cours de construction, les faire correspondre a des fichiers sources, et generer le Makefile correspondant. - finalement, winemaker generera un Makefile global pour une utilisation classique. - winemaker comprend les projets de type MFC, et genere des fichiers appropries. - winemaker est capable de lire des fichiers projets existants (dsp, dsw, vcproj et sln). OPTIONS --nobanner Desactiver l'affichage de la banniere. --backup Effectuer une sauvegarde prealable de tous les fichiers modifies. Comportement par defaut. --nobackup Ne pas effectuer de sauvegarde des fichiers sources modifies. --nosource-fix Ne pas essayer de corriger les fichiers sources (p.ex. la conversion DOS vers UNIX). Cela evite des messages d'erreur si des fichiers sont en lecture seule. --lower-all Renommer tous les fichiers et repertoires en minuscules. --lower-uppercase Ne renommer que les fichiers et repertoires qui ont un nom compose uniquement de majuscules. Ainsi, HELLO.C serait renomme, mais pas World.c. --lower-none Ne pas renommer de fichiers et repertoires en minuscules. Notez que cela n'empeche pas le renommage d'un fichier si son extension ne peut etre traitee telle quelle, comme par exemple << .Cxx >>. Comportement par defaut. --lower-include Convertir en minuscules les noms de fichiers associes a des directives d'inclusion (ou a d'autres formes de references de fichiers pour les fichiers ressources) que winemaker n'arrive pas a trouver. Comportement par defaut. --nolower-include Ne pas modifier la directive d'inclusion si le fichier reference ne peut etre trouve. --guiexe | --windows Presumer une application graphique quand une cible executable ou une cible d'un type inconnu est rencontree. Comportement par defaut. --cuiexe | --console Presumer une application en mode console quand une cible executable ou une cible d'un type inconnu est rencontree. --dll Presumer une DLL quand une cible d'un type inconnu est rencontree (c.-a-d. si winemaker ne peut determiner s'il s'agit d'un executable, d'une DLL ou d'une bibliotheque statique). --lib Presumer une bibliotheque statique quand une cible d'un type inconnu est rencontree (c.-a-d. si winemaker ne peut determiner s'il s'agit d'un executable, d'une DLL ou d'une bibliotheque statique). --mfc Specifier que les cibles utilisent les MFC. Dans ce cas, winemaker adapte les chemins d'inclusion et des bibliotheques en consequence, et lie la cible avec la bibliotheque MFC. --nomfc Specifier que les cibles n'utilisent pas les MFC. Cette option empeche l'utilisation des bibliotheques MFC meme si winemaker rencontre des fichiers stdafx.cpp ou stdafx.h qui activeraient les MFC automatiquement en temps normal si ni --nomfc ni --mfc n'etait specifiee. -Dmacro[=defn] Ajouter la definition de macro specifiee a la liste globale des definitions de macros. -Irepertoire Ajouter le repertoire specifie au chemin global d'inclusion. -Prepertoire Ajouter le repertoire specifie au chemin global des DLL. -idll Ajouter la bibliotheque Winelib a la liste global de bibliotheques Winelib a importer. -Lrepertoire Ajouter le repertoire specifie au chemin global des bibliotheques. -lbibliotheque Ajouter la bibliotheque specifiee a la liste globale de bibliotheques a utiliser lors de l'edition des liens. --nodlls Ne pas utiliser l'ensemble standard de bibliotheques Winelib pour les imports, c.-a-d. que toute DLL utilisee par votre code doit etre explicitement specifiee a l'aide d'options -i. L'ensemble standard de bibliotheques est : odbc32.dll, odbccp32.dll, ole32.dll, oleaut32.dll et winspool.drv. --nomsvcrt Definir certaines options afin que winegcc n'utilise pas msvcrt durant la compilation. Utilisez cette option si certains fichiers cpp incluent . --interactive Utiliser le mode interactif. Dans ce mode, winemaker demandera de confirmer la liste de cibles pour chaque repertoire, et ensuite de fournir des options specifiques de repertoire et/ou de cible. --single-target nom Specifier qu'il n'y a qu'une seule cible, appelee nom. --generated-files Generer le Makefile. Comportement par defaut. --nogenerated-files Ne pas generer le Makefile. --wine32 Generer une cible 32 bits. Utile sur les systemes wow64. Sans cette option, l'architecture par defaut est utilisee. EXEMPLES Voici quelques exemples typiques d'utilisation de winemaker : $ winemaker --lower-uppercase -DSTRICT . Recherche des fichiers sources dans le repertoire courant et ses sous- repertoires. Quand un fichier ou repertoire a un nom compose uniquement de majuscules, le renomme en minuscules. Ensuite, adapte tous ces fichiers sources pour une compilation avec Winelib, et genere des Makefiles. -DSTRICT specifie que la macro STRICT doit etre definie lors de la compilation des sources. Finalement, un Makefile est cree. L'etape suivante serait : $ make Si vous obtenez des erreurs de compilation a ce moment (ce qui est plus que probable pour un projet d'une taille raisonnable), vous devriez consulter le guide de l'utilisateur de Winelib pour trouver des moyens de les resoudre. Pour un projet utilisant les MFC, vous devriez plutot executer les commandes suivantes : $ winemaker --lower-uppercase --mfc . $ make Pour un fichier projet existant, vous devriez executer les commandes suivantes : $ winemaker monprojet.dsp $ make LIMITATIONS / PROBLEMES Dans certains cas, vous devrez editer manuellement le Makefile ou les fichiers sources. En supposant que l'executable ou la bibliotheque windows est disponible, on peut utiliser winedump pour en determiner le type (graphique ou en mode console) et les bibliotheques auxquelles il est lie (pour les executables), ou quelles fonctions elle exporte (pour les bibliotheques). On pourrait ensuite restituer tous ces reglages pour la cible Winelib correspondante. De plus, winemaker n'est pas tres apte a trouver la bibliotheque contenant l'executable : elle doit etre soit dans le repertoire courant, soit dans un des repertoires de LD_LIBRARY_PATH. winemaker ne prend pas encore en charge les fichiers de messages, ni le compilateur de messages. Les bugs peuvent etre signales (en anglais) sur le systeme de suivi des problemes de Wine . AUTEURS Francois Gouget pour CodeWeavers Dimitrie O. Paun Andre Hentschel DISPONIBILITE winemaker fait partie de la distribution de Wine, qui est disponible sur WineHQ, le quartier general du developpement de Wine . VOIR AUSSI wine(1), Documentation et support de Wine . Wine 9.7 jan 2012 WINEMAKER(1)