ChangeSet ID: 1120533227264072656239481 CVSROOT: /cvsroot/wine Module name: docs Changes by: dimi@sc8-pr-cvs1.sourceforge.net 2005/07/04 20:13:47
Modified files: fr : .cvsignore Makefile.in Added files: fr : winelib-guide.po
Log message: Francois Gouget fgouget@codeweavers.com Integrate the Wine User Guide translation with the WineDocs framework. Restore alphabetical order in fr/.cvsignore. José CARRENO Yvon BENOIST Translate the Winelib User's Guide to French and proof-read it.
Old revision New revision Changes Path 1.3 1.4 +10 -5 docs/fr/.cvsignore 1.4 1.5 +8 -0 docs/fr/Makefile.in Added 1.1 +0 -0 docs/fr/winelib-guide.po
Index: docs/fr/.cvsignore diff -u -p docs/fr/.cvsignore:1.3 docs/fr/.cvsignore:1.4 --- docs/fr/.cvsignore 5 Jul 2005 3:13:47 -0000 +++ /dev/null 5 Jul 2005 3:13:47 -0000 @@ -1,11 +1,16 @@ Makefile -wineusr-guide.html -wineusr-guide.pdf -wineusr-guide.sgml -wineusr-guide.ps -wineusr-guide.txt wine-faq.html wine-faq.pdf wine-faq.sgml wine-faq.ps wine-faq.txt +winelib-guide.html +winelib-guide.pdf +winelib-guide.sgml +winelib-guide.ps +winelib-guide.txt +wineusr-guide.html +wineusr-guide.pdf +wineusr-guide.sgml +wineusr-guide.ps +wineusr-guide.txt Index: docs/fr/Makefile.in diff -u -p docs/fr/Makefile.in:1.4 docs/fr/Makefile.in:1.5 --- docs/fr/Makefile.in 5 Jul 2005 3:13:47 -0000 +++ /dev/null 5 Jul 2005 3:13:47 -0000 @@ -18,10 +18,18 @@ WINEUSR_SRCS = \ $(SGMLDIR)/wineusr-registry.sgml \ $(SGMLDIR)/wineusr-running.sgml
+WINELIB_SRCS = \ + $(SGMLDIR)/winelib-bindlls.sgml \ + $(SGMLDIR)/winelib-intro.sgml \ + $(SGMLDIR)/winelib-mfc.sgml \ + $(SGMLDIR)/winelib-porting.sgml \ + $(SGMLDIR)/winelib-toolkit.sgml + WINEFAQ_SRCS = \
ALLBOOKS = \ wineusr-guide \ + winelib-guide \ wine-faq
all: doc Index: docs/fr/winelib-guide.po diff -u -p /dev/null docs/fr/winelib-guide.po:1.1 --- docs/fr/winelib-guide.po 5 Jul 2005 3:13:47 -0000 +++ /dev/null 5 Jul 2005 3:13:47 -0000 @@ -0,0 +1,3833 @@ +# French translation for the WineLib User Guide +# +# The initial translation was performed by: +# Copyright (C) 2005 José CARRENO +# And reviewed by: +# Copyright (C) 2005 Yvon BENOIST +# +msgid "" +msgstr "" +"Project-Id-Version: Wine CVS\n" +"POT-Creation-Date: 2005-03-14 17:19+0100\n" +"PO-Revision-Date: 2005-02-18 00:00+1\n" +"Last-Translator: Yvon BENOIST benoist@insa-rouen.fr\n" +"Language-Team: Wine-Devel wine-devel@winehq.org\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: iso-8859-1" + +# type: <title></title> +#: ../en/winelib-user.sgml:14 +#, no-wrap +msgid "Winelib User's Guide" +msgstr "Guide de l'utilisateur de Winelib" + +# type: <title id="introduction.title"></title> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:3 +#, no-wrap +msgid "Winelib Introduction" +msgstr "Introduction à Winelib" + +# type: <title></title> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:6 +#, no-wrap +msgid "What is Winelib?" +msgstr "Qu'est ce que Winelib?" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:9 +msgid "" +"Winelib is a development toolkit which allows you to compile your Windows " +"applications on Unix." +msgstr "" +"Winelib est un kit de développement qui permet de compiler vos applications " +"Windows sous Unix." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:13 +msgid "" +"Most of Winelib's code consists of the Win32 API implementation. Fortunately " +"this part is 100 percent shared with Wine. The remainder consists of Windows " +"compatible headers and tools like the resource compiler (and even these are " +"used when compiling Wine)." +msgstr "" +"La plus grand partie du code de Winelib est une implémentation de l'API " +"Win32. Heureusement, cette partie est totalement partagée avec Wine. Le " +"reste est composé d'en-têtes compatibles avec Windows et des outils tels que " +"le compilateur de ressources (et même ceux-ci sont utilisés pour compiler " +"Wine)." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:19 +msgid "" +"Thanks to the above, Winelib supports most C and C++ 32bit source code, " +"resource and message files, and can generate graphical or console " +"applications as well as dynamic libraries." +msgstr "" +"Grâce à cela, Winelib est compatible avec la plupart des codes sources en 32 " +"bits, fichiers de ressources et de message C et C++, et peut générer des " +"applications en mode graphique ou en mode console ainsi que des " +"bibliothèques dynamiques." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:24 +msgid "" +"What is not supported is 16bit source code as the types it depends on " +"(especially segmented pointers) are not supported by Unix compilers. Also " +"missing are some of the more exotic features of Microsoft's compiler like " +"native COM support and structured exception handling. So you may need to " +"perform some modifications in your code when recompiling your application " +"with Winelib. This guide is here to help you in this task." +msgstr "" +"Winelib est incompatible avec les codes sources en 16bits car les types dont " +"ils dépendent (en particulier les pointeurs segmentés) ne sont pas supportés " +"par les compilateurs Unix. Quelques-unes des fonctionnalités les plus " +"exotiques du compilateur de Microsoft telles que le support COM natif et la " +"gestion des exceptions structurées sont aussi absentes. Vous serez donc " +"peut-être amenés à effectuer quelques modifications de votre code pour " +"recompiler votre application avec Winelib. Ce guide est là pour vous aider " +"dans cette tâche." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:33 +msgid "" +"What you gain by recompiling your application with Winelib is the ability to " +"make calls to Unix APIs, directly from your Windows source code. This allows " +"for a better integration with the Unix environment than is allowed by " +"running an unmodified Windows application running in Wine. Another benefit " +"is that a Winelib application can relatively easily be recompiled on a " +"non-Intel architecture and run there without the need for a slow software " +"emulation of the processor." +msgstr "" +"Le bénéfice apporté par la recompilation de votre application avec Winelib " +"est la possibilité de réaliser des appels aux API d'Unix directement depuis " +"votre code source Windows. Cela permet une meilleure intégration à " +"l'environnement Unix que celle obtenue en lançant une application Windows " +"inchangée et lancée dans Wine. Un autre avantage est qu'une application " +"Winelib peut-être recompilée relativement facilement sur une architecture " +"non-Intel et exécutée sans avoir recours à une émulation du processeur peu " +"performante." + +# type: <title id="requirements.title"></title> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:45 +#, no-wrap +msgid "System requirements" +msgstr "Configuration requise" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:47 +msgid "The requirements for Winelib are similar to those for Wine." +msgstr "La configuration requise par Winelib est identique à celle de Wine." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:50 +msgid "" +"Basically if you can run Wine on your computer then you can run Winelib. But " +"the converse is not true. You can also build Winelib and Winelib " +"applications on platforms not supported by Wine, typically platforms with a " +"non i386 processor. But this is still pretty much uncharted territory. It " +"would be more reasonable to target one of the more mundane i386-based " +"platforms first." +msgstr "" +"En gros, si vous pouvez lancer Wine sur votre ordinateur, alors vous pouvez " +"lancer Winelib. Mais la reciproque n'est pas vraie. Il est également " +"possible de construire Winelib et des applications Winelib sur une " +"plateforme incompatible avec Wine, ce qui est généralement le cas pour une " +"plateforme équipée d'un processeur différent d'un i386. Mais on s'aventure " +"alors sur un terrain encore largement inconnu. Il serait plus raisonnable " +"d'opter pour une plateforme i386 classique en premier lieu." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:58 +msgid "" +"The main difference is that the compiler becomes much more important. It is " +"highly recommended that you use gcc, g++, and the GNU binutils. The more " +"recent your gcc compiler the better. For any serious amount of code you " +"should not consider anything older than gcc 2.95.2. The latest gcc snapshots " +"contain some useful bug fixes and much better support for anonymous structs " +"and unions. This can help reduce the number of changes you have to do in " +"your code but these are not stable releases of the compiler so you may not " +"want to use them in production." +msgstr "" +"La principale différence est que le compilateur devient beaucoup plus " +"important. Il est vivement recommandé d'utiliser gcc, g++, et les " +"exécutables [binutils] GNU. Plus le compilateur gcc est récent, mieux " +"c'est. Pour des morceaux de code conséquents, mieux vaut ne pas envisager " +"quelque chose de plus ancien que gcc 2.95.2. Les versions récentes de gcc " +"contiennent quelques corrections de bogues utiles et une compatibilité avec " +"les structures et les unions anonymes bien meilleure. Il se peut que cela " +"permette de réduire le nombre de changements à faire dans le code mais il ne " +"s'agit pas de versions stables du compilateur, c'est pourquoi vous déciderez " +"sans doute de ne pas l'utiliser en production." + +# type: <title id="getting-started.title"></title> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:71 +#, no-wrap +msgid "Getting Started" +msgstr "Mise en route" + +# type: <title id="winemaker-introduction.title"></title> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:74 +#, no-wrap +msgid "Winemaker introduction" +msgstr "Introduction à Winemaker" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:76 +msgid "" +"So what is needed to compile a Windows application with Winelib? Well, it " +"really depends on the complexity of your application but here are some " +"issues that are shared by all applications:" +msgstr "" +"Que faut-il donc faire pour compiler une application Windows avec Winelib? " +"En fait, cela dépend surtout de la complexité de votre application mais " +"voici quelques problèmes qui surviennent pour toutes les applications :" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:83 +msgid "" +"the case of your files may be bad. For example they could be in all caps: " +"<filename>HELLO.C</filename>. It's not very nice to work with and probably " +"not what you intended." +msgstr "" +"La casse de vos fichiers peut être mauvaise. Par exemple, il est possible " +"que ceux-ci soient tous en majuscule : <filename>BONJOUR.C</filename>. Ce " +"n'est pas ce qu'il y a de mieux ni sans doute ce que vous vouliez faire." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:90 +msgid "" +"then the case of the filenames in your include statements may be wrong: " +"maybe they include 'Windows.h' instead of 'windows.h'." +msgstr "" +"Ensuite, il se peut que la casse des noms de fichiers dans vos directives " +"d'inclusion soit fausse : peut-être qu'on y trouve 'Windows.h' au lieu de " +"'windows.h'." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:96 +msgid "" +"your include statements may use '\' instead of '/'. '\' is not recognized " +"by Unix compilers while '/' is recognized in both environments." +msgstr "" +"Vos directives d'inclusion utilisent peut être '\' au lieu de '/'. '\' " +"n'est pas reconnu par les compilateurs Unix alors que '/' est reconnu par " +"les deux environnements." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:103 +msgid "" +"you will need to perform the usual Dos to Unix text file conversion " +"otherwise you'll get in trouble when the compiler considers that your '\' " +"is not at the end of the line since it is followed by a pesky carriage " +"return." +msgstr "" +"Il sera nécessaire d'effectuer les conversions de fichiers textes " +"habituelles de Dos vers Unix sans quoi vous aurez des ennuis lorsque le " +"compilateur considèrera que votre '\' n'est pas à la fin de la ligne " +"puisqu'il est suivi par un satané caractère de retour chariot." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:111 +msgid "you will have to write new makefiles." +msgstr "Il faudra écrire de nouveaux fichiers de compilation." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:117 +msgid "The best way to take care of all these issues is to use winemaker." +msgstr "Le meilleur moyen de traiter de tous ces problèmes est d'utiliser winemaker." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:120 +msgid "" +"Winemaker is a perl script which is designed to help you bootstrap the " +"conversion of your Windows projects to Winelib. In order to do this it will " +"go analyze your code, fixing the issues listed above and generate " +"autoconf-based Makefiles." +msgstr "" +"Winemaker est un script perl conçu pour prendre en charge la conversion de " +"vos projets Windows vers Winelib. Pour cela, il analysera votre code, en " +"corrigeant les problèmes listés précédemment et générera automatiquement des " +"fichiers de compilation." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:126 +msgid "" +"Let's suppose that Wine/Winelib has been installed in the <filename " +"class="directory">/usr/local/wine</filename> directory, and that you are " +"already in the top directory of your sources. Then converting your project " +"to Winelib may be as simple as just running the three commands below (note " +"the dot indicating current directory at the end of the first command):" +msgstr "" +"Supposons que Wine/Winelib est installé dans le répertoire <filename " +"class="directory">/usr/local/wine</filename>, et que vous êtes déjà dans " +"le répertoire racine de vos sources. La conversion de votre projet vers " +"Winelib se résume simplement au lancement des trois commandes ci-dessous (on " +"notera le point indiquant le répertoire courant à la fin de la première " +"commande) :" + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:134 ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:164 +#, no-wrap +msgid "" +"<programlisting> $ winemaker --lower-uppercase .\n" +" $ ./configure --with-wine=/usr/local/wine\n" +" $ make\n" +" " +msgstr "" +"<programlisting> $ winemaker --lower-uppercase .\n" +" $ ./configure --with-wine=/usr/local/wine\n" +" $ make\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:140 +msgid "" +"But of course things are not always that simple which is why we have this " +"guide at all." +msgstr "" +"Bien évidemment, les choses ne sont pas toujours aussi simples, ce qui " +"explique justement l'existence de ce guide." + +# type: <title id="winemaker-test.title"></title> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:146 +#, no-wrap +msgid "Test Drive" +msgstr "Tour de chauffe" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:149 +msgid "" +"Before starting to work on a big project you may want to try to port a small " +"application. The winemine application from the Wine source tree suits well " +"for testing purposes. It can be found in the programs subdirectory. winemine " +"is a simple application, but has a few C, header and resource files." +msgstr "" +"Avant de commencer à travailler sur un gros projet, vous voulez peut-être " +"essayer de réaliser le portage d'une petite application. L'application " +"winemime provenant de l'arborescence des sources Wine convient bien à un " +"petit test. Elle se trouve dans le sous-répertoire des programmes. Winemime " +"est une application simple, mais possède quelques fichiers de resources et " +"en-tête en C." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:156 +msgid "" +"Run <command>make clean</command> in the winemine source directory if it " +"contains results of previous builds. Create a separate directory with name " +"winemine2, so it won't conflict with the Wine copy of the application. Copy " +"the sources of winemine (files *.c, *.h, *.rc) to this directory. Now run " +"the commands, mentioned above from the winemine2 directory:" +msgstr "" +"Exécutez un <command>make clean</command> dans le répertoire des sources de " +"winemime s'il contient les résultats d'un assemblage précédent. Crééz un " +"répertoire séparé nommé winemime2, de façon à ce qu'il n'entre pas en " +"conflit avec la copie de l'application Wine. Copiez les sources de winemime " +"(fichiers *.c, *.h, *.rc) dans ce répertoire. Exécutez maintenant les " +"commandes mentionnées précédemment depuis le répertoire winemime2 :" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:170 +msgid "" +"You are done! Now you can start the application as " +"<command>./winemine2</command>." +msgstr "" +"Vous y êtes! Vous pouvez maintenant exécuter votre application au moyen de " +"la commande <command>./winemime2</command>." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:174 +msgid "" +"If you come across problems preparing and building this application this " +"probably means that winemaker utility is broken by some changes in Wine. Try " +"asking for help on <email>wine-devel@winehq.org</email>" +msgstr "" +"Si vous rencontrez des problèmes en préparant ou en assemblant cette " +"application, cela signifie probablement que l'utilitaire winemaker est " +"corrompu par des changements dans Wine. Vous pouvez vous en sortie en " +"demandant de l'aide à l'adresse <email>wine-devel@winehq.com</email>." + +# type: <title id="winemaker-guide.title"></title> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:181 +#, no-wrap +msgid "Step by step guide" +msgstr "Guide pas à pas" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:184 +msgid "Let's retrace the steps above in more details." +msgstr "Reprenons les étapes précédentes plus en détails." + +# type: <term></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:188 +msgid "<option>Getting the source</option>" +msgstr "<option>Récupération des sources</option>" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:191 +msgid "" +"First if you can try to get the sources together with the " +"executables/libraries that they build. In the current state of winemaker " +"having these around can help it guess what it is that your project is trying " +"to build. Later, when it is able to understand Visual C++ projects, and if " +"you use them, this will no longer be necessary. Usually the executables and " +"libraries are in a <filename class="directory">Release</filename> or " +"<filename class="directory">Debug</filename> subdirectory of the directory " +"where the sources are. So it's best if you can transfer the source files and " +"either of these directories to Linux. Note that you don't need to transfer " +"the <filename>.obj</filename>, <filename>.pch</filename>, " +"<filename>.sbr</filename> and other files that also reside in these " +"directories; especially as they tend to be quite big." +msgstr "" +"D'abord, essayez si possible d'obtenir les sources ainsi que les fichiers " +"exécutables/bibliothèques qu'elles génèrent. Dans l'état actuel de " +"winemaker, le fait de les avoir peut l'aider à deviner ce que votre projet " +"essaie de construire. Plus tard, dès qu'il sera capable de comprendre les " +"projets Visual C++, et que vous les utiliserez, cela ne sera plus " +"nécessaire. Habituellement, les exécutables et les bibliothèques sont dans " +"un sous-répertoire <filename class="directory">Release</filename> ou " +"<filename class="directory">Debug</filename> du répertoire où se situent " +"les sources. Le mieux est de pouvoir transférer les fichiers sources et l'un " +"ou l'autre de ces répertoires vers Linux. Notez qu'il ne sera pas nécessaire " +"de transférer les fichiers <filename>.obj</filename>, " +"<filename>.pch</filename>, <filename>.sbr</filename> ou d'autres fichiers " +"qui se trouvent également dans ces répertoires ; en particulier parce qu'ils " +"ont tendance à être assez volumineux." + +# type: <term></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:209 +msgid "<option>cd <root_dir></option>" +msgstr "<option>cd <rep_racine></option>" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:212 +msgid "" +"Then go to the root directory where are your source files. Winemaker can " +"deal with a whole directory hierarchy at once so you don't need to go into a " +"leaf directory, quite the contrary. Winemaker will automatically generate " +"makefiles in each directory where one is required, and will generate a " +"global makefile so that you can rebuild all your executables and libraries " +"with a single <command>make</command> command." +msgstr "" +"Allez ensuite dans le répertoire racine où se trouvent les fichiers " +"sources. Winemaker est capable de traiter toute une hiérarchie de " +"répertoires directement, c'est pourquoi il n'est pas nécessaire d'aller dans " +"un répertoire en out de l'arborescence, bien au contraire. Winemaker " +"génèrera automatiquement les fichiers de compilation dans chacun des " +"répertoires où cela est nécessaire, et générera un fichier de compilation " +"global afin de pouvoir reconstruire tous vos exécutables et bibliothèques " +"avec une simple commande <command>make</command>." + +# type: <term></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:223 +msgid "<option>Making the source writable</option>" +msgstr "<option>Autoriser l'accès en écriture aux sources</option>" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:226 +msgid "" +"Then make sure you have write access to your sources. It may sound obvious, " +"but if you copied your source files from a CD-ROM or if they are in Source " +"Safe on Windows, chances are that they will be read-only. But Winemaker " +"needs write access so that it can fix them. You can arrange that by running " +"<command>chmod -R u+w .</command>. Also you will want to make sure that you " +"have a backup copy of your sources in case something went horribly wrong, or " +"more likely, just for reference at a later point. If you use a version " +"control system you're already covered." +msgstr "" +"Assurez-vous ensuite que vous possédez un accès en écriture à vos " +"sources. Cela peut paraître évident, mais si vous avez copié vos sources " +"depuis un CD-ROM ou si elles se trouvent dans Source Safe sous Windows, il y " +"a des chances qu'elles soient en lecture seule. Or Winemaker a besoin d'un " +"accès en écriture afin de les corriger. Ca peut se faire en lançant la " +"commande <command>chmod -R u+w</command>. De plus, il va de soit que vous " +"vous assurerez que vous avez des copies de sauvegarde de vos sources en cas " +"de grosse catastrophe, ou plus vraisemblablement pour vous y référer plus " +"tard. Si vous utilisez un système de contrôle de version, vous êtes déjà à " +"l'abri." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:238 +msgid "" +"If you have already modified your source files and you want to make sure " +"that winemaker will not make further changes to them then you can use the " +"--nosource-fix option to protect them." +msgstr "" +"Si vous avez déjà modifié vos fichiers sources et vous voulez vous assurer " +"que winemaker n'y n'effectuera pas d'autres changements, vous pouvez alors " +"utiliser l'option --nosource-fix pour les protéger." + +# type: <term></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:246 +msgid "<option>Running winemaker</option>" +msgstr "<option>Lancement de winemaker</option>" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:249 +msgid "" +"Then you'll run winemaker. Here are the options you will most likely want to " +"use. For complete list of options see the winemaker man page." +msgstr "" +"Vous lancerez ensuite winemaker. Voici quelques options que vous utiliserez " +"probablement. Pour obtenir la liste complète dans options, allez voir la " +"page man de winemaker." + +# type: <term></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:255 +msgid "<option>--lower-uppercase</option>" +msgstr "<option>--lower-uppercase</option>" + +# type: <term></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:256 +msgid "<option>--lower-all</option>" +msgstr "<option>--lower-all</option>" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:259 +msgid "" +"These options specify how to deal with files, and directories, that have an " +"'incorrect' case. <option>--lower-uppercase</option> specifies they should " +"only be renamed if their name is all uppercase. So files that have a mixed " +"case, like 'Hello.c' would not be renamed. <option>--lower-all</option> will " +"rename any file. If neither is specified then no file or directory will be " +"renamed, almost. As you will see <link linkend="renaming">later</link> " +"winemaker may still have to rename some files." +msgstr "" +"Ces options spécifient comment traiter les fichiers, et les répertoires, qui " +"ont une casse 'incorrecte'. <option>--lower-uppercase</option> spéfifie " +"qu'ils seront renommé seulement si leur nom est tout en majuscule. Ainsi, " +"les fichiers possédant une casse mixte, comme 'Hello.c' ne seront pas " +"renommés. <option>--lower-all</option> renommera tous les fichiers. Si " +"aucune des deux options n'est spécifiée, aucun fichier ou répertoire ne sera " +"renommé, enfin presque. Comme vous le verrez <link linkend="renaming">plus " +"loin</link>, il est toujours possible que winemaker ait à renommer quelques " +"fichiers." + +# type: <term></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:273 +msgid "<option>--nobackup</option>" +msgstr "<option>--nobackup</option>" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:276 +msgid "" +"Winemaker normally makes a backup of all the files in which it does more " +"than the standard Dos to Unix conversion. But if you already have (handy) " +"copies of these files elsewhere you may not need these so you should use " +"this option." +msgstr "" +"Normalement, winemaker réalise une copie de sauvegarde de tous les fichiers " +"dans lesquels il fait plus qu'une simple conversion de Dos vers Unix. Mais " +"si vous possédez déjà des copies (bien pratiques) de ces fichiers autre " +"part, il est possible que vous n'en n'ayez pas besoin, c'est pourquoi il " +"vous faudra utiliser cette option." + +# type: <term></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:285 +msgid "<option>--dll</option>" +msgstr "<option>--dll</option>" + +# type: <term></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:286 +msgid "<option>--console</option>" +msgstr "<option>--console</option>" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:289 +msgid "" +"These option lets winemaker know what kind of target you are building. If " +"you have the windows library in your source hierarchy then you should not " +"need to specify <option>--dll</option>. But if you have console executables " +"then you will need to use the corresponding option." +msgstr "" +"Ces options permettent d'indiquer à winemaker quelle type d'application " +"cible vous assemblez. Si vous avez la bibliothèque windows dans votre " +"arborescence source, vous ne devriez pas avoir besoin de spécifier " +"<option>--dll</option>. Mais si vous avez des exécutables en mode console, " +"il vous faudra utiliser l'option correspondante." + +# type: <term></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:298 +msgid "<option>--mfc</option>" +msgstr "<option>--mfc</option>" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:301 +msgid "" +"This option tells winemaker that you are building an MFC " +"application/library." +msgstr "" +"Cette option indique à winemaker que vous êtes en train d'assembler une " +"application/bibliothèque MFC." + +# type: <term></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:307 +msgid "<option>-Dmacro[=defn]</option>" +msgstr "<option>-Dmacro[=defn]</option>" + +# type: <term></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:308 +msgid "<option>-Idir</option>" +msgstr "<option>-Idir</option>" + +# type: <term></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:309 +msgid "<option>-Ldir</option>" +msgstr "<option>-Ldir</option>" + +# type: <term></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:310 +msgid "<option>-idll</option>" +msgstr "<option>-idll</option>" + +# type: <term></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:311 +msgid "<option>-llibrary</option>" +msgstr "<option>-llibrary</option>" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:314 +msgid "" +"The <option>-i</option> specifies a Winelib library to import via the <link " +"linkend="spec-file">spec file</link> mechanism. Contrast this with the " +"<option>-l</option> which specifies a Unix library to link with. The other " +"options work the same way they would with a C compiler. All are applied to " +"all the targets found. When specifying a directory with either " +"<option>-I</option> or <option>-L</option>, winemaker will prefix a relative " +"path with <literal>$(TOPDIRECTORY)/</literal> so that it is valid from any " +"of the source directories. You can also use a variable in the path yourself " +"if you wish (but don't forget to escape the '$'). For instance you could " +"specify <literal>-I\$(WINELIB_INCLUDE_ROOT)/msvcrt</literal>." +msgstr "" +"Le <option>-i</option> indique un bibliothèque Winelib à importer via le " +"mécanisme de <link linkend="spec-file">fichier spec</link>, à la " +"différence de l'option <option>-l</option> qui spécifie une bibliothèque " +"Unix à lier. Les autres options fonctionnent de la même manière qu'avec un " +"compilateur C. Toutes s'appliquent à toutes les cibles trouvées. Lorsque " +"l'on spécifie un répertoire avec soit l'option <option>-I</option> ou " +"<option>-L</option>, winemaker va préfixer un chemin relatif avec " +"<literal>$(TOPDIRECTORY)/</literal> afin qu'il soit valide depuis n'importe " +"quel répertoire source. Vous pouvez également utiliser vous même une " +"variable dans le chemin si vous le souhaitez (mais n'oubliez d'ajouter un \ " +"devant $). Par exemple, vous pourriez spécifier " +"<literal>-I\$(WINELIB_INCLUDE_ROOT)/msvcrt</literal>." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:333 +msgid "" +"So your command may finally look like: <literal>winemaker --lower-uppercase " +"-Imylib/include .</literal>" +msgstr "" +"Ainsi, votre commande pourrait finalement être quelque chose comme : " +"<literal>winemaker --lower-uppercase -Imylib/include.</literal>" + +# type: <term id="renaming"></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:339 +msgid "<option>File renaming</option>" +msgstr "<option>Renommage des fichiers</option>" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:342 +msgid "" +"When you execute winemaker it will first rename files to bring their " +"character case in line with your expectations and so that they can be " +"processed by the makefiles. This later category implies that files with a " +"non lowercase extension will be renamed so that the extension is in " +"lowercase. So, for instance, <filename>HELLO.C</filename> will be renamed to " +"<filename>HELLO.c</filename>. Also if a file or directory name contains a " +"space or a dollar, then this character will be replaced with an " +"underscore. This is because these characters cause problems with current " +"versions of autoconf (2.13) and make (3.79)." +msgstr "" +"Quand vous exécutez winemaker, celui-ci va d'abord modifier la casse des " +"fichiers en fonction de vos attentes et aussi afin qu'ils puissent être " +"traités par les fichiers de compilation. Ce deuxième point implique que les " +"fichiers dont l'extension n'est pas en minuscule vont être renommés pour que " +"l'extension soit en minuscule. Ainsi, par exemple, " +"<filename>HELLO.C</filename> sera renommé en " +"<filename>HELLO.c</filename>. De même, si un nom de fichier ou de répertoire " +"contient un espace ou un dollar, ce caractère sera remplacé par une barre de " +"soulignement. On procède de la sorte car ces caractères posent problème avec " +"les versions actuelles d'autoconf (2.13) et make (3.79)." + +# type: <term></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:357 +msgid "<option>Source modifications and makefile generation</option>" +msgstr "" +"<option>Modification des sources et génération du fichier de " +"compilation</option>" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:360 +msgid "" +"winemaker will then proceed to modify the source files so that they will " +"compile more readily with Winelib. As it does so it may print warnings when " +"it has to make a guess or identifies a construct that it cannot " +"correct. Finally it will generate the autoconf-based makefiles. Once all " +"this is done you can review the changes that winemaker did to your files by " +"using <command>diff -uw</command>. For instance: <command>diff -uw " +"hello.c.bak hello.c</command>" +msgstr "" +"winemaker va ensuite procéder à la modification des fichiers source afin " +"qu'il se compilent plus aisément avec Winelib. Pendant cette opération, il " +"se peut qu'il affiche des messages d'avertissement lorsqu'il doit deviner ou " +"identifier une syntaxe qu'il ne peut pas corriger. Finalement, il générera " +"des fichier de compilation basés sur autoconf. Une fois que tout cela est " +"fait, vous pouvez passer en revue les changements qu'a réalisé winemaker sur " +"vos fichiers en utilisant <command>diff -uw</command>. Par exemple : " +"<command>diff -uw hello.c.bak hello.c</command>." + +# type: <term></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:372 +msgid "<option>Running the configure script</option>" +msgstr "<option>Running the configure script</option>" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:375 +msgid "" +"Before you run <command>make</command> you must run the autoconf " +"<command>configure</command> script. The goal of this step is to analyze " +"your system and generate customized makefiles from the " +"<filename>Makefile.in</filename> files. This is also when you have to tell " +"where Winelib resides on your system. If wine is installed in a single " +"directory or you have the Wine sources compiled somewhere then you can just " +"run <command>./configure --with-wine=/usr/local/bin</command> or " +"<command>./configure --with-wine=~/wine</command> respectively." +msgstr "" +"Avant d'exécuter la commande <command>make</command>, il faut lancer le " +"script de configuration d'autoconf (<command>configure</command>). Le but de " +"cette étape est d'analyser votre système et générer des fichiers de " +"compilation personnalisés à partir du fichier " +"<filename>Makefile.in</filename>. C'est également ici qu'il faudra indiquer " +"où se trouve Winelib dans votre système. Si Wine est installé dans un " +"répertoire seul ou que les sources de Wine ont été compilées quelque part, " +"vous pouvez exécuter respectivement <command>./configure " +"--with-wine=/usr/local/bin</command> ou <command>./configure " +"--with-wine=~/wine</command>." + +# type: <term></term> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:389 +msgid "<option>Running make</option>" +msgstr "<option>Lancement du make</option>" + +# type: <para><itemizedlist> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:392 +msgid "" +"This is a pretty simple step: just type <command>make</command> and voila, " +"you should have all your executables and libraries. If this did not work " +"out, then it means that you will have to read this guide further to:" +msgstr "" +"Cette étape est relativement simple : tapez juste <command>make</command> et " +"bingo, vous devriez avoir tous vos exécutables et bibliothèques. Si cela n'a " +"pas marché, cela signifie qu'il vous faudra lire ce guide plus à fond afin " +"de :" + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:402 +msgid "" +"review the <filename>Makefile.in</filename> files to adjust the default " +"compilation and link options set by winemaker. See the <xref " +"endterm="source-analysis.title" linkend="source-analysis"> section for " +"some hints." +msgstr "" +"Revoir les fichiers <filename>Makefile.in</filename> afin de rectifier les " +"options de compilation et d'assemblage par défaut réglées par " +"winemaker. Dans la section <xref endterm="source-analysis.title" " +"linkend="source-analysis">, vous trouverez quelques astuces." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:409 +msgid "" +"fix the portability issues in your sources. See <xref " +"endterm="portability-issues.title" linkend="portability-issues"> for " +"more details." +msgstr "" +"Régler les problèmes de portabilité dans vos sources. Vous trouverez plus " +"d'informations dans la rubrique <xref endterm="portability-issues.title" " +"linkend="portability-issues">." + +# type: <para></para> +#: ../en/winelib-user.sgml:32 ../en/winelib-intro.sgml:415 +msgid "" +"If you find yourself modifying the Makefile.in to specify the location of " +"the Wine header or library files then go back to the previous step (the " +"configure script) and use the various --with-wine-* options to specify where " +"they are." +msgstr "" +"Si vous en arrivez à modifier vous même le fichier Makefile.in pour " +"spécifier l'emplacement des fichiers de bibliothèque ou d'en-têtes Wine, " +"revenez à l'étape précédente (le script de configuration) et utilisez les " +"diverses options de type --with-wine-* pour indiquer où elles se situent." + +# type: <title id="portability-issues.title"></title> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:3 +#, no-wrap +msgid "Portability issues" +msgstr "Problèmes de portabilité" + +# type: <title id="unicode.title"></title> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:6 +#, no-wrap +msgid "Unicode" +msgstr "Unicode" + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:9 +msgid "" +"The <literal>wchar_t</literal> type has different standard sizes in Unix (4 " +"bytes) and Windows (2 bytes). You need a recent gcc version (2.9.7 or later) " +"that supports the <parameter>-fshort-wchar</parameter> option to set the " +"size of <literal>wchar_t</literal> to the one expected by Windows " +"applications." +msgstr "" +"Le type <literal>wchar_t</literal> possède différentes tailles standard sous " +"Unix (4 octets) et sous Windows (2 octets). Il est nécessaire d'avoir une " +"version récente de gcc (2.9.7 ou postérieure) qui supporte l'option " +"<parameter>-fshort-wchar</parameter> afin d'adapter la taille du type " +"<literal>wchar_t</literal> à celle attendue par les applications Windows." + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:18 +msgid "" +"If you are using Unicode and you want to be able to use standard library " +"calls (e.g. <function>wcslen</function>, <function>wsprintf</function>), " +"then you must use the msvcrt runtime library instead of glibc. The functions " +"in glibc will not work correctly with 16 bit strings." +msgstr "" +"Si vous utilisez Unicode et que vous voulez avoir la possibilité de réaliser " +"des appels standard à la bibliothèque (ex. : <function>wcslen</function>, " +"<function>wsprintf</function>), alors il faudra utiliser la bibliothèque de " +"chargement msvcrt au lieu de glibc. Les fonctions de glibc ne fonctionneront " +"pas correctement avec des chaînes de caractères de 16 bits." + +# type: <title id="c-library.title"></title> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:27 +#, no-wrap +msgid "C library" +msgstr "Bibliothèque C" + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:30 +msgid "" +"There are 2 choices available to you regarding which C library to use: the " +"native glibc C library or the msvcrt C library." +msgstr "" +"Deux choix s'offrent à vous en ce qui concerne la bibliothèque C à utiliser " +": la bibliothèque C native glibc ou la bibliothèque C msvcrt." + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:35 +msgid "" +"Note that under Wine, the crtdll library is implemented using msvcrt, so " +"there is no benefit in trying to use it." +msgstr "" +"Notez que sous Wine, la bibliothèque crtdll est implémentée en utilisant " +"msvcrt, il n'y a donc aucun avantage à essayer de l'utiliser." + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:39 +msgid "" +"Using glibc in general has the lowest overhead, but this is really only " +"important for file I/O, as many of the functions in msvcrt are simply " +"resolved to glibc." +msgstr "" +"En général, utiliser glibc est ce qu'il y a de moins pénalisant, mais cela " +"n'est vraiment important que pour les entrées/sorties fichier, puisque " +"beaucoup de fonctions de msvcrt sont résolues par glibc." + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:44 +msgid "" +"To use glibc, you don't need to make changes to your application; it should " +"work straight away. There are a few situations in which using glibc is not " +"possible:" +msgstr "" +"Pour utiliser glibc, il n'est pas nécessaire d'effectuer des changements " +"dans votre application; cela devrait marcher directement. Il y a quelques " +"situations pour lesquelles l'utilisation de glibc n'est pas possible :" + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:51 +msgid "Your application uses Win32 and C library unicode functions." +msgstr "" +"Votre application utilise des fonctions unicode des bibliothèques Win32 et " +"C." + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:57 +msgid "" +"Your application uses MS specific calls like " +"<function>beginthread()</function>, <function>loadlibrary()</function>, etc." +msgstr "" +"Votre application utilise des appels propres à MS, tels que " +"<function>beginthread()</function>, <function>loadlibrary()</function>, etc." + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:64 +msgid "" +"You rely on the precise semantics of the calls, for example, returning " +"<literal>-1</literal> rather than non-zero. More likely, your application " +"will rely on calls like <function>fopen()</function> taking a Windows path " +"rather than a Unix one." +msgstr "" +"Vous avez recours à une sémantique précise des appels, par exemple, le fait " +"de retourner <literal>-1</literal> plutôt qu'un entier non nul. Plus " +"vraisemblablement, votre application repose sur des appels tels que " +"<function>fopen()</function> prenant en paramètre un chemin Windows plutôt " +"qu'un chemin Unix." + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:73 +msgid "In these cases you should use msvcrt to provide your C runtime calls." +msgstr "" +"Dans ces cas de figure, vous devriez utiliser msvcrt pour effectuer vos " +"appels au moteur d'exécution C. Pour ce faire, ajoutez la ligne :" + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:77 +#, no-wrap +msgid "<programlisting>import msvcrt.dll" +msgstr "<programlisting>import msvcrt.dll" + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:80 +msgid "" +"to your applications <filename>.spec</filename> file. This will cause " +"<command>winebuild</command> to resolve your c library calls to " +"<filename>msvcrt.dll</filename>. Many simple calls which behave the same " +"have been specified as non-importable from msvcrt; in these cases " +"<command>winebuild</command> will not resolve them and the standard linker " +"<command>ld</command> will link to the glibc version instead." +msgstr "" +"dans les fichiers <filename>.spec</filename> de vos applications. Ainsi " +"<command>winebuild</command> pourra résoudre vos appels à la bibliothèque c " +"vers <filename>msvcrt.dll</filename>. Beaucoup d'appels simples qui se " +"comportent de la même manière ont été qualifiés comme non importables depuis " +"msvcrt; dans ces cas de figure <command>winebuild</command> ne va pas les " +"résoudre et à la place, l'éditeur de liens standard <command>ld</command> " +"les liera à la version de glibc." + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:90 +msgid "" +"In order to avoid warnings in C (and potential errors in C++) from not " +"having prototypes, you may need to use a set of MS compatible header " +"files. These are scheduled for inclusion into Wine but at the time of " +"writing are not available. Until they are, you can try prototyping the " +"functions you need, or just live with the warnings." +msgstr "" +"Afin d'éviter les messages d'avertissement en C (et les erreurs potentielles " +"en C++) pour n'avoir pas déclaré de prototypes, il sera peut-être nécessaire " +"d'utiliser un ensemble de fichiers d'en-têtes compatibles MS. Leur inclusion " +"dans Wine est prévue mais elles ne sont pas encore disponibles à l'heure où " +"sont écrites ces lignes. En attendant, vous pouvez essayer de déclarer le " +"propotype des fonctions dont vous avez besoin, ou simplement vous accommoder " +"des messages d'avertissement." + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:98 +msgid "" +"If you have a set of include files (or when they are available in Wine), you " +"need to use the <parameter>-isystem "include_path"</parameter> flag to gcc " +"to tell it to use your headers in preference to the local system headers." +msgstr "" +"Si vous avez un ensemble de fichiers d'inclusion (ou lorsqu'ils sont " +"disponibles dans Wine), il est nécessaire d'utiliser l'option " +"<parameter>-isystem "chemin_d_inclusion"</parameter> de gcc afin de lui " +"indiquer d'utiliser de préférence vos en-têtes plutôt que celles du système " +"local." + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:104 +msgid "" +"To use option 3, add the names of any symbols that you don't want to use " +"from msvcrt into your applications <filename>.spec</filename> file. For " +"example, if you wanted the MS specific functions, but not file I/O, you " +"could have a list like:" +msgstr "" +"Pour utiliser l'option n°3, ajoutez les noms de n'importe quel symbole que " +"vous ne voulez pas utiliser depuis msvcrt dans les fichiers " +"<filename>.spec</filename> de vos applications. Par exemple, si vous vouliez " +"les fonctions spécifiques MS, mais pas les functions d'entrées/sorties, vous " +"pourriez avoir la liste suivante :" + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:111 +#, no-wrap +msgid "<programlisting>@ignore = ( fopen fclose fwrite fread fputs fgets )" +msgstr "<programlisting>@ignore = ( fopen fclose fwrite fread fputs fgets )" + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:113 +msgid "" +"Obviously, the complete list would be much longer. Remember too that some " +"functions are implemented with an underscore in their name and " +"<function>#define</function>d to that name in the MS headers. So you may " +"need to find out the name by examining " +"<filename>dlls/msvcrt/msvcrt.spec</filename> to get the correct name for " +"your <function>@ignore</function> entry." +msgstr "" +"Evidemment, la liste complète serait beaucoup plus longue. Souvenez-vous " +"également que certaines fonctions son implémentées avec une barre de " +"soulignement [underscore] dans leur nom et définies (avec " +"<function>#define</function>) par ce même nom dans les en-têtes MS. Ainsi, " +"il vous sera peut-être nécessaire de retrouver le nom en examinant " +"<filename>dlls/msvcrt/msvcrt.spec</filename> afin d'obtenir le nom correct à " +"indiquer dans la clause <function>@ignore</function>." + +# type: <title id="porting-compiling.title"></title> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:123 +#, no-wrap +msgid "Compiling Problems" +msgstr "Problèmes de compilation" + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:125 +msgid "" +"If you get undefined references to Win32 API calls when building your " +"application: if you have a VC++ <filename>.dsp</filename> file, check it for " +"all the <filename>.lib</filename> files it imports, and add them to your " +"applications <filename>.spec</filename> file. <command>winebuild</command> " +"gives you a warning for unused imports so you can delete the ones you don't " +"need later. Failing that, just import all the DLL's you can find in the " +"<filename>dlls/</filename> directory of the Wine source tree." +msgstr "" +"Si vous obtenez des références indéfinies vers les appels à l'API Win32 au " +"moment de construire votre application : si vous avez un fichier " +"<filename>.dsp</filename> de VC++, vérifiez dans celui-ci tous les fichiers " +"<filename>.lib</filename> qu'il importe, et ajoutez les au fichier " +"<filename>.spec</filename> de vos applications. <command>winebuild</command> " +"renvoie un avertissement pour tous les fichiers importés non utilisés ; vous " +"pourrez donc effacer ceux dont vous n'avez pas besoin plus tard. A défaut, " +"importez simplement toutes les DLL que vous pouvez trouver dans le " +"répertoire <filename>dlls</filename> de l'arborescence des sources de Wine." + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:137 +msgid "" +"If you are missing GUIDs at the link stage, add " +"<parameter>-lwine_uuid</parameter> to the link line." +msgstr "" +"Si vous n'avez pas les GUID au moment de l'édition des liens, ajoutez " +"<parameter>-lwine_uuid</parameter> à la ligne d'édition des liens." + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:141 +msgid "" +"gcc is more strict than VC++, especially when compiling C++. This may " +"require you to add casts to your C++ to prevent overloading ambiguities " +"between similar types (such as two overloads that take int and char " +"respectively)." +msgstr "" +"gcc est plus strict que VC++, en particulier pour compiler du C++. Vous " +"pourriez alors avoir besoin d'ajouter des transtypages explicites dans votre " +"code C++ pour éviter les ambigüités de surcharges entre des types similaires " +"(comme par exemple deux surcharges qui prennent respectivement un entier et " +"un caractère en paramètre)." + +# type: <para></para> +#: ../en/winelib-user.sgml:33 ../en/winelib-porting.sgml:147 +msgid "" +"If you come across a difference between the Windows headers and Wine's that " +"breaks compilation, try asking for help on " +"<email>wine-devel@winehq.org</email>." +msgstr "" +"Si vous rencontrez des différences entre les en-têtes Windows et celles de " +"Wine qui rendent impossible la compilation, vous pourrez vous en sortir en " +"demandant de l'aide à l'adresse <email>wine-devel@winehq.org</email>." + +# type: <title id="winelib-toolkit.title"></title> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:3 +#, no-wrap +msgid "The Winelib development toolkit" +msgstr "Le kit de développement Winelib" + +# type: <title id="winemaker.title"></title> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:6 +#, no-wrap +msgid "Winemaker" +msgstr "Winemaker" + +# type: <title id="vc-projects.title"></title> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:9 +#, no-wrap +msgid "Support for Visual C++ projects" +msgstr "Compatibilité avec les projets Visual C++" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:11 +msgid "" +"Unfortunately Winemaker does not support the Visual C++ project files, " +"...yet. Supporting Visual C++ project files (the <filename>.dsp</filename> " +"and some <filename>.mak</filename> files for older versions of Visual C++) " +"is definitely on the list of important Winemaker improvements as it will " +"allow it to properly detect the defines to be used, any custom include path, " +"the list of libraries to link with, and exactly which source files to use to " +"build a specific target. All things that the current version of Winemaker " +"has to guess or that you have to tell it as will become clear in the next " +"section." +msgstr "" +"Hélas, Winemaker ne supporte pas (encore) les fichiers de projets Visual " +"C++. La compatibilité avec les fichiers de projets Visual C++ (les fichiers " +"<filename>.dsp</filename> et quelques fichiers <filename>.mak</filename> " +"pour les versions antérieures de Visual C++) est une des priorités sur la " +"liste des améliorations importante à faire de Winemaker car cela permettra " +"de détecter correctement les définitions à utiliser, les chemins " +"d'inclusions personnalisés quels qu'ils soient, la liste des bibliothèques " +"dont on devra éditer les liens, et quelles sources exactement utiliser pour " +"construire une application cible spécifique. Tout ce que la version actuelle " +"de Winemaker doit deviner ou que vous devez lui indiquer, comme cela " +"apparaitra clairement dans la section suivante." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:23 +msgid "" +"When the time comes Winemaker, and its associated build system, will need " +"some extensions to support:" +msgstr "" +"Le moment venu, Winemaker et son système de construction associé auront " +"besoin de quelques extensions pour supporter :" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:29 +msgid "" +"per file defines and include paths. Visual C++ projects allow the user to " +"specify compiler options for each individual file being compiled. But this " +"is probably not very frequent so it might not be that important." +msgstr "" +"les définitions et chemins d'inclusion pour chaque fichier. Les projets " +"Visual C++ donnent à l'utilisateur la possibilité de spécifier les options " +"du compilateur pour chaque fichier particulier à compiler. Mais cela n'est " +"probablement pas très fréquent donc il est possible que ce ne soit pas si " +"important." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:37 +msgid "" +"multiple configurations. Visual C++ projects usually have at least a 'Debug' " +"and a 'Release' configuration which are compiled with different compiler " +"options. How exactly we deal with these configurations remains to be " +"determined." +msgstr "" +"configurations multiples. Les projets Visual C++ ont habituellement au moins " +"une configuration 'Debug' et une configuration 'Release' qui sont compilées " +"avec des options de compilation différentes. La manière exacte de traiter " +"ces configurations reste à déterminer." + +# type: <title id="source-analysis.title"></title> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:47 +#, no-wrap +msgid "Winemaker's source analysis" +msgstr "Analyse des sources de Winemaker" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:49 +msgid "" +"Winemaker can do its work even without a Windows makefile or a Visual Studio " +"project to start from (it would not know what to do with a windows makefile " +"anyway). This involves doing many educated guesses which may be wrong. But " +"by and large it works. The purpose of this section is to describe in more " +"details how winemaker proceeds so that you can better understand why it gets " +"things wrong and how to fix it/avoid it." +msgstr "" +"Winemaker peut faire son travail même sans la présence au départ d'un " +"fichier de compilation (makefile) Windows ou d'un projet Visual Studio (de " +"toute façon, il ne saurait pas quoi faire d'un fichier de compilation " +"Windows). Cela implique de faire beaucoup de suppositions bien informées qui " +"pourraient être fausses. Mais dans l'ensemble ça marche. Le but de cette " +"section est de décrire plus en détails comment winemaker procède afin que " +"vous puissiez mieux comprendre pourquoi il commet des erreurs et comment les " +"corriger/éviter." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:58 +msgid "" +"At the core winemaker does a recursive traversal of your source tree looking " +"for targets (things to build) and source files. Let's start with the " +"targets." +msgstr "" +"Au niveau noyau de l'application, winemaker effectue un passage récursif de " +"l'arborescence de vos sources en recherchant les cibles (les choses à " +"construire) et les fichiers sources. Commençons par les cibles." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:63 +msgid "" +"First are executables and DLLs. Each time it finds one of these in a " +"directory, winemaker puts it in the list of things to build and will later " +"generate a <filename>Makefile.in</filename> file in this directory. Note " +"that Winemaker also knows about the commonly used " +"<filename>Release</filename> and <filename>Debug</filename> directories, so " +"it will attribute the executables and libraries found in these to their " +"parent directory. When it finds an executable or a DLL winemaker is happy " +"because these give it more information than the other cases described below." +msgstr "" +"D'abord il y a les exécutables et les DLL. A chaque fois qu'il trouve l'une " +"d'entre elles dans un répertoire, winemaker la met dans une liste des choses " +"à construire et génèrera plus tard un fichier " +"<filename>Makefile.in</filename> dans ce répertoire. Notez que Winemaker " +"connaît aussi les répertoires <filename>Release</filename> et " +"<filename>Debug</filename> couramment utilisés , et il va donc attribuer les " +"exécutables et les bibliothèques qu'il y trouve dans leur répertoire " +"parent. Quand il trouve un exécutable ou une DLL, winemaker est content car " +"ceux-ci lui donnent plus d'informations que les cas décrits ci-dessous." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:74 +msgid "" +"If it does not find any executable or DLL winemaker will look for files with " +"a <filename>.mak</filename> extension. If they are not disguised Visual C++ " +"projects (and currently even if they are), winemaker will assume that a " +"target by that name should be built in this directory. But it will not know " +"whether this target is an executable or a library. So it will assume it is " +"of the default type, i.e. a graphical application, which you can override by " +"using the <option>--cuiexe</option> and <option>--dll</option> options." +msgstr "" +"S'il ne trouve pas un exécutable ou une DLL, winemaker cherchera les " +"fichiers portant l'extension <filename>.mak</filename>. S'il ne s'agit pas " +"de projets Visual C++ déguisés (et dans l'état actuel des choses même si " +"c'en est un), winemaker considèrera qu'une cible de ce nom devra être " +"générée dans ce répertoire. Mais il ne saura jamais s'il s'agit d'un " +"exécutable ou d'une bibliothèque. Il considèrera donc qu'il est du type " +"défini par défaut, c'est à dire une application graphique, que vous pouvez " +"outrepasser en utilisant les options <option>--cuiexe</option> et " +"<option>--dll</option>." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:84 +msgid "" +"Finally winemaker will check to see if there is a file called " +"<filename>makefile</filename>. If there is, then it will assume that there " +"is exactly one target to build for this directory. But it will not know the " +"name or type of this target. For the type it will do as in the above " +"case. And for the name it will use the directory's name. Actually, if the " +"directory starts with <filename>src</filename> winemaker will try to make " +"use of the name of the parent directory instead." +msgstr "" +"Enfin, winemaker vérifiera s'il existe un fichier nommé " +"<filename>makefile</filename>. S'il y en a un, il considèrera qu'il y a " +"exactement une cible à générer pour ce répertoire. Mais il ne connaîtra pas " +"le nom ou le type de cette cible. Pour le type, il fera la même chose que " +"dans le cas décrit plus haut. Et pour le nom, il utilisera le nom du " +"répertoire. En fait, si le répertoire commence par <filename>src</filename>, " +"winemaker essaiera d'utiliser le nom du répertoire parent à la place." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:94 +msgid "" +"Once the target list for a directory has been established, winemaker will " +"check whether it contains a mix of executables and libraries. If it is so, " +"then winemaker will make it so that each executable is linked with all the " +"libraries of that directory." +msgstr "" +"Une fois que la liste des cibles a été établie pour un répertoire, winemaker " +"vérifiera s'il contient un mélange d'exécutables et de bibliothèques. Si " +"c'est le cas, alors winemaker fera en sorte que chaque exécutable soit lié " +"avec toutes les bibliothèques de ce répertoire." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:103 +msgid "" +"If the previous two steps don't produce the expected results (or you think " +"they will not) then you should put winemaker in interactive mode (see <xref " +"endterm="interactive.title" linkend="interactive">). This will allow you " +"to specify the target list (and more) for each directory." +msgstr "" +"Si les deux étapes précédentes ne produisent pas le résultat escompté (ou si " +"vous pensez qu'elles n'y parviendront pas), il faudrait alors mettre " +"winemaker en mode interactif (voir <xref endterm="interactive.title" " +"linkend="interactive">). Cela vous permettra de spécifier la liste des " +"cibles (et plus) pour chaque répertoire." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:107 +msgid "" +"In each directory winemaker also looks for source files: C, C++ or resource " +"files. If it also found targets to build in this directory it will then try " +"to assign each source file to one of these targets based on their " +"names. Source files that do not seem to match any specific target are put in " +"a global list for this directory, see the <literal>EXTRA_xxx</literal> " +"variables in the <filename>Makefile.in</filename>, and linked with each of " +"the targets. The assumption here is that these source files contain common " +"code which is shared by all the targets. If no targets were found in the " +"directory where these files are located, then they are assigned to the " +"parent's directory. So if a target is found in the parent directory it will " +"also 'inherit' the source files found in its subdirectories." +msgstr "" +"Dans chaque répertoire, winemaker recherche aussi des fichiers sources : C, " +"C++ ou des fichiers de ressources. S'il trouve également des cibles à " +"construire dans ce répertoire, il essaiera d'attribuer à chaque fichier " +"source une de ces cibles en se basant sur leurs noms. Les fichiers sources " +"qui ne semblent pas correspondre à une cible spécifique sont mis dans une " +"liste globale pour ce répertoire, que l'on peut voir dans les variables " +"<literal>EXTRA_xxx</literal> dans le fichier " +"<filename>Makefile.in</filename>, et reliés à chacune des cibles. On " +"considère ici que ces fichiers sources contiennent un code commun, partagé " +"par toutes les cibles. Si aucune cible n'a été trouvée dans le répertoire où " +"sont situés ces fichiers, ils sont attribués au répertoire parent. Donc, si " +"une cible est trouvée dans le répertoire parent, celle-ci va aussi 'hériter' " +"des fichiers sources trouvées dans ses sous-répertoires." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:122 +msgid "" +"Finally winemaker also looks for more exotic files like " +"<filename>.h</filename> headers, <filename>.inl</filename> files containing " +"inline functions and a few others. These are not put in the regular source " +"file lists since they are not compiled directly. But winemaker will still " +"remember them so that they are processed when the time comes to fix the " +"source files." +msgstr "" +"Enfin, winemaker recherche aussi des fichiers plus exotiques comme les " +"en-têtes <filename>.h</filename>, les fichiers <filename>.inl</filename> " +"contenant des fonctions incorporées [inline] et quelques autres. Ceux-ci ne " +"sont pas placés dans des listes de fichiers sources habituelles puisqu'ils " +"ne sont pas compilés directement. Mais winemaker les mémorisera quand même " +"afin qu'ils soient traités au moment venu de corriger les fichiers sources." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:130 +msgid "" +"Fixing the source files is done as soon as winemaker has finished its " +"recursive directory traversal. The two main tasks in this step are fixing " +"the CRLF issues and verifying the case of the include statements." +msgstr "" +"La correction des fichiers sources est effectuée dès que winemaker a terminé " +"le parcours récursif du répertoire. Les deux tâches principales dans cette " +"étape sont la correction des problèmes de retour à la ligne et retour " +"chariot [CRLF] et la vérification de la casse des directives d'inclusion." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:136 +msgid "" +"Winemaker makes a backup of each source file (in such a way that symbolic " +"links are preserved), then reads it fixing the CRLF issues and the other " +"issues as it goes. Once it has finished working on a file it checks whether " +"it has done any non CRLF-related modification and deletes the backup file if " +"it did not (or if you used <option>--nobackup</option>)." +msgstr "" +"Winemaker réalise une copie de sauvegarde de chaque fichier source (de telle " +"sorte que les liens symboliques sont préservés), puis lit en corrigeant les " +"problèmes de retour à la ligne et de retour chariot et les autres problèmes " +"au fur et à mesure. Une fois qu'il a terminé sur un fichier, il vérifie s'il " +"a réalisé des modifications qui ne sont pas en rapport avec les retours à la " +"ligne et les retours chariot et détruit le fichier de copie de sauvegarde si " +"ce n'est pas le cas (ou si vous avez utilisé <option>--nobackup</option>)." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:144 +msgid "" +"Checking the case of the include statements (of any form, including files " +"referenced by resource files), is done in the context of that source file's " +"project. This way winemaker can use the proper include path when looking for " +"the file that is included. If winemaker fails to find a file in any of the " +"directories of the include path, it will rename it to lowercase on the basis " +"that it is most likely a system header and that all system headers names are " +"lowercase (this can be overridden by using " +"<option>--nolower-include</option>)." +msgstr "" +"La vérification de la casse des directives d'inclusion (quelle que soit la " +"forme, y compris les fichiers référencés par des fichiers de ressources), " +"est faite dans le contexte du projet de ce fichier source. De cette manière, " +"winemaker peut utiliser le chemin d'inclusion correct lorsqu'il recherche le " +"fichier qui est inclus. Si winemaker ne parvient pas à trouver un fichier " +"dans l'un des répertoires du chemin d'inclusion, il le renommera en " +"minuscules en se basant sur le fait qu'il s'agit très probablement d'une " +"en-tête système et que toutes les en-têtes systèmes ont des noms en " +"minuscules (ceci peut être redéfini en utilisant la commande " +"<option>--nolower-include</option>)." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:155 +msgid "" +"Finally winemaker generates the <filename>Makefile.in</filename> files and " +"other support files (wrapper files, spec files, " +"<filename>configure.in</filename>, <filename>Make.rules.in</filename>). From " +"the above description you can guess at the items that winemaker may get " +"wrong in this phase: macro definitions, include path, DLL path, DLLs to " +"import, library path, libraries to link with. You can deal with these issues " +"by using winemaker's <option>-D</option>, <option>-P</option>, " +"<option>-i</option>, <option>-I</option>, <option>-L</option> and " +"<option>-l</option> options if they are homogeneous enough between all your " +"targets. Otherwise you may want to use winemaker's <link " +"linkend="interactive">interactive mode</link> so that you can specify " +"different settings for each project / target." +msgstr "" +"Finalement, winemaker génère les fichiers <filename>Makefile.in</filename> " +"ainsi que d'autres fichiers associés (fichiers emballeurs, fichiers spec, " +"<filename>configure.in</filename>, " +"<filename>Make.rules.in</filename>). D'après la description précédente, vous " +"pouvez deviner les éléments pour lesquels winemaker peut échouer durant " +"cette phase : définitions de macro, chemin d'inclusion, chemin d'une DLL, " +"DLL à importer, chemin d'une bibliothèque, bibliothèques à assembler. Vous " +"pouvez traiter ces problèmes en utilisant les options <option>-D</option>, " +"<option>-P</option>, <option>-i</option>, <option>-I</option>, " +"<option>-L</option> et <option>-l</option> de winemaker si elles sont " +"suffisamment homogènes entre toutes vos cibles. Sinon, vous pourriez " +"utiliser <link linkend="interactive">le mode interactif</link> de " +"Winemaker afin que vous puissiez spécifier les différentes configurations " +"pour chaque projet/cible." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:171 +msgid "" +"For instance, one of the problems you are likely to encounter is that of the " +"<varname>STRICT</varname> macro. Some programs will not compile if " +"<varname>STRICT</varname> is not turned on, and others will not compile if " +"it is. Fortunately all the files in a given source tree use the same setting " +"so that all you have to do is add <literal>-DSTRICT</literal> on winemaker's " +"command line or in the <filename>Makefile.in</filename> file(s)." +msgstr "" +"Par exemple, un des problèmes que vous risquez de rencontrer est celui de la " +"macro <varname>STRICT</varname>. Certaines applications ne vont pas compiler " +"si <varname>STRICT</varname> n'est pas activée, et d'autres ne vont pas " +"compiler si elle l'est. Par chance, tous les fichiers dans une arborescence " +"source donnée utilisent la même configuration de sorte que tout ce que vous " +"avez à faire est d'ajouter <literal>-DSTRICT</literal> à la ligne de " +"commande winemaker ou dans le(s) fichier(s) " +"<filename>Makefile.in</filename>." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:180 +msgid "Finally the most likely reasons for missing or duplicate symbols are:" +msgstr "" +"Enfin, les raisons les plus fréquentes pour lesquelles les symboles manquent " +"ou se trouvent dupliqués sont les suivantes :" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:186 +msgid "" +"The target is not importing the right set of DLLs, or is not being linked " +"with the right set of libraries. You can avoid this by using winemaker's " +"<option>-P</option>, <option>-i</option>, <option>-L</option> and " +"<option>-l</option> options or adding these DLLs and libraries to the " +"<filename>Makefile.in</filename> file." +msgstr "" +"La cible n'importe pas l'ensemble de DLL qu'il faut, ou n'est pas liée avec " +"la bonne collection de bibliothèques. Vous pouvez éviter cela en utilisant " +"les options <option>-P</option>, <option>-i</option>, <option>-L</option> et " +"<option>-l</option> de winemaker ou en ajoutant ces DLL et ces bibliothèques " +"au(x) fichier(s) <filename>Makefile.in</filename>." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:195 +msgid "" +"Maybe you have multiple targets in a single directory and winemaker guessed " +"wrong when trying to match the source files with the targets. The only way " +"to fix this kind of problem is to edit the <filename>Makefile.in</filename> " +"file manually." +msgstr "" +"Il est possible que vous ayez plusieurs cibles dans un seul répertoire et " +"que winemaker n'ait pas deviné correctement la correspondance des fichiers " +"sources avec les cibles. La seule manière de corriger ce problème est " +"d'éditer le fichier <filename>Makefile.in</filename> manuellement." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:203 +msgid "" +"Winemaker assumes you have organized your source files hierarchically. If a " +"target uses source files that are in a sibling directory, e.g. if you link " +"with <filename>../hello/world.o</filename> then you will get missing " +"symbols. Again the only solution is to manually edit the " +"<filename>Makefile.in</filename> file." +msgstr "" +"winemaker considère que vous avez organisé vos fichiers source de manière " +"hiérarchique. Si une cible utilise des fichiers source qui se situent dans " +"un répertoires de même niveau, par exemple si vous éditez les liens avec " +"<filename>../bonjour/toutlemonde.o</filename>, vous aurez des symboles " +"manquants. Encore une fois, la seule solution est d'éditer manuellement le " +"fichier <filename>Makefile.in</filename>." + +# type: <title id="interactive.title"></title> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:215 +#, no-wrap +msgid "The interactive mode" +msgstr "Le mode interactif" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:217 +msgid "what is it, when to use it, how to use it" +msgstr "Ce que c'est, quand et comment l'utiliser." + +# type: <title id="makefile.in.title"></title> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:224 +#, no-wrap +msgid "The Makefile.in files" +msgstr "Les fichiers Makefile.in" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:226 +msgid "" +"The <filename>Makefile.in</filename> is your makefile. More precisely it is " +"the template from which the actual makefile will be generated by the " +"<filename>configure</filename> script. It also relies on the " +"<filename>Make.rules</filename> file for most of the actual logic. This way " +"it only contains a relatively simple description of what needs to be built, " +"not the complex logic of how things are actually built." +msgstr "" +"Le fichier <filename>Makefile.in</filename> est votre fichier de " +"compilation. Plus précisément, il s'agit du modèle à partir duquel le " +"fichier de compilation réel sera généré au moyen du script " +"<filename>configure</filename>. Il repose également sur le fichier " +"<filename>Make.rules</filename> pour la grande partie de la logique en " +"elle-même. De cette manière, il contient seulement une description " +"relativement simple de ce qui a besoin d'être construit, et non la logique " +"complexe qui définit comment les choses sont effectivement construites." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:235 +msgid "" +"So this is the file to modify if you want to customize things. Here's a " +"detailed description of its content:" +msgstr "" +"C'est donc le fichier à modifier si vous voulez personnaliser les " +"choses. Voici une description détaillée de son contenu :" + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:239 +#, no-wrap +msgid "" +"<programlisting>### Generic autoconf variables\n" +"\nTOPSRCDIR = @top_srcdir@\n" +"TOPOBJDIR = .\n" +"SRCDIR = @srcdir@\n" +"VPATH = @srcdir@\n" +" " +msgstr "" +"<programlisting>### Generic autoconf variables\n" +"\nTOPSRCDIR = @top_srcdir@\n" +"TOPOBJDIR = .\n" +"SRCDIR = @srcdir@\n" +"VPATH = @srcdir@\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:247 +msgid "" +"The above is part of the standard autoconf boiler-plate. These variables " +"make it possible to have per-architecture directories for compiled files and " +"other similar goodies (But note that this kind of functionality has not been " +"tested with winemaker generated <filename>Makefile.in</filename> files yet)." +msgstr "" +"Le code ci-dessus fait partie du passe-partout standard d'autoconf. Ces " +"variables permettent d'avoir un répertoire par architecture pour les " +"fichiers compilés et autres bonnes choses du même genre (Mais notez que ce " +"genre de fonctionnalité n'a pas encore été testé avec les fichiers " +"<filename>Makefile.in</filename> générés par winemaker)." + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:254 +#, no-wrap +msgid "" +"<programlisting>SUBDIRS =\n" +"DLLS =\n" +"EXES = hello.exe\n" +" " +msgstr "" +"<programlisting>SUBDIRS =\n" +"DLLS =\n" +"EXES = hello.exe\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:259 +msgid "" +"This is where the targets for this directory are listed. The names are " +"pretty self-explanatory. <varname>SUBDIRS</varname> is usually only present " +"in the top-level makefile. For libraries and executables, specify the full " +"name, including the '.dll' or '.exe' extension. Note that these names must " +"be in all lowercase." +msgstr "" +"Il s'agit de l'endroit où se trouve la liste des cibles pour ce " +"répertoire. Les noms se passent tout à fait " +"d'explication. <varname>SUBDIRS</varname> n'est habituellement présent que " +"dans le fichier de compilation du répertoire du plus haut niveau. Pour les " +"bibliothèques et les exécutables, indiquez le nom complet, y compris " +"l'extension <filename>.dll</filename> ou <filename>.exe</filename>. Notez " +"que ces noms doivent tous être en minuscule." + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:266 +#, no-wrap +msgid "" +"<programlisting>### Global settings\n" +"\nDEFINES = -DSTRICT\n" +"INCLUDE_PATH =\n" +"DLL_PATH =\n" +"LIBRARY_PATH =\n" +"LIBRARIES =\n" +" " +msgstr "" +"<programlisting>### Global settings\n" +"\nDEFINES = -DSTRICT\n" +"INCLUDE_PATH =\n" +"DLL_PATH =\n" +"LIBRARY_PATH =\n" +"LIBRARIES =\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:275 +msgid "" +"This section contains the global compilation settings: they apply to all the " +"targets in this makefile. The <varname>LIBRARIES</varname> variable allows " +"you to specify additional Unix libraries to link with. Note that you would " +"normally not specify Winelib libraries there. To link with a Winelib " +"library, one uses the <varname>DLLS</varname> variables of the Makefile. The " +"exception is for C++ libraries where you currently don't have a choice but " +"to link with them in the Unix sense. One library you are likely to find here " +"is <literal>mfc</literal> (note, the '-l' is omitted)." +msgstr "" +"Cette section contient les paramètres de compilation globaux : ils " +"s'appliquent à toutes les cibles de ce fichier de compilation. La variable " +"<varname>LIBRARIES</varname> (bibliothèques) permet de spécifier des " +"librairies UNIX supplémentaires à lier à l'application. Notez qu'il ne " +"faudrait normalement pas spécifier les bibliothèques Winelib à cet " +"endroit. Pour lier une bibliothèque Winelib, on utilise les variables " +"<varname>DLLS</varname> du fichier de compilation, à l'exception des " +"bibliothèques C++ où l'on a actuellement d'autre choix que de les lier au " +"sens Unix. Une bibliothèque que vous risquez fort de trouver ici est " +"<literal>mfc</literal> (notez, le '-l' est omis)." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:286 +msgid "" +"The other variable names should be self-explanatory. You can also use three " +"additional variables that are usually not present in the file: " +"<varname>CEXTRA</varname>, <varname>CXXEXTRA</varname> and " +"<varname>WRCEXTRA</varname> which allow you to specify additional flags for, " +"respectively, the C compiler, the C++ compiler and the resource " +"compiler. Finally note that all these variable contain the option's name." +msgstr "" +"Les autres noms de variables devraient se passer d'explication. Vous pouvez " +"aussi utiliser trois variables supplémentaires qui ne sont pas " +"habituellement présentes dans ce fichier : <varname>CEXTRA</varname>, " +"<varname>CXXEXTRA</varname> et <varname>WRCRXTRA</varname> qui permettent de " +"spécifier des balises [flags] supplémentaires respectivement pour le " +"compilateur C, le compilateur C++ et le compilateur de ressources. Enfin, " +"notez que toutes ces variables contiennent le nom de l'option." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:296 +msgid "" +"Then come one section per target, each describing the various components " +"that target is made of." +msgstr "" +"Ensuite, on trouve une section par cible, chacune d'entre elles décrivant " +"les divers composants dont la cible est constituée." + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:300 +#, no-wrap +msgid "" +"<programlisting>### hello.exe sources and settings\n" +"\nhello_exe_C_SRCS = hello.c\n" +"hello_exe_CXX_SRCS =\n" +"hello_exe_RC_SRCS =\n" +"hello_exe_SPEC_SRCS =\n" +" " +msgstr "" +"<programlisting>### hello.exe sources and settings\n" +"\nhello_exe_C_SRCS = hello.c\n" +"hello_exe_CXX_SRCS =\n" +"hello_exe_RC_SRCS =\n" +"hello_exe_SPEC_SRCS =\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:308 +msgid "" +"Each section will start with a comment indicating the name of the " +"target. Then come a series of variables prefixed with the name of that " +"target. Note that the name of the prefix may be slightly different from that " +"of the target because of restrictions on the variable names." +msgstr "" +"Chaque section commencera par un commentaire indiquant le nom de la " +"cible. Ensuite vient une série de variables préfixées par le nom de la " +"cible. Notez que le nom du préfixe peut être légèrement différent de celui " +"de la cible à cause des restrictions sur les noms de variables." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:315 +msgid "" +"The above variables list the sources that are used togenerate the " +"target. Note that there should only be one resource file in " +"<varname>RC_SRCS</varname>, and that <varname>SPEC_SRCS</varname> will " +"usually be empty for executables, and will contain a single spec file for " +"libraries." +msgstr "" +"Les variables ci-dessus donnent la liste des sources qui sont utilisées pour " +"générer la cible. Notez qu'il devrait y avoir seulement un fichier de " +"ressource dans <varname>RC_SRCS</varname>, que <varname>SPEC_SRCS</varname> " +"sera habituellement vide pour les exécutables, et contiendra un simple " +"fichier spec pour les bibliothèques." + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:322 +#, no-wrap +msgid "" +"<programlisting>hello_exe_DLL_PATH =\n" +"hello_exe_DLLS =\n" +"hello_exe_LIBRARY_PATH =\n" +"hello_exe_LIBRARIES =\n" +"hello_exe_DEPENDS =\n" +" " +msgstr "" +"<programlisting>hello_exe_DLL_PATH =\n" +"hello_exe_DLLS =\n" +"hello_exe_LIBRARY_PATH =\n" +"hello_exe_LIBRARIES =\n" +"hello_exe_DEPENDS =\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:329 +msgid "" +"The above variables specify how to link the target. Note that they add to " +"the global settings we saw at the beginning of this file." +msgstr "" +"Les variables ci-dessus spécifient comment sont liées les cibles. Notez " +"qu'elles s'ajoutent aux paramètres globaux que nous avons vus au début de ce " +"fichier." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:333 +msgid "" +"The <varname>DLLS</varname> field is where you would enumerate the list of " +"DLLs that executable imports. It should contain the full DLL name including " +"the '.dll' extension, but not the '-l' option." +msgstr "" +"Le champs <varname>DLLS</varname> est l'endroit où vous pourrez énumérer la " +"liste des DLL que l'exécutable importe. Il doit contenir le nom de DLL " +"complet, y compris l'extension '.dll', mais pas l'option '-l'." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:338 +msgid "" +"<varname>DEPENDS</varname>, when present, specifies a list of other targets " +"that this target depends on. Winemaker will automatically fill this field " +"when an executable and a library are built in the same directory." +msgstr "" +"<varname>DEPENDS</varname>, lorsqu'il est présent, spécifie une liste " +"d'autres cibles dont cette cible dépend. Winemaker remplira automatiquement " +"ce champs quand un exécutable et une bibliothèque sont construits dans le " +"même répertoire." + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:344 +#, no-wrap +msgid "" +"<programlisting>hello_exe_OBJS = $(hello_exe_C_SRCS:.c=.o) \\n " +"$(hello_exe_CXX_SRCS:.cpp=.o) \\n $(EXTRA_OBJS)\n" +" " +msgstr "" +"<programlisting>hello_exe_OBJS = $(hello_exe_C_SRCS:.c=.o) \\n " +"$(hello_exe_CXX_SRCS:.cpp=.o) \\n $(EXTRA_OBJS)\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:349 +msgid "" +"The above just builds a list of all the object files that correspond to this " +"target. This list is later used for the link command." +msgstr "" +"L'instruction ci-dessus contruit just une liste de tous les fichiers objets " +"qui correspondent à la cible. Cette liste est utilisée plus tard pour la " +"commande d'édition des liens." + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:354 +#, no-wrap +msgid "" +"<programlisting>### Global source lists\n" +"\nC_SRCS = $(hello_exe_C_SRCS)\n" +"CXX_SRCS = $(hello_exe_CXX_SRCS)\n" +"RC_SRCS = $(hello_exe_RC_SRCS)\n" +"SPEC_SRCS = $(hello_exe_SPEC_SRCS)\n" +" " +msgstr "" +"<programlisting>### Global source lists\n" +"\nC_SRCS = $(hello_exe_C_SRCS)\n" +"CXX_SRCS = $(hello_exe_CXX_SRCS)\n" +"RC_SRCS = $(hello_exe_RC_SRCS)\n" +"SPEC_SRCS = $(hello_exe_SPEC_SRCS)\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:362 +msgid "" +"This section builds 'summary' lists of source files. These lists are used by " +"the <filename>Make.rules</filename> file." +msgstr "" +"Cette section construit des listes 'récapitulatives' des fichiers " +"source. Ces listes sont utilisées par le fichier " +"<filename>Make.rules</filename>." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:366 ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:959 +msgid "FIXME:The following is not up-to-date." +msgstr "FIXME : La partie suivante n'est pas à jour." + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:369 +#, no-wrap +msgid "" +"<programlisting>### Generic autoconf targets\n" +"\nall: $(DLLS:%=%.so) $(EXES:%=%.so)\n" +"\n@MAKE_RULES@\n" +"\ninstall::\n" +" for i in $(EXES); do $(INSTALL_PROGRAM) $$i $(bindir); done\n" +" for i in $(EXES:%=%.so) $(DLLS); do $(INSTALL_LIBRARY) $$i " +"$(libdir); done\n" +"\nuninstall::\n" +" for i in $(EXES); do $(RM) $(bindir)/$$i;done\n" +" for i in $(EXES:%=%.so) $(DLLS); do $(RM) $(libdir)/$$i;done\n" +" " +msgstr "" +"<programlisting>### Generic autoconf targets\n" +"\nall: $(DLLS:%=%.so) $(EXES:%=%.so)\n" +"\n@MAKE_RULES@\n" +"\ninstall::\n" +" for i in $(EXES); do $(INSTALL_PROGRAM) $$i $(bindir); done\n" +" for i in $(EXES:%=%.so) $(DLLS); do $(INSTALL_LIBRARY) $$i " +"$(libdir); done\n" +"\nuninstall::\n" +" for i in $(EXES); do $(RM) $(bindir)/$$i;done\n" +" for i in $(EXES:%=%.so) $(DLLS); do $(RM) $(libdir)/$$i;done\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:384 +msgid "" +"The above first defines the default target for this makefile. Here it " +"consists in trying to build all the targets. Then it includes the " +"<filename>Make.rules</filename> file which contains the build logic, and " +"provides a few more standard targets to install / uninstall the targets." +msgstr "" +"Le bloc de code ci-dessus définit tout d'abord la cible par défaut de ce " +"fichier de compilation. Cela consiste ici à essayer de construire toutes les " +"cibles. Ensuite, il inclut le fichier <filename>Make.rules</filename> qui " +"contient la logique de construction, et fournit quelques cibles standard de " +"plus pour installer / désinstaller les cibles." + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:391 +#, no-wrap +msgid "" +"<programlisting>### Target specific build rules\n" +"\n$(hello_SPEC_SRCS:.spec=.tmp.o): $(hello_OBJS)\n" +" $(LDCOMBINE) $(hello_OBJS) -o $@\n" +" -$(STRIP) $(STRIPFLAGS) $@\n" +"\n$(hello_SPEC_SRCS:.spec=.spec.c): $(hello_SPEC_SRCS:.spec) " +"$(hello_SPEC_SRCS:.spec=.tmp.o) $(hello_RC_SRCS:.rc=.res)\n" +" $(WINEBUILD) -fPIC $(hello_LIBRARY_PATH) $(WINE_LIBRARY_PATH) -sym " +"$(hello_SPEC_SRCS:.spec=.tmp.o) -o $@ -spec $(hello_SPEC_SRCS)\n" +"\nhello.so: $(hello_SPEC_SRCS:.spec=.spec.o) $(hello_OBJS) $(hello_DEP\n" +"ENDS) \n" +" $(LDSHARED) $(LDDLLFLAGS) -o $@ $(hello_OBJS) " +"$(hello_SPEC_SRCS:.spec=.spec.o) $(hello_LIBRARY_PATH) " +"$(hello_LIBRARIES:%=-l%) $(DLL_LINK) $(LIBS)\n" +" test -f hello || $(LN_S) $(WINE) hello\n" +" " +msgstr "" +"<programlisting>### Target specific build rules\n" +"\n$(hello_SPEC_SRCS:.spec=.tmp.o): $(hello_OBJS)\n" +" $(LDCOMBINE) $(hello_OBJS) -o $@\n" +" -$(STRIP) $(STRIPFLAGS) $@\n" +"\n$(hello_SPEC_SRCS:.spec=.spec.c): $(hello_SPEC_SRCS:.spec) " +"$(hello_SPEC_SRCS:.spec=.tmp.o) $(hello_RC_SRCS:.rc=.res)\n" +" $(WINEBUILD) -fPIC $(hello_LIBRARY_PATH) $(WINE_LIBRARY_PATH) -sym " +"$(hello_SPEC_SRCS:.spec=.tmp.o) -o $@ -spec $(hello_SPEC_SRCS)\n" +"\nhello.so: $(hello_SPEC_SRCS:.spec=.spec.o) $(hello_OBJS) $(hello_DEP\n" +"ENDS) \n" +" $(LDSHARED) $(LDDLLFLAGS) -o $@ $(hello_OBJS) " +"$(hello_SPEC_SRCS:.spec=.spec.o) $(hello_LIBRARY_PATH) " +"$(hello_LIBRARIES:%=-l%) $(DLL_LINK) $(LIBS)\n" +" test -f hello || $(LN_S) $(WINE) hello\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:406 +msgid "" +"Then come additional directives to link the executables and libraries. These " +"are pretty much standard and you should not need to modify them." +msgstr "" +"Viennent ensuite des directives supplémentaires pour éditer les liens des " +"exécutables et des bibliothèques. Celles-ci sont quasiment standard et vous " +"ne devriez pas avoir besoin de les modifier." + +# type: <title id="make.rules.in.title"></title> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:413 +#, no-wrap +msgid "The Make.rules.in file" +msgstr "Le fichier Make.rules.in" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:415 +msgid "What's in the Make.rules.in..." +msgstr "Ce qui se trouve à l'intérieur du fichier Make.rules.in..." + +# type: <title id="configure.in.title"></title> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:420 +#, no-wrap +msgid "The configure.in file" +msgstr "Le fichier configure.in " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:422 +msgid "What's in the configure.in..." +msgstr "Ce qui se trouve dans le fichier configure.in..." + +# type: <title id="wrc.title"></title> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:428 +#, no-wrap +msgid "Compiling resource files: WRC" +msgstr "Compilation des fichiers de ressources : WRC" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:434 +msgid "" +"To compile resources you should use the Wine Resource Compiler, wrc for " +"short, which produces a binary <filename>.res</filename> file. This resource " +"file is then used by winebuild when compiling the spec file (see <xref " +"endterm="spec-file.title" linkend="spec-file">)." +msgstr "" +"Pour compiler des ressources, il faudrait utiliser le compilateur de " +"ressouce de Wine [Wine Resource Compiler], wrc pour les intimes, qui produit " +"un fichier binaire <filename>.res</filename>. Ce fichier de ressource est " +"ensuite utilisé par winebuild lors de la compilation du fichier spec (voir " +"<xref endterm="spec-file.title" linkend="spec-file">)." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:437 +msgid "" +"Again the makefiles generated by winemaker take care of this for you. But if " +"you were to write your own makefile you would put something like the " +"following:" +msgstr "" +"Encore une fois, les fichiers de compilation générés par winemaker s'en " +"occupent pour vous. Mais dans le cas où vous écririez votre propre fichier " +"de compilation, vous mettriez quelque chose comme ça :" + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:442 +#, no-wrap +msgid "" +"<programlisting>WRC=$(WINE_DIR)/tools/wrc/wrc\n" +"\nWINELIB_FLAGS = -I$(WINE_DIR)/include -DWINELIB -D_REENTRANT\n" +"WRCFLAGS = -r -L\n" +"\n.SUFFIXES: .rc .res\n" +"\n.rc.res:\n" +"\t$(WRC) $(WRCFLAGS) $(WINELIB_FLAGS) -o $@ $<\n" +" " +msgstr "" +"<programlisting>WRC=$(WINE_DIR)/tools/wrc/wrc\n" +"\nWINELIB_FLAGS = -I$(WINE_DIR)/include -DWINELIB -D_REENTRANT\n" +"WRCFLAGS = -r -L\n" +"\n.SUFFIXES: .rc .res\n" +"\n.rc.res:\n" +"\t$(WRC) $(WRCFLAGS) $(WINELIB_FLAGS) -o $@ $<\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:453 +msgid "There are two issues you are likely to encounter with resource files." +msgstr "" +"Il existe deux problèmes que vous êtes susceptibles de rencontrer avec les " +"fichiers de ressource." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:456 +msgid "" +"The first problem is with the C library headers. WRC does not know where " +"these headers are located. So if an RC file, of a file it includes, " +"references such a header you will get a 'file not found' error from " +"wrc. Here are a few ways to deal with this:" +msgstr "" +"Le premier problème est avec les en-têtes des bibliothèques C. WRC ne sait " +"pas où sont situées ces en-têtes. Donc, si un fichier RC, d'un fichier qu'il " +"inclut, référence une telle en-tête, vous obtiendrez une erreur 'file not " +"found' (fichier non trouvé) provenant de wrc. Voici quelques solutions pour " +"s'en sortir :" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:464 +msgid "" +"The solution traditionally used by the Winelib headers is to enclose the " +"offending include statement in an <literal>#ifndef RC_INVOKED</literal> " +"statement where <varname>RC_INVOKED</varname> is a macro name which is " +"automatically defined by wrc." +msgstr "" +"La solution traditionnellement utilisée par les en-têtes Winelib est " +"d'adjoindre la directive d'inclusion qui pose problème dans une directive " +"<literal>#ifndef RC_INVOKED</literal> où <varname>RC_INVOKED</varname> est " +"le nom d'une macro qui est automatiquement définie par wrc." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:473 +msgid "" +"Alternately you can add one or more <option>-I</option> directive to your " +"wrc command so that it finds you system files. For instance you may add " +"<literal>-I/usr/include " +"-I/usr/lib/gcc-lib/i386-linux/2.95.2/include</literal> to cater to both C " +"and C++ headers. But this supposes that you know where these header files " +"reside which decreases the portability of your makefiles to other platforms " +"(unless you automatically detect all the necessary directories in the " +"autoconf script)." +msgstr "" +"Ou encore, vous pouvez ajouter une ou plusieurs directives " +"<option>-I</option> à votre commande wrc afin que celui-ci trouve vos " +"fichiers système. Par exemple, vous pourriez utiliser " +"<literal>-I/usr/include " +"-I/usr/lib/gcc-lib/i386-linux/2.95.2/include</literal> pour approvisionner " +"les en-têtes C ainsi que C++. Mais cela suppose que vous sachiez où ces " +"fichiers d'en-têtes résident, ce qui diminue la portabilité de vos fichiers " +"de compilation vers d'autres plateformes (à moins que vous ne détectiez " +"automatiquement tous les répertoires nécessaires dans votre script " +"autoconf)." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:483 +msgid "" +"Or you could use the C/C++ compiler to perform the preprocessing. To do so, " +"simply modify your makefile as follows:" +msgstr "" +"Ou bien vous pourriez utiliser le compilateur C/C++ afin de réaliser le " +"prétraitement. Pour cela, modifiez simplement votre fichier de compilation " +"comme suit :" + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:487 +#, no-wrap +msgid "" +"<programlisting>.rc.res:\n" +"\t$(CC) $(CC_OPTS) -DRC_INVOKED -E -x c $< | $(WRC) -N $(WRCFLAGS) " +"$(WINELIB_FLAGS) -o $@\n" +"\n " +msgstr "" +"<programlisting>.rc.res:\n" +"\t$(CC) $(CC_OPTS) -DRC_INVOKED -E -x c $< | $(WRC) -N $(WRCFLAGS) " +"$(WINELIB_FLAGS) -o $@\n" +"\n " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:495 +msgid "" +"The second problem is that the headers may contain constructs that WRC fails " +"to understand. A typical example is a function which return a 'const' " +"type. WRC expects a function to be two identifiers followed by an opening " +"parenthesis. With the const this is three identifiers followed by a " +"parenthesis and thus WRC is confused (note: WRC should in fact ignore all " +"this like the windows resource compiler does). The current work-around is to " +"enclose offending statement(s) in an <literal>#ifndef RC_INVOKED</literal>." +msgstr "" +"Le second problème est que les en-têtes pourraient contenir des " +"constructions syntaxiques que WRC ne parvient pas à comprendre. Un exemple " +"type est une fonction qui retourne un type 'const'. WRC s'attend à ce qu'une " +"fonction soit représentée par deux identifiants suivis par une parenthèse " +"ouvrante. Avec le 'const', on a trois identifiants suivis d'une parenthèse " +"et WRC est ainsi dans la confusion (note : En fait, WRC devrait ignorer tout " +"cela comme le fait le compilateur de ressources windows). Actuellement, pour " +"contourner le problème on joint la (ou les) directive(s) incriminée(s) dans " +"un <literal>#ifndef RC_INVOKED</literal>." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:506 +msgid "" +"Using GIF files in resources is problematic. For best results, convert them " +"to BMP and change your <filename>.res</filename> file." +msgstr "" +"L'utilisation des fichiers GIF dans les ressources est problématique. Pour " +"de meilleurs résultats, convertissez les en BMP et changez votre fichier " +"<filename>.res</filename>." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:511 +msgid "" +"If you use common controls/dialogs in your resource files, you will need to " +"add <function>#include <commctrl.h></function> after the " +"<function>#include <windows.h></function> line, so that " +"<command>wrc</command> knows the values of control specific flags." +msgstr "" +"Si vous utilisez des dialogues/contrôles communs dans vos fichiers de " +"ressource, il vous faudra ajouter <function>#include " +"<commctrl.h></function> après la ligne <function>#include " +"<window.h></function>, afin que <command>wrc</command> connaisse les " +"valeurs des balises [flags] de contrôle spécifiques." + +# type: <title id="wmc.title"></title> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:520 +#, no-wrap +msgid "Compiling message files: WMC" +msgstr "Compilation des fichiers de message : WMC" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:522 +msgid "how does one use it???" +msgstr "Comment l'utilise t-on ???" + +# type: <title id="spec-file.title"></title> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:527 +#, no-wrap +msgid "The Spec file" +msgstr "Le fichier spec" + +# type: <title id="binary-dlls-intro.title"></title> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:530 ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:6 ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:6 +#, no-wrap +msgid "Introduction" +msgstr "Introduction" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:532 +msgid "" +"In Windows the program's life starts either when its " +"<function>main</function> is called, for console applications, or when its " +"<function>WinMain</function> is called, for windows applications in the " +"'windows' subsystem. On Unix it is always <function>main</function> that is " +"called. Furthermore in Winelib it has some special tasks to accomplish, such " +"as initializing Winelib, that a normal <function>main</function> does not " +"have to do." +msgstr "" +"Sous Windows, la vie d'une application commence soit lorsque son programme " +"principal est appelé <function>main</function>, pour une application en mode " +"console, ou lorsque sa fenêtre principale <function>Winmain</function> est " +"appelée, pour les applications windows dans le sous-système 'windows'. Sous " +"UNIX, c'est toujours le <function>main</function> qui est appelé. De plus, " +"dans Winelib, il y a toujours des tâches particulières à accomplir, telles " +"que l'initialisation de Winelib, qu'un programme principal " +"<function>main</function> normal n'a pas à faire." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:541 +msgid "" +"Furthermore windows applications and libraries contain some information " +"which are necessary to make APIs such as <function>GetProcAddress</function> " +"work. So it is necessary to duplicate these data structures in the Unix " +"world to make these same APIs work with Winelib applications and libraries." +msgstr "" +"De plus, les applications et les bibliothèques windows contiennnent des " +"informations qui sont nécessaires pour que des API telles que " +"<function>GetProcAdress</function> fonctionnent. Il est donc nécessaire de " +"dupliquer ces structures de données dans le monde UNIX pour que ces mêmes " +"API fonctionnent avec les applications et les bibliothèques Winelib." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:548 +msgid "" +"The spec file is there to solve the semantic gap described above. It " +"provides the <function>main</function> function that initializes Winelib and " +"calls the module's <function>WinMain</function> / " +"<function>DllMain</function>, and it contains information about each API " +"exported from a Dll so that the appropriate tables can be generated." +msgstr "" +"Le fichier Spec est là pour combler le fossé sémantique décrit plus haut. Il " +"fournit une fonction <function>main</function> qui initialise Winelib et qui " +"appelle le <function>WinMain</function>/ <function>DllMain</function> du " +"module, et il contient des informations au sujet de chaque API exportée " +"depuis une Dll afin que les tables appropriées puissent être générées." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:556 +msgid "A typical spec file will look something like this:" +msgstr "Un fichier spec habituel ressemblera à peu près à ça :" + +# type: <screen></screen> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:559 +#, no-wrap +msgid "" +"<screen>init WinMain\n" +"rsrc resource.res\n" +" " +msgstr "" +"<screen>init WinMain\n" +"rsrc resource.res\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:563 +msgid "And here are the entries you will probably want to change:" +msgstr "Et voici les entrées que vous aurez sans doute envie de changer :" + +# type: <term></term> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:567 +msgid "init" +msgstr "init" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:570 +msgid "" +"<literal>init</literal> defines what is the entry point of that module. For " +"a library this is customarily set to <literal>DllMain</literal>, for a " +"console application this is <literal>main</literal> and for a graphical " +"application this is <literal>WinMain</literal>." +msgstr "" +"<literal>init</literal> définit quel est le point d'entrée de ce module. On " +"a coutume de fixer sa valeur à <literal>Dllmain</literal> pour une " +"bibliothèque, <literal>main</literal> pour une application en mode console " +"et <literal>WinMain</literal> pour une application graphique." + +# type: <term></term> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:579 +msgid "rsrc" +msgstr "rsrc" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:582 +msgid "" +"This item specifies the name of the compiled resource file to link with your " +"module. If your resource file is called <filename>hello.rc</filename> then " +"the wrc compilation step (see <xref endterm="wrc.title" linkend="wrc">) " +"will generate a file called <filename>hello.res</filename>. This is the name " +"you must provide here. Note that because of this you cannot compile the spec " +"file before you have compiled the resource file. So you should put a rule " +"like the following in your makefile:" +msgstr "" +"Cet élément spécifie le nom du fichier de ressource compilé à relier à votre " +"module. Si votre fichier de ressource s'appelle " +"<filename>bonjour.rc</filename>, alors l'étape de compilation wrc (voir " +"<xref endterm="wrc.title" linkend="wrc">) génèrera un fichier appelé " +"<filename>bonjour.res</filename>. Il s'agit du nom que vous devez renseigner " +"ici. Notez qu'à cause de cela, vous ne pouvez pas compiler le fichier spec " +"avant d'avoir compilé le fichier de ressource. Vous devriez donc mettre dans " +"votre fichier de compilation une règle comme ceci :" + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:593 +#, no-wrap +msgid "" +"<programlisting>hello.spec.c: hello.res\n" +" " +msgstr "" +"<programlisting>bonjour.spec.c: bonjour.res\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:596 +msgid "" +"If your project does not have a resource file then you must omit this entry " +"altogether." +msgstr "" +"Si votre projet ne comporte pas de fichier de ressource, vous devez " +"totalement omettre cette entrée." + +# type: <term></term> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:602 +msgid "@" +msgstr "@" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:605 +msgid "FIXME: You must now export functions from DLLs." +msgstr "FIXME : Vous devez maintenant exporter les fonctions depuis des DLL." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:616 +msgid "" +"This entry is not shown above because it is not always necessary. In fact it " +"is only necessary to export functions when you plan to dynamically load the " +"library with <function>LoadLibrary</function> and then do a " +"<function>GetProcAddress</function> on these functions. This is not " +"necessary if you just plan on linking with the library and calling the " +"functions normally. For more details about this see: <xref " +"endterm="spec-reference.title" linkend="spec-reference">." +msgstr "" +"Cette entrée n'est pas présentée plus haut car elle n'est pas toujours " +"nécessaire. En fait Il est nécessaire d'exporter des fonctions seulement " +"quand vous comptez charger la bibliothèque dynamiquement avec " +"<function>LoadLibrary</function> et faire un " +"<function>GetProcAddress</function> sur ces fonctions. Ce n'est pas " +"nécessaire si vous comptez juste éditer les liens avec la bibliothèque et " +"appeler les fonctions normalement. Pour plus d'information à ce sujet : " +"<xref endterm="spec-reference.title" linkend="spec-reference">" + +# type: <title id="spec-compiling.title"></title> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:624 +#, no-wrap +msgid "Compiling it" +msgstr "Compilation" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:626 +msgid "" +"FIXME: This section is very outdated and does not correctly describe the " +"current use of winebuild and spec files. In particular, with recent versions " +"of winebuild most of the information that used to be in the spec files is " +"now specified on the command line." +msgstr "" +"FIXME : Cette section n'est plus dutout à jour et ne décrit pas correctement " +"l'utilisation actuelle de winebuild et des fichiers spec. En particulier, " +"avec les versions récentes de winebuild, la plupart des informations qui " +"étaient habituellement dans les fichiers spec est maintenant spécifiée dans " +"la ligne de commande." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:633 +msgid "" +"Compiling a spec file is a two step process. It is first converted into a C " +"file by winebuild, and then compiled into an object file using your regular " +"C compiler. This is all taken care of by the winemaker generated makefiles " +"of course. But here's what it would like if you had to do it by hand:" +msgstr "" +"La compilation d'un fichier spec est un processus en 2 étapes. Celui-ci est " +"d'abord converti en un fichier C par winebuild, et ensuite compilé en un " +"fichier objet en utilisant un compilateur C classique. Ceci est entièrement " +"pris en charge par les fichiers de compilation de winemaker évidemment. Mais " +"voici ce qu'il aimerait bien qu'on lui indique si l'on devait le faire à la " +"main :" + +# type: <screen></screen> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:640 +#, no-wrap +msgid "" +"<screen>WINEBUILD=$(WINE_DIR)/tools/winebuild\n" +"\n.SUFFIXES: .spec .spec.c .spec.o\n" +"\n.spec.spec.c:\n" +"\t$(WINEBUILD) -fPIC -o $@ -spec $<\n" +"\n.spec.c.spec.o:\n" +"\t$(CC) -c -o $*.spec.o $<\n" +" " +msgstr "" +"<screen>WINEBUILD=$(WINE_DIR)/tools/winebuild\n" +"\n.SUFFIXES: .spec .spec.c .spec.o\n" +"\n.spec.spec.c:\n" +"\t$(WINEBUILD) -fPIC -o $@ -spec $<\n" +"\n.spec.c.spec.o:\n" +"\t$(CC) -c -o $*.spec.o $<\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:651 +msgid "" +"Nothing really complex there. Just don't forget the " +"<literal>.SUFFIXES</literal> statement, and beware of the tab if you copy " +"this straight to your Makefile." +msgstr "" +"Il n'y a rien de bien compliqué là dedans. Il ne faut juste pas oublier " +"l'instruction <literal>.SUFFIXES</literal>, faire attention au caractère de " +"tabulation si vous faites un copier-coller de ce morceau de code directement " +"dans votre fichier de compilation [Makefile]." + +# type: <title id="spec-reference.title"></title> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:658 +#, no-wrap +msgid "More details" +msgstr "Informations supplémentaires" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:661 +msgid "Here is a more detailed description of the spec file's format." +msgstr "Voici une description plus détaillée du format de fichier spec." + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:665 +#, no-wrap +msgid "" +"<programlisting># comment text\n" +" " +msgstr "" +"<programlisting># comment text\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:668 +msgid "Anything after a '#' will be ignored as comments." +msgstr "" +"Tout ce qui se trouve après un '#' correspond à un commentaire et sera " +"ignoré." + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:672 +#, no-wrap +msgid "" +"<programlisting>init FUNCTION\n" +" " +msgstr "" +"<programlisting>init FUNCTION\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:675 +msgid "" +"This field is optional and specific to Win32 modules. It specifies a " +"function which will be called when the DLL is loaded or the executable " +"started." +msgstr "" +"Ce champ est facultatif et spécifique aux modules Win32. Il spécifie une " +"fonction qui sera appelée lorsque la DLL est chargée ou qu'un exécutable est " +"démarré." + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:681 +#, no-wrap +msgid "" +"<programlisting>rsrc RES_FILE\n" +" " +msgstr "" +"<programlisting>rsrc RES_FILE\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:686 +msgid "" +"This field is optional. If present it specifies the name of the .res file " +"containing the compiled resources. See <xref endterm="wrc.title" " +"linkend="wrc"> for details on compiling a resource file." +msgstr "" +"Ce champ est facultatif. S'il est présent, il spécifie le nom d'un fichier " +"<filename>.res</filename> contenant les ressources compilées. Voir : <xref " +"endterm="wrc.title" linkend="wrc"> pour plus d'information sur la " +"compilation d'un fichier de ressource." + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:691 +#, no-wrap +msgid "" +"<programlisting>ORDINAL VARTYPE EXPORTNAME (DATA [DATA [DATA [...]]])\n" +"2 byte Variable(-1 0xff 0 0)\n" +" " +msgstr "" +"<programlisting>ORDINAL VARTYPE EXPORTNAME (DATA [DATA [DATA [...]]])\n" +"2 byte Variable(-1 0xff 0 0)\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:695 +msgid "" +"This field can be present zero or more times. Each instance defines data " +"storage at the ordinal specified. You may store items as bytes, 16-bit " +"words, or 32-bit words. <literal>ORDINAL</literal> is replaced by the " +"ordinal number corresponding to the variable. <literal>VARTYPE</literal> " +"should be <literal>byte</literal>, <literal>word</literal> or " +"<literal>long</literal> for 8, 16, or 32 bits " +"respectively. <literal>EXPORTNAME</literal> will be the name available for " +"dynamic linking. <literal>DATA</literal> can be a decimal number or a hex " +"number preceded by "0x". The example defines the variable " +"<literal>Variable</literal> at ordinal 2 and containing 4 bytes." +msgstr "" +"Ce champ peut être présent zéro fois ou plus. Chaque instance définit un " +"stockage de données à l'ordinal spécifié. Vous pouvez stocker des éléments " +"en octets, en mots de 16 bits ou en mots de 32 " +"bits. <literal>ORDINAL</literal> est remplacé par le nombre ordinal " +"correspondant à la variable. <literal>VARTYPE</literal> sera " +"<literal>byte</literal>, <literal>word</literal>, ou <literal>long</literal> " +"pour respectivement 8, 16 et 32 bits. <literal>EXPORTNAME</literal> sera le " +"nom disponible pour l'édition dynamique des liens. <literal>DATA</literal> " +"peut être un nombre décimal ou un nombre hexadécimal précédé par " +""0x". L'exemple définit la variable <literal>Variable</literal> à " +"l'ordinal 2 et contenant 4 octets." + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:710 +#, no-wrap +msgid "" +"<programlisting>ORDINAL equate EXPORTNAME DATA\n" +" " +msgstr "" +"<programlisting>ORDINAL equate EXPORTNAME DATA\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:713 +msgid "" +"This field can be present zero or more times. Each instance defines an " +"ordinal as an absolute value. <literal>ORDINAL</literal> is replaced by the " +"ordinal number corresponding to the variable. <literal>EXPORTNAME</literal> " +"will be the name available for dynamic linking. <literal>DATA</literal> can " +"be a decimal number or a hex number preceded by "0x"." +msgstr "" +"Ce champ peut être présent zéro fois ou plus. Chaque instance définit un " +"ordinal en valeur absolue. On remplace <literal>ORDINAL</literal> par le " +"nombre ordinal correspondant à la variable. <literal>EXPORTNAME</literal> " +"sera le nom disponible pour l'édition dynamique des " +"liens. <literal>DATA</literal> peut être un nombre décimal ou un nombre " +"hexadécimal précédé par "0x"." + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:723 +#, no-wrap +msgid "" +"<programlisting>ORDINAL FUNCTYPE EXPORTNAME([ARGTYPE [ARGTYPE [...]]]) " +"HANDLERNAME\n" +"100 pascal CreateWindow(ptr ptr long s_word s_word s_word s_word\n" +" word word word ptr)\n" +" WIN_CreateWindow\n" +"101 pascal GetFocus() WIN_GetFocus()\n" +" " +msgstr "" +"<programlisting>ORDINAL FUNCTYPE EXPORTNAME([ARGTYPE [ARGTYPE [...]]]) " +"HANDLERNAME\n" +"100 pascal CreateWindow(ptr ptr long s_word s_word s_word s_word\n" +" word word word ptr)\n" +" WIN_CreateWindow\n" +"101 pascal GetFocus() WIN_GetFocus()\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:730 +msgid "" +"This field can be present zero or more times. Each instance defines a " +"function entry point. The prototype defined by <literal>EXPORTNAME ([ARGTYPE " +"[ARGTYPE [...]]])</literal> specifies the name available for dynamic linking " +"and the format of the arguments. <literal>ORDINAL</literal> is replaced by " +"the ordinal number corresponding to the function, or <literal>@</literal> " +"for automatic ordinal allocation (Win32 only)." +msgstr "" +"Ce champ peut être présent zéro fois ou plus. Chaque instance définit le " +"point d'entrée d'une fonction. Le prototype défini par <literal>EXPORTNAME " +"([ARGTYPE [ARGTYPE [...]]])</literal> spécifie le nom disponible pour " +"l'édition dynamique des liens et le format des arguments. On remplace " +"<literal>ORDINAL</literal> par le nombre ordinal correspondant à la " +"fonction, ou <literal>@</literal> pour une allocation dynamique de l'ordinal " +"(pour Win32 seulement)." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:739 +msgid "<literal>FUNCTYPE</literal> should be one of:" +msgstr "<literal>FUNCTYPE</literal> sera l'une des expressions suivantes :" + +# type: <term></term> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:743 +msgid "pascal16" +msgstr "pascal16" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:746 +msgid "for a Win16 function returning a 16-bit value" +msgstr "pour une fonction Win16 retournant une valeur sur 16 bits" + +# type: <term></term> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:751 +msgid "pascal" +msgstr "pascal" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:754 +msgid "for a Win16 function returning a 32-bit value" +msgstr "pour une fonction Win16 retournant une valeur sur 32 bits" + +# type: <term></term> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:759 +msgid "register" +msgstr "register" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:762 +msgid "for a function using CPU register to pass arguments" +msgstr "" +"pour une fonction utilisant le registre du processeur pour passer des " +"arguments" + +# type: <term></term> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:767 +msgid "interrupt" +msgstr "interrupt" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:770 +msgid "for a Win16 interrupt handler routine" +msgstr "pour les routines d'interruptions Win16" + +# type: <term></term> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:775 +msgid "stdcall" +msgstr "stdcall" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:778 +msgid "for a normal Win32 function" +msgstr "pour une fonction Win32 normale" + +# type: <term></term> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:783 +msgid "cdecl" +msgstr "cdecl" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:786 +msgid "for a Win32 function using the C calling convention" +msgstr "pour une fonction Win32 utilisant la convention d'appel en C" + +# type: <term></term> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:791 +msgid "varargs" +msgstr "varargs" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:794 +msgid "for a Win32 function taking a variable number of arguments" +msgstr "pour une fonction Win32 prenant un nombre variable d'arguments" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:801 +msgid "<literal>ARGTYPE</literal> should be one of:" +msgstr "<literal>ARGTYPE</literal> sera l'une des expressions suivantes :" + +# type: <term></term> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:805 +msgid "word" +msgstr "word" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:808 +msgid "for a 16 bit word" +msgstr "pour un mot de 16 bits" + +# type: <term></term> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:813 +msgid "long" +msgstr "long" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:816 +msgid "a 32 bit value" +msgstr "une valeur en 32 bits" + +# type: <term></term> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:821 +msgid "ptr" +msgstr "ptr" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:824 +msgid "for a linear pointer" +msgstr "pour un pointeur linéaire" + +# type: <term></term> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:829 +msgid "str" +msgstr "str" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:832 +msgid "for a linear pointer to a null-terminated string" +msgstr "pour un pointeur linéaire sur une chaine de caractères terminée par null" + +# type: <term></term> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:837 +msgid "s_word" +msgstr "s_word" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:840 +msgid "for a 16 bit signed word" +msgstr "pour un mot de 16 bits signé" + +# type: <term></term> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:845 +msgid "segptr" +msgstr "segptr" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:848 +msgid "for a segmented pointer" +msgstr "pour un pointeur segmenté" + +# type: <term></term> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:853 +msgid "segstr" +msgstr "segstr" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:856 +msgid "for a segmented pointer to a null-terminated string" +msgstr "pour un pointeur segmenté vers une chaîne de caractères finissant par null" + +# type: <term></term> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:861 +msgid "wstr" +msgstr "wstr" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:864 +msgid "for a linear pointer to a null-terminated wide (16-bit Unicode) string" +msgstr "" +"pour un pointeur linéaire vers une chaîne de caractères large (en 16 bits " +"unicode) finissant par null" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:872 +msgid "" +"Only <literal>ptr</literal>, <literal>str</literal>, <literal>wstr</literal> " +"and <literal>long</literal> are valid for Win32 " +"functions. <literal>HANDLERNAME</literal> is the name of the actual Wine " +"function that will process the request in 32-bit mode." +msgstr "" +"Seuls <literal>ptr</literal>, <literal>str</literal>, " +"<literal>wstr</literal> et <literal>long</literal> sont valables pour les " +"fonctions Win32. <literal>HANDLERNAME</literal> est le nom de la fonction " +"Wine qui va effectivement traiter la requête en mode 32 bits." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:879 +msgid "" +"Strings should almost always map to str, wide strings - wstr. As the general " +"rule it depends on whether the parameter is IN, OUT or IN/OUT." +msgstr "" +"Les chaînes de caractères doivent toujours correspondre à str, les chaînes " +"larges à wstr. En règle générale cela dépend si le paramètre est en entrée " +"[IN], sortie [OUT] ou entrée/sortie [IN/OUT]." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:887 +msgid "IN: str/wstr" +msgstr "Entrée [IN]: str/wstr" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:892 +msgid "OUT: ptr" +msgstr "Sortie [OUT]: ptr" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:897 +msgid "IN/OUT: str/wstr" +msgstr "Entrée/Sortie [IN/OUT]: str/wstr" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:902 +msgid "" +"It is for debug messages. If the parameter is OUT it might not be " +"initialized and thus it should not be printed as a string." +msgstr "" +"C'est pour les messages de correction de défauts [debug]. S'il s'agit d'un " +"paramètre en sortie, il se pourrait qu'il ne soit pas initialisé et de ce " +"fait, il ne devrait pas s'afficher comme une chaîne de caractères." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:907 +msgid "" +"The two examples define an entry point for the " +"<function>CreateWindow</function> and <function>GetFocus</function> calls " +"respectively. The ordinals used are just examples." +msgstr "" +"Les deux exemples définissent un point d'entrée pour les appels " +"<function>CreateWindow</function> et <function>GetFocus</function> " +"respectivement. Les ordinaux utilisés sont juste des exemples." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:912 +msgid "" +"To declare a function using a variable number of arguments in Win16, specify " +"the function as taking no arguments. The arguments are then available with " +"CURRENT_STACK16->args. In Win32, specify the function as " +"<literal>varargs</literal> and declare it with a '...' parameter in the C " +"file. See the wsprintf* functions in <filename>user.spec</filename> and " +"<filename>user32.spec</filename> for an example." +msgstr "" +"Pour déclarer une fonction utilisant un nombre variable d'arguments en " +"Win16, spécifiez la fonction comme ne prenant pas d'arguments. Les arguments " +"sont alors accessibles avec <literal>CURRENT_STACK16- >args</literal>. En " +"Win32, spécifiez la fonction comme étant de type <literal>varargs</literal> " +"et déclarez la avec un paramètre '...' dans le fichier C. Voir les fonctions " +"wsprintf* dans <filename>user.spec</filename> et " +"<filename>user32.spec</filename> pour trouver un exemple." + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:922 +#, no-wrap +msgid "" +"<programlisting>ORDINAL stub EXPORTNAME\n" +" " +msgstr "" +"<programlisting>ORDINAL stub EXPORTNAME\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:925 +msgid "" +"This field can be present zero or more times. Each instance defines a stub " +"function. It makes the ordinal available for dynamic linking, but will " +"terminate execution with an error message if the function is ever called." +msgstr "" +"Ce champ peut être présent zéro fois ou plus. Chaque instance définit une " +"fonction souche [stub]. Il rend l'ordinal accessible pour l'édition " +"dynamique des liens, mais terminera l'exécution avec un message d'erreur si " +"par hasard on appelle la fonction." + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:932 +#, no-wrap +msgid "" +"<programlisting>ORDINAL extern EXPORTNAME SYMBOLNAME\n" +" " +msgstr "" +"<programlisting>ORDINAL extern EXPORTNAME SYMBOLNAME\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:935 +msgid "" +"This field can be present zero or more times. Each instance defines an entry " +"that simply maps to a Wine symbol (variable or function); " +"<literal>EXPORTNAME</literal> will point to the symbol " +"<literal>SYMBOLNAME</literal> that must be defined in C code. This type only " +"works with Win32." +msgstr "" +"Ce champ peut être présent zéro fois ou plus. Chaque instance définit une " +"entrée qui établit simplement une correspondance avec un symbole Wine " +"(variable ou fonction); <literal>EXPORTNAME</literal> pointera sur le " +"symbole <literal>SYMBOLNAME</literal> qu'il faut définir dans le code C. Ce " +"type fonctionne seulement avec Win32." + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:943 +#, no-wrap +msgid "" +"<programlisting>ORDINAL forward EXPORTNAME SYMBOLNAME\n" +" " +msgstr "" +"<programlisting>ORDINAL forward EXPORTNAME SYMBOLNAME\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:946 +msgid "" +"This field can be present zero or more times. Each instance defines an entry " +"that is forwarded to another entry point (kind of a symbolic " +"link). <literal>EXPORTNAME</literal> will forward to the entry point " +"<literal>SYMBOLNAME</literal> that must be of the form " +"<literal>DLL.Function</literal>. This type only works with Win32." +msgstr "" +"Ce champs peut être présent zéro fois ou plus. Chaque instance définit une " +"entrée qui est retransmise à un autre point d'entrée (un genre de lien " +"symbolique). <literal>EXPORTNAME</literal> sera retransmis au point d'entrée " +"<literal>SYMBOLNAME</literal> qui doit être de la forme " +"<literal>DLL.Function</literal>. Ce type fonctionne seulement avec Win32." + +# type: <title id="linking.title"></title> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:957 +#, no-wrap +msgid "Linking it all together" +msgstr "Relier tout ensemble" + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:962 +msgid "" +"To link an executable you need to link together: your object files, the spec " +"file, any Windows libraries that your application depends on, gdi32 for " +"instance, and any additional library that you use. All the libraries you " +"link with should be available as '.so' libraries. If one of them is " +"available only in '.dll' form then consult <xref endterm="bindlls.title" " +"linkend="bindlls">." +msgstr "" +"Pour éditer les liens d'un exécutable, il est nécessaire de relier ensemble " +": vos fichiers objets, le fichier spec, tout bibliothèque Windows dont votre " +"application dépend, gdi32 par exemple, et toute bibliothèque supplémentaire " +"que vous utilisez. Toutes les bibliothèques auxquelles vous reliez votre " +"application doivent être disponibles en tant que bibliothèques '.so'. Si " +"l'une d'entre elle n'est disponible que sous la forme '.dll', consultez " +"alors la section <xref endterm="bindlls.title" linkend="bindlls">." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:970 +msgid "" +"It is also when attempting to link your executable that you will discover " +"whether you have missing symbols or not in your custom libraries. On Windows " +"when you build a library, the linker will immediately tell you if a symbol " +"it is supposed to export is undefined. In Unix, and in Winelib, this is not " +"the case. The symbol will silently be marked as undefined and it is only " +"when you try to produce an executable that the linker will verify all the " +"symbols are accounted for." +msgstr "" +"C'est aussi lorsque vous tenterez d'éditer les liens de votre exécutable que " +"vous découvrirez si vous avez des symboles manquants ou non dans vos " +"bibliothèques personnalisées. Sous Windows, quand vous construisez une " +"bibliothèque, l'éditeur de liens vous dira automatiquement si un symbole " +"qu'il est supposé exporter est indéfini. Sous Unix, et dans Winelib, ce " +"n'est pas le cas. Le symbole sera discrètement marqué comme indéfini et " +"c'est seulement quand vous essaierez de produire un exécutable que l'éditeur " +"de liens vérifiera si tous les symboles correspondent à quelque chose." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:980 +msgid "" +"So before declaring victory when first converting a library to Winelib, you " +"should first try to link it to an executable (but you would have done that " +"to test it anyway, right?). At this point you may discover some undefined " +"symbols that you thought were implemented by the library. Then, you to the " +"library sources and fix it. But you may also discover that the missing " +"symbols are defined in, say, gdi32. This is because you did not link the " +"said library with gdi32. One way to fix it is to link this executable, and " +"any other that also uses your library, with gdi32. But it is better to go " +"back to your library's makefile and explicitly link it with gdi32." +msgstr "" +"Donc, avant de crier victoire lors de la première conversion d'une " +"bibliothèque vers Winelib, vous devriez essayer de la relier à un exécutable " +"(mais vous l'auriez quand même fait pour la tester, hein ?). A ce stade, " +"vous pourriez découvrir quelques symboles indéfinis que vous pensiez être " +"implémentés par la bibliothèque. Alors vous devez aller dans les sources de " +"la bibliothèque et corriger ça. Mais vous pourriez aussi découvrir que les " +"symboles manquants sont définis dans, disons, gdi32. C'est parce que vous " +"n'avez pas relié la-dite bibliothèque avec gdi32. Une manière de corriger " +"cela est de relier cet exécutable, et tout autre exécutable qui utilise " +"votre bibliothèque, avec gdi32. Mais il est préférable de revenir au fichier " +"de compilation de votre bibliothèque et la relier explicitement avec gdi32." + +# type: <para></para> +#: ../en/winelib-user.sgml:34 ../en/winelib-toolkit.sgml:992 +msgid "" +"As you will quickly notice, this has unfortunately not been (completely) " +"done for Winelib's own libraries. So if an application must link with ole32, " +"you will also need to link with advapi32, rpcrt4 and others even if you " +"don't use them directly. This can be annoying and hopefully will be fixed " +"soon (feel free to submit a patch)." +msgstr "" +"Comme vous pourrez rapidement le remarquer, cela n'a malheureusement pas été " +"(complètement) fait pour les propres bibliothèques de Winelib. Donc, si une " +"application doit être reliée avec ole32, il vous faudra également la relier " +"avec advapi32, rpcrt4 et d'autres même si vous ne les utilisez pas " +"directement. Cela peut être pénible et espérons-le, ce sera corrigé bientôt " +"(n'hésitez pas à soumettre un correctif)." + +# type: <title id="mfc.title"></title> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:3 +#, no-wrap +msgid "Dealing with the MFC" +msgstr "Utilisation de la MFC" + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:8 +msgid "" +"To use the MFC in a Winelib application you will first have to recompile the " +"MFC with Winelib. In theory it should be possible to write a wrapper for the " +"Windows MFC as described in <xref endterm="bindlls.title" " +"linkend="bindlls">. But in practice it does not seem to be a realistic " +"approach for the MFC:" +msgstr "" +"Pour utiliser la MFC dans une application Winelib vous devrez d'abord " +"recompiler la MFC avec Winelib. En théorie, il devrait être possible " +"d'écrire un enveloppeur [wrapper] pour la MFC de Windows comme cela est " +"décrit dans la section <xref endterm="bindlls.title" " +"linkend="bindlls">. Mais en pratique, cela ne semble pas être une approche " +"réaliste pour la MFC :" + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:17 +msgid "the huge number of APIs makes writing the wrapper a big task in itself." +msgstr "" +"Le très grand nombre d'API fait que l'écriture d'un enveloppeur représente " +"une lourde tâche en soi." + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:23 +msgid "" +"furthermore the MFC contain a huge number of APIs which are tricky to deal " +"with when making a wrapper." +msgstr "" +"De plus, la MFC contient un très grand nombre d'API qui ne sont pas " +"évidentes à traiter lorsqu'il s'agit de réaliser un enveloppeur." + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:29 +msgid "" +"even once you have written the wrapper you will need to modify the MFC " +"headers so that the compiler does not choke on them." +msgstr "" +"Même une fois que l'enveloppeur est écrit, il sera nécessaire de modifier " +"les en-têtes MFC afin que le compilateur ne s'interrompe pas lorsqu'il les " +"rencontre." + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:35 +msgid "" +"a big part of the MFC code is actually in your application in the form of " +"macros. This means even more of the MFC headers have to actually work to in " +"order for you to be able to compile an MFC based application." +msgstr "" +"Une grande partie du code MFC est en réalité dans votre application sous la " +"forme de macros. Cela signifie qu'encore plus d'en-têtes MFC doivent en fait " +"fonctionner afin que vous soyez capable de compiler une application basée " +"sur MFC." + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:43 +msgid "" +"This is why this guide includes a section dedicated to helping you compile " +"the MFC with Winelib." +msgstr "" +"C'est pourquoi une section de ce guide est consacrée aux problèmes de la " +"compilation de la MFC avec Winelib." + +# type: <title id="mfc-legal-issues.title"></title> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:49 +#, no-wrap +msgid "Legal issues" +msgstr "Aspects juridiques" + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:51 +msgid "" +"The purpose of this section is to make you aware of potential legal " +"problems. Be sure to read your licenses and to consult your lawyers. In any " +"case you should not consider the remainder of this section to be " +"authoritative since it has not been written by a lawyer." +msgstr "" +"Le but de cette section est de vous faire prendre conscience des problèmes " +"légaux potentiels. Veillez bien à lire vos licences et à consulter vos " +"avocats. Dans tous les cas, vous ne devez pas prendre pour argent comptant " +"le reste de cette section puisqu'elle n'a pas été écrite par un avocat." + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:57 +msgid "" +"During the compilation of your program, you will be combining code from " +"several sources: your code, Winelib code, Microsoft MFC code, and possibly " +"code from other vendor sources. As a result, you must ensure that the " +"licenses of all code sources are obeyed. What you are allowed and not " +"allowed to do can vary depending on how you combine the code and if you will " +"be distributing it. For example, if you are releasing your code under the " +"GPL or LGPL, you cannot use MFC because these licenses do not allow covered " +"code to depend on libraries with non-compatible licenses. There is a " +"workaround - in the license for your code you can make an exception for the " +"MFC library. For details see <ulink " +"url="http://www.gnu.org/licenses/gpl-faq.html%5C%22%3EThe GNU GPL FAQ</ulink>." +msgstr "" +"Pendant la compilation de votre programme, vous allez intégrer du code à " +"partir de plusieurs sources : votre code, le code de Winelib, le code de la " +"MFC Microsoft, et eventuellement du code provenant d'autres sources. Ainsi, " +"vous devez vous assurer que les licences de tous les code sources sont " +"respectées. Ce que vous êtes autorisé ou non à faire peut varier selon la " +"manière dont vous intégrez le code et si vous le distribuez. Par exemple, si " +"vous publiez votre code sous la licence GPL ou LGPL, vous ne pouvez pas " +"utiliser la MFC car ces licences n'autorisent pas le code qu'elles couvrent " +"à dépendre de bibliothèques dont les licences ne sont pas compatibles. Il y " +"a une solution de rechange dans la licence pour votre code, vous pouvez " +"faire une exception pour la bibliothèque MFC. Pour plus d'infomation, allez " +"voir la <ulink url="http://www.gnu.org/licenses/gpl-faq.html%5C%22%3EFAQ GPL " +"GNU</ulink>" + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:72 +msgid "" +"Wine/Winelib is distributed under the GNU Lesser General Public License. See " +"the license for restrictions on the modification and distribution of " +"Wine/Winelib code. In general it is possible to satisfy these restrictions " +"in any type of application. On the other hand, MFC is distributed under a " +"very restrictive license and the restrictions vary from version to version " +"and between service packs. There are basically three aspects you must be " +"aware of when using the MFC." +msgstr "" +"Wine/Winelib est distribué sous la Licence Publique Générale GNU Limitée " +"[GNU Lesser General Public licence]. Vous pouvez aller voir cette licence " +"pour connaître les restrictions sur les modifications et la distribution du " +"code de Wine/Winelib. En général, il est possible de respecter ces " +"restrictions dans n'importe quel type d'application. D'un autre côté, MFC " +"est distribuée sous une licence très restrictive et les restrictions varient " +"d'une version à une autre et entre les ensembles de modifications " +"provisoires [service pack]. En gros, il y a trois aspects auxquels vous " +"devez être sensible quand vous utilisez la MFC." + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:82 +msgid "" +"First you must legally get MFC source code on your computer. The MFC source " +"code comes as a part of Visual Studio. The license for Visual Studio implies " +"it is a single product that can not be broken up into its components. So the " +"cleanest way to get MFC on your system is to buy Visual Studio and install " +"it on a dual boot Linux box." +msgstr "" +"D'abord, vous devez acquérir le code source MFC sur votre ordinateur " +"légalement. Le code source MFC est fourni en tant que partie de Visual " +"Studio. La licence pour Visual Studio implique qu'il s'agit d'un produit " +"unique qui ne peut pas être divisé selon ses composants. Donc, la manière la " +"plus appropriée d'installer MFC sur votre système est d'acheter Visual " +"Studio et de l'installer sur une machine Linux ayant une partition " +"d'amorçage double." + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:90 +msgid "" +"Then you must check that you are allowed to recompile MFC on a non-Microsoft " +"operating system! This varies with the version of MFC. The MFC license from " +"Visual Studio 6.0 reads in part:" +msgstr "" +"Ensuite, vous devez vérifier que vous êtes autorisé à recompiler MFC sur un " +"système d'exploitation non-Microsoft ! Cela varie avec la version de " +"MFC. Voici ce que l'on peut lire dans la licence MFC de Visual Studio 6.0 :" + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:96 +msgid "" +"1.1 General License Grant. Microsoft grants to you as an individual, a " +"personal, nonexclusive license to make and use copies of the SOFTWARE " +"PRODUCT for the sole purposes of designing, developing, and testing your " +"software product(s) that are designed to operate in conjunction with any " +"Microsoft operating system product. [Other unrelated stuff deleted.]" +msgstr "" +"1.1 Concession de la licence générale. Microsoft vous accorde, en tant que " +"particulier, une licence personnelle non-exclusive permettant de réaliser et " +"d'utiliser des copies du LOGICIEL uniquement dans le cadre de la conception, " +"le développement et les tests de votre (vos) logiciels(s) conçus pour " +"fonctionner conjointement avec tout système d'exploitation " +"Microsoft. [Autres parties sans rapport avec le sujet supprimées]" + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:105 +msgid "" +"So it appears you cannot even compile MFC for Winelib using this " +"license. Fortunately the Visual Studio 6.0 service pack 3 license reads (the " +"Visual Studio 5.0 license is similar):" +msgstr "" +"Il apparaît donc que vous ne pouvez même pas compiler MFC pour Winelib en " +"utilisant cette licence. Heureusement, on peut lire sur le licence de " +"l'ensemble de modifications provisoires [service pack] n°3 de Visual Studio " +"6.0 (la licence de Visual Studio 5.0 est identique) :" + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:111 +msgid "" +"1.1 General License Grant. Microsoft grants to you as an individual, a " +"personal, nonexclusive license to make and use copies of the SOFTWARE " +"PRODUCT for the purpose of designing, developing, and testing your software " +"product(s). [Other unrelated stuff deleted]" +msgstr "" +"1.1 Concession de la licence générale. Microsoft vous accorde en tant que " +"particulier, une licence personnelle non-exclusive permettant de réaliser et " +"d'utiliser des copies du LOGICIEL uniquement dans le cadre de la conception, " +"le développement et les tests de votre (vos) logiciels(s). [Autres parties " +"sans rapport avec le sujet supprimées]." + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:119 +msgid "So under this license it appears you can compile MFC for Winelib." +msgstr "" +"Ainsi, sous cette licence, il apparaît que vous pouvez compiler MFC pour " +"Winelib." + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:122 +msgid "" +"Finally you must check whether you have the right to distribute an MFC " +"library. Check the relevant section of the license on " +"<quote>redistributables and your redistribution rights</quote>. The license " +"seems to specify that you only have the right to distribute binaries of the " +"MFC library if it has no debug information and if you distribute it with an " +"application that provides significant added functionality to the MFC " +"library." +msgstr "" +"Enfin, vous devez vérifier si vous avez le droit de distribuer une " +"bibliothèque MFC. Consultez la section correspondante de la licence sur " +"<quote>redistribuables et vos droits de redistribution</quote>. La licence " +"semble spécifier que vous avez seulement le droit de distribuer les " +"exécutables de la bibliothèque MFC si elle ne présente aucune information de " +"correction de défaut [debug] et si vous la distribuez avec une application " +"qui fournit une fonctionnalité significative ajoutée à la bibliothèque MFC." + +# type: <title id="mfc-compiling.title"></title> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:134 +#, no-wrap +msgid "Compiling the MFC" +msgstr "Compilation de la MFC" + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:136 +msgid "Here is a set of recommendations for getting the MFC compiled with WineLib:" +msgstr "Voici un ensemble de recommandations pour compiler la MFC avec Winelib :" + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:140 +msgid "" +"We recommend running winemaker in '<option>--interactive</option>' mode to " +"specify the right options for the MFC and the ATL part (to get the include " +"paths right, to not consider the MFC MFC-based, and to get it to build " +"libraries, not executables)." +msgstr "" +"Nous recommandons de lancer winemaker en mode interactif " +"(<option>--interactive</option>) pour spécifier les options correctes pour " +"la MFC et la partie ATL (afin que les chemins d'inclusion soient corrects, " +"que la MFC ne soit pas considérée comme étant basée sur MFC et pour faire en " +"sorte qu'elle construise des bibliothèques et non des exécutables)." + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:147 +msgid "" +"Then when compiling it you will indeed need a number of " +"<literal>_AFX_NO_XXX</literal> macros. But this is not enough and there are " +"other things you will need to '<literal>#ifdef</literal>-out'. For instance " +"Wine's richedit support is not very good. Here are the AFX options I use:" +msgstr "" +"Ensuite, lors de sa compilation, un certain nombre de macros " +"<literal>_AFX_NO_XXX</literal> seront en effet nécessaires. Mais cela n'est " +"pas suffisant et il faudra supprimer certaines choses en utilisant " +"<literal>#ifdef</literal>. Par exemple, la compatibilité avec le " +"« richedit » de Wine n'est pas très bonne. Voici les options AFX que " +"j'utilise :" + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:155 +#, no-wrap +msgid "" +"<programlisting>#define _AFX_PORTABLE\n" +"#define _FORCENAMELESSUNION\n" +"#define _AFX_NO_DAO_SUPPORT\n" +"#define _AFX_NO_DHTML_SUPPORT\n" +"#define _AFX_NO_OLEDB_SUPPORT\n" +"#define _AFX_NO_RICHEDIT_SUPPORT\n" +" " +msgstr "" +"<programlisting>#define _AFX_PORTABLE\n" +"#define _FORCENAMELESSUNION\n" +"#define _AFX_NO_DAO_SUPPORT\n" +"#define _AFX_NO_DHTML_SUPPORT\n" +"#define _AFX_NO_OLEDB_SUPPORT\n" +"#define _AFX_NO_RICHEDIT_SUPPORT\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:164 +msgid "" +"You will also need custom ones for <function>CMonikerFile</function>, " +"<function>OleDB</function>, <function>HtmlView</function>, ..." +msgstr "" +"Vous aurez également besoin de macros personnalisées pour " +"<function>CMonikerFile</function>, <function>OleDB</function>, " +"<function>HtmlView</function>, ..." + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:169 +msgid "" +"We recommend using Wine's msvcrt headers (<literal>-isystem " +"$(WINE_INCLUDE_ROOT)/msvcrt</literal>), though it means you will have to " +"temporarily disable winsock support (<literal>#ifdef</literal> it out in " +"<filename>windows.h</filename>)." +msgstr "" +"Nous recommandons l'utilisation des en-têtes msvcrt de Wine (<literal>- " +"isystem $(WINE_INCLUDE_ROOT)/msvcrt</literal>), cependant cela signifie que " +"vous devrez désactiver temporairement le support pour winsock (retirer " +"l'instruction <literal>#ifdef</literal> correspondante dans " +"<filename>windows.h</filename>)." + +# type: <para><itemizedlist> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:176 +msgid "" +"You should use g++ compiler more recent than g++ 2.95. g++ 2.95 does not " +"support unnamed structs while the more recent ones do, and this helps a " +"lot. Here are the options worth mentioning:" +msgstr "" +"Il faut utiliser un compilateur g++ plus récent que g++ 2.95. g++ 2.95 n'est " +"pas compatible avec les structures non-nommées alors que les versions les " +"plus récentes le sont, et ça aide beaucoup. Voici les options intéressantes " +"à mentionner :" + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:183 +msgid "<literal>-fms-extensions</literal> (helps get more code to compile)" +msgstr "<literal>-fms-extensions</literal> (aide à compiler plus de code)" + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:189 +msgid "" +"<literal>-fshort-wchar -DWINE_UNICODE_NATIVE</literal> (helps with Unicode " +"support)" +msgstr "" +"<literal>-fshort-wchar -DWINE_UNICODE_NATIVE</literal> (facilite la " +"compatibilité avec UNICODE)" + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:195 +msgid "" +"<literal>-DICOM_USE_COM_INTERFACE_ATTRIBUTE</literal> (to get the COM code " +"to work)" +msgstr "" +"<literal>-DICOM_USE_COM_INTERFACE_ATTRIBUTE</literal> (pour faire " +"fonctionner le code COM)" + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:202 +msgid "" +"When you first reach the link stage you will get a lot of undefined symbol " +"errors. To fix these you will need to go back to the source and " +"<literal>#ifdef</literal>-out more code until you reach a 'closure'. There " +"are also some files that don't need to be compiled." +msgstr "" +"Quand vous atteindrez l'étape d'édition des liens pour la première fois, " +"vous obtiendrez beaucoup d'erreurs de symboles indéfinis. Pour les corriger, " +"il sera nécessaire de retourner dans la source et retirer encore des " +"instructions <literal>#ifdef</literal> jusqu'à ce que vous obteniez une " +"'fermeture'. Il y a également certains fichiers qui n'ont pas besoin d'être " +"compilés." + +# type: <para></para> +#: ../en/winelib-user.sgml:35 ../en/winelib-mfc.sgml:209 +msgid "Maybe we will have ready-made makefile here someday..." +msgstr "" +"Peut-être que là, un jour, nous aurons un fichier de compilation prêt à " +"l'emploi." + +# type: <title id="bindlls.title"></title> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:4 +#, no-wrap +msgid "Building WineLib DLLs" +msgstr "Construction des DLL Winelib" + +# type: <para><itemizedlist> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:8 +msgid "" +"For one reason or another you may find yourself with a Linux library that " +"you want to use as if it were a Windows Dll. There are various reasons for " +"this including the following:" +msgstr "" +"Pour une raison ou pour une autre vous pourriez vous retrouver avec une " +"bibliothèque Linux que vous voulez utiliser comme s'il s'agissait d'une Dll " +"Windows. Il existe plusieurs raisons à cela dont les suivantes :" + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:14 +msgid "" +"You are porting a large application that uses several third-party " +"libraries. One is available on Linux but you are not yet ready to link to it " +"directly as a Linux shared library." +msgstr "" +"Vous êtes en train de réaliser le portage d'une application conséquente qui " +"utilise plusieurs bibliothèques provenant d'un tiers. L'une est disponible " +"sous Linux mais vous n'êtes pas encore prêt à relier votre application à " +"celle-ci directement comme une bibliothèque Linux partagée." + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:21 +msgid "" +"There is a well-defined interface available and there are several Linux " +"solutions that are available for it (e.g. the ODBC interface in Wine)." +msgstr "" +"Il y a une interface disponible très bien définie et il existe plusieurs " +"solutions Linux disponibles pour cette interface (ex. : l'interface ODBC " +"dans Wine)." + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:28 +msgid "" +"You have a binary only Windows application that can be extended through " +"plugins, such as a text editor or IDE." +msgstr "" +"Vous avez une application Windows uniquement exécutable qui peut être " +"étendue par des plugins, comme par exemple un éditeur de texte ou un " +"environnement de développement intégré [IDE]." + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:35 +msgid "" +"The process for dealing with these situations is actually quite simple. You " +"need to write a spec file that will describe the library's interface in the " +"same format as a Dll (primarily what functions it exports). Also you will " +"want to write a small wrapper around the library. You combine these to form " +"a Wine built-in Dll that links to the Linux library. Then you modify the " +"DllOverrides in the wine config file to ensure that this new built-in DLL is " +"called rather than any windows version." +msgstr "" +"La procédure pour faire face à ces situations est en fait très simple. Il " +"est nécessaire d'écrire un fichier spec qui décrira l'interface de la " +"bibliothèque dans le même format qu'une Dll (principalement, quelles " +"fonctions elle exporte). Vous aurez aussi à écrire un petit enveloppeur " +"autour de la bibliothèque. Vous les combinez afin de former une Dll intégrée " +"à Wine qui est reliée à la bibliothèque Linux. Ensuite, vous modifiez le " +"'DllOverrides' dans le fichier de configuration de Wine afin de vous assurer " +"que c'est cette nouvelle Dll intégrée qui est appelée plutôt qu'une version " +"windows." + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:45 +msgid "" +"In this section we will look at two examples. The first example is extremely " +"simple and leads into the subject in "baby steps". The second example is " +"the ODBC interface proxy in Wine. The files to which we will refer for the " +"ODBC example are currently in the <filename " +"class="directory">dlls/odbc32</filename> directory of the Wine source." +msgstr "" +"Dans cette section nous allons nous regarder deux exemples. Le premier " +"exemple est extrêmement simple et nous amène dans le vif du sujet en suivant " +"des mini-étapes. Le second exemple est proxy de l'interface ODBC dans " +"Wine. Les fichiers auxquels nous renvoyons pour l'exemple ODBC sont " +"actuellement dans le répertoire <filename " +"class="directory">dlls/odbc32</filename> des sources Wine." + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:53 +msgid "" +"The first example is based very closely on a real case (the names of the " +"functions etc. have been changed to protect the innocent). A large Windows " +"application includes a DLL that links to a third-party DLL. For various " +"reasons the third-party DLL does not work too well under Wine. However the " +"third-party library is also available for the Linux " +"environment. Conveniently the DLL and Linux shared library export only a " +"small number of functions and the application only uses one of those." +msgstr "" +"Le premier exemple est basé de très près sur un cas réel (les noms et les " +"fonctions etc. ont été changés afin de protéger les innocents). Une " +"application Windows conséquente comprend une DLL qui est reliée à une DLL " +"d'un tiers. Pour différentes raison la DLL du tiers ne fonctionne pas très " +"bien sous Wine. Cependant, la bibliothèque du tiers est également disponible " +"pour un environnement Linux. Chose pratique, la DLL et la bibliothèque Linux " +"partagée exportent seulement un faible nombre de fonctions et l'application " +"utilise seulement l'une d'entre elles." + +# type: <para><programlisting> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:63 +msgid "Specifically, the application calls a function:" +msgstr "Pour être précis, l'application appelle une fonction :" + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:67 +#, no-wrap +msgid "" +"<programlisting>signed short WINAPI MyWinFunc (unsigned short a, void *b, " +"void *c,\n" +" unsigned long *d, void *e, int f, char g, unsigned char *h);" +msgstr "" +"<programlisting>signed short WINAPI MyWinFunc (unsigned short a, void *b, " +"void *c,\n" +" unsigned long *d, void *e, int f, char g, unsigned char *h);" + +# type: </programlisting><programlisting> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:67 +msgid "</programlisting> and the linux library exports a corresponding function:" +msgstr "" +"</programlisting> et la bibliothèque linux exporte une fonction " +"correspondante :" + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:72 +#, no-wrap +msgid "" +"<programlisting>signed short MyLinuxFunc (unsigned short a, void *b, void " +"*c,\n" +" unsigned short *d, void *e, char g, unsigned char *h);" +msgstr "" +"<programlisting>signed short MyLinuxFunc (unsigned short a, void *b, void " +"*c,\n" +" unsigned short *d, void *e, char g, unsigned char *h);" + +# type: <title id="bindlls-spec.title"></title> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:77 +#, no-wrap +msgid "Writing the spec file" +msgstr "Ecriture du fichier spec" + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:79 +msgid "" +"Start by writing the spec file. This file will describe the interface as if " +"it were a DLL. See elsewhere for the details of the format of a spec file " +"(e.g. man winebuild)." +msgstr "" +"Commencez par écrire le fichier spec. Ce fichier décrira l'interface comme " +"s'il s'agissait d'une DLL. Vous trouverez ailleurs des informations précises " +"sur le format d'un fichier spec. (ex. : man winebuild)." + +# type: <para><programlisting> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:84 +msgid "" +"In the simple example we want a Wine built-in Dll that corresponds to the " +"MyWin Dll. The spec file is <filename>MyWin.dll.spec</filename> and looks " +"something like this:" +msgstr "" +"Dans l'exemple simple nous voulons une Dll intégrée à Wine qui corresponde à " +"la Dll MyWin. Le fichier spec est <filename>MyWin.dll.spec</filename> et " +"ressemble à peu près à ça :" + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:102 +#, no-wrap +msgid "" +"<programlisting>#\n" +"# File: MyWin.dll.spec\n" +"#\n" +"# some sort of copyright\n" +"#\n" +"# Wine spec file for the MyWin.dll built-in library (a minimal wrapper " +"around the\n" +"# linux library libMyLinux)\n" +"#\n" +"# For further details of wine spec files see the Winelib documentation at\n" +"# www.winehq.org\n" +"\n2 stdcall MyWinFunc (long ptr ptr ptr ptr long long ptr) MyProxyWinFunc\n" +"\n# End of file" +msgstr "" +"<programlisting>#\n" +"# File: MyWin.dll.spec\n" +"#\n" +"# some sort of copyright\n" +"#\n" +"# Wine spec file for the MyWin.dll built-in library (a minimal wrapper " +"around the\n" +"# linux library libMyLinux)\n" +"#\n" +"# For further details of wine spec files see the Winelib documentation at\n" +"# www.winehq.org\n" +"\n2 stdcall MyWinFunc (long ptr ptr ptr ptr long long ptr) MyProxyWinFunc\n" +"\n# End of file" + +# type: </programlisting></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:102 +msgid "" +"</programlisting> Notice that the arguments are flagged as long even though " +"they are smaller than that. With this example we will link directly to the " +"Linux shared library whereas with the ODBC example we will load the Linux " +"shared library dynamically." +msgstr "" +"</programlisting> Remarquez que les arguments sont marqués avec un type long " +"même si ils sont plus petits que cela. Avec cet exemple, nous allons " +"directement être reliés à la bibliothèque partagée Linux alors qu'avec " +"l'exemple ODBC, nous chargerons la bibliothèque partagée Linux " +"dynamiquement." + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:109 +msgid "" +"In the case of the ODBC example you can see this in the file " +"<filename>odbc32.spec</filename>." +msgstr "" +"Dans le cas de l'exemple ODBC, vous pouvez voir ça dans le fichier " +"<filename>odbc32.spec</filename>" + +# type: <title id="bindlls-wrapper.title"></title> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:115 +#, no-wrap +msgid "Writing the wrapper" +msgstr "Ecriture de l'enveloppeur" + +# type: <para><programlisting> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:117 +msgid "" +"Firstly we will look at the simple example. The main complication of this " +"case is the slightly different argument lists. The f parameter does not have " +"to be passed to the Linux function and the d parameter (theoretically) has " +"to be converted between <literal>unsigned long *i</literal> and " +"<literal>unsigned short *</literal>. Doing this ensures that the "high" " +"bits of the returned value are set correctly. Also unlike with the ODBC " +"example we will link directly to the Linux Shared Library." +msgstr "" +"Nous regarderons en premier l'exemple simple. La principale complication ici " +"est la liste d'arguments légèrement différente. Le paramètre f n'a pas à " +"être passé à la fonction Linux et le paramètre d doit (théoriquement) être " +"converti d'un <literal>unsigned long *i</literal> à un <literal>unsigned " +"short *</literal>. On s'assure ainsi que les bits de point fort de la valeur " +"retournée sont correctement fixés. En outre, contrairement à l'exemple ODBC, " +"nous allons directement relier l'exemple à la bibliothèque partagée Linux." + +# type: <programlisting></programlisting> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:126 +#, no-wrap +msgid "" +"<programlisting>/*\n" +" * File: MyWin.c\n" +" *\n" +" * Copyright (c) The copyright holder.\n" +" *\n" +" * Basic Wine wrapper for the Linux <3rd party library> so that it can " +"be\n" +" * used by <the application>\n" +" *\n" +" * Currently this file makes no attempt to be a full wrapper for the " +"<3rd\n" +" * party library>; it only exports enough for our own use.\n" +" *\n" +" * Note that this is a Unix file; please don't go converting it to DOS " +"format\n" +" * (e.g. converting line feeds to Carriage return/Line feed).\n" +" *\n" +" * This file should be built in a Wine environment as a WineLib library, \n" +" * linked to the Linux <3rd party> libraries (currently libxxxx.so and " +"\n" +" * libyyyy.so)\n" +" */\n" +"\n#include < <3rd party linux header> >\n" +"#include <windef.h> /* Part of the Wine header files */\n" +"\n/* This declaration is as defined in the spec file. It is deliberately " +"not\n" +" * specified in terms of <3rd party> types since we are messing about " +"here\n" +" * between two operating systems (making it look like a Windows thing when\n" +" * actually it is a Linux thing). In this way the compiler will point out " +"any\n" +" * inconsistencies.\n" +" * For example the fourth argument needs care\n" +" */\n" +"signed short WINAPI MyProxyWinFunc (unsigned short a, void *b, void *c,\n" +" unsigned long *d, void *e, int f, char g, unsigned char " +"*h)\n" +"{\n" +" unsigned short d1;\n" +" signed short ret;\n" +"\n d1 = (unsigned short) *d;\n" +" ret = <3rd party linux function> (a, b, c, &d1, e, g, h);\n" +" *d = d1;\n" +"\n return ret;\n" +"}\n" +"\n/* End of file */\n" +" " +msgstr "" +"<programlisting>/*\n" +" * File: MyWin.c\n" +" *\n" +" * Copyright (c) The copyright holder.\n" +" *\n" +" * Basic Wine wrapper for the Linux <3rd party library> so that it can " +"be\n" +" * used by <the application>\n" +" *\n" +" * Currently this file makes no attempt to be a full wrapper for the " +"<3rd\n" +" * party library>; it only exports enough for our own use.\n" +" *\n" +" * Note that this is a Unix file; please don't go converting it to DOS " +"format\n" +" * (e.g. converting line feeds to Carriage return/Line feed).\n" +" *\n" +" * This file should be built in a Wine environment as a WineLib library, \n" +" * linked to the Linux <3rd party> libraries (currently libxxxx.so and " +"\n" +" * libyyyy.so)\n" +" */\n" +"\n#include < <3rd party linux header> >\n" +"#include <windef.h> /* Part of the Wine header files */\n" +"\n/* This declaration is as defined in the spec file. It is deliberately " +"not\n" +" * specified in terms of <3rd party> types since we are messing about " +"here\n" +" * between two operating systems (making it look like a Windows thing when\n" +" * actually it is a Linux thing). In this way the compiler will point out " +"any\n" +" * inconsistencies.\n" +" * For example the fourth argument needs care\n" +" */\n" +"signed short WINAPI MyProxyWinFunc (unsigned short a, void *b, void *c,\n" +" unsigned long *d, void *e, int f, char g, unsigned char " +"*h)\n" +"{\n" +" unsigned short d1;\n" +" signed short ret;\n" +"\n d1 = (unsigned short) *d;\n" +" ret = <3rd party linux function> (a, b, c, &d1, e, g, h);\n" +" *d = d1;\n" +"\n return ret;\n" +"}\n" +"\n/* End of file */\n" +" " + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:172 +msgid "" +"For a more extensive case we can use the ODBC example. This is implemented " +"as a header file (<filename class="headerfile">proxyodbc.h</filename>) and " +"the actual C source file (<filename>proxyodbc.c</filename>). Although the " +"file is quite long it is extremely simple in structure." +msgstr "" +"Pour une explication plus approfondie, nous pouvons utiliser l'exemple " +"ODBC. Il est implémenté sous forme d'un fichier d'en-tête (<filename " +"class="headerfile">proxyodbc.h</filename>) et le fichier source C même " +"(<filename>proxyodbc.c</filename>). Bien que le fichier soit assez long, sa " +"structure est extrêmement simple." + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:179 +msgid "" +"<function>DllMain</function> the function is used to initialize the DLL. On " +"the process attach event the function dynamically links to the desired Linux " +"ODBC library (since there are several available) and builds a list of " +"function pointers. It unlinks on the process detach event." +msgstr "" +"<function>Dllmain</function> : la fonction est utilisée pour initialiser la " +"DLL. Quand survient l'évènement d'attachement de processus, la fonction se " +"relie dynamiquement à la bibliothèque ODBC Linux désirée (car plusieurs sont " +"disponibles) et construit une liste de pointeurs sur des fonctions. Elle se " +"libère lors de l'évènement de détachement de processus." + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:186 +msgid "" +"Then each of the functions simply calls the appropriate Linux function " +"through the function pointer that was set up during initialization." +msgstr "" +"Ensuite, chacune des fonctions appelle simplement la fonction Linux " +"appropriée par le biais de pointeur de fonction configuré lors de " +"l'initialisation." + +# type: <title id="binary-dlls-building.title"></title> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:192 +#, no-wrap +msgid "Building" +msgstr "Construction" + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:194 +msgid "" +"So how do we actually build the Wine built-in Dll? The easiest way is to get " +"Winemaker to do the hard work for us. For the simple example we have two " +"source files (the wrapper and the spec file). We also have the 3rd party " +"header and library files of course." +msgstr "" +"Alors, comment construit-on donc la bibliothèque intégrée à Winelib ? La " +"manière la plus simple est de faire faire à Winemaker le sale boulot à notre " +"place. Pour l'exemple simple, nous avons deux fichiers sources " +"(l'enveloppeur et le fichier spec). Nous avons aussi une en-tête d'un tiers " +"et bien sûr les fichier de bibliothèque." + +# type: <para><itemizedlist> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:200 +msgid "" +"Put the two source files in a suitable directory and then use winemaker to " +"create the build framework, including configure script, makefile etc. You " +"will want to use the following options of winemaker:" +msgstr "" +"Mettez les deux fichiers sources dans un répertoire approprié et utilisez " +"ensuite winemaker pour construire l'ossature, y compris le script de " +"configuration, le fichier de compilation, etc. Vous serez amenés à utiliser " +"les options suivantes de winemaker :" + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:207 +msgid "" +"--nosource-fix and --nogenerate-specs (requires winemaker version 0.5.8 or " +"later) to ensure that the two files are not modified. (If using an older " +"version of winemaker then make the two files readonly and ignore the " +"complaints about being unable to modify them)." +msgstr "" +"<literal>--nosource-fix</literal> et <literal>--nogenerate-specs</literal> " +"(requiert winemaker en version 0.5.8 ou supérieure) afin de s'assurer que " +"les deux fichiers ne sont pas modifiés. (Si vous utilisez une version " +"antérieure de winemaker, alors rendez les fichiers accessibles en lecture " +"seule et ignorez les messages rabat-joie qui concernent l'impossibilité de " +"les modifier)." + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:216 +msgid "--dll --single-target MyWin --nomfc to specify the target" +msgstr "" +"<literal>--dll --single-target MyWin --nomfc</literal> pour spécifier la " +"cible" + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:221 +msgid "" +"-DMightNeedSomething -I3rd_party_include -L3rd_party_lib -lxxxx -lyyyy where " +"these are the locations of the header files etc." +msgstr "" +"<literal>-DMightNeedSomething -I3rd_party_include -L3rd_party_lib -lxxxx " +"-lyyyy</literal> où xxxx et yyyy sont les emplacements des fichiers " +"d'en-têtes etc." + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:228 +msgid "" +"After running winemaker I like to edit the Makefile.in to add the line " +"CEXTRA = -Wall just before the DEFINES =." +msgstr "" +"Après le lancement de Winemaker, j'aime bien éditer le fichier Makefile.in " +"pour ajouter la ligne <literal>CEXTRA = -Wall</literal> juste avant le " +"<literal>DEFINES=</literal>." + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:232 +msgid "Then simply run the configure and make as normal (described elsewhere)." +msgstr "" +"Ensuite, lancez simplement le "configure" et le "make", normalement " +"(décrit ailleurs)." + +# type: <title id="binary-dlls-installing.title"></title> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:237 +#, no-wrap +msgid "Installing" +msgstr "Installation" + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:239 +msgid "" +"So how do you install the proxy and ensure that everything connects up " +"correctly? You have quite a bit of flexibility in this area so what follows " +"are not the only options available." +msgstr "" +"Alors, comment installer le proxy et s'assurer que tout se connecte " +"correctement ? Vous aurez une bonne marge de manoeuvre dans cette partie " +"donc ce qui suit ne mentionne pas toutes les options disponibles." + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:244 +msgid "" +"Ensure that the actual Linux Shared Object is placed somewhere where the " +"Linux system will be able to find it. Typically this means it should be in " +"one of the directories mentioned in the /etc/ld.so.conf file or somewhere in " +"the path specified by LD_LIBRARY_PATH. If you can link to it from a Linux " +"program it should be OK." +msgstr "" +"Assurez vous que l'objet Linux partagé en question est placé quelque part où " +"le système Linux sera en mesure de le trouver. En général, cela signifie " +"qu'il devrait être placé dans un des répertoires mentionnés dans le fichier " +"/etc/ld.so.conf ou quelque part dans le chemin spécifié par " +"LD_LIBRARY_PATH. Si vous pouvez vous relier à cet objet à partir d'un " +"programme linux, ça devrait être bon." + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:251 +msgid "" +"Put the proxy shared object (MyWin.dll.so) in the same place as the rest of " +"the built-in DLLs. (If you used winemaker to set up your build environment " +"then running "make install" as root should do that for you) Alternatively " +"ensure that WINEDLLPATH includes the directory containing the proxy shared " +"object." +msgstr "" +"Mettez l'objet partagé de substitution [proxy] (MyWin.dll.so) au même " +"endroit que le reste des DLL intégrées (si vous avez utilisé winemaker pour " +"configurer votre environnement de construction alors l'exécution de make " +"install en tant que root devrait le faire pour vous). Sinon, assurez vous " +"que le WINEDLLPATH inclut le répertoire contenant l'objet partagé de " +"substitution." + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:258 +msgid "" +"If you have both a Windows DLL and a Linux DLL/proxy pair then you will have " +"to ensure that the correct one gets called. The easiest way is probably " +"simply to rename the windows version so that it doesn't get " +"detected. Alternatively you could specify in the DllOverrides section (or " +"the AppDefaults\\myprog.exe\\DllOverrides section) of the config file " +"(in your .wine directory) that the built-in version be used. Note that if " +"the Windows version Dll is present and is in the same directory as the " +"executable (as opposed to being in the Windows directory) then you will " +"currently need to specify the whole path to the dll, not merely its name." +msgstr "" +"Si vous avez à la fois la DLL Windows et la DLL de substitution Linux, vous " +"devrez vous assurer que c'est la bonne DLL qui reçoit les appels. La méthode " +"la plus simple est sans doute de juste renommer la version Windows afin " +"qu'elle ne soit pas détectée. Une solution alternative consisterait à " +"spécifier dans la section DllOverrides (ou dans la section " +"AppDefaults\\myprog.exe\\DllOverrides) du fichier de configuration (dans " +"votre répertoire .wine) que la version intégrée soit utilisée. Notez que si " +"la version Windows de la DLL est présente et se trouve dans le même " +"répertoire que le fichier exécutable (à la différence d'être dans le " +"répertoire windows), il sera nécessaire à ce moment là de spécifier le " +"chemin complet vers la DLL, et pas simplement son nom." + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:270 +msgid "" +"Once you have done this you should be using the Linux Shared Object " +"successfully. If you have problems then set the WINEDEBUG=+module " +"environment variable before running wine to see what is actually happening." +msgstr "" +"Une fois que vous avez fait cela, vous devriez utiliser la bibliothèque " +"Linux partagée avec succès. Si vous avez des problèmes, mettez la variable " +"d'environnement WINEDEBUG=+module avant de lancer wine pour voir ce qui se " +"passe en fait." + +# type: <title id="binary-dlls-filenames.title"></title> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:277 +#, no-wrap +msgid "Converting filenames" +msgstr "Conversion des noms de fichiers" + +# type: <para></para> +#: ../en/winelib-user.sgml:36 ../en/winelib-bindlls.sgml:279 +msgid "" +"Suppose you want to convert incoming DOS format filenames to their Unix " +"equivalent. Of course there is no suitable function in the true Microsoft " +"Windows API, but wine provides a function for just this task and exports it " +"from its copy of the kernel32 DLL. The function is " +"<function>wine_get_unix_file_name</function> (defined in winbase.h)." +msgstr "" +"Supposez que vous vouliez convertir les noms de fichier au format entrant " +"DOS vers leur équivalent Linux. Bien sûr, il n'existe pas de fonction " +"appropriée dans la vrai API Microsoft Windows, mais Wine fournit une " +"fonction juste pour cette tâche et l'exporte depuis sa copie du fichier " +"Kernel32.dll. Cette fonction est " +"<function>wine_get_unix_file_name</function> (définie dans " +"<filename>winbase.h</filename>)."