From 69a7a16fd7d6dfcc21f3c4d508a505e38c93b1f6 Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Sat, 17 Aug 2002 17:57:38 +0000 Subject: [PATCH] fixes http://bugzilla.gnome.org/show_bug.cgi?id=90839 Original commit message from CVS: fixes http://bugzilla.gnome.org/show_bug.cgi?id=90839 --- configure.ac | 7 ++ examples/Makefile.am | 8 +- examples/seeking/Makefile.am | 4 +- m4/freetype2.m4 | 143 +++++++++++++++++++++++++++++++++ tests/old/examples/Makefile.am | 8 +- 5 files changed, 166 insertions(+), 4 deletions(-) create mode 100644 m4/freetype2.m4 diff --git a/configure.ac b/configure.ac index b103652374..d0c60e6b6a 100644 --- a/configure.ac +++ b/configure.ac @@ -815,6 +815,13 @@ AC_ARG_ENABLE(examples, esac], [BUILD_EXAMPLES=yes]) dnl Default value +dnl seeking needs freetype, so check for it here +AC_CHECK_FT2(2.0.9,HAVE_FT2=yes,HAVE_FT2=no) +dnl make the HAVE_FT2 variable available to automake and Makefile.am +AM_CONDITIONAL(HAVE_FT2, test "x$HAVE_FT2" = "xyes") +AC_SUBST(FT2_CFLAGS) +AC_SUBST(FT2_LIBS) + dnl ################################################ dnl # Set defines according to variables set above # dnl ################################################ diff --git a/examples/Makefile.am b/examples/Makefile.am index 84bec46583..de3c7c439a 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -1,5 +1,11 @@ +if HAVE_FT2 +FT2_SUBDIRS=seeking +else +FT2_SUBDIRS= +endif + if HAVE_GTK -GTK_SUBDIRS=dynparams seeking +GTK_SUBDIRS=dynparams $(FT2_SUBDIRS) else GTK_SUBDIRS= endif diff --git a/examples/seeking/Makefile.am b/examples/seeking/Makefile.am index 30003e0625..b1dac9c481 100644 --- a/examples/seeking/Makefile.am +++ b/examples/seeking/Makefile.am @@ -3,5 +3,5 @@ examples = seek spider_seek noinst_PROGRAMS = $(examples) # we have nothing but apps here, we can do this safely -LIBS = $(GST_LIBS) $(GTK_LIBS) -lfreetype -CFLAGS = $(GST_CFLAGS) $(GTK_CFLAGS) +LIBS = $(GST_LIBS) $(GTK_LIBS) $(FT2_LIBS) +CFLAGS = $(GST_CFLAGS) $(GTK_CFLAGS) $(FT2_CFLAGS) diff --git a/m4/freetype2.m4 b/m4/freetype2.m4 new file mode 100644 index 0000000000..21c6445e2c --- /dev/null +++ b/m4/freetype2.m4 @@ -0,0 +1,143 @@ +# Configure paths for FreeType2 +# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor + +dnl AC_CHECK_FT2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl Test for FreeType2, and define FT2_CFLAGS and FT2_LIBS +dnl +AC_DEFUN(AC_CHECK_FT2, +[dnl +dnl Get the cflags and libraries from the freetype-config script +dnl +AC_ARG_WITH(ft-prefix, +[ --with-ft-prefix=PREFIX + Prefix where FreeType is installed (optional)], + ft_config_prefix="$withval", ft_config_prefix="") +AC_ARG_WITH(ft-exec-prefix, +[ --with-ft-exec-prefix=PREFIX + Exec prefix where FreeType is installed (optional)], + ft_config_exec_prefix="$withval", ft_config_exec_prefix="") +AC_ARG_ENABLE(freetypetest, +[ --disable-freetypetest Do not try to compile and run + a test FreeType program], + [], enable_fttest=yes) + +if test x$ft_config_exec_prefix != x ; then + ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix" + if test x${FT2_CONFIG+set} != xset ; then + FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config + fi +fi +if test x$ft_config_prefix != x ; then + ft_config_args="$ft_config_args --prefix=$ft_config_prefix" + if test x${FT2_CONFIG+set} != xset ; then + FT2_CONFIG=$ft_config_prefix/bin/freetype-config + fi +fi +AC_PATH_PROG(FT2_CONFIG, freetype-config, no) + +min_ft_version=ifelse([$1], ,6.1.0,$1) +AC_MSG_CHECKING(for FreeType - version >= $min_ft_version) +no_ft="" +if test "$FT2_CONFIG" = "no" ; then + no_ft=yes +else + FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags` + FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs` + ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + ft_min_major_version=`echo $min_ft_version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + ft_min_minor_version=`echo $min_ft_version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + ft_min_micro_version=`echo $min_ft_version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + if test x$enable_fttest = xyes ; then + ft_config_is_lt="" + if test $ft_config_major_version -lt $ft_min_major_version ; then + ft_config_is_lt=yes + else + if test $ft_config_major_version -eq $ft_min_major_version ; then + if test $ft_config_minor_version -lt $ft_min_minor_version ; then + ft_config_is_lt=yes + else + if test $ft_config_minor_version -eq $ft_min_minor_version ; then + if test $ft_config_micro_version -lt $ft_min_micro_version ; then + ft_config_is_lt=yes + fi + fi + fi + fi + fi + if test x$ft_config_is_lt = xyes ; then + no_ft=yes + else + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $FT2_CFLAGS" + LIBS="$FT2_LIBS $LIBS" +dnl +dnl Sanity checks for the results of freetype-config to some extent +dnl + AC_TRY_RUN([ +#include +#include FT_FREETYPE_H +#include +#include + +int +main() +{ + FT_Library library; + FT_Error error; + + error = FT_Init_FreeType(&library); + + if (error) + return 1; + else + { + FT_Done_FreeType(library); + return 0; + } +} +],, no_ft=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi # test $ft_config_version -lt $ft_min_version + fi # test x$enable_fttest = xyes +fi # test "$FT2_CONFIG" = "no" +if test x$no_ft = x ; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) +else + AC_MSG_RESULT(no) + if test "$FT2_CONFIG" = "no" ; then + echo "*** The freetype-config script installed by FreeType 2 could not be found." + echo "*** If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the FT2_CONFIG environment variable to the" + echo "*** full path to freetype-config." + else + if test x$ft_config_is_lt = xyes ; then + echo "*** Your installed version of the FreeType 2 library is too old." + echo "*** If you have different versions of FreeType 2, make sure that" + echo "*** correct values for --with-ft-prefix or --with-ft-exec-prefix" + echo "*** are used, or set the FT2_CONFIG environment variable to the" + echo "*** full path to freetype-config." + else + echo "*** The FreeType test program failed to run. If your system uses" + echo "*** shared libraries and they are installed outside the normal" + echo "*** system library path, make sure the variable LD_LIBRARY_PATH" + echo "*** (or whatever is appropiate for your system) is correctly set." + fi + fi + FT2_CFLAGS="" + FT2_LIBS="" + ifelse([$3], , :, [$3]) +fi +AC_SUBST(FT2_CFLAGS) +AC_SUBST(FT2_LIBS) +]) diff --git a/tests/old/examples/Makefile.am b/tests/old/examples/Makefile.am index 84bec46583..de3c7c439a 100644 --- a/tests/old/examples/Makefile.am +++ b/tests/old/examples/Makefile.am @@ -1,5 +1,11 @@ +if HAVE_FT2 +FT2_SUBDIRS=seeking +else +FT2_SUBDIRS= +endif + if HAVE_GTK -GTK_SUBDIRS=dynparams seeking +GTK_SUBDIRS=dynparams $(FT2_SUBDIRS) else GTK_SUBDIRS= endif