On Sun, 3 Feb 2019, Carl Eugen Hoyos wrote:
2019-01-28 2:00 GMT+01:00, Marton Balint <c...@passwd.hu>:
If we enable a component but a dependant library is disabled, then the
enabled
component get silently disabled. Requesting all explicitly enabled
components
allows configure to fail and show the missing dependencies instead of
ignoring
our request.
For example if libdav1d is not availble ./configure
--enable-decoder=libdav1d
succeeds but the libdav1d decoder will not be enabled. After the patch the
configure line will fail with the following message:
ERROR: libdav1d_decoder requested, but not all dependencies are satisfied:
libdav1d
Signed-off-by: Marton Balint <c...@passwd.hu>
---
configure | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure b/configure
index e1412352fa..1f6c6a7311 100755
--- a/configure
+++ b/configure
@@ -3881,6 +3881,7 @@ for opt do
list=$(filter "$name" $list)
[ "$list" = "" ] && warn "Option $opt did not match anything"
$action $list
+ test $action = enable && request $list
I strongly suspect that this will break regression tests.
You mean fate with different configure options? I didn't find a fate
instance explicity enabling a certain component. Even if some previously
used configure commands error out, that is good IMHO because the user will
know that a certain component won't be included in the build.
What exactly does this fix?
If you don't "--enable-libdav1d", you cannot get libdav1d.
That is the point. If I tell configure that I want libdav1d decoder (as in
--enable-decoder=libdav1d), it should either give it to me or error out.
It should NOT silently disregard my request. You see the discrepancy:
--enable-libdav1d error out if libdav1d is not available
--enable-decoder=libdav1d does not error out if the libdav1d decoder is
not available
Also dependencies are often not trivial. Consider that I want the
blackframe filter:
./configure --enable-filter=blackframe
This succeeds yet it does not enable the filter. Why? Because the filter
is GPL. How should I know why it got silently disabled if configure does
not error out?
Also, configure's console output shows what was
enabled.
That does not tell you why a component got disabled. It is also
unreasonable to ask the user to always verify that everything stayed in
which he explicitly enabled.
Regards,
Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel