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