fixes http://bugzilla.gnome.org/show_bug.cgi?id=90839
authorThomas Vander Stichele <thomas@apestaart.org>
Sat, 17 Aug 2002 17:57:38 +0000 (17:57 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Sat, 17 Aug 2002 17:57:38 +0000 (17:57 +0000)
Original commit message from CVS:
fixes
http://bugzilla.gnome.org/show_bug.cgi?id=90839

configure.ac
examples/Makefile.am
examples/seeking/Makefile.am
m4/freetype2.m4 [new file with mode: 0644]
tests/old/examples/Makefile.am

index b10365237462eb7d886f6814d0a6882177a23f27..d0c60e6b6a5a8b3a705a404a75348e48e556f59c 100644 (file)
@@ -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 ################################################
index 84bec4658312c0a7d768e2169cc0504ad31d79bc..de3c7c439a66122f339b6dcd18962d16f772210b 100644 (file)
@@ -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
index 30003e06252623e5335227b299e0f9dda933bb55..b1dac9c48114a8b5fd0f957a0ecd433afae8bb44 100644 (file)
@@ -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 (file)
index 0000000..21c6445
--- /dev/null
@@ -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 <ft2build.h>
+#include FT_FREETYPE_H
+#include <stdio.h>
+#include <stdlib.h>
+
+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)
+])
index 84bec4658312c0a7d768e2169cc0504ad31d79bc..de3c7c439a66122f339b6dcd18962d16f772210b 100644 (file)
@@ -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