[FFmpeg-devel] [PATCH] configure: check if dlfcn.h is present for ladspa and frei0r, if not abort early

Paul B Mahol onemda at gmail.com
Sun Dec 2 21:07:01 EET 2018


On 12/2/18, James Almer <jamrial at gmail.com> wrote:
> On 12/2/2018 3:53 PM, Paul B Mahol wrote:
>> On 12/2/18, James Almer <jamrial at gmail.com> wrote:
>>> On 12/2/2018 2:51 PM, Paul B Mahol wrote:
>>>> Fixes #4517.
>>>>
>>>> Signed-off-by: Paul B Mahol <onemda at gmail.com>
>>>> ---
>>>>  configure | 4 ++--
>>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/configure b/configure
>>>> index 2af6c0d797..7c55274efa 100755
>>>> --- a/configure
>>>> +++ b/configure
>>>> @@ -6065,11 +6065,11 @@ enabled chromaprint       && require chromaprint
>>>> chromaprint.h chromaprint_get_v
>>>>  enabled decklink          && { require_headers DeckLinkAPI.h &&
>>>>                                 { test_cpp_condition
>>>> DeckLinkAPIVersion.h
>>>> "BLACKMAGIC_DECKLINK_API_VERSION >= 0x0a090500" || die "ERROR: Decklink
>>>> API version must be >= 10.9.5."; } }
>>>>  enabled libndi_newtek     && require_headers Processing.NDI.Lib.h
>>>> -enabled frei0r            && require_headers frei0r.h
>>>> +enabled frei0r            && require_headers frei0r.h &&
>>>> require_headers
>>>> dlfcn.h
>>>>  enabled gmp               && require gmp gmp.h mpz_export -lgmp
>>>>  enabled gnutls            && require_pkg_config gnutls gnutls
>>>> gnutls/gnutls.h gnutls_global_init
>>>>  enabled jni               && { [ $target_os = "android" ] &&
>>>> check_headers jni.h && enabled pthreads || die "ERROR: jni not found"; }
>>>> -enabled ladspa            && require_headers ladspa.h
>>>> +enabled ladspa            && require_headers ladspa.h &&
>>>> require_headers
>>>> dlfcn.h
>>>>  enabled libaom            && require_pkg_config libaom "aom >= 1.0.0"
>>>> aom/aom_codec.h aom_codec_version
>>>>  enabled lv2               && require_pkg_config lv2 lilv-0
>>>> "lilv/lilv.h"
>>>> lilv_world_new
>>>>  enabled libiec61883       && require libiec61883 libiec61883/iec61883.h
>>>> iec61883_cmp_connect -lraw1394 -lavc1394 -lrom1394 -liec61883
>>>>
>>>
>>> Both filters already depend on libdl being present, which also implies
>>> dlfcn.h (The check for libdl uses it). How is that not enough?
>>
>> Filters != library support enabled
>>
>> Please read bug report I linked, it explains it.
>>
>> In short not having dflcn.h header would pass those options but would
>> disable filters later.
>> Proper way is to abort early.
>
> Do those libraries need dlfcn.h, or only the filters? If the former,
> then the libraries are not meant to depend on the presence of libdl.
> Hence the dep being for the filters.
>
> In any case, since both libraries are only used by one filter each, i
> guess this is ok. But instead of adding a new require_headers check just
> reuse the existing one to check both headers.

How do I do that?


More information about the ffmpeg-devel mailing list