[FFmpeg-devel] [RFC][PATCH] configure: libfreetype check
Alexander Strasser
eclipse7 at gmx.net
Sat Dec 7 01:12:42 CET 2013
On 2013-12-06 23:25 +0100, Clément Bœsch wrote:
> On Fri, Dec 06, 2013 at 10:55:04PM +0100, Alexander Strasser wrote:
[two other variants skipped]
> > From 8696dd58570deb0f7e9dfef6327d11c3c73525c7 Mon Sep 17 00:00:00 2001
> > Message-Id: <8696dd58570deb0f7e9dfef6327d11c3c73525c7.1386365701.git.eclipse7 at gmx.net>
> > From: Alexander Strasser <eclipse7 at gmx.net>
> > Date: Fri, 6 Dec 2013 21:20:46 +0100
> > Subject: [PATCH] configure: libfreetype: Check for different header paths
> >
> > Some distributions have it below freetype/ directory and
> > others not.
> >
> > The official libfreetype way to handle this is to use
> > a macros instead of a string literal. That is how it is
> > done in the drawtext filter and the reason this commit
> > only affects configure detection.
> >
> > Signed-off-by: Alexander Strasser <eclipse7 at gmx.net>
> > ---
> > configure | 7 ++++++-
> > 1 file changed, 6 insertions(+), 1 deletion(-)
> >
> > diff --git a/configure b/configure
> > index 5881e6a..d7eaa4b 100755
> > --- a/configure
> > +++ b/configure
> > @@ -4316,7 +4316,12 @@ enabled libfaac && require2 libfaac "stdint.h faac.h" faacEncGetVersio
> > enabled libfdk_aac && require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac
> > flite_libs="-lflite_cmu_time_awb -lflite_cmu_us_awb -lflite_cmu_us_kal -lflite_cmu_us_kal16 -lflite_cmu_us_rms -lflite_cmu_us_slt -lflite_usenglish -lflite_cmulex -lflite"
> > enabled libflite && require2 libflite "flite/flite.h" flite_init $flite_libs
> > -enabled libfreetype && require_pkg_config freetype2 "ft2build.h freetype/freetype.h" FT_Init_FreeType
> > +enabled libfreetype && { check_pkg_config freetype2 "ft2build.h freetype/freetype.h" FT_Init_FreeType \
> > + || check_pkg_config freetype2 "ft2build.h freetype.h" FT_Init_FreeType \
> > + || die "ERROR: freetype2 not found"; } \
> > + && { add_cflags $(get_safe ${pkg}_cflags)
> > + add_extralibs $(get_safe ${pkg}_libs); }
> > +
>
> I don't like this one.
>
> > enabled libgme && require libgme gme/gme.h gme_new_emu -lgme -lstdc++
> > enabled libgsm && { for gsm_hdr in "gsm.h" "gsm/gsm.h"; do
> > check_lib "${gsm_hdr}" gsm_create -lgsm && break;
> > --
>
> > From 7da78bc381d02fbf328d251843be11f32fb04ae3 Mon Sep 17 00:00:00 2001
> > Message-Id: <7da78bc381d02fbf328d251843be11f32fb04ae3.1386364728.git.eclipse7 at gmx.net>
> > From: Alexander Strasser <eclipse7 at gmx.net>
> > Date: Fri, 6 Dec 2013 17:20:26 +0100
> > Subject: [PATCH] configure: Special case libfreetype test
> >
> > Include the freetype header, in-directly through a macro, like it
> > is done in the drawtext filter. Do not break if the header is moved,
> > like it was done in at least distribution.
> >
> > Signed-off-by: Alexander Strasser <eclipse7 at gmx.net>
> > ---
> > configure | 21 ++++++++++++++++++++-
> > 1 file changed, 20 insertions(+), 1 deletion(-)
> >
> > diff --git a/configure b/configure
> > index 5881e6a..5606426 100755
> > --- a/configure
> > +++ b/configure
> > @@ -1127,6 +1127,25 @@ require_pkg_config(){
> > add_extralibs $(get_safe ${pkg}_libs)
> > }
> >
> > +require_libfreetype(){
> > + log check_libfreetype "$@"
> > + pkg="freetype2"
> > + shift 3
> > + check_cmd $pkg_config --exists --print-errors $pkg || return
> > + pkg_cflags=$($pkg_config --cflags $pkg)
> > + pkg_libs=$($pkg_config --libs $pkg)
> > + {
> > + echo "#include <ft2build.h>"
> > + echo "#include FT_FREETYPE_H"
> > + echo "long check_func(void) { return (long) FT_Init_FreeType; }"
> > + echo "int main(void) { return 0; }"
> > + } | check_ld "cc" $pkg_cflags $pkg_libs && enable $funcs &&
> > + set_safe ${pkg}_cflags $pkg_cflags &&
> > + set_safe ${pkg}_libs $pkg_libs
> > + add_cflags $(get_safe ${pkg}_cflags)
> > + add_extralibs $(get_safe ${pkg}_libs)
> > +}
> > +
>
> This approach looks the saner.
>
> Also note that you need to remove one #include in the drawtext filter to
> make the compilation works.
Yeah, I got a notice about that. The inlcude can just be deleted,
I think it was wrong to begin with. But to be sure I will check the
history of that file.
Thanks for looking the patches,
Alexander
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20131207/1b64088e/attachment.asc>
More information about the ffmpeg-devel
mailing list