Ficher README.1ST de DJGPP Version 2.01

[Avertissement: DJ Delorie, l'auteur de la version originale de ce document
(et de DJGPP), n'est nullement responsable des erreurs de traduction, ou du
retard dans la mise a jour de ce document. Si cette version francaise vous
pose probleme, envoyez vos remarques/critiques a Francois Charton
<deef@pobox.oleane.com>]


DJGPP v2.01 est un ensemble d'applicatifs gratuits permettant de developper
des programmes C/C++ en mode protege 32 bits sous MS-DOS.

L'etat d'avancement du projet et diverses informations (documentation en
ligne, FAQ, archives de la messagerie) sont disponibles sur le site web
de djgpp, a l'adresse http://www.delorie.com/. Commentaires sur DJGPP et
questions sur son utilisation et ses fonctionnalites peuvent etre envoyes
au newsgroup comp.os.msdos.djgpp ou a la liste de diffusion
<djgpp@delorie.com>, (pour vous y abonner, envoyez un message a
<listserv@delorie.com>). Des informations sur les dernieres
versions des applicatifs de DJGPP sont disponibles sur le site web.

Dans chaque fichier zippe, le numero de version est dans le fichier
manifest/*.ver, et le contenu dans manifest/*.mft.

Un autre manuel, plus complet (et plus long), de presentation de DJGPP
a ete ecrit par An <avly@remus.rutgers.edu> et est disponible par ftp
anonyme a x2ftp.oulu.fi dans le repertoire /pub/msdos/programming/djgpp2,
son nom est djtut-bm.zip. Vous pouvez aussi le consulter en ligne a
l'adresse Web suivante:

        http://remus.rutgers.edu/~avly/djgpp.html



LES PROGRAMMES
**************

Les fichiers dont le nom finit par 'b' contiennent les programmes et leur
documentation. Au moment ou ce document a ete ecrit, les applicatifs
disponibles etaient:

FAQ     Un petit fichier indiquant les documents que vous devriez lire
        (en particulier la "vraie" FAQ).

v2/
unzip386 Decompacteur (comme PKUNZIP) librement accessible
djdev201 Executables et kit de developpement de DJGPP V2
djlsr201 Sources des librairies de DJGPP V2
djtst201 Programmes de test
djcrx201 Compilateur croise, pour produire des programmes DOS depuis un
         autre systeme
faq202b  La FAQ complete sous divers formats (Info, ASCII, HTML...)
faq202s  Sources en Texinfo de la FAQ, et outils pour la traduire
         dans differents formats.
frfaq020 Traduction francaise de la FAQ v2.02

v2gnu/
bnu27b   GNU binutils 2.7 pour DJGPP V2
bnu27s   Sources de GNU binutils 2.7
bsn124b  GNU bison 1.24 pour DJGPP V2
bsn124s  Sources de GNU bison 1.24
dif271b  GNU diffutils 2.7.1 pour DJGPP V2
dif271s  Sources de GNU diffutils 2.7.1
find41b  GNU findutils 4.1 pour DJGPP V2
find41s  Sources de GNU findutils 4.1
flx252b  GNU Flex 2.5.2 pour DJGPP V2
flx252s  Sources de GNU Flex 2.5.2
gcc2721b GNU GCC 2.7.2.1 pour DJGPP V2
gcc2721s Sources de GNU GCC 2.7.2.1
gdb416b  GNU Debugger 4.16 pour DJGPP V2
gdb416s  Sources de GNU Debugger 4.16
gpp2721b GNU G++ 2.7.2.1 pour DJGPP V2 (sans les librairies)
grep20b  GNU grep 2.0 pour DJGPP V2
grep20s  Sources de GNU grep 2.0
gzp124b  GNU gzip 1.2.4 pour DJGPP V2
gzp124s  Sources de GNU gzip 1.2.4
lgp271b  GNU libg++ 2.7.1 pour DJGPP V2
lgp271s  Sources de GNU libg++ 2.7.1
mak375b  GNU Make 3.75 pour DJGPP V2
mak375s  Sources de GNU Make 3.75
obc2721b GNU ObjC 2.7.2.1 pour DJGPP V2
pat21b   GNU patch 2.1 pour DJGPP V2
pat21s   Sources de GNU patch 2.1
sed118b  GNU sed 1.18 pour DJGPP V2
sed118s  Sources de GNU sed 1.18
txi390b  GNU texinfo 3.9 pour DJGPP V2
txi390s  Sources de GNU texinfo 3.9

v2tk/
bcc2grx  Convertisseur graphique Borland/GRX pour DJGPP V2
grx20    GRX 2.0 Librairie Graphique pour DJGPP V2
pdc22    Librairie "curses" domaine public

v2misc/
csdpmi3b CWSDPMI, executables et documentation du serveur DPMI gratuit
                  de Charles Sandmann
csdpmi3s Sources de CWSDPMI
wmemu2b  Emulateur 387 de WM, executables pour DJGPP V2
wmemu2s  Emulateur 387 de WM, sources pour DJGPP V2


PREMIERS PAS
************

Les informations donnees ici sont le minimum qu'un utilisateur novice doit
connaitre pour demarrer DJGPP. Pour avoir davantage de details, veuillez
lire la documentation et la FAQ de DJGPP. Il est souhaitable que tout nouvel
utilisateur lise la FAQ dans son integralite.


Que telecharger
---------------

En general, ne telechargez que les executables; peu de gens ont besoin
des sources.

Pour compiler des programmes C, vous devrez avoir djdev201.zip, gcc2721b.zip,
et bnu27b.zip. Pour le C++, il vous faudra egalement gpp2721b.zip et
lgp271b.zip. Pour pouvoir lire les manuels en ligne, telechargez txi370b.zip
et executez "info". Si aucun serveur DPMI n'est installe sur votre machine,
vous devrez avoir csdpmi3b.zip. (Windows, QDPMI, 386Max, NWDOS, OS/2, Win/NT
et DOSEmu sous Linux contiennent un serveur DPMI. Vous n'avez donc pas
besoin de CWSDPMI dans ces environnements). Pour plus d'informations,
telechargez faq202b.zip (ou en francais frfaq020.zip), et lisez le chapitre 4
de la FAQ.

Installation
------------

1. Creez un repertoire pour DJGPP, par exemple C:\DJGPP. Si vous avez
   deja installe la version 1.x , il vaut mieux effacer le contenu du
   sous repertoire 'bin/', ou le recopier dans un autre repertoire (qui
   ne soit pas sur votre PATH), et detruire tout le reste de cette version.
   (Certains des problemes rencontres par les utilisateurs de DJGPP v2 viennent
   du melange des deux versions v1.x et v2). Le seul programme de la version
   1.x que vous devriez conserver est 'go32.exe'.

2. Decompactez les fichiers zip a partir de ce repertoire, en veillant a
   preserver l'arborescence des sous repertoires. Par exemple :

        pkunzip -d gcc2721b
   ou
        unzip386 gcc2721b


3. Apres avoir decompacte tous les fichiers zippes, faites pointer la
   variable d'environnement DJGPP sur le fichier DJGPP.ENV, dans le
   repertoire de base de DJGPP, et ajoutez le sous repertoire BIN a votre PATH.
   Par exemple, si votre installation de DJGPP s'est faite a partir
   de C:\DJGPP, vous ajouterez au fichier AUTOEXEC.BAT les deux lignes :

        set DJGPP=C:\DJGPP\DJGPP.ENV
        set PATH=C:\DJGPP\BIN;%PATH%


4. Executez le programme go32-v2.exe sans arguments

        go32-v2

   Il doit alors vous annoncer combien de memoire et d'espace
   d'echange DPMI DJGPP disposera sur votre systeme, par exemple :

        DPMI memory available: 8020 Kb
        DPMI swap space available: 240 Kb

   (Ces nombres dependent de la taille de la RAM de votre systeme, de
   l'espace disque disponible, et du serveur DPMI.) Si go32-v2 annonce
   moins de 4 MOctets de memoire DPMI, lisez le paragraphe 3.8 de la FAQ.
   (Meme si vous disposez de davantage de memoire, lisez le si vous voulez
   optimiser les performances de DJGPP sur votre systeme).

Compilation
-----------

GCC est un compilateur en ligne de commande, que vous appelez depuis le DOS.
Pour compiler et relier un programme C constitue d'un seul fichier, vous
taperez une commande comme :

        gcc monfich.c -o monfich.exe -lm

L'option -lm relie la librairie lib/libm.a (fonctions trigonometriques) si
vous en avez besoin. (Lors de la reliure, l'ordre des operations est
important, aussi, tapez toujours '-lm' a la fin de la ligne de commande.)

Pour compiler un fichier C ou C++ en fichier objet, tapez :

        gcc -c -Wall monfich.c   (programme C)
  ou
        gcc -c -Wall monfich.cc (programme C++)

Ceci cree le fichier objet monfich.o. L'option '-Wall' active toutes sortes
de messages d'avertissement, qui peuvent etre d'une grande utilite aux
utilisateurs novices de GCC. (D'autre extensions de fichiers C++, comme .cpp,
sont egalement acceptees, pour plus d'information, lire la section 8.4 de la
FAQ).

Pour relier plusieurs fichiers objets C en un programme executable, tapez:

        gcc -o monprog.exe monmain.o monsub1.o monsub2.o -lm

Ceci cree 'monprog.exe' qui peut etre execute a l'invite du DOS.

Pour relier un programme C++, utilisez gxx au lieu de gcc:

        gxx -o monprog.exe monmain.o monsub1.o monsub2.o -lm

Il utilisera automatiquement les librairies C++, ce vous epargne de les faire
figurer sur la ligne de commande.

Vous pouvez egalement combiner compilation et reliure :

        gcc -Wall -o monprog.exe monmain.c monsub1.c monsub2.c -lm

Les innombrables options de GCC sont decrites dans sa documentation en ligne.
Pour y avoir acces, installez l'applicatif Texinfo (texi390b.zip,
voir le paragraphe "documentation en ligne" ci dessous) et tapez :

        info gcc invoking


Environnement de developpement (EDI)
------------------------------------

DJGPP n'a pas actuellement d'environnement de developpement integre.
Vous pouvez utiliser comme EDI n'importe quel editeur capable de lancer des
programmes DOS et d'en recevoir le resultat. De nombreux utilisateurs de
DJGPP utilisent un portage pour DOS de GNU Emacs (disponible au memes endroits
que DJGPP) qui peut etre compile par DJGPP. Emacs est un editeur tres puissant
(il dispose par exemple d'un lecteur Info integre, ce qui vous permet de lire
la documentation DJGPP sans quitter l'editeur), mais de nombreux autres
editeurs gratuits peuvent servir d'EDI. La seule chose que ces editeurs
(y compris Emacs) ne puissent faire est d'utiliser un debogueur lors d'une
session plein-ecran.

Un EDI specifique a DJGPP, appele RHIDE, est en phase de beta test, et devrait
etre disponible prochainement.


Debogage
--------

Pour deboguer un programme, vous devez d'abord le compiler en utilisant
l'option -g :

        gcc -c -Wall -g monmain.c
        gcc -c -Wall -g monsub1.c
        gcc -c -Wall -g monsub2.c

puis le relier avec l'option '-g', mais en donnant au relieur le nom du
programme sans l'extension .exe :

        gcc -g -o monprog monmain.o monsub1.o monsub2.o -lm

(remarquer que l'on tape '-o monprog' et non '-o monprog.exe'). Ceci creera
un fichier COFF appele 'monprog', ainsi que l'executable 'monprog.exe'; les
debogueurs doivent avoir acces au fichier COFF.

Puis executez votre programme avec le debogueur :

        fsdb monprog
ou
        gdb monprog

(Vous devez telecharger gdb416b.zip si vous voulez deboguer avec GBD.)
FSDB a une aide en ligne; appuyez sur F1 pour la lire. GDB a une
documentation au format Info (voir ci dessous) qui peut etre lue au moyen
d'Info.exe.


Documentation en ligne
----------------------

Le plupart des documentations sont ecrites dans un format hypertexte
special utilise par le projet GNU. Chaque applicatif contient sa propre
documentation sous la forme de fichiers ayant l'extension .iNN, et qui se
decompactent dans le sous repertoire info/ de votre repertoire principal
DJGPP. Pour consulter ces documentations, telechargez et decompactez le
fichier txi390b.zip, et executez info.exe. Si vous ne savez pas comment
utiliser Info, tapez '?'.


Compatibilite avec la version 1.x
---------------------------------

Les programmes compiles avec DJGPP V1.x peuvent etre utilises pour des
applicatifs qui n'ont pas ete portes sous DJGPP v2.0. Les
programmes version 1 ne peuvent executer des programmes de la version 2.0
(mais les programmes v2 *peuvent* executer des programmes v1), n'essayez pas,
par exemple, d'utiliser Make v1.x avec le compilateur v2.0.


--- COPYRIGHT ---

DJGPP V2 Copyright (C) 1995, DJ Delorie. Certaines parties de libc.a
sont Copyright (C) Regents of the University of California at Berkeley.


Les programmes GNU (gcc,make,libg++,etc...) sont Copyright Free Software
Foundation.

Le copyright de la version 2 de DJGPP vous autorise a l'utiliser pour
produire des applications commerciales. Cependant, si vous utilisez du
code ou des librairies qui n'appartiennent pas a djgpp (par exemple la
librairies libg++ de gnu), alors vous devez vous conformer aux dispositions
de leur copyright. Lisez le chapitre 19 de la FAQ pour davantage de
details.

Amusez vous bien!


DJ Delorie
dj@delorie.com
http://www.delorie.com/


[traduction : Francois Charton deef@pobox.oleane.com]

