Merge commit 'bd805964f40f7af83da64645ba83d1e8060a1214'
authorJames Almer <jamrial@gmail.com>
Sat, 21 Oct 2017 17:10:39 +0000 (14:10 -0300)
committerJames Almer <jamrial@gmail.com>
Sat, 21 Oct 2017 17:10:39 +0000 (14:10 -0300)
* commit 'bd805964f40f7af83da64645ba83d1e8060a1214':
  configure: Do not treat JACK as a system library

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

diff --cc configure
+++ b/configure
@@@ -200,127 -185,69 +200,127 @@@ External library support
    libraries must be explicitly enabled.
  
    Also note that the following help text describes the purpose of the libraries
 -  themselves, not all their features will necessarily be usable by Libav.
 -
 -  --enable-avisynth          video frameserver
 -  --enable-avxsynth          Linux version of AviSynth
 -  --enable-bzlib             bzip2 compression [autodetect]
 -  --enable-frei0r            video filtering plugins
 -  --enable-gnutls            crypto
 -  --enable-libbs2b           Bauer stereophonic-to-binaural DSP
 -  --enable-libcdio           audio CD input
 -  --enable-libdc1394         IEEE 1394/Firewire camera input
 -  --enable-libdcadec         DCA audio decoding
 -  --enable-libfaac           AAC audio encoding
 -  --enable-libfdk-aac        AAC audio encoding/decoding
 -  --enable-libfontconfig     font configuration and management
 -  --enable-libfreetype       font rendering
 -  --enable-libgsm            GSM audio encoding/decoding
 -  --enable-libhdcd           HDCD decoding filter
 -  --enable-libilbc           ILBC audio encoding/decoding
 -  --enable-libjack           JACK audio sound server
 -  --enable-libkvazaar        HEVC video encoding
 -  --enable-libmp3lame        MP3 audio encoding
 -  --enable-libopencore-amrnb AMR-NB audio encoding/decoding
 -  --enable-libopencore-amrwb AMR-WB audio decoding
 -  --enable-libopencv         computer vision
 -  --enable-libopenh264       H.264 video encoding/decoding
 -  --enable-libopenjpeg       JPEG 2000 image encoding/decoding
 -  --enable-libopus           Opus audio encoding/decoding
 -  --enable-libpulse          Pulseaudio sound server
 -  --enable-librtmp           RTMP streaming
 -  --enable-libschroedinger   Dirac video encoding/decoding
 -  --enable-libsnappy         snappy compression
 -  --enable-libspeex          Speex audio encoding/decoding
 -  --enable-libtheora         Theora video encoding/decoding
 -  --enable-libtwolame        MP2 audio encoding
 -  --enable-libvo-aacenc      AAC audio encoding
 -  --enable-libvo-amrwbenc    AMR-WB audio encoding
 -  --enable-libvorbis         Vorbis audio encoding/decoding
 -  --enable-libvpx            VP* video encoding/decoding
 -  --enable-libwavpack        Wavpack audio encoding/decoding
 -  --enable-libwebp           WebP image encoding/decoding
 -  --enable-libx264           H.264 video encoding
 -  --enable-libx265           HEVC video encoding
 -  --enable-libxavs           Chinese AVS video encoding
 -  --enable-libxcb            X window system protocol communication
 -  --enable-libxcb-shm        X11 shm communication [auto]
 -  --enable-libxcb-xfixes     X11 mouse rendering [auto]
 -  --enable-libxvid           MPEG-4 ASP video encoding
 -  --enable-openssl           crypto
 -  --enable-zlib              compression [autodetect]
 +  themselves, not all their features will necessarily be usable by FFmpeg.
 +
 +  --disable-alsa           disable ALSA support [autodetect]
 +  --disable-appkit         disable Apple AppKit framework [autodetect]
 +  --disable-avfoundation   disable Apple AVFoundation framework [autodetect]
 +  --enable-avisynth        enable reading of AviSynth script files [no]
 +  --disable-bzlib          disable bzlib [autodetect]
 +  --disable-coreimage      disable Apple CoreImage framework [autodetect]
 +  --enable-chromaprint     enable audio fingerprinting with chromaprint [no]
 +  --enable-frei0r          enable frei0r video filtering [no]
 +  --enable-gcrypt          enable gcrypt, needed for rtmp(t)e support
 +                           if openssl, librtmp or gmp is not used [no]
 +  --enable-gmp             enable gmp, needed for rtmp(t)e support
 +                           if openssl or librtmp is not used [no]
 +  --enable-gnutls          enable gnutls, needed for https support
 +                           if openssl is not used [no]
 +  --disable-iconv          disable iconv [autodetect]
-   --disable-jack           disable libjack support [autodetect]
 +  --enable-jni             enable JNI support [no]
 +  --enable-ladspa          enable LADSPA audio filtering [no]
 +  --enable-libass          enable libass subtitles rendering,
 +                           needed for subtitles and ass filter [no]
 +  --enable-libbluray       enable BluRay reading using libbluray [no]
 +  --enable-libbs2b         enable bs2b DSP library [no]
 +  --enable-libcaca         enable textual display using libcaca [no]
 +  --enable-libcelt         enable CELT decoding via libcelt [no]
 +  --enable-libcdio         enable audio CD grabbing with libcdio [no]
 +  --enable-libdc1394       enable IIDC-1394 grabbing using libdc1394
 +                           and libraw1394 [no]
 +  --enable-libfdk-aac      enable AAC de/encoding via libfdk-aac [no]
 +  --enable-libflite        enable flite (voice synthesis) support via libflite [no]
 +  --enable-libfontconfig   enable libfontconfig, useful for drawtext filter [no]
 +  --enable-libfreetype     enable libfreetype, needed for drawtext filter [no]
 +  --enable-libfribidi      enable libfribidi, improves drawtext filter [no]
 +  --enable-libgme          enable Game Music Emu via libgme [no]
 +  --enable-libgsm          enable GSM de/encoding via libgsm [no]
 +  --enable-libiec61883     enable iec61883 via libiec61883 [no]
 +  --enable-libilbc         enable iLBC de/encoding via libilbc [no]
++  --enable-libjack         enable JACK audio sound server [no]
 +  --enable-libkvazaar      enable HEVC encoding via libkvazaar [no]
 +  --enable-libmodplug      enable ModPlug via libmodplug [no]
 +  --enable-libmp3lame      enable MP3 encoding via libmp3lame [no]
 +  --enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no]
 +  --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no]
 +  --enable-libopencv       enable video filtering via libopencv [no]
 +  --enable-libopenh264     enable H.264 encoding via OpenH264 [no]
 +  --enable-libopenjpeg     enable JPEG 2000 de/encoding via OpenJPEG [no]
 +  --enable-libopenmpt      enable decoding tracked files via libopenmpt [no]
 +  --enable-libopus         enable Opus de/encoding via libopus [no]
 +  --enable-libpulse        enable Pulseaudio input via libpulse [no]
 +  --enable-librsvg         enable SVG rasterization via librsvg [no]
 +  --enable-librubberband   enable rubberband needed for rubberband filter [no]
 +  --enable-librtmp         enable RTMP[E] support via librtmp [no]
 +  --enable-libshine        enable fixed-point MP3 encoding via libshine [no]
 +  --enable-libsmbclient    enable Samba protocol via libsmbclient [no]
 +  --enable-libsnappy       enable Snappy compression, needed for hap encoding [no]
 +  --enable-libsoxr         enable Include libsoxr resampling [no]
 +  --enable-libspeex        enable Speex de/encoding via libspeex [no]
 +  --enable-libssh          enable SFTP protocol via libssh [no]
 +  --enable-libtesseract    enable Tesseract, needed for ocr filter [no]
 +  --enable-libtheora       enable Theora encoding via libtheora [no]
 +  --enable-libtwolame      enable MP2 encoding via libtwolame [no]
 +  --enable-libv4l2         enable libv4l2/v4l-utils [no]
 +  --enable-libvidstab      enable video stabilization using vid.stab [no]
 +  --enable-libvmaf         enable vmaf filter via libvmaf [no]
 +  --enable-libvo-amrwbenc  enable AMR-WB encoding via libvo-amrwbenc [no]
 +  --enable-libvorbis       enable Vorbis en/decoding via libvorbis,
 +                           native implementation exists [no]
 +  --enable-libvpx          enable VP8 and VP9 de/encoding via libvpx [no]
 +  --enable-libwavpack      enable wavpack encoding via libwavpack [no]
 +  --enable-libwebp         enable WebP encoding via libwebp [no]
 +  --enable-libx264         enable H.264 encoding via x264 [no]
 +  --enable-libx265         enable HEVC encoding via x265 [no]
 +  --enable-libxavs         enable AVS encoding via xavs [no]
 +  --enable-libxcb          enable X11 grabbing using XCB [autodetect]
 +  --enable-libxcb-shm      enable X11 grabbing shm communication [autodetect]
 +  --enable-libxcb-xfixes   enable X11 grabbing mouse rendering [autodetect]
 +  --enable-libxcb-shape    enable X11 grabbing shape rendering [autodetect]
 +  --enable-libxvid         enable Xvid encoding via xvidcore,
 +                           native MPEG-4/Xvid encoder exists [no]
 +  --enable-libxml2         enable XML parsing using the C library libxml2 [no]
 +  --enable-libzimg         enable z.lib, needed for zscale filter [no]
 +  --enable-libzmq          enable message passing via libzmq [no]
 +  --enable-libzvbi         enable teletext support via libzvbi [no]
 +  --disable-lzma           disable lzma [autodetect]
 +  --enable-decklink        enable Blackmagic DeckLink I/O support [no]
 +  --enable-libndi_newtek   enable Newteck NDI I/O support [no]
 +  --enable-mediacodec      enable Android MediaCodec support [no]
 +  --enable-libmysofa       enable libmysofa, needed for sofalizer filter [no]
 +  --enable-openal          enable OpenAL 1.1 capture support [no]
 +  --enable-opencl          enable OpenCL code
 +  --enable-opengl          enable OpenGL rendering [no]
 +  --enable-openssl         enable openssl, needed for https support
 +                           if gnutls is not used [no]
 +  --disable-sndio          disable sndio support [autodetect]
 +  --disable-schannel       disable SChannel SSP, needed for TLS support on
 +                           Windows if openssl and gnutls are not used [autodetect]
 +  --disable-sdl2           disable sdl2 [autodetect]
 +  --disable-securetransport disable Secure Transport, needed for TLS support
 +                           on OSX if openssl and gnutls are not used [autodetect]
 +  --disable-xlib           disable xlib [autodetect]
 +  --disable-zlib           disable zlib [autodetect]
  
    The following libraries provide various hardware acceleration features:
 -  --enable-cuda    Nvidia CUDA (dynamically linked)
 -  --enable-d3d11va Microsoft Direct3D 11 video acceleration [auto]
 -  --enable-dxva2   Microsoft DirectX 9 video acceleration [auto]
 -  --enable-libmfx  Intel MediaSDK (AKA Quick Sync Video)
 -  --enable-libnpp  Nvidia CUDA processing
 -  --enable-mmal    Broadcom Multi-Media Abstraction Layer (Raspberry Pi)
 -  --enable-nvenc   Nvidia video encoding
 -  --enable-omx     OpenMAX IL
 -  --enable-omx-rpi OpenMAX IL for Raspberry Pi
 -  --enable-vaapi   Video Acceleration API (mainly Unix/Intel)
 -  --enable-vda     Apple Video Decode Acceleration [auto]
 -  --enable-vdpau   Nvidia Video Decode and Presentation API for Unix [auto]
 +  --disable-audiotoolbox   disable Apple AudioToolbox code [autodetect]
 +  --disable-cuda           disable dynamically linked Nvidia CUDA code [autodetect]
 +  --enable-cuda-sdk        enable CUDA features that require the CUDA SDK [no]
 +  --disable-cuvid          disable Nvidia CUVID support [autodetect]
 +  --disable-d3d11va        disable Microsoft Direct3D 11 video acceleration code [autodetect]
 +  --disable-dxva2          disable Microsoft DirectX 9 video acceleration code [autodetect]
 +  --enable-libdrm          enable DRM code (Linux) [no]
 +  --enable-libmfx          enable Intel MediaSDK (AKA Quick Sync Video) code via libmfx [no]
 +  --enable-libnpp          enable Nvidia Performance Primitives-based code [no]
 +  --enable-mmal            enable Broadcom Multi-Media Abstraction Layer (Raspberry Pi) via MMAL [no]
 +  --disable-nvenc          disable Nvidia video encoding code [autodetect]
 +  --enable-omx             enable OpenMAX IL code [no]
 +  --enable-omx-rpi         enable OpenMAX IL code for Raspberry Pi [no]
 +  --enable-rkmpp           enable Rockchip Media Process Platform code [no]
 +  --disable-vaapi          disable Video Acceleration API (mainly Unix/Intel) code [autodetect]
 +  --disable-vda            disable Apple Video Decode Acceleration code [autodetect]
 +  --disable-vdpau          disable Nvidia Video Decode and Presentation API for Unix code [autodetect]
 +  --disable-videotoolbox   disable VideoToolbox code [autodetect]
  
  Toolchain options:
    --arch=ARCH              select architecture [$arch]
@@@ -1504,48 -1245,38 +1504,47 @@@ COMPONENT_LIST=
  "
  
  EXAMPLE_LIST="
 +    avio_dir_cmd_example
 +    avio_reading_example
      decode_audio_example
      decode_video_example
 +    demuxing_decoding_example
      encode_audio_example
      encode_video_example
 +    extract_mvs_example
      filter_audio_example
 +    filtering_audio_example
 +    filtering_video_example
 +    http_multiclient_example
 +    hw_decode_example
      metadata_example
 -    output_example
 +    muxing_example
      qsvdec_example
 +    remuxing_example
 +    resampling_audio_example
 +    scaling_video_example
      transcode_aac_example
 +    transcoding_example
  "
  
 -# catchall list of things that require external libs to link
 -EXTRALIBS_LIST="
 -    cpu_init
 -    cws2fws
 -"
 -
 -HWACCEL_LIBRARY_NONFREE_LIST="
 -    cuda
 -    libnpp
 -"
 -HWACCEL_LIBRARY_LIST="
 -    $HWACCEL_LIBRARY_NONFREE_LIST
 -    d3d11va
 -    dxva2
 -    libmfx
 -    mmal
 -    nvenc
 -    omx
 -    vaapi
 -    vda
 -    vdpau
 +EXTERNAL_AUTODETECT_LIBRARY_LIST="
 +    alsa
 +    appkit
 +    avfoundation
 +    bzlib
 +    coreimage
 +    iconv
-     jack
 +    libxcb
 +    libxcb_shm
 +    libxcb_shape
 +    libxcb_xfixes
 +    lzma
 +    schannel
 +    sdl2
 +    securetransport
 +    sndio
 +    xlib
 +    zlib
  "
  
  EXTERNAL_LIBRARY_GPL_LIST="
@@@ -1583,31 -1304,21 +1582,32 @@@ EXTERNAL_LIBRARY_LIST=
      $EXTERNAL_LIBRARY_GPL_LIST
      $EXTERNAL_LIBRARY_NONFREE_LIST
      $EXTERNAL_LIBRARY_VERSION3_LIST
 -    avisynth
 -    avxsynth
 -    frei0r
 +    $EXTERNAL_LIBRARY_GPLV3_LIST
 +    chromaprint
 +    gcrypt
      gnutls
 +    jni
 +    ladspa
 +    libass
 +    libbluray
      libbs2b
 +    libcaca
 +    libcelt
      libdc1394
 -    libdcadec
 +    libdrm
 +    libflite
      libfontconfig
      libfreetype
 +    libfribidi
 +    libgme
      libgsm
 -    libhdcd
 +    libiec61883
      libilbc
+     libjack
      libkvazaar
 +    libmodplug
      libmp3lame
 +    libmysofa
      libopencv
      libopenh264
      libopenjpeg
@@@ -3096,36 -2414,16 +3096,36 @@@ xwma_demuxer_select="riffdec
  # indevs / outdevs
  alsa_indev_deps="alsa"
  alsa_outdev_deps="alsa"
 -avfoundation_indev_deps="AVFoundation_AVFoundation_h objc_arc pthreads"
 -avfoundation_indev_extralibs="-framework Foundation -framework AVFoundation -framework CoreVideo -framework CoreMedia"
 +avfoundation_indev_deps="avfoundation corevideo coremedia pthreads"
 +avfoundation_indev_suggest="coregraphics applicationservices"
 +avfoundation_indev_extralibs="-framework Foundation"
  bktr_indev_deps_any="dev_bktr_ioctl_bt848_h machine_ioctl_bt848_h dev_video_bktr_ioctl_bt848_h dev_ic_bt8xx_h"
 -dv1394_indev_deps="dv1394"
 -dv1394_indev_select="dv_demuxer"
 +caca_outdev_deps="libcaca"
 +decklink_deps_any="libdl LoadLibrary"
 +decklink_indev_deps="decklink threads"
 +decklink_indev_extralibs="-lstdc++"
 +decklink_outdev_deps="decklink threads"
 +decklink_outdev_extralibs="-lstdc++"
 +libndi_newtek_indev_deps="libndi_newtek"
 +libndi_newtek_indev_extralibs="-lndi"
 +libndi_newtek_outdev_deps="libndi_newtek"
 +libndi_newtek_outdev_extralibs="-lndi"
 +dshow_indev_deps="IBaseFilter"
 +dshow_indev_extralibs="-lpsapi -lole32 -lstrmiids -luuid -loleaut32 -lshlwapi"
  fbdev_indev_deps="linux_fb_h"
- jack_indev_deps="jack"
 +fbdev_outdev_deps="linux_fb_h"
 +gdigrab_indev_deps="CreateDIBSection"
 +gdigrab_indev_extralibs="-lgdi32"
 +gdigrab_indev_select="bmp_decoder"
 +iec61883_indev_deps="libiec61883"
+ jack_indev_deps="libjack"
  jack_indev_deps_any="sem_timedwait dispatch_dispatch_h"
 +kmsgrab_indev_deps="libdrm"
 +lavfi_indev_deps="avfilter"
  libcdio_indev_deps="libcdio"
  libdc1394_indev_deps="libdc1394"
 +openal_indev_deps="openal"
 +opengl_outdev_deps="opengl"
  oss_indev_deps_any="soundcard_h sys_soundcard_h"
  oss_outdev_deps_any="soundcard_h sys_soundcard_h"
  pulse_indev_deps="libpulse"
@@@ -6245,27 -4832,20 +6245,29 @@@ check_type "dshow.h" IBaseFilte
    check_header dev/video/bktr/ioctl_bt848.h; } ||
  check_header dev/ic/bt8xx.h
  
 -check_header sys/soundcard.h
 +if check_struct sys/soundcard.h audio_buf_info bytes; then
 +    enable_safe sys/soundcard.h
 +else
 +    check_cc -D__BSD_VISIBLE -D__XSI_VISIBLE <<EOF && add_cppflags -D__BSD_VISIBLE -D__XSI_VISIBLE && enable_safe sys/soundcard.h
 +    #include <sys/soundcard.h>
 +    audio_buf_info abc;
 +EOF
 +fi
  check_header soundcard.h
  
 -enabled_any alsa_indev alsa_outdev &&
 +enabled alsa && use_pkg_config alsa alsa "alsa/asoundlib.h" snd_pcm_htimestamp ||
      check_lib alsa alsa/asoundlib.h snd_pcm_htimestamp -lasound
  
- enabled jack && check_lib jack jack/jack.h jack_client_open -ljack &&
-     check_func jack_port_get_latency_range -ljack
+ if enabled libjack; then
+     check_pkg_config libjack jack jack/jack.h jack_port_get_latency_range ||
+     require_pkg_config libjack jack jack/jack.h jack_client_open
+ fi
  
 -enabled_any sndio_indev sndio_outdev && check_lib sndio sndio.h sio_open -lsndio
 +enabled sndio && check_lib sndio sndio.h sio_open -lsndio
  
  if enabled libcdio; then
 +    use_pkg_config libcdio libcdio_paranoia "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open ||
 +    use_pkg_config libcdio libcdio_paranoia "cdio/paranoia/cdda.h cdio/paranoia/paranoia.h" cdio_cddap_open ||
      check_lib libcdio "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio ||
      check_lib libcdio "cdio/paranoia/cdda.h cdio/paranoia/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio ||
      die "ERROR: No usable libcdio/cdparanoia found"