On Thu, Jan 21, 2016 at 9:22 AM, Martin Storsjö <[email protected]> wrote: > 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
Any more comments? Diego are you find with this solution (plus amended commit message)? -- Vittorio _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
