Make require_pkg_config check for extra argument that should not be
there.
Change use_pkg_config to allow specifying fallback libs and cflags.

Signed-off-by: Reimar Döffinger <reimar.doeffin...@gmx.de>
---
 configure | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/configure b/configure
index 1aaadd4..fd85ad6 100755
--- a/configure
+++ b/configure
@@ -1211,14 +1211,24 @@ require_cpp(){
     check_lib_cpp "$headers" "$classes" "$@" || die "ERROR: $name not found"
 }
 
+check_pkg_config_fallback(){
+    test -n "$4" || return 1
+    require2 "$@" || return
+    set_safe ${pkg}_extralibs $4
+    set_safe ${pkg}_cflags $5
+    warn "using $pkg without pkg-config"
+}
+
 use_pkg_config(){
     pkg="$1"
-    check_pkg_config "$@" || return 1
+    check_pkg_config "$1" "$2" "$3" ||
+        check_pkg_config_fallback "$@" || return 1
     add_cflags    $(get_safe ${pkg}_cflags)
     add_extralibs $(get_safe ${pkg}_libs)
 }
 
 require_pkg_config(){
+    test -z "$4" || die "ERROR: too many arguments to require_pkg_config for 
$1"
     use_pkg_config "$@" || die "ERROR: $pkg not found using 
pkg-config$pkg_config_fail_message"
 }
 
@@ -4903,11 +4913,10 @@ enabled libquvi           && require_pkg_config libquvi 
quvi/quvi.h quvi_init
 enabled librtmp           && require_pkg_config librtmp librtmp/rtmp.h 
RTMP_Socket
 enabled libschroedinger   && require_pkg_config schroedinger-1.0 
schroedinger/schro.h schro_init
 enabled libshine          && require_pkg_config shine shine/layer3.h 
shine_encode_buffer
-enabled libsmbclient      && { use_pkg_config smbclient libsmbclient.h 
smbc_init ||
-                               require smbclient libsmbclient.h smbc_init 
-lsmbclient; }
+enabled libsmbclient      && use_pkg_config smbclient libsmbclient.h smbc_init 
-lsmbclient
 enabled libsoxr           && require libsoxr soxr.h soxr_create -lsoxr
 enabled libssh            && require_pkg_config libssh libssh/sftp.h sftp_init
-enabled libspeex          && require_pkg_config speex speex/speex.h 
speex_decoder_init -lspeex
+enabled libspeex          && require_pkg_config speex speex/speex.h 
speex_decoder_init
 enabled libstagefright_h264 && require_cpp libstagefright_h264 
"binder/ProcessState.h media/stagefright/MetaData.h
     media/stagefright/MediaBufferGroup.h media/stagefright/MediaDebug.h 
media/stagefright/MediaDefs.h
     media/stagefright/OMXClient.h media/stagefright/OMXCodec.h" 
android::OMXClient -lstagefright -lmedia -lutils -lbinder -lgnustl_static
@@ -4930,9 +4939,7 @@ enabled libvpx            && {
     enabled libvpx_vp9_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" 
"vpx_codec_vp9_cx VP9E_SET_AQ_MODE" -lvpx || disable libvpx_vp9_encoder; } }
 enabled libwavpack        && require libwavpack wavpack/wavpack.h 
WavpackOpenFileOutput  -lwavpack
 enabled libwebp           && require_pkg_config "libwebp >= 0.2.0" 
webp/encode.h WebPGetEncoderVersion
-enabled libx264           && { use_pkg_config x264 "stdint.h x264.h" 
x264_encoder_encode ||
-                               { require libx264 x264.h x264_encoder_encode 
-lx264 &&
-                                 warn "using libx264 without pkg-config"; } } 
&&
+enabled libx264           && use_pkg_config x264 "stdint.h x264.h" 
x264_encoder_encode -lx264 &&
                              { check_cpp_condition x264.h "X264_BUILD >= 118" 
||
                                die "ERROR: libx264 must be installed and 
version must be >= 0.118."; }
 enabled libx265           && require_pkg_config x265 x265.h 
x265_encoder_encode &&
-- 
2.2.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to