Merge commit 'bcaedef1189a3531aa4dfb020627eb0133ffa89c'
authorJames Almer <jamrial@gmail.com>
Tue, 26 Sep 2017 20:42:19 +0000 (17:42 -0300)
committerJames Almer <jamrial@gmail.com>
Tue, 26 Sep 2017 21:05:30 +0000 (18:05 -0300)
* commit 'bcaedef1189a3531aa4dfb020627eb0133ffa89c':
  configure: Add require_cpp_condition() convenience function

Merged-by: James Almer <jamrial@gmail.com>
1  2 
configure

diff --cc configure
+++ b/configure
@@@ -1376,13 -1121,22 +1376,21 @@@ require_header()
      log require "$@"
      header="$1"
      shift
 -    check_header "$header" "$@" || die "ERROR: $header not found"
 +    check_header "$header" "$@" || die "ERROR: $header header not found"
  }
  
 -require_pkg_config(){
 -    log require_pkg_config "$@"
 -    pkg_version="$1"
 -    pkg="${1%% *}"
 -    check_pkg_config "$@" || die "ERROR: $pkg_version not found"
+ require_cpp_condition(){
+     log require "$@"
+     header="$1"
+     condition="$2"
+     shift 2
+     check_cpp_condition "$header" "$condition" "$@" || die "ERROR: $condition not satisfied"
+ }
 +use_pkg_config(){
 +    log use_pkg_config "$@"
 +    pkg="$1"
 +    check_pkg_config "$@" || return 1
      add_cflags    $(get_safe "${pkg}_cflags")
      add_extralibs $(get_safe "${pkg}_extralibs")
  }
@@@ -6009,30 -4710,16 +6017,28 @@@ enabled libvpx            && 
          die "libvpx enabled but no supported decoders found"
      fi
  }
 +
  enabled libwavpack        && require libwavpack wavpack/wavpack.h WavpackOpenFileOutput  -lwavpack
 -enabled libwebp           && require_pkg_config libwebp webp/encode.h WebPGetEncoderVersion
 -enabled libx264           && require_pkg_config x264 "stdint.h x264.h" x264_encoder_encode &&
 +enabled libwebp           && {
 +    enabled libwebp_encoder      && require_pkg_config "libwebp >= 0.2.0" webp/encode.h WebPGetEncoderVersion
 +    enabled libwebp_anim_encoder && { use_pkg_config "libwebpmux >= 0.4.0" webp/mux.h WebPAnimEncoderOptionsInit || disable libwebp_anim_encoder; } }
 +enabled libx264           && { use_pkg_config x264 "stdint.h x264.h" x264_encoder_encode ||
 +                               { require libx264 "stdint.h x264.h" x264_encoder_encode -lx264 &&
 +                                 warn "using libx264 without pkg-config"; } } &&
-                              { check_cpp_condition x264.h "X264_BUILD >= 118" ||
-                                die "ERROR: libx264 must be installed and version must be >= 0.118."; } &&
+                              require_cpp_condition x264.h "X264_BUILD >= 118" &&
                               { check_cpp_condition x264.h "X264_MPEG2" &&
                                 enable libx262; }
  enabled libx265           && require_pkg_config x265 x265.h x265_api_get &&
-                              { check_cpp_condition x265.h "X265_BUILD >= 68" ||
-                                die "ERROR: libx265 version must be >= 68."; }
 -                             require_cpp_condition x265.h "X265_BUILD >= 57"
++                             require_cpp_condition x265.h "X265_BUILD >= 68"
  enabled libxavs           && require libxavs "stdint.h xavs.h" xavs_encoder_encode -lxavs
  enabled libxvid           && require libxvid xvid.h xvid_global -lxvidcore
 +enabled libzimg           && require_pkg_config "zimg >= 2.3.0" zimg.h zimg_get_api_version
 +enabled libzmq            && require_pkg_config libzmq zmq.h zmq_ctx_new
 +enabled libzvbi           && require libzvbi libzvbi.h vbi_decoder_new -lzvbi &&
 +                             { check_cpp_condition libzvbi.h "VBI_VERSION_MAJOR > 0 || VBI_VERSION_MINOR > 2 || VBI_VERSION_MINOR == 2 && VBI_VERSION_MICRO >= 28" ||
 +                               enabled gpl || die "ERROR: libzvbi requires version 0.2.28 or --enable-gpl."; }
 +enabled libxml2           && require_pkg_config libxml-2.0 libxml2/libxml/xmlversion.h xmlCheckVersion
 +enabled mediacodec        && { enabled jni || die "ERROR: mediacodec requires --enable-jni"; }
  enabled mmal              && { check_lib mmal interface/mmal/mmal.h mmal_port_connect -lmmal_core -lmmal_util -lmmal_vc_client -lbcm_host ||
                                 { ! enabled cross_compile &&
                                   add_cflags -isystem/opt/vc/include/ -isystem/opt/vc/include/interface/vmcs_host/linux -isystem/opt/vc/include/interface/vcos/pthreads -fgnu89-inline &&