summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>2016-11-30 23:50:17 +0100
committerAndreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>2016-12-10 19:29:37 +0100
commit8aad209c13c2a66a9256e37d7f44b5f9f19b13b2 (patch)
tree5b4db329d6cee5c1fceca80ae77328825f109e2b
parent4c455664930470727000c7a8b2d550ec29f512e3 (diff)
downloadffmpeg-streaming-8aad209c13c2a66a9256e37d7f44b5f9f19b13b2.zip
ffmpeg-streaming-8aad209c13c2a66a9256e37d7f44b5f9f19b13b2.tar.gz
configure: fail if autodetect-libraries are requested but not found
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
-rw-r--r--Changelog1
-rwxr-xr-xconfigure78
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
OpenPOWER on IntegriCloud