waf incompatibility #24
Labels
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: ariadne/pkgconf#24
Loading…
Reference in New Issue
There is no content yet.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
this one is real...
/bin/pkg-config glib-2.0 --cflags --libs
Package --cflags was not found in the pkg-config search path.
Perhaps you should add the directory containing `--cflags.pc'
to the PKG_CONFIG_PATH environment variable
No package '--cflags' found
this is xmms2 0.8
apparently pkgconf expects the -- params first, which seems to be incompatible to pkg-config
yes, it's because we use getopt_long().
if you want to work on improving this, it would be helpful. otherwise i'll try to get it done as soon as i have some free time. (probably not this weekend, as i have some projects i need to get finished up at work and they don't sponsor development on pkgconf).
to be fair, waf is using pkg-config in a way that does not match the documentation though. so it's invoking undefined behaviour, per the specification.
Also, I can't reproduce this:
i'm using the latest release plus pkgconf is symlinked as pkg-config
well does that matter ? apparently it works with pkg-config. a good emulator has to be bug compatible to the original to play all roms...
one thing to note is that i use musl libc which behaves like POSIX specifies, but not like glibc.
I also cannot reproduce on uClibc or FreeBSD.
Does 'make check' actually pass on musl? There are already tests that depend on the behaviour of commandline flags being passed after a pkg_t entity.
@rofl0r please test on musl libc, your 'make check' should look like this:
This is on a uClibc system, using the built-in getopt_long() of pkgconf which we now just use all the time. All 37 tests should pass.
http://sprunge.us/CWBj
according to dalias:
getopt_long on musl does not do argument permutation. otherwise i think it's pretty close to glibc's
Yes, then my change will fix it. The pkg_getopt_long() function does do argument permutation, which we just now use explicitly. Please verify by using GIT head.
took a while to get automake and co installed so i can use ./autogen...
git head breaks with this error
for reference, here is the commit which (hopefully) fixes waf
http://code.google.com/p/waf/source/detail?r=070669067aaaa0b98c0ec8e7963b5286bced57a2