[voikko] Patch: pkg-config-tuki

Anssi Hannula anssi at mandriva.org
Mon May 26 09:54:02 EEST 2008


Ville-Pekka Vainio wrote:
> Mozvoikkoa paketoidessani Ville Skyttä suositteli pkg-configin käyttämistä 
> (https://bugzilla.redhat.com/show_bug.cgi?id=448215#c2) include-polkujen 
> etsimiseen. Tämä toimiikin Fedorassa hyvin sekä nspr:n että xulrunnerin 
> kanssa, mutta ei voikon. Pkgconfig-tuen lisäävä patch on (toivottavasti) 
> liitteenä.
> 
> Muutamia huomioita: Tuon patchin jälkeen libvoikko.pc-tiedosto asennetaan 
> automaattisesti. Näin ei tietysti ole pakko olla, eihän kaikissa 
> järjestelmissä välttämättä edes ole pkgconfigia asennettuna.

Mielestäni asentaminen aina on ok.

> En ole aivan 
> varma tuostakaan libvoikko.pc.in-tiedoston muodosta, mutta yritin tehdä 
> suunnilleen muutaman löytämäni esimerkin mukaan. Lähinnä siis mietityttää, 
> että puuttuukohan siitä jotain.
>
> Pkgconfigissa on myös jonkinlainen Requires-mekanismi, mutta se ei ilmeisesti 
> toimi tässä tapauksessa siten kuin voisi olettaa. Jos siihen nimittäin 
> laittaa vaikkapa libmalaga >= 7.8, niin pkg-config valittaa 
> libmalaga.pc-tiedoston puuttumisesta esimerkiksi kyselyssä pkg-config --libs 
> libvoikko. Libmalagaa ei kuitenkaan tarvitse linkittää kaikkeen, missä 
> voikkoa käytetään, joten riippuvuusmekanismilla tarkoitetaan ehkä hieman 
> muuta kuin tavallisissa paketinhallintajärjestelmissä.

Tässä tapauksessa oikeaoppista olisi lisätä:
Libs.private: -lmalaga

Tällöin -lmalaga tulostetaan vain, kun käytetään pkg-configin --static
-optiota.

Lisää tietoa Requires.private- ja Libs.private -kentistä:
http://err.no/personal/blog/tech/2008-03-25-18-07_pkg-config,_sonames_and_Requires.private

> Sitten pari esimerkkiä siitä, mitä pkg-configilla voi tehdä. Tässä tapauksessa 
> ajoin configuren ilman valitsimia, joten tulos on erilainen kuin mitä 
> esimerkiksi Fedorassa rpmbuildillä käännetyssä libvoikossa olisi.
> 
> $ pkg-config --libs libvoikko
> -L/usr/local/lib -lvoikko
> 
> $ pkg-config --cflags libvoikko
> -I/usr/local/include/libvoikko 

Tästä voisin kysyä, onko tarpeellista lisätä tuo
-I/usr/include/libvoikko käännettäessä voikkoa käyttäviä ohjelmia. Itse
mieluummin käyttäisin ko. ohjelmissa yksinkertaisesti
#include <libvoikko/voikko.h>
jotta headerihakemistoja ei tarvitse kääntäjälle lisätä. Ainakin
enchantin voikko-provider tekee näin.

Ehdotan siis, että .pc-tiedostoon laitetaan näin:
Cflags: -I${includedir}

Edellä mainitsemiani kohtia lukuunottamatta patchisi näyttää olevan ok,
ja kannatan .pc-tiedoston lisäämistä.

> Jos nyt näyttää siltä, että patchia ei ole hyvä ottaa mukaan voikkoon 
> virallisesti, niin ainakin jonkinlainen "ok" olisi ihan mukavaa saada, aion 
> laittaa jotain tämäntyyppistä ainakin Fedora Rawhideen, mahdollisesti myös 
> Fedora 9:ään, koska siitä olisi hyötyä tuon mozvoikon kanssa.

-- 
Anssi Hannula



More information about the voikko mailing list