On Thu, 21 Jan 2016, Diego Biurrun wrote:

On Wed, Jan 20, 2016 at 11:11:31AM -0500, Vittorio Giovara wrote:
On Wed, Jan 20, 2016 at 3:19 AM, Martin Storsjö <[email protected]> wrote:
> On Wed, 20 Jan 2016, Vittorio Giovara wrote:
>> --- a/configure
>> +++ b/configure
>> @@ -2430,7 +2430,7 @@ enable swscale_alpha
>>
>> check_lib math.h sin -lm && LIBM="-lm"
>> enabled vaapi && require vaapi va/va.h vaInitialize -lva
>> +check_cc <<EOF && enable_weak vda
>> +#include <VideoDecodeAcceleration/VDADecoder.h>
>> +int main(void) {
>> +    CVPixelBufferRelease(NULL);
>> +    return 0;
>> +}
>> +EOF
>
> Why does this need a separate explicit test, isn't it enough with the deps
> on VideoDecodeAcceleration_VDADecoder_h?

the presence of header is not enough, if vda is enabled, gcc will fail
compiling with these errors

CC    libavcodec/vda.o
In file included from /usr/include/Availability.h:168:0,
                 from
/usr/local/Cellar/gcc/5.3.0/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include-fixed/math.h:46,
                 from
/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:19,
                 from
/System/Library/Frameworks/VideoDecodeAcceleration.framework/Headers/VDADecoder.h:21,
                 from /Users/GiovaraV/src/libav/libavcodec/vda.h:42,
                 from /Users/GiovaraV/src/libav/libavcodec/vda.c:23:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Headers/LSInfoDeprecated.h:1242:34:
error: expected ',' or '}' before '__attribute__'
   kLSHandlerOptionsDefault
__OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_4, __MAC_10_11,
__IPHONE_4_0, __IPHONE_9_0, "Creator codes are deprecated on OS X.") =
0,
                                  ^
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Headers/LSOpenDeprecated.h:27:33:
error: expected ',' or '}' before '__attribute__'
   kLSLaunchStartClassic
__OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_0, __MAC_10_11,
__IPHONE_NA, __IPHONE_NA, "The Classic environment is no longer
supported.") = 0x00020000, /* Does nothing.*/
                                 ^
In file included from
/System/Library/Frameworks/CoreGraphics.framework/Headers/CGContext.h:18:0,
                 from
/System/Library/Frameworks/CoreGraphics.framework/Headers/CGBitmapContext.h:9,
                 from
/System/Library/Frameworks/CoreGraphics.framework/Headers/CoreGraphics.h:11,
                 from
/System/Library/Frameworks/ApplicationServices.framework/Headers/ApplicationServices.h:35,
                 from
/System/Library/Frameworks/CoreVideo.framework/Headers/CVDisplayLink.h:23,
                 from
/System/Library/Frameworks/CoreVideo.framework/Headers/CoreVideo.h:25,
                 from
/System/Library/Frameworks/VideoDecodeAcceleration.framework/Headers/VDADecoder.h:22,
                 from ~/src/libav/libavcodec/vda.h:42,
                 from ~/src/libav/libavcodec/vda.c:23:
/System/Library/Frameworks/CoreGraphics.framework/Headers/CGFont.h:53:40:
error: initializer element is not constant
 static const CGFontIndex kCGGlyphMax = kCGFontIndexMax;
                                        ^
In file included from
/System/Library/Frameworks/CoreVideo.framework/Headers/CoreVideo.h:25:0,
                 from
/System/Library/Frameworks/VideoDecodeAcceleration.framework/Headers/VDADecoder.h:22,
                 from ~/src/libav/libavcodec/vda.h:42,
                 from ~/src/libav/libavcodec/vda.c:23:
/System/Library/Frameworks/CoreVideo.framework/Headers/CVDisplayLink.h:152:92:
error: unknown type name 'CVDisplayLinkOutputHandler'
 CV_EXPORT CVReturn CVDisplayLinkSetOutputHandler( CVDisplayLinkRef
CV_NONNULL displayLink, CVDisplayLinkOutputHandler CV_NONNULL handler
);

And this isn't actually a missing header somewhere that can be worked around?

Luca said it was relating to blocks, an Apple C extension (for anonymous functions), which apparently isn't supported in gcc.

I guess the patch (or something else that has the same effect, but wait until Diego is finished with it) is ok with me, but the commit message should at least mention gcc and blocks in some way.

// Martin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to