Ero sivun ”Kääntäminen” versioiden välillä

Siirry navigaatioon Siirry hakuun
pEi muokkausyhteenvetoa
Rivi 34: Rivi 34:


=== Meson ===
=== Meson ===
[[Meson]] on uudempi, nopea ja suosittu rakennusjärjestelmä, joka on yleistynyt erityisesti [[GNOME]]-ympäristön ja monien muiden vapaan lähdekoodin projektien keskuudessa.
[[Meson]] on uudempi, nopea ja suosittu rakennusjärjestelmä, joka on yleistynyt erityisesti [[GNOME]]-ympäristön ja monien muiden vapaan lähdekoodin projektien keskuudessa. Se käyttää tyypillisesti [[Ninja]]-työkalua käännösprosessin suorittamiseen.


Tyypillinen prosessi on: ''meson setup builddir'', ''meson compile -C builddir'', ''sudo meson install -C builddir''.
==== Tyypillinen prosessi ====
<syntaxhighlight lang="bash">
# 1. Luo käännöshakemisto (Meson hoitaa tämän itse)
meson setup builddir  


[[Ninja]] on nopea, matalan tason rakennusjärjestelmä, jota [[Meson]] käyttää suoraan ja jonka [[CMake]] voi valita taustajärjestelmäksi perinteisen [[Makefile]]n sijaan käännösprosessin nopeuttamiseksi.
# 2. Käännä ohjelma Meson-hakemistossa
meson compile -C builddir


Moderneissa järjestelmissä käytetään usein erillistä ''builddir'' (kuten Mesonissa) tai ''build''-hakemistoa (yleinen tapa myös CMake:ssa), kun taas Autotoolsissa komennot ajetaan suoraan lähdekoodihakemistossa. Moderneissa tavoissa tavoitteena on pitää lähdekoodihakemisto puhtaana (engl. out-of-source build), jotta käännöksen luomat tiedostot (Makefile, binäärit yms.) eivät sotke alkuperäisiä tiedostoja. Tämä helpottaa siivoamista (rm -rf builddir) ja eri käännösversioiden ylläpitoa.
# 3. Asenna ohjelma järjestelmään
sudo meson install -C builddir
</syntaxhighlight>
 
=== Ninja ja riippuvuuksien hallinta ===
[[Ninja]] on nopea, matalan tason rakennusjärjestelmä, jota [[Meson]] käyttää suoraan ja jonka [[CMake]] voi valita taustajärjestelmäksi perinteisen Makefilen sijaan käännösprosessin nopeuttamiseksi.
 
Kaikki rakennusjärjestelmät tarvitsevat usein apua löytääkseen järjestelmästä puuttuvat kehityskirjastot (headerit). ''[[pkg-config]]'' on standardi työkalu, joka auttaa rakennusjärjestelmiä löytämään tarvittavat kirjastotiedostot ja niiden sijainnit.


== Perinteinen GNU Autotools tapa ==
== Perinteinen GNU Autotools tapa ==