On Sun, Feb 19, 2017 at 5:05 PM, Sebastian Lackner sebastian@fds-team.de wrote:
On 19.02.2017 20:25, Bruno Jesus wrote:
Would you mind helping me understand why the check at [1] fails with:
14734 configure:13848: checking for MPG123_IGNORE_INFOFRAME 14735 configure:13848: ccache gcc-4.6 -m32 -c -g -O0 conftest.c >&5 14736 configure:13848: $? = 0 14737 configure:13848: ccache gcc-4.6 -m32 -c -g -O0 conftest.c >&5 14738 configure:13848: $? = 0 14739 configure:13848: result: no
[1] http://pastebin.com/nveZQNDR
I never did this sort of change before and the best example I found was some libxml2 stuff inside configure.ac.
Usually config.log also contains the code which was used for the check. In this case, I would assume it fails because MPG123_IGNORE_INFOFRAME isn't really a type. The type is "enum mpg123_param_flags", but testing for that obviously doesn't make much sense.
Usually there is the code, but not in this case. I don't know why.
I would suggest a slightly different solution. The commit where the feature (including the MPG123_IGNORE_INFOFRAME const) was added is:
https://www.mpg123.de/cgi-bin/scm/mpg123?view=revision&revision=2910 https://www.mpg123.de/cgi-bin/scm/mpg123/trunk/src/libmpg123/mpg123.h.in?r1=...
As you can see, in the same commit the API_VERSION was bumped to 31.
https://www.mpg123.de/cgi-bin/scm/mpg123/trunk/configure.ac?r1=2910&r2=2...
So why not just something like:
#if MPG123_API_VERSION >= 31 /* needed for MPG123_IGNORE_FRAMEINFO */
Looks perfect to me, thanks =)