"$@" >> $logfile 2>&1
}
+check_stat(){
+ log check_stat "$@"
+ stat "$1" >> $logfile 2>&1
+}
+
cc_o(){
eval printf '%s\\n' $CC_O
}
check_cmd $cxx $CPPFLAGS $CFLAGS $CXXFLAGS "$@" $CXX_C -o $TMPO $TMPCPP
}
+check_oc(){
+ log check_oc "$@"
+ cat > $TMPM
+ log_file $TMPM
+ check_cmd $cc $CPPFLAGS $CFLAGS "$@" $CC_C $(cc_o $TMPO) $TMPM
+}
+
check_cpp(){
log check_cpp "$@"
cat > $TMPC
EOF
}
+check_header_oc(){
+ log check_header_oc "$@"
+ rm -f -- "$TMPO"
+ header=$1
+ shift
+ disable_safe $header
+ {
+ echo "#include <$header>"
+ echo "int main(void) { return 0; }"
+ } | check_oc && check_stat "$TMPO" && enable_safe $headers
+}
+
check_func(){
log check_func "$@"
func=$1
armv5te
armv6
armv6t2
+ armv8
neon
vfp
vfpv3
armv5te_deps="arm"
armv6_deps="arm"
armv6t2_deps="arm"
+armv8_deps="aarch64"
neon_deps_any="aarch64 arm"
vfp_deps_any="aarch64 arm"
vfpv3_deps="vfp"
qdm2_decoder_select="mdct rdft mpegaudiodsp"
ra_144_encoder_select="audio_frame_queue lpc"
ralf_decoder_select="golomb"
+rawvideo_decoder_select="dsputil"
rtjpeg_decoder_select="dsputil"
rv10_decoder_select="error_resilience h263_decoder h263dsp"
rv10_encoder_select="h263_encoder"
tmpfile TMPCPP .cpp
tmpfile TMPE $EXESUF
tmpfile TMPH .h
+tmpfile TMPM .m
tmpfile TMPO .o
tmpfile TMPS .S
tmpfile TMPSH .sh
check_inline_asm inline_asm_nonlocal_labels '"Label:\n"'
if enabled aarch64; then
+ enabled armv8 && check_insn armv8 'prfm pldl1strm, [x0]'
# internal assembler in clang 3.3 does not support this instruction
enabled neon && check_insn neon 'ext v0.8B, v0.8B, v1.8B, #1'
enabled vfp && check_insn vfp 'fmadd d0, d0, d1, d2'
check_lib openssl/ssl.h SSL_library_init -lssl32 -leay32 ||
check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 ||
die "ERROR: openssl not found"; }
-enabled qtkit_indev && { check_header QTKit/QTKit.h || disable qtkit_indev; }
+enabled qtkit_indev && { check_header_oc QTKit/QTKit.h || disable qtkit_indev; }
if enabled gnutls; then
{ check_lib nettle/bignum.h nettle_mpz_get_str_256 -lnettle -lhogweed -lgmp && enable nettle; } ||