1. Uvod

Chapejte prosim nasledujici radky jako skromny uvod do problematiky. Me stranky v zadnem pripade nemaji ambice nahradit originalni manual - pokud Vas popisovane nastroje zaujaly natolik, ze nektere odstavce Vam budou pripadat nedostatecne podrobne, "zalistujte" v dokumentaci. Laskavy ctenar necht rovnez promine, ze mlcky predpokladam nektere elementarni znalosti prace v prostredi UNIX.

1.1 Proc pouzivat nastroje pro konfigurovani

V zivote programatora potka nekolik dulezitych otazek:
Jak programovat?
Myslim, ze na tuto otazku dava odpoved bezpocet matfyzackych prednasek...
Proc programovat a jak nalozit se zdrojaky?
Zrejme se shodneme, ze v soucasne dobe je zrejme nejdulezitejsi odpoved je odpoved Richarda Stallmana: GNU's Not Unix a GNU General Public License.
Jak zdrojaky distribuovat?
Chtel bych se ve svem referatu zabyvat prave posledni otazkou. Pote, co jste prosli pri psani sveho programu priblizne nasledujicim vyvojem: navrh, implementace, odladeni, zklamani, zmena navrhu, prepsani, odladeni, perzekuce viniku spatneho navrhu, opet zmena navrhu.... propluli mezi Skyllou a Charybdou a nyni chcete sve zdrojaky zpristupnit, dostanete se k otazkam, nad kterymi jste se doma v teple vubec nezamysleli.

Prichazeji problemy

snadna prenositelnost
sice jiz nejste ohrozovani bubaky znamymi z jednoho nepochvalitelneho operacniho systemu, ale pokud se nechcete sovinisticky omezovat pouze na Linux/x86, meli byste pomyslet na otazky typu: endianity, sizeof(integer), ktere knihovny musim prilinkovat, abych smel pouzivat funkci xy, jake jsou potreba include soubory, jak se tvori sdilene knihovny, kam soubory nainstalovat...
jednoduchy zpusob prekladu a nasledneho nainstalovani
bylo by pekne, pokud by zodpovezeni vyse zminenych otazek vyzadovalo co nejmene zasahu ze strany uzivatele Vaseho programu (ktery ma o nich velmi mizive poneti)

Jiste nechcete stravit na techto ukolech vice casu nez nad vyvojem vlastniho programu. Tedy - sprava celeho programu by mela byt standardni, rozsirena, co nejobecnejsi a pokud mozno i pro programatora jednoducha.

Vedle pochybnych a vicemene nepouzivanych (respektive pouze partikularne pouzivanych) ci nepouzitelnych reseni (napriklad Imakefile od X11), se snazi GNU odpovedet na otazku "Jak zdrojaky distribuovat?" odpovedet tremi balicky programu: Autoconf, Automake, Libtools.

1.2 Blize o jednotlivych nastrojich

Autoconf
slouzi k jednoduchemu konfigurovani programu (pro konfiguraci pred samotnym prekladem zdrojaku - nikoliv konfigurovani na zpusob uzivatelskych dialogu v jiz hotovych - prelozenych - programech)
Automake
by Vam mel zjednodusit praci s vytvoreni Makefile souboru (pocitani dependencies, ruzne cile: *clean, TAGS - dokonce i vytvoreni distribucniho archivu...)
Libtool
je nastroj pro jednotny zpusob vytvareni knihoven - tedy abstrakce operaci nutnych k vytvoreni knihovny - operaci zavislych na ruznych operacnich systemech.

Autoconf, Automake a Libtool snimaji velky kus namahy a rutinni prace z programatora (a jak ironicky pise jejich autor v dokumentaci k jednomu z techto nastroju: a nakladaji ji na bedra autoru programu autoconf, automake a libtoool).

Instalujeme

Pri vyrobe distribucnich archivu vsech tri nastroju byl samozrejme pouzity jak Autoconf tak i Automake. Postup instalace se tedy nikterak nelisi od standardniho postupu pri instalovani jinych balicku programu - muzete tedy rovnou prejit na nasledujici kapitolu AAL z hlediska koncoveho uzivatele, ktera Vam priblizi rysy, ktere sdileji vsechny balicky pouzivajici zde popisovane nastroje.


(c) 1998 0rfelyus