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. ...
Code parsemé defedfi#⇒illisible SUN : passage BSD à SVR4⇒choix 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