#6017 closed defect (fixed)
--disable-everything keeps nvidia stuff enabled
Reported by: | Kieran Kunhya | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | build system |
Version: | git-master | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
./configure --disable-everything has:
cuda cuvid nvenc
enabled
This shouldn't be the case.
Change History (5)
comment:1 by , 7 years ago
comment:2 by , 7 years ago
There's --disable-autodetect for this kind of thing. Same with zlib and every other autodetected library.
follow-up: 5 comment:3 by , 7 years ago
--disable-autodetect
is blunt, and is, IMHO, the wrong tack.
The test for an external lib should be whether there's at least one enabled component making use of the lib, and if not, that lib shouldn't be linked e.g.,
--disable-everything --enable-libx264
should fail since lavc/libx264.c isn't enabled and libx264 is expressly specified.
--disable-everything --enable-encoder=png
should be successful and link (autodetected) zlib but not cuda..etc.
comment:4 by , 7 years ago
Component: | undetermined → build system |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Version: | unspecified → git-master |
Apparently fixed in e3c1219c7c7457f4b157cfb299e4387c1ebdabe7
Note that changing the behaviour of --disable-everything
breaks regression tests and has to avoided at all costs.
comment:5 by , 7 years ago
Replying to Gyan:
The test for an external lib should be whether there's at least one enabled component making use of the lib, and if not, that lib shouldn't be linked e.g.,
The NVIDIA functionality never links in any libraries either way, so complaining that configure shows it as present from auto-detection was always rather of an artificial complaint if anything (it basically just indicated the presence of the header files).
Additionally to the above, this was also facilitated because the CUDA/NVENC headers were being shipped with FFmpeg, but have since moved into their own repository, so if you don't actually make the headers available, it won't actually detect anything anymore.
Is this still correct?