pkg_config quick non intrusive solution

Helio Chissini de Castro helio at kde.org
Fri Nov 14 12:39:34 CET 2008


On Quinta 13 Novembro 2008, Andreas Pakulat wrote:
> > But (a big but), I had a look at the modules you modified, the diff
> > compared to the versions before is attached.
> >
> > There are _major_ problems:
Yes, *now* i know since we discover reason
>
> > FindExiv2.cmake: completely broken on Windows
> > FindKexiv2, FindKipi: broken if pkgconfig was found but failed (the same
> > problem with find_path() as in FindStrigi yesterday), source- and
> > styleguide-incompatible renaming of the include dir variable
I will fix as soon i have windows install in my machine

> > FindXine: completely broken, relies on pkgconfig under !Windows, under
> > Windows does nothing, documentation removed, source- and styleguide
> > incompatible renames
FindXine is older, comes from Phonon ( more than 2 months already ) and i just 
copy from there. Ii will track down all pkgconfig modules 

> 2) Even if they wouldn't obviously break things, they are too big and too 
many changes at once. I don't feel I can even kind-of guarantee that they 
still work as good as before.
> 3) what is actually the motivation for these changes ?
My motivation is clean out the legacy. I was planning such change since some 
time ago, but waited the official move to requires cmake 2.6.2.
One of the issues of being such a large project of KDE is the fact that we 
hardly can keep track of everything, and more if you are a buildsystem or a 
release team guy.  As a packager, i fall down in the past too much old things 
from auto*tools that remains from kde 1, 2 inside kde3 and every new auto* 
update, sometimes we need regenerate everything, and barely can guarantee the 
results
So, after 2.6, the OLD pkgconfig macro is issuing a warning, and would be fine 
if we keep that and not touch if we have sure that cmake will never remove 
that. And i won't dare to force a copy on kde cmake just because we need keep 
old.
And worst, new modules would be always written with new macro, and will fall 
in our issue of fullpath
So, even keeping old-but-work-with-warnings macro, new modules would break. Be 
immediately, be that the right moment we have a new devel.
So, i was accepting all the backfire too since i'm taking role to do that 
changes and accept peoples blame, but i consider a small curve and necessity 
to understand what need to do to keep our build safe in the next future years.


> > FindStrigi: seems to work (but nevertheless has more modifications than I
> > feel comfortable with)
Strigi was the first one to address the issue of fullpath. Changes are really 
needed considering that, Even if i not touch it, We had inconsistency that 
places are using STRIGI_LIBRARIES and other using the find forced other libs.
Again was another case that people added thing on module to fix their build 
instead of do the right thing fixing the module.
This module will need to be changed again after we have a new PkgConfig as 
mentioned with the fullpath

>> 1.) ASAP revert the files completely back to the state they were before your 
changes
In a better way, i'm installing a vm with windows and will test again.
Then i will fix all modules

>> 2.) then enhance FindPkgConfig.cmake module as you suggested
Yes, same way
Btw, we are using fullpath, but FindKDE4Internal still is setting policy 
CMP0003 as OLD, which means there places that uses non full path and is ok.
Can we plan a taskforce changing the policy on day to change every place after 
trunk been not 4.2 any more ? I'm ok in do that by myself, as i'm have 
resources to build everything at office.

>> 3.) then improve the modules you are interested by sending the patch first 
to kde-buildsystem
Yep, ok

> Don't want to blame anyone, but FindQCA2 was also broken, QCA2_INCLUDE_DIR
> wasn't set anymore under unix using pkg-config. I've fixed that by setting
> it to QCA2_INCLUDEDIR, which is set by the pkg-config stuff.
I created a monster, started the modifications and others followed my changes. 
In a matter of fact, the error change was good, because there other persons 
with qca2 find issues way before those changes and almost never report that not 
works.

I will add in wiki a porting module HOWTO


-- 
Helio Chissini de Castro
KDE Developer
Brasil/South America Primary Contact
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/kde-buildsystem/attachments/20081114/29b0f54e/attachment.sig 


More information about the Kde-buildsystem mailing list