On 2017-01-24 18:12:47 +0100, Diego Biurrun wrote:
> This allows distinguishing between the internal variable name for
> external libraries and the pkg-config package name. Having both
> names available avoids special-casing outside the helper function
> when the two identifiers do not match.
> ---
>  configure | 59 +++++++++++++++++++++++++++++++----------------------------
>  1 file changed, 31 insertions(+), 28 deletions(-)
> 
> diff --git a/configure b/configure
> index 747ce17..d3fd489 100755
> --- a/configure
> +++ b/configure
> @@ -1134,11 +1134,14 @@ require_cpp_condition(){
>  
>  require_pkg_config(){
>      log require_pkg_config "$@"
> -    pkg_version="$1"
> -    pkg="${1%% *}"
> +    name="$1"

shift here and pkg and pkg_version do not to be modified
 
> +    pkg_version="$2"
> +    pkg="${2%% *}"
> +    shift
> +    test "$name" = "" && name=$pkg
>      check_pkg_config "$@" || die "ERROR: $pkg_version not found"
>      add_cflags    $(get_safe "${pkg}_cflags")
> -    add_extralibs $(get_safe "${pkg}_extralibs")
> +    add_extralibs $(get_safe "${name}_extralibs")
>  }
>  
>  hostcc_e(){
> @@ -4501,7 +4504,7 @@ case "$custom_allocator" in
>          require libjemalloc jemalloc/jemalloc.h malloc -ljemalloc
>      ;;
>      tcmalloc)
> -        require_pkg_config libtcmalloc gperftools/tcmalloc.h tc_malloc
> +        require_pkg_config "" libtcmalloc gperftools/tcmalloc.h tc_malloc
>          malloc_prefix=tc_
>      ;;
>  esac
> @@ -4635,41 +4638,41 @@ enabled avisynth          && require_header 
> avisynth/avisynth_c.h
>  enabled avxsynth          && require avxsynth "avxsynth/avxsynth_c.h 
> dlfcn.h" dlopen -ldl
>  enabled cuda              && require cuda cuda.h cuInit -lcuda
>  enabled frei0r            && require_header frei0r.h
> -enabled gnutls            && require_pkg_config gnutls gnutls/gnutls.h 
> gnutls_global_init
> -enabled libbs2b           && require_pkg_config libbs2b bs2b.h bs2b_open
> -enabled libdc1394         && require_pkg_config libdc1394-2 dc1394/dc1394.h 
> dc1394_new
> +enabled gnutls            && require_pkg_config "" gnutls gnutls/gnutls.h 
> gnutls_global_init
> +enabled libbs2b           && require_pkg_config "" libbs2b bs2b.h bs2b_open
> +enabled libdc1394         && require_pkg_config libdc1394 libdc1394-2 
> dc1394/dc1394.h dc1394_new
>  enabled libdcadec         && require libdcadec libdcadec/dca_context.h 
> dcadec_context_create -ldcadec
>  enabled libfaac           && require libfaac "stdint.h faac.h" 
> faacEncGetVersion -lfaac
> -enabled libfdk_aac        && require_pkg_config fdk-aac 
> "fdk-aac/aacenc_lib.h" aacEncOpen
> -enabled libfontconfig     && require_pkg_config fontconfig 
> "fontconfig/fontconfig.h" FcInit
> -enabled libfreetype       && require_pkg_config freetype2 "ft2build.h 
> FT_FREETYPE_H" FT_Init_FreeType
> +enabled libfdk_aac        && require_pkg_config libfdk_aac fdk-aac 
> "fdk-aac/aacenc_lib.h" aacEncOpen
> +enabled libfontconfig     && require_pkg_config libfontconfig fontconfig 
> "fontconfig/fontconfig.h" FcInit
> +enabled libfreetype       && require_pkg_config libfreetype freetype2 
> "ft2build.h FT_FREETYPE_H" FT_Init_FreeType
>  enabled libgsm            && { for gsm_hdr in "gsm.h" "gsm/gsm.h"; do
>                                     check_lib libgsm "${gsm_hdr}" gsm_create 
> -lgsm && break;
>                                 done || die "ERROR: libgsm not found"; }
> -enabled libhdcd           && require_pkg_config libhdcd "hdcd/hdcd_simple.h" 
> hdcd_new
> +enabled libhdcd           && require_pkg_config "" libhdcd 
> "hdcd/hdcd_simple.h" hdcd_new
>  enabled libilbc           && require libilbc ilbc.h WebRtcIlbcfix_InitDecode 
> -lilbc
> -enabled libkvazaar        && require_pkg_config "kvazaar >= 0.8.1" kvazaar.h 
> kvz_api_get
> -enabled libmfx            && require_pkg_config libmfx "mfx/mfxvideo.h" 
> MFXInit
> +enabled libkvazaar        && require_pkg_config libkvazaar "kvazaar >= 
> 0.8.1" kvazaar.h kvz_api_get
> +enabled libmfx            && require_pkg_config "" libmfx "mfx/mfxvideo.h" 
> MFXInit
>  enabled libmp3lame        && require "libmp3lame >= 3.98.3" lame/lame.h 
> lame_set_VBR_quality -lmp3lame
>  enabled libnpp            && require libnpp npp.h nppGetLibVersion -lnppi 
> -lnppc
>  enabled libopencore_amrnb && require libopencore_amrnb 
> opencore-amrnb/interf_dec.h Decoder_Interface_init -lopencore-amrnb
>  enabled libopencore_amrwb && require libopencore_amrwb 
> opencore-amrwb/dec_if.h D_IF_init -lopencore-amrwb
> -enabled libopencv         && require_pkg_config opencv opencv/cv.h 
> cvCreateImageHeader
> -enabled libopenh264       && require_pkg_config openh264 wels/codec_api.h 
> WelsGetCodecVersion
> +enabled libopencv         && require_pkg_config libopencv opencv opencv/cv.h 
> cvCreateImageHeader
> +enabled libopenh264       && require_pkg_config libopenh264 openh264 
> wels/codec_api.h WelsGetCodecVersion
>  enabled libopenjpeg       && { check_lib libopenjpeg openjpeg.h opj_version 
> -lopenjpeg -DOPJ_STATIC ||
> -                               require_pkg_config libopenjpeg1 openjpeg.h 
> opj_version -DOPJ_STATIC; }
> -enabled libopus           && require_pkg_config opus opus_multistream.h 
> opus_multistream_decoder_create
> -enabled libpulse          && require_pkg_config libpulse-simple 
> pulse/simple.h pa_simple_new
> -enabled librtmp           && require_pkg_config librtmp librtmp/rtmp.h 
> RTMP_Socket
> -enabled libschroedinger   && require_pkg_config schroedinger-1.0 
> schroedinger/schro.h schro_init
> +                               require_pkg_config libopenjpeg libopenjpeg1 
> openjpeg.h opj_version -DOPJ_STATIC; }
> +enabled libopus           && require_pkg_config libopus opus 
> opus_multistream.h opus_multistream_decoder_create
> +enabled libpulse          && require_pkg_config libpulse libpulse-simple 
> pulse/simple.h pa_simple_new
> +enabled librtmp           && require_pkg_config "" librtmp librtmp/rtmp.h 
> RTMP_Socket
> +enabled libschroedinger   && require_pkg_config libschroedinger 
> schroedinger-1.0 schroedinger/schro.h schro_init
>  enabled libsnappy         && require libsnappy snappy-c.h snappy_compress 
> -lsnappy
> -enabled libspeex          && require_pkg_config speex speex/speex.h 
> speex_decoder_init -lspeex
> +enabled libspeex          && require_pkg_config libspeex speex speex/speex.h 
> speex_decoder_init -lspeex
>  enabled libtheora         && require libtheora theora/theoraenc.h 
> th_info_init -ltheoraenc -ltheoradec -logg
>  enabled libtwolame        && require libtwolame twolame.h twolame_init 
> -ltwolame
>  enabled libvo_aacenc      && require libvo_aacenc vo-aacenc/voAAC.h 
> voGetAACEncAPI -lvo-aacenc
>  enabled libvo_amrwbenc    && require libvo_amrwbenc vo-amrwbenc/enc_if.h 
> E_IF_init -lvo-amrwbenc
>  enabled libvorbis         && require libvorbis vorbis/vorbisenc.h 
> vorbis_info_init -lvorbisenc -lvorbis -logg
> -enabled libvpx            && require_pkg_config "vpx >= 1.3.0" 
> vpx/vpx_codec.h vpx_codec_version && {
> +enabled libvpx            && require_pkg_config libvpx "vpx >= 1.3.0" 
> vpx/vpx_codec.h vpx_codec_version && {
>      enabled libvpx_vp8_decoder && {
>          check_pkg_config vpx "vpx/vpx_decoder.h vpx/vp8dx.h" 
> vpx_codec_vp8_dx ||
>              disable libvpx_vp8_decoder;
> @@ -4691,12 +4694,12 @@ enabled libvpx            && require_pkg_config "vpx 
> >= 1.3.0" vpx/vpx_codec.h v
>      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           && require_pkg_config "" libwebp webp/encode.h 
> WebPGetEncoderVersion
> +enabled libx264           && require_pkg_config libx264 x264 "stdint.h 
> x264.h" x264_encoder_encode &&
>                               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 &&
> +enabled libx265           && require_pkg_config libx265 x265 x265.h 
> x265_api_get &&
>                               require_cpp_condition x265.h "X265_BUILD >= 57"
>  enabled libxavs           && require libxavs "stdint.h xavs.h" 
> xavs_encoder_encode -lxavs
>  enabled libxvid           && require libxvid xvid.h xvid_global -lxvidcore
> @@ -4776,11 +4779,11 @@ if enabled libcdio; then
>  fi
>  
>  if enabled libxcb; then
> -    require_pkg_config xcb-shape xcb/shape.h xcb_shape_rectangles
> +    require_pkg_config libxcb xcb-shape xcb/shape.h xcb_shape_rectangles
>      disabled libxcb_shm ||
> -        require_pkg_config xcb-shm xcb/shm.h xcb_shm_attach
> +        require_pkg_config libxcb_shm xcb-shm xcb/shm.h xcb_shm_attach
>      disabled libxcb_xfixes ||
> -        require_pkg_config xcb-xfixes xcb/xfixes.h 
> xcb_xfixes_get_cursor_image
> +        require_pkg_config libxcb_xfixes xcb-xfixes xcb/xfixes.h 
> xcb_xfixes_get_cursor_image
>  fi

otherwise not pretty but I can't think of a nicer way to do it

Janne
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to