pkgconf
| pkgconf | |
|---|---|
| Kehittäjä(t) | Leo P. Singer, The pkgconf Project |
| Vakaa versio | 1.9.5 / 2024 |
| Ohjelmoitu | C |
| Käyttöliittymä | Komentorivi (CLI) |
| Tyyppi | Käännösasetusten hallintatyökalu, Kirjaston metatietojärjestelmä |
| Lisenssi | ISC-lisenssi |
| Kotisivu | pkgconf.org |
| Lähdekoodi | github.com/pkgconf/pkgconf |
Pkgconf on moderni, C-kielellä uudelleenkirjoitettu vaihtoehtoinen toteutus alkuperäiselle pkg-config-työkalulle. Se on suunniteltu olemaan täysin yhteensopiva pkg-configin kanssa komentorivikäyttöliittymänsä ja .pc-tiedostomuodon osalta, mutta tarjoaa useita etuja suorituskyvyn ja arkkitehtuurin suhteen.
Merkittävimmät erot ja parannukset
1. Riippuvuus GLib-kirjastosta
- Pkg-config tarvitsi toimiakseen GLib-kirjaston (Gnome Library).
- Pkgconf ei tarvitse GLibiä (riippumaton GLibistä), mikä tekee siitä kevyemmän ja helpomman käyttää järjestelmissä, joissa GLib ei ole valmiiksi asennettuna (esim. useimmat BSD-järjestelmät tai minimaaliset Linux-jakelut).
2. Suorituskyky ja riippuvuuksien ratkaisu
- Pkgconfin riippuvuuksien ratkaisualgoritmi on optimoitu käsittelemään suuria riippuvuusverkostoja tehokkaammin.
- Se pystyy suorittamaan linkitysaikaisia optimointeja (Link-Time Dependency Optimization), joiden avulla käyttäjä voi linkittää binääriinsä konservatiivisemmin, välttäen turhia linkityksiä (overlinking).
3. Kehittyneet ominaisuudet
- Virtuaalipaketit: Pkgconf tukee täysin virtuaalipaketteja, mikä parantaa sen joustavuutta.
- Ristiriitojen hallinta (Conflicts): Pkgconf tukee paremmin ristiriitojen hallintaa riippuvuusratkaisun aikana.
Käyttö
Koska pkgconf on täysin yhteensopiva alkuperäisen pkg-configin kanssa, sen käyttö komentorivillä on täsmälleen sama.
Esimerkki: Koodin kääntäminen pkgconfin ollessa käytössä:
# Komento on sama, vain toteutus taustalla on pkgconf. g++ `pkg-config --cflags --libs glibmm-2.4` esimerkki.cc
Monet jakelut tarjoavat shim-paketin, joka luo linkin tai aliasin pkg-config-komennolle osoittamaan pkgconf-binääriin, jolloin käyttäjän ei tarvitse muuttaa vanhoja Make-tiedostojaan.
Asennus
Monissa nykyaikaisissa jakeluissa (Arch, Fedora, Alpine) pkgconf korvaa alkuperäisen pkg-configin tai tarjoaa sen toiminnallisuuden.
Pkgconf löytyy useimpien jakeluiden paketinhallinnasta nimellä pkgconf. Lisätietoja ohjelmien asentamisesta löytyy artikkelista Ohjelmien asentaminen.