build: Detect blocks C language extension and add it as VDA dependency
authorDiego Biurrun <diego@biurrun.de>
Wed, 25 Jan 2017 17:40:51 +0000 (18:40 +0100)
committerDiego Biurrun <diego@biurrun.de>
Thu, 26 Jan 2017 10:53:02 +0000 (11:53 +0100)
Newer versions of OS X use the blocks extension in VDA-related headers.
Some compilers, like current gcc, do not support the blocks extension
and fail to compile code using those headers.

configure

index 7570c0a..04b1921 100755 (executable)
--- a/configure
+++ b/configure
@@ -1639,6 +1639,7 @@ TOOLCHAIN_FEATURES="
     asm_mod_q
     attribute_may_alias
     attribute_packed
+    blocks_extension
     ebp_available
     ebx_available
     gnu_as
@@ -2136,7 +2137,7 @@ zmbv_encoder_deps="zlib"
 d3d11va_deps="d3d11_h dxva_h ID3D11VideoDecoder"
 dxva2_deps="dxva2api_h DXVA2_ConfigPictureDecode"
 dxva2_lib_deps="dxva2"
-vda_deps="VideoDecodeAcceleration_VDADecoder_h pthreads"
+vda_deps="VideoDecodeAcceleration_VDADecoder_h blocks_extension pthreads"
 vda_extralibs="-framework CoreFoundation -framework VideoDecodeAcceleration -framework QuartzCore"
 
 h263_vaapi_hwaccel_deps="vaapi"
@@ -4850,6 +4851,10 @@ check_disable_warning_headers -Wno-unused-variable
 
 check_objcflags -fobjc-arc && enable objc_arc
 
+check_cc <<EOF && enable blocks_extension
+void (^block)(void);
+EOF
+
 # add some linker flags
 check_ldflags -Wl,--warn-common
 check_ldflags -Wl,-rpath-link=libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample