La lecture en ligne est gratuite
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
Télécharger Lire

cours-configuration-Master-2-ALMA

59 pages
Outils de configuration GNUFre´de´ric GoualardFrederic.Goualard@univ-nantes.frLaboratoire d’Informatique de Nantes-AtlantiqueBureau 208Outils de configuration GNU — Master 2 ALMA — 2007/2008 – p. 1Références et liens utilesURL du cours :http://supports.goualard.free.fr/GNU coding standards. R. Stallman et al.GNU Make : a program for directing recompilation. R.M. Stallman et R.McGrathAutoconf : creating automatic configuration scripts. D. MacKenzie et BenEllistonAutomake. D. MacKenzie et Tom TromeyGNU libtool. G. Matzigkeit et al.GNU m4 : a powerful macro processor. René Seindal.Texinfo : the GNU documentation format. R.J. Chassel et R.M. StallmanOutils de configuration GNU — Master 2 ALMA — 2007/2008 – p. 2Avant-proposDéveloppement et distribution d’un logiciel :PortabilitéDifférentes architecturesBig endian vs. little endian, 32/64 bits, . . .Différents systèmes d’exploitation/compilateursIdiosyncrasiesPrésence d’une librairie particulièreGestion des bogues de certaines versionsGestion des dépendancesOptimisations pour certaines architecturesOutils de configuration GNU — Master 2 ALMA — 2007/2008 – p. 3Historique (1)Différentes formes d’Unix (≈ 70) :Unix, Bell Labs.SunOS, SUN MicroSystemsUltrix, Digital Equipment Corps.HP-UX, Hewlett-PackardLinux. . .Développement d’un logiciel « sous Unix »Détermination de l’architecture ?Disponibilité d’une fonction/d’un en-tête ?Outils de configuration GNU — Master 2 ALMA — 2007/2008 – p. ...
Voir plus Voir moins
Outils de conguration GNU
Fre´d´ericGoualard
Frederic.Goualard@univ-nantes.fr
Laboratoire d'Informatique de Nantes-Atlantique
Bureau 208
Outils de conguration GNU — Master 2 ALMA — 2007/2008 – p. 1
Référecnesetliesntuiles
URL du cours : http://supports.goualard.free.fr/ GNU coding standards. R. Stallman et al.
GNU Make : a program for directing recompilation. R.M. Stallman et R. McGrath
Autoconf : creating automatic conguration scripts. D. MacKenzie et Ben Elliston
Automake. D. MacKenzie et Tom Tromey
GNU libtool. G. Matzigkeit et al.
GNU m4 : a powerful macro processor. René Seindal.
Texinfo : the GNU documentation format. R.J. Chassel et R.M. Stallman
Outils de conguration GNU — Master 2 ALMA — 2007/2008 – p. 2
vAnat-rpposo
Développement et distribution d'un logiciel :
Portabilité
Différentes architectures Big endian vs. little endian, 32/64 bits, . . .
Différents systèmes d'exploitation/compilateurs
Idiosyncrasies
Présence d'une librairie particulière
Gestion des bogues de certaines versions
Gestion des dépendances
Optimisations pour certaines architectures
Outils de conguration GNU — Master 2 ALMA — 2007/2008 – p. 3
Historiuqe(1)
Différentes formes d'Unix (70) :
Unix, Bell Labs.
SunOS, SUN MicroSystems
Ultrix, Digital Equipment Corps.
HP-UX, Hewlett-Packard
Linux
. . .
Développement d'un logiciel « sous Unix »
Détermination de l'architecture ?
Disponibilité d'une fonction/d'un en-tête ?
Outils de conguration GNU — Master 2 ALMA — 2007/2008 – p. 4
Historiuqe(2)
Compilation conditionnelle basée sur l'OS:
#if (defined( SYSV ) || defined(SUN)) extern int *toto() ; #else extern char *toto() ; #endif
Augmentation des variantesimpraticable
Code parsemé defedfi#illisible SUN : passage BSD à SVR4choix sur l'OS ?
Outils de conguration GNU — Master 2 ALMA — 2007/2008 – p. 5
Histroiuqe()2
Compilation conditionnelle basée sur les services:
#if HAVE TOTO printf("%d",toto(a)) ; #endif
scriptonficgurepar L. Wall (pour Perl) metaconfigWall, H. Stenn et R. Manfredi, L. Interaction avec l'utilisateur pour l'identication des services disponibles
Cygnusgureonficpar K. R. Pixley et GCC configurepar R. Stallman GNUcotuafnopar D. MacKenzie
Outils de conguration GNU — Master 2 ALMA — 2007/2008 – p. 6
Hi
ý
stroiuqe()3
Convergence dansfnautoco: 1994 Autoconf :
Ensemble de macros pour créer un script adaptant un patron dekafeMlie(ealMiefkni.) à la machine cible
PatronsnMaekifeli.: Larges portions communes
Rigueur pour coller austandard GNU
automakepour créer.infileMakeà partir d'un patron Makefile.am
Outils de conguration GNU — Master 2 ALMA — 2007/2008 – p. 7
oCcnruertns
Imake(X Windows) Informations sur les différents systèmes hard-codée qmake(do//trc.hp:tth.ecltol0/3.m/coug-ekamqlmth.edi) Gère Borland et msdev
Propriétaire Jam(am.htmlhp:ttww//pew.rofrc.ecj/moj/ma CMake(htpt/:w/wwc.ameko./LMTH/gr) Propriétaire
Peu documenté SCons(//wwtt:phorg/ons.w.sc), AAP(www/a-a.th/:pt.o-p/rg), . . .
)
Outils de conguration GNU — Master 2 ALMA — 2007/2008 – p. 8
Plan
GNU Make
Autoconf
Automake
Notions « complémentaires
Libtool
Texinfo
»
Outils de conguration GNU — Master 2 ALMA — 2007/2008 – p. 9
GNU
Make
Outils
de
conguration
GNU
—
Master
2
ALMA
—
2007/2008
–
p.
10
Compilation et dépendances
Logiciel composé de nombreux chiers :
Fichiers sources (.c, .cpp, .h, . . .)
Fichiers de documentation
Modication d'un chier
ýrecompiler tous les chiers qui en dépendent Calcul des dépendances ?
Comment recompiler ?
Outils de conguration GNU — Master 2 ALMA — 2007/2008 – p. 11
Un pour Un
Permettre à tous d'accéder à la lecture
Pour chaque accès à la bibliothèque, YouScribe donne un accès à une personne dans le besoin