[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
Mon Dec 3 12:09:35 EET 2018


On 12/2/18, James Almer <jamrial at gmail.com> wrote:
> On 12/2/2018 4:07 PM, Paul B Mahol wrote:
>> 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?
>
> require_headers "frei0r.h dlfcn.h"
> require_headers "ladspa.h dlfcn.h"
>
> Untested, but should work.

OK, will apply soon, with that changed.


More information about the ffmpeg-devel mailing list