Here is a newer dev version which I believe gets the exclusions correct:
http://cpan.metacpan.org/authors/id/P/PL/PLICEASE/PkgConfig-0.07520_04.tar.gz
I am going to let it do the rounds on cpantesters for a few days and then I will cut a production release. If you have any concerns, please let me know. By the time you do the next release of Strawberry, this should have made it to production.
On Wed Jun 04 04:14:45 2014, kmx@volny.cz wrote:
Show quoted text> see pcfiles.zip - they are not unified (each is a bit different) this
> is
> how they are produced by the build procedure
Exactly what I wanted to see, thanks.
Show quoted text> Your dev version seems to work fine (even with enclosed patched .pc
> files).
> I have a question: will it be guaranteed that on strawberry PkgConfig
> will
> install pkg-config or should I rather use --script=pkg-config option?
This is the way I did it:
1. on Strawberry Perl 5.20.0.1 or better (but not MSWin32 generally) both ppkg-config and pkg-config will be installed by default when installed by the user from CPAN
2. on Strawberry Perl 5.18.* and earlier (and MSWin32 generally) only ppkg-config will be installed when installed by the user from CPAN.
My recommendation is that Strawberry use the --script=pkg-config option and ONLY install pkg-config for its bundled version. I feel that someone who is used to PkgConfig and ppkg-config can reasonably expect ppkg-config to be there if they manually install it from CPAN, but the vast majority of users will not expect or need ppkg-config. I guess you also get it with an upgrade which might be part of an automated process.
My rationale for not installing pkg-config by default on older Strawberries is that the .pc files aren't going to be right for things like freetype2, and it also sort of changes the behavior of Strawberry after 5.18/16.* have been in production for a long time.
I have included instructions and a script for manually patching the .pc files and installing pkg-config on older Strawberries. If the user does need this capability they can proactively choose to make the changes themselves, but I feel it shouldn't happen automatically.
If you have any concerns with this strategy, please let me know.
Show quoted text> As Curtis said there is $Config{myuname} which is guaranteed to
> contain
> "strawberry-perl" string
I would kind of like to see an API for this sort of thing, but this is adequate. Are these special configuration items documented anywhere? When I was looking for Strawberry detection I did eventually stumble on a stack overflow with the myuname suggestion, but I didn't feel totally confident about its permanence since I couldn't find any documentation on it.
Show quoted text> Maybe we can consider:
> $Config{mystrawberryroot} = 'C:\Strawberry' (of course properly
> relocated)
> or even maybe:
> $Config{mystrawberryportable} = 1 (or undef)
>
> It is just an idea I am not saying I am going to implement it right
> now.
Definitely portable entry would be useful for diagnostics. Maybe make it 0 or 1, and undef can be for older Strawberries which do not include have the value at all?
Show quoted text> Definitely not but it might be worth considering whether also pre-5.20
> strawberry users should have pkg-config installed by default (along
> with
> ppkg-config).
As above I feel that installing pkg-config on pre-5.20 should be part of an active choice the user makes.
Show quoted text> Or maybe you can detect in Makefile.PL whether there is already
> working
> 'pkg-config' command and if not then install it.
So I hesitate to do this since I am not totally confident that I won't accidentally override another working pkg-config. I feel as though if there is a pkg-config there already then it is either because
1. The user has used --script option previously to force its inclusion, and thus probably knows enough about PkgConfig to use it again
2. They are using 5.20, in which case PkgConfig will install pkg-config anyway
3. They have the C version of pkg-config.exe
Show quoted text> Unless someone reports a really bad bug/issue/problem/trouble the next
> release will be 5.20.1.1 - which I guess will be in August 2014
This sounds fine to me, I don't think this issue by itself is urgent enough for a new Strawberry release.
Show quoted text> To be honest my current priority is to plug off from strawberry
> hacking for
> a month or two :)
Enjoy your time on other pursuits :)