[FFmpeg-cvslog] configure: fail if autodetect-libraries are requested but not found
Andreas Cadhalpun
git at videolan.org
Sat Dec 10 20:45:09 EET 2016
ffmpeg | branch: master | Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com> | Wed Nov 30 23:50:17 2016 +0100| [8aad209c13c2a66a9256e37d7f44b5f9f19b13b2] | committer: Andreas Cadhalpun
configure: fail if autodetect-libraries are requested but not found
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8aad209c13c2a66a9256e37d7f44b5f9f19b13b2
---
Changelog | 1 +
configure | 78 +++++++++++++++++++++++++++++++++++++++++++++------------------
2 files changed, 57 insertions(+), 22 deletions(-)
diff --git a/Changelog b/Changelog
index 603c009..37fbb36 100644
--- a/Changelog
+++ b/Changelog
@@ -7,6 +7,7 @@ version <next>:
- Pro-MPEG CoP #3-R2 FEC protocol
- premultiply video filter
- Support for spherical videos
+- configure now fails if autodetect-libraries are requested but not found
version 3.2:
- libopenmpt demuxer
diff --git a/configure b/configure
index 04fa06c..2fd6daf 100755
--- a/configure
+++ b/configure
@@ -597,6 +597,13 @@ popvar(){
done
}
+request(){
+ for var in $*; do
+ eval ${var}_requested=yes
+ eval $var=
+ done
+}
+
enable(){
set_all yes $*
}
@@ -653,6 +660,11 @@ enable_deep_weak(){
done
}
+requested(){
+ test "${1#!}" = "$1" && op='=' || op=!=
+ eval test "x\$${1#!}_requested" $op "xyes"
+}
+
enabled(){
test "${1#!}" = "$1" && op='=' || op=!=
eval test "x\$${1#!}" $op "xyes"
@@ -724,9 +736,9 @@ do_check_deps(){
[ -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_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_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
@@ -1481,10 +1493,25 @@ EXAMPLE_LIST="
transcode_aac_example
transcoding_example
"
+EXTERNAL_AUTODETECT_LIBRARY_LIST="
+ bzlib
+ iconv
+ libxcb
+ libxcb_shm
+ libxcb_shape
+ libxcb_xfixes
+ lzma
+ schannel
+ sdl
+ sdl2
+ securetransport
+ xlib
+ zlib
+"
EXTERNAL_LIBRARY_LIST="
+ $EXTERNAL_AUTODETECT_LIBRARY_LIST
avisynth
- bzlib
chromaprint
crystalhd
decklink
@@ -1492,7 +1519,6 @@ EXTERNAL_LIBRARY_LIST="
gcrypt
gmp
gnutls
- iconv
jni
ladspa
libass
@@ -1545,42 +1571,26 @@ EXTERNAL_LIBRARY_LIST="
libx264
libx265
libxavs
- libxcb
- libxcb_shm
- libxcb_shape
- libxcb_xfixes
libxvid
libzimg
libzmq
libzvbi
- lzma
mediacodec
netcdf
openal
opencl
opengl
openssl
- schannel
- sdl
- sdl2
- securetransport
videotoolbox
x11grab
- xlib
- zlib
"
-
-HWACCEL_LIBRARY_LIST="
+HWACCEL_AUTODETECT_LIBRARY_LIST="
audiotoolbox
cuda
cuvid
d3d11va
dxva2
- libmfx
- libnpp
- mmal
nvenc
- omx
vaapi
vda
vdpau
@@ -1588,6 +1598,14 @@ HWACCEL_LIBRARY_LIST="
xvmc
"
+HWACCEL_LIBRARY_LIST="
+ $HWACCEL_AUTODETECT_LIBRARY_LIST
+ libmfx
+ libnpp
+ mmal
+ omx
+"
+
DOCUMENT_LIST="
doc
htmlpages
@@ -1684,6 +1702,12 @@ ATOMICS_LIST="
atomics_win32
"
+AUTODETECT_LIBS="
+ $EXTERNAL_AUTODETECT_LIBRARY_LIST
+ $HWACCEL_AUTODETECT_LIBRARY_LIST
+ $THREADS_LIST
+"
+
ARCH_LIST="
aarch64
alpha
@@ -3483,6 +3507,11 @@ for e in $env; do
eval "export $e"
done
+# Mark specifically enabled, but normally autodetected libraries as requested.
+for lib in $AUTODETECT_LIBS; do
+ enabled $lib && request $lib
+done
+
# Enable platform codecs by default.
enable_weak audiotoolbox
@@ -6399,6 +6428,11 @@ if disabled stdatomic_h; then
fi
fi
+# Check if requested libraries were found.
+for lib in $AUTODETECT_LIBS; do
+ requested $lib && ! enabled $lib && die "ERROR: $lib requested but not found";
+done
+
enabled zlib && add_cppflags -DZLIB_CONST
# conditional library dependencies, in linking order
More information about the ffmpeg-cvslog
mailing list