diff mbox

[FFmpeg-devel] Configure Script change request to support libcdio on macOS

Message ID 3DE198F6-FA9E-4880-BF3E-2FC26273323B@dream.jp
State New
Headers show

Commit Message

桃源老師 Sept. 17, 2017, 2:58 p.m. UTC
Hello,

In fact, I'm not a kind of ffmpeg developer at all.  While trying to link libcdio library with ffmpeg, I just happened to find out the way...

So I'm not sure I can answer any question about this configure script change...


I have tried to use libcdio function with ffmpeg on macOS. Then I get an information from libcdio team.  That is ffmpeg configure script should read libcdio's pkgconfig file, libcdio.pc.

So I tried and error, then found that the below change should be done to link libcdio library with ffmpeg on macOS.


$ diff -u a/configure b/configure 
Please review it and make it acceptable for everyone...


Best Regards,


// Miya aka. TougenRoushi

Comments

桃源老師 Sept. 18, 2017, 2:42 a.m. UTC | #1
Hello, 

> 2017/09/17 午後11:58、桃源老師 <xanadu6291@dream.jp>のメール:
> 
> I have tried to use libcdio function with ffmpeg on macOS. Then I get an information from libcdio team.  That is ffmpeg configure script should read libcdio's pkgconfig file, libcdio.pc.

I attach my request as patch file.  Please review it.
Best Regards,


// Miya aka. TougenRoushi
Michael Niedermayer Sept. 19, 2017, 1:06 p.m. UTC | #2
On Mon, Sep 18, 2017 at 11:42:11AM +0900, 桃源老師 wrote:
> Hello, 
> 
> > 2017/09/17 午後11:58、桃源老師 <xanadu6291@dream.jp>のメール:
> > 
> > I have tried to use libcdio function with ffmpeg on macOS. Then I get an information from libcdio team.  That is ffmpeg configure script should read libcdio's pkgconfig file, libcdio.pc.
> 
> I attach my request as patch file.  Please review it.
> 

>  configure |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 01105359616694b3c3c9a8f2e60d1f875ddef3bf  ffmpeg_configure.patch
> --- a/configure	2017-09-18 10:24:52.000000000 +0900
> +++ b/configure	2017-09-18 11:31:58.000000000 +0900
> @@ -6151,7 +6151,7 @@
>  
>  if enabled libcdio; then
>      check_lib libcdio "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio ||
> -    check_lib libcdio "cdio/paranoia/cdda.h cdio/paranoia/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio ||
> +    require_pkg_config libcdio "cdio/paranoia/cdda.h cdio/paranoia/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio && check_lib libcdio "cdio/paranoia/cdda.h cdio/paranoia/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio ||
>      die "ERROR: No usable libcdio/cdparanoia found"
>  fi
>  

This breaks FFmpeg on ubuntu with

ii  libcdio-cdda-dev                                                        0.83-4.1ubuntu1                          amd64                                    library to read and control digital audio CDs (development files)
ii  libcdio-cdda0                                                           0.81-4build1                             amd64                                    library to read and control digital audio CDs
ii  libcdio-cdda1                                                           0.83-4.1ubuntu1                          amd64                                    library to read and control digital audio CDs
ii  libcdio-dev                                                             0.83-4.1ubuntu1                          amd64                                    library to read and control CD-ROM (development files)
ii  libcdio-paranoia-dev                                                    0.83-4.1ubuntu1                          amd64                                    library to read digital audio CDs with error correction (development files)
ii  libcdio-paranoia0                                                       0.81-4build1                             amd64                                    library to read digital audio CDs with error correction
ii  libcdio-paranoia1                                                       0.83-4.1ubuntu1                          amd64                                    library to read digital audio CDs with error correction
ii  libcdio-utils                                                           0.83-4.1ubuntu1                          amd64                                    sample applications based on the CDIO libraries
ii  libcdio10                                                               0.81-4build1                             amd64                                    library to read and control CD-ROM
ii  libcdio13                                                               0.83-4.1ubuntu1                          amd64                                    library to read and control CD-ROM

./configure --enable-libcdio --enable-gpl
ERROR: No usable libcdio/cdparanoia found

If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.


[...]
James Almer Sept. 19, 2017, 5:46 p.m. UTC | #3
On 9/17/2017 11:42 PM, 桃源老師 wrote:
> Hello, 
> 
>> 2017/09/17 午後11:58、桃源老師 <xanadu6291@dream.jp>のメール:
>>
>> I have tried to use libcdio function with ffmpeg on macOS. Then I get an information from libcdio team.  That is ffmpeg configure script should read libcdio's pkgconfig file, libcdio.pc.
> 
> I attach my request as patch file.  Please review it.

> --- a/configure	2017-09-18 10:24:52.000000000 +0900
> +++ b/configure	2017-09-18 11:31:58.000000000 +0900
> @@ -6151,7 +6151,7 @@
>  
>  if enabled libcdio; then
>      check_lib libcdio "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio ||
> -    check_lib libcdio "cdio/paranoia/cdda.h cdio/paranoia/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio ||
> +    require_pkg_config libcdio "cdio/paranoia/cdda.h cdio/paranoia/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio && check_lib libcdio "cdio/paranoia/cdda.h cdio/paranoia/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio ||

If check_lib will stay as a fallback then you should use use_pkg_config,
not require_pkg_config.
Maybe add one use_pkg_config for each potential header locations as
well, as with check_lib.

Also, don't use &&, use ||. The point is that if one fails the next is
tested, until die() is reached.

>      die "ERROR: No usable libcdio/cdparanoia found"
>  fi
>
diff mbox

Patch

--- a/configure	2017-09-16 15:02:06.000000000 +0900
+++ b/configure	2017-09-17 04:53:34.000000000 +0900
@@ -6151,7 +6151,7 @@ 

if enabled libcdio; then
    check_lib libcdio "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio ||
-    check_lib libcdio "cdio/paranoia/cdda.h cdio/paranoia/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio ||
+    require_pkg_config libcdio "cdio/paranoia/cdda.h cdio/paranoia/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio && check_lib libcdio "cdio/paranoia/cdda.h cdio/paranoia/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio ||
    die "ERROR: No usable libcdio/cdparanoia found"
fi