diff mbox

[FFmpeg-devel] configure: Update libmysofa check with a new symbol.

Message ID 20190828152412.8690-1-andrey.semashev@gmail.com
State Superseded
Headers show

Commit Message

Andrey Semashev Aug. 28, 2019, 3:24 p.m. UTC
The current code in libavfilter/af_sofalizer.c requires
mysofa_neighborhood_init_withstepdefine function, which only appeared
in libmysofa 0.7. Add this function to configure script to bail out
early if a too old libmysofa is found in the system instead of failing
at compile time.
---
 configure | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

James Almer Aug. 28, 2019, 3:41 p.m. UTC | #1
On 8/28/2019 12:24 PM, Andrey Semashev wrote:
> The current code in libavfilter/af_sofalizer.c requires
> mysofa_neighborhood_init_withstepdefine function, which only appeared
> in libmysofa 0.7. Add this function to configure script to bail out
> early if a too old libmysofa is found in the system instead of failing
> at compile time.
> ---
>  configure | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/configure b/configure
> index 51dc77c780..51fb8a7dd0 100755
> --- a/configure
> +++ b/configure
> @@ -6237,8 +6237,8 @@ enabled libmfx            && { check_pkg_config libmfx libmfx "mfx/mfxvideo.h" M
>                                 { require libmfx "mfx/mfxvideo.h" MFXInit "-llibmfx $advapi32_extralibs" && warn "using libmfx without pkg-config"; } }
>  enabled libmodplug        && require_pkg_config libmodplug libmodplug libmodplug/modplug.h ModPlug_Load
>  enabled libmp3lame        && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame $libm_extralibs
> -enabled libmysofa         && { check_pkg_config libmysofa libmysofa mysofa.h mysofa_load ||
> -                               require libmysofa mysofa.h mysofa_load -lmysofa $zlib_extralibs; }
> +enabled libmysofa         && { check_pkg_config libmysofa libmysofa mysofa.h "mysofa_load mysofa_neighborhood_init_withstepdefine" ||
> +                               require libmysofa mysofa.h "mysofa_load mysofa_neighborhood_init_withstepdefine" -lmysofa $zlib_extralibs; }

You could instead make the pkg-config check for "libmysofa >= 0.7",
assuming the project generated .pc file reports correct versions.

>  enabled libnpp            && { check_lib libnpp npp.h nppGetLibVersion -lnppig -lnppicc -lnppc -lnppidei ||
>                                 check_lib libnpp npp.h nppGetLibVersion -lnppi -lnppc -lnppidei ||
>                                 die "ERROR: libnpp not found"; }
>
Andrey Semashev Aug. 28, 2019, 3:55 p.m. UTC | #2
On 2019-08-28 18:41, James Almer wrote:
> On 8/28/2019 12:24 PM, Andrey Semashev wrote:
>> The current code in libavfilter/af_sofalizer.c requires
>> mysofa_neighborhood_init_withstepdefine function, which only appeared
>> in libmysofa 0.7. Add this function to configure script to bail out
>> early if a too old libmysofa is found in the system instead of failing
>> at compile time.
>> ---
>>   configure | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/configure b/configure
>> index 51dc77c780..51fb8a7dd0 100755
>> --- a/configure
>> +++ b/configure
>> @@ -6237,8 +6237,8 @@ enabled libmfx            && { check_pkg_config libmfx libmfx "mfx/mfxvideo.h" M
>>                                  { require libmfx "mfx/mfxvideo.h" MFXInit "-llibmfx $advapi32_extralibs" && warn "using libmfx without pkg-config"; } }
>>   enabled libmodplug        && require_pkg_config libmodplug libmodplug libmodplug/modplug.h ModPlug_Load
>>   enabled libmp3lame        && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame $libm_extralibs
>> -enabled libmysofa         && { check_pkg_config libmysofa libmysofa mysofa.h mysofa_load ||
>> -                               require libmysofa mysofa.h mysofa_load -lmysofa $zlib_extralibs; }
>> +enabled libmysofa         && { check_pkg_config libmysofa libmysofa mysofa.h "mysofa_load mysofa_neighborhood_init_withstepdefine" ||
>> +                               require libmysofa mysofa.h "mysofa_load mysofa_neighborhood_init_withstepdefine" -lmysofa $zlib_extralibs; }
> 
> You could instead make the pkg-config check for "libmysofa >= 0.7",
> assuming the project generated .pc file reports correct versions.

I don't know exactly how the library version will be represented in the 
.pc file (e.g. it may include a revision or some such). There is no .pc 
file for libmysofa in Ubuntu, which is where I'm working. Someone who 
can test the .pc file can add the version check later.

>>   enabled libnpp            && { check_lib libnpp npp.h nppGetLibVersion -lnppig -lnppicc -lnppc -lnppidei ||
>>                                  check_lib libnpp npp.h nppGetLibVersion -lnppi -lnppc -lnppidei ||
>>                                  die "ERROR: libnpp not found"; }
>>
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
>
Carl Eugen Hoyos Aug. 28, 2019, 6:34 p.m. UTC | #3
Am Mi., 28. Aug. 2019 um 17:33 Uhr schrieb Andrey Semashev
<andrey.semashev@gmail.com>:
>
> The current code in libavfilter/af_sofalizer.c requires
> mysofa_neighborhood_init_withstepdefine function, which only appeared
> in libmysofa 0.7. Add this function to configure script to bail out
> early if a too old libmysofa is found in the system instead of failing
> at compile time.
> ---
>  configure | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/configure b/configure
> index 51dc77c780..51fb8a7dd0 100755
> --- a/configure
> +++ b/configure
> @@ -6237,8 +6237,8 @@ enabled libmfx            && { check_pkg_config libmfx libmfx "mfx/mfxvideo.h" M
>                                 { require libmfx "mfx/mfxvideo.h" MFXInit "-llibmfx $advapi32_extralibs" && warn "using libmfx without pkg-config"; } }
>  enabled libmodplug        && require_pkg_config libmodplug libmodplug libmodplug/modplug.h ModPlug_Load
>  enabled libmp3lame        && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame $libm_extralibs
> -enabled libmysofa         && { check_pkg_config libmysofa libmysofa mysofa.h mysofa_load ||
> -                               require libmysofa mysofa.h mysofa_load -lmysofa $zlib_extralibs; }
> +enabled libmysofa         && { check_pkg_config libmysofa libmysofa mysofa.h "mysofa_load mysofa_neighborhood_init_withstepdefine" ||
> +                               require libmysofa mysofa.h "mysofa_load mysofa_neighborhood_init_withstepdefine" -lmysofa $zlib_extralibs; }

Can you remove mysofa_load?

Carl Eugen
Andrey Semashev Aug. 28, 2019, 8:10 p.m. UTC | #4
On 2019-08-28 21:34, Carl Eugen Hoyos wrote:
> Am Mi., 28. Aug. 2019 um 17:33 Uhr schrieb Andrey Semashev
> <andrey.semashev@gmail.com>:
>>
>> The current code in libavfilter/af_sofalizer.c requires
>> mysofa_neighborhood_init_withstepdefine function, which only appeared
>> in libmysofa 0.7. Add this function to configure script to bail out
>> early if a too old libmysofa is found in the system instead of failing
>> at compile time.
>> ---
>>   configure | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/configure b/configure
>> index 51dc77c780..51fb8a7dd0 100755
>> --- a/configure
>> +++ b/configure
>> @@ -6237,8 +6237,8 @@ enabled libmfx            && { check_pkg_config libmfx libmfx "mfx/mfxvideo.h" M
>>                                  { require libmfx "mfx/mfxvideo.h" MFXInit "-llibmfx $advapi32_extralibs" && warn "using libmfx without pkg-config"; } }
>>   enabled libmodplug        && require_pkg_config libmodplug libmodplug libmodplug/modplug.h ModPlug_Load
>>   enabled libmp3lame        && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame $libm_extralibs
>> -enabled libmysofa         && { check_pkg_config libmysofa libmysofa mysofa.h mysofa_load ||
>> -                               require libmysofa mysofa.h mysofa_load -lmysofa $zlib_extralibs; }
>> +enabled libmysofa         && { check_pkg_config libmysofa libmysofa mysofa.h "mysofa_load mysofa_neighborhood_init_withstepdefine" ||
>> +                               require libmysofa mysofa.h "mysofa_load mysofa_neighborhood_init_withstepdefine" -lmysofa $zlib_extralibs; }
> 
> Can you remove mysofa_load?

Sure.
diff mbox

Patch

diff --git a/configure b/configure
index 51dc77c780..51fb8a7dd0 100755
--- a/configure
+++ b/configure
@@ -6237,8 +6237,8 @@  enabled libmfx            && { check_pkg_config libmfx libmfx "mfx/mfxvideo.h" M
                                { require libmfx "mfx/mfxvideo.h" MFXInit "-llibmfx $advapi32_extralibs" && warn "using libmfx without pkg-config"; } }
 enabled libmodplug        && require_pkg_config libmodplug libmodplug libmodplug/modplug.h ModPlug_Load
 enabled libmp3lame        && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame $libm_extralibs
-enabled libmysofa         && { check_pkg_config libmysofa libmysofa mysofa.h mysofa_load ||
-                               require libmysofa mysofa.h mysofa_load -lmysofa $zlib_extralibs; }
+enabled libmysofa         && { check_pkg_config libmysofa libmysofa mysofa.h "mysofa_load mysofa_neighborhood_init_withstepdefine" ||
+                               require libmysofa mysofa.h "mysofa_load mysofa_neighborhood_init_withstepdefine" -lmysofa $zlib_extralibs; }
 enabled libnpp            && { check_lib libnpp npp.h nppGetLibVersion -lnppig -lnppicc -lnppc -lnppidei ||
                                check_lib libnpp npp.h nppGetLibVersion -lnppi -lnppc -lnppidei ||
                                die "ERROR: libnpp not found"; }