Ero sivun ”GNU build system” versioiden välillä

Siirry navigaatioon Siirry hakuun
p SCons
p ja luo
 
(5 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 1: Rivi 1:
{{Ohjelma
| nimi          = GNU build system (Autotools)
| logo          =
| kuva          =
| kuvateksti    =
| tekijä        =
| kehittäjä      = GNU Project
| moottori      = [[make]]
| ensijulkaisu  = 1990-luvun alku
| vakaaversio    =
| vakaapvm      =
| kehitysversio  =
| kehityspvm    =
| ohjelmoitu    = [[Shell]], [[Perl]]
| käyttöliittymä = Komentorivi (CLI)
| tyyppi        = Rakennusjärjestelmäkokonaisuus (Build System Suite)
| lisenssi      = [[GNU GPL]]
| kotisivu      = [https://www.gnu.org/software/autoconf/ gnu.org/software/autoconf/]
| lähdekoodi    =
}}
'''GNU build system''' (tunnetaan myös nimellä''' Autotools''') on [[GNU]]-projektin laajalti käytetty ja tuettu työkalupaketti ohjelmien kääntämiseen ja siihen liittyviin toimenpiteisiin.
'''GNU build system''' (tunnetaan myös nimellä''' Autotools''') on [[GNU]]-projektin laajalti käytetty ja tuettu työkalupaketti ohjelmien kääntämiseen ja siihen liittyviin toimenpiteisiin.


Rivi 22: Rivi 43:
|-
|-
| [[Aclocal]] || Auttaa luomaan aclocal.m4-tiedoston, joka sisältää Autoconf-makroja ulkoisille ohjelmille ja kirjastoille. || Makrojen kerääminen (auttaa erityisesti, kun projekti tarvitsee kolmannen osapuolen kirjastoja).
| [[Aclocal]] || Auttaa luomaan aclocal.m4-tiedoston, joka sisältää Autoconf-makroja ulkoisille ohjelmille ja kirjastoille. || Makrojen kerääminen (auttaa erityisesti, kun projekti tarvitsee kolmannen osapuolen kirjastoja).
|-
| [[Libtool]] || Skripti, joka helpottaa siirrettävien kirjastojen (jaettujen/dynaamisten kirjastojen) luomista eri järjestelmissä. || SSiirrettävien kirjastojen luominen (käsittelee eroja DLL:ien ja SO-tiedostojen välillä eri alustoilla).
|-
|-
| [[Autoreconf]] || Ajaa kaikki edellä mainitut työkalut (Autoconf, Automake, Aclocal) automaattisesti oikeassa järjestyksessä. || Kätevöittää kehittäjän työnkulkua luomalla tarvittavat konfiguraatiotiedostot projektin juuresta.
| [[Autoreconf]] || Ajaa kaikki edellä mainitut työkalut (Autoconf, Automake, Aclocal) automaattisesti oikeassa järjestyksessä. || Kätevöittää kehittäjän työnkulkua luomalla tarvittavat konfiguraatiotiedostot projektin juuresta.
Rivi 30: Rivi 53:
== Työnkulku ==
== Työnkulku ==
Autotoolsin työnkulku voidaan jakaa selkeästi kahteen vaiheeseen: kehittäjän työhön, jolla luodaan jakeluvalmis lähdepaketti ja loppukäyttäjän työhön, jolla paketti käännetään omassa ympäristössä.
Autotoolsin työnkulku voidaan jakaa selkeästi kahteen vaiheeseen: kehittäjän työhön, jolla luodaan jakeluvalmis lähdepaketti ja loppukäyttäjän työhön, jolla paketti käännetään omassa ympäristössä.
* '''1. Kehittäjän työ:''' Kehittäjä kirjoittaa lähdekoodin lisäksi ''configure.ac'' (Autoconfille) ja ''Makefile.am'' (Automakelle) tiedostot, joista Autotools luo lopulliset lähdejulkaisun tiedostot.
* '''1. Kehittäjän työ:''' Kehittäjä kirjoittaa lähdekoodin lisäksi ''configure.ac'' (Autoconfille) ja ''Makefile.am'' (Automakelle) tiedostot, joista Autotools luo lopulliset lähdejulkaisun tiedostot (esim. configure-skripti, Makefile.in-tiedostot), jotka jaetaan loppukäyttäjille.
 
* '''2. Loppukäyttäjän työ:''' Loppukäyttäjä suorittaa yksinkertaisen kolmen vaiheen prosessin, joka käyttää Autotoolsin generoimia skriptejä:
* '''2. Loppukäyttäjän työ:''' Loppukäyttäjä suorittaa yksinkertaisen kolmen vaiheen prosessin, joka käyttää Autotoolsin generoimia skriptejä:


  ./configure    # Suorittaa järjestelmätestit Autoconf-skriptillä
  ./configure    # Suorittaa järjestelmätestit Autoconf-skriptillä ja luo lopullisen Makefile-tiedoston lähdejärjestelmän mukaan.
  make            # Kääntää lähdekoodin
  make            # Kääntää lähdekoodin
  make install    # Asentaa ohjelman
  make install    # Asentaa ohjelman