Merge commit 'dad7a9c7c0ae8ebc56f2e3a24e6fa4da5c2cd491'
authorJames Almer <jamrial@gmail.com>
Wed, 27 Sep 2017 21:56:08 +0000 (18:56 -0300)
committerJames Almer <jamrial@gmail.com>
Wed, 27 Sep 2017 22:00:50 +0000 (19:00 -0300)
* commit 'dad7a9c7c0ae8ebc56f2e3a24e6fa4da5c2cd491':
  configure: Rework dependency handling for conflicting components

Includes an important fix made by c546147db07d16a76c2fb698d2e8a3057f393475
as well.

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

diff --cc configure
+++ b/configure
@@@ -747,15 -626,16 +748,16 @@@ do_check_deps()
          eval dep_ifa="\$${cfg}_if"
          eval dep_ifn="\$${cfg}_if_any"
  
-         pushvar cfg dep_all dep_any dep_sel dep_sgs dep_ifa dep_ifn
-         do_check_deps $dep_all $dep_any $dep_sel $dep_sgs $dep_ifa $dep_ifn
-         popvar cfg dep_all dep_any dep_sel dep_sgs dep_ifa dep_ifn
+         pushvar cfg dep_all dep_any dep_con dep_sel dep_sgs dep_ifa dep_ifn
 -        check_deps $dep_all $dep_any $dep_con $dep_sel $dep_sgs $dep_ifa $dep_ifn
++        do_check_deps $dep_all $dep_any $dep_con $dep_sel $dep_sgs $dep_ifa $dep_ifn
+         popvar cfg dep_all dep_any dep_con dep_sel dep_sgs dep_ifa dep_ifn
  
          [ -n "$dep_ifa" ] && { enabled_all $dep_ifa && enable_weak $cfg; }
          [ -n "$dep_ifn" ] && { enabled_any $dep_ifn && enable_weak $cfg; }
 -        enabled_all  $dep_all || disable $cfg
 -        enabled_any  $dep_any || disable $cfg
 -        disabled_all $dep_con || disable $cfg
 -        disabled_any $dep_sel && disable $cfg
 +        enabled_all  $dep_all || { disable $cfg && requested $cfg && die "ERROR: $cfg requested, but not all dependencies are satisfied: $dep_all"; }
 +        enabled_any  $dep_any || { disable $cfg && requested $cfg && die "ERROR: $cfg requested, but not any dependency is satisfied: $dep_any"; }
++        disabled_all $dep_con || { disable $cfg && requested $cfg && die "ERROR: $cfg requested, but some conflicting dependencies are unsatisfied: $dep_con"; }
 +        disabled_any $dep_sel && { disable $cfg && requested $cfg && die "ERROR: $cfg requested, but some selected dependency is unsatisfied: $dep_sel"; }
  
          if enabled $cfg; then
              enable_deep $dep_sel
@@@ -3110,21 -2420,16 +3113,21 @@@ sdl2_outdev_deps="sdl2
  sndio_indev_deps="sndio"
  sndio_outdev_deps="sndio"
  v4l2_indev_deps_any="linux_videodev2_h sys_videoio_h"
 +v4l2_outdev_deps_any="linux_videodev2_h sys_videoio_h"
  vfwcap_indev_deps="vfw32 vfwcap_defines"
  xcbgrab_indev_deps="libxcb"
 -xcbgrab_indev_suggest="libxcb_shm libxcb_xfixes"
 +xv_outdev_deps="X11_extensions_Xvlib_h XvGetPortAttribute"
 +xv_outdev_extralibs="-lXv -lX11 -lXext"
  
  # protocols
- ffrtmpcrypt_protocol_deps="!librtmp_protocol"
 +async_protocol_deps="threads"
 +bluray_protocol_deps="libbluray"
 -ffrtmpcrypt_protocol_deps_any="gmp openssl"
+ ffrtmpcrypt_protocol_conflict="librtmp_protocol"
 +ffrtmpcrypt_protocol_deps_any="gcrypt gmp openssl"
  ffrtmpcrypt_protocol_select="tcp_protocol"
- ffrtmphttp_protocol_deps="!librtmp_protocol"
+ ffrtmphttp_protocol_conflict="librtmp_protocol"
  ffrtmphttp_protocol_select="http_protocol"
 +ftp_protocol_select="tcp_protocol"
  gopher_protocol_select="network"
  http_protocol_select="tcp_protocol"
  httpproxy_protocol_select="tcp_protocol"
@@@ -3135,14 -2440,12 +3138,14 @@@ librtmpe_protocol_deps="librtmp
  librtmps_protocol_deps="librtmp"
  librtmpt_protocol_deps="librtmp"
  librtmpte_protocol_deps="librtmp"
 +libsmbclient_protocol_deps="libsmbclient gplv3"
 +libssh_protocol_deps="libssh"
  mmsh_protocol_select="http_protocol"
  mmst_protocol_select="network"
- rtmp_protocol_deps="!librtmp_protocol"
+ rtmp_protocol_conflict="librtmp_protocol"
  rtmp_protocol_select="tcp_protocol"
  rtmpe_protocol_select="ffrtmpcrypt_protocol"
- rtmps_protocol_deps="!librtmp_protocol"
+ rtmps_protocol_conflict="librtmp_protocol"
  rtmps_protocol_select="tls_protocol"
  rtmpt_protocol_select="ffrtmphttp_protocol"
  rtmpte_protocol_select="ffrtmpcrypt_protocol ffrtmphttp_protocol"
@@@ -3152,17 -2455,13 +3155,19 @@@ sctp_protocol_deps="struct_sctp_event_s
  sctp_protocol_select="network"
  srtp_protocol_select="rtp_protocol srtp"
  tcp_protocol_select="network"
- tls_gnutls_protocol_deps="gnutls !tls_schannel_protocol !tls_securetransport_protocol"
++tls_gnutls_protocol_conflict="tls_schannel_protocol tls_securetransport_protocol"
+ tls_gnutls_protocol_deps="gnutls"
  tls_gnutls_protocol_select="tcp_protocol"
- tls_openssl_protocol_deps="openssl !tls_schannel_protocol !tls_securetransport_protocol !tls_gnutls_protocol"
 -tls_openssl_protocol_conflict="tls_gnutls_protocol"
++tls_openssl_protocol_conflict="tls_schannel_protocol tls_securetransport_protocol tls_gnutls_protocol"
+ tls_openssl_protocol_deps="openssl"
  tls_openssl_protocol_select="tcp_protocol"
 -tls_protocol_deps_any="tls_gnutls_protocol tls_openssl_protocol"
 +tls_schannel_protocol_deps="schannel"
 +tls_schannel_protocol_select="tcp_protocol"
 +tls_securetransport_protocol_deps="securetransport"
 +tls_securetransport_protocol_select="tcp_protocol"
 +tls_protocol_deps_any="tls_schannel_protocol tls_securetransport_protocol tls_gnutls_protocol tls_openssl_protocol"
  udp_protocol_select="network"
 +udplite_protocol_select="network"
  unix_protocol_deps="sys_un_h"
  unix_protocol_select="network"