Ero sivun ”Kääntäminen” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p Cmake ja Meson |
|||
| Rivi 5: | Rivi 5: | ||
Jos haluaa muokata oman jakelun pakettia, tämä kannattaa tehdä jakelun omilla työkaluilla ja mieluiten jakelun omasta lähdekoodista (ellei nimenomaan halua toista versiota ohjelmasta - silloinkin jakelun tekemät muutokset on hyvä huomioida). Oman jakelun lähdekoodipaketit on yleensä mahdollista asentaa [[paketinhallinta|paketinhallinnan]] kautta erillisestä asennuslähteestä (source). Jatkossa käsitellään muualta haetun lähdekoodin kääntämistä ja asentamista ilman jakelun omia työkaluja. | Jos haluaa muokata oman jakelun pakettia, tämä kannattaa tehdä jakelun omilla työkaluilla ja mieluiten jakelun omasta lähdekoodista (ellei nimenomaan halua toista versiota ohjelmasta - silloinkin jakelun tekemät muutokset on hyvä huomioida). Oman jakelun lähdekoodipaketit on yleensä mahdollista asentaa [[paketinhallinta|paketinhallinnan]] kautta erillisestä asennuslähteestä (source). Jatkossa käsitellään muualta haetun lähdekoodin kääntämistä ja asentamista ilman jakelun omia työkaluja. | ||
==Perinteinen GNU Autotools tapa== | == CMAKE == | ||
[[CMake]] on yksi yleisimmistä ja de facto -standardeista rakennusjärjestelmistä monissa C/C++-projekteissa, erityisesti suurissa projekteissa kuten [[KDE]]. | |||
Tyypillinen prosessi on: ''cmake .'', ''make'' (tai ''cmake --build .''), ''sudo make install''. | |||
== 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. | |||
Tyypillinen prosessi on: ''meson setup builddir'', ''meson compile -C builddir'', ''sudo meson install -C builddir''. | |||
Muut työkalut: Myös muut modernit työkalut ja käsitteet, kuten [[Ninja]] (jota Meson ja usein CMake käyttävät taustalla nopeuttamaan käännöstä | |||
== Perinteinen GNU Autotools tapa == | |||
Vaikka tämä prosessi on edelleen validi ja käytössä monissa vanhemmissa tai yksinkertaisemmissa projekteissa, se ei enää edusta ainoaa tai edes yleisintä tapaa kääntää ohjelmia nykyaikaisessa Linux-ympäristössä. | Vaikka tämä prosessi on edelleen validi ja käytössä monissa vanhemmissa tai yksinkertaisemmissa projekteissa, se ei enää edusta ainoaa tai edes yleisintä tapaa kääntää ohjelmia nykyaikaisessa Linux-ympäristössä. | ||
| Rivi 64: | Rivi 76: | ||
make clean | make clean | ||
==Kääntäminen ja paketinhallinta== | == Kääntäminen ja paketinhallinta == | ||
Kenties paras vaihtoehto on tehdä käännetystä ohjelmasta oman jakelun mukainen paketti ja asentaa se paketinhallinnan kautta. Tällöin komentoa <tt>make install</tt> ei anneta, vaan tilalle tulee jakelun omat paketinluomis- ja asennuskomennot. Katso esimerkiksi [[CheckInstall]] sekä [[Deb-paketin tekeminen]]. | Kenties paras vaihtoehto on tehdä käännetystä ohjelmasta oman jakelun mukainen paketti ja asentaa se paketinhallinnan kautta. Tällöin komentoa <tt>make install</tt> ei anneta, vaan tilalle tulee jakelun omat paketinluomis- ja asennuskomennot. Katso esimerkiksi [[CheckInstall]] sekä [[Deb-paketin tekeminen]]. | ||