- copy AC_CHECK_FT2 to VTE_CHECK_FT2 and use it instead -- some systems with
[vte.git] / acinclude.m4
1 dnl From msw.
2 dnl
3 dnl a macro to check for ability to create python extensions
4 dnl  AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE])
5 dnl function also defines PYTHON_INCLUDES
6 AC_DEFUN([AM_CHECK_PYTHON_HEADERS],
7 [AC_REQUIRE([AM_PATH_PYTHON])
8 AC_MSG_CHECKING(for headers required to compile python extensions)
9 dnl deduce PYTHON_INCLUDES
10 py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
11 py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
12 PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
13 if test "$py_prefix" != "$py_exec_prefix"; then
14   PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
15 fi
16 AC_SUBST(PYTHON_INCLUDES)
17 dnl check if the headers exist:
18 save_CPPFLAGS="$CPPFLAGS"
19 CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
20 AC_TRY_CPP([#include <Python.h>],dnl
21 [AC_MSG_RESULT(found)
22 $1],dnl
23 [AC_MSG_RESULT(not found)
24 $2])
25 CPPFLAGS="$save_CPPFLAGS"
26 ])
27
28 dnl From ac-archive.
29 dnl
30 dnl @synopsis AC_CHECK_CC_OPT(flag, cachevarname)
31 dnl 
32 dnl AC_CHECK_CC_OPT(-fvomit-frame,vomitframe)
33 dnl would show a message as like 
34 dnl "checking wether gcc accepts -fvomit-frame ... no"
35 dnl and sets the shell-variable $vomitframe to either "-fvomit-frame"
36 dnl or (in this case) just a simple "". In many cases you would then call 
37 dnl AC_SUBST(_fvomit_frame_,$vomitframe) to create a substitution that
38 dnl could be fed as "CFLAGS = @_funsigned_char_@ @_fvomit_frame_@
39 dnl
40 dnl in consequence this function is much more general than their 
41 dnl specific counterparts like ac_cxx_rtti.m4 that will test for
42 dnl -fno-rtti -fno-exceptions
43 dnl 
44 dnl @version $Id$
45 dml @author  Guido Draheim <guidod@gmx.de>
46
47 AC_DEFUN(AC_CHECK_CC_OPT,
48 [AC_CACHE_CHECK(whether ${CC-cc} accepts [$1], [$2],
49 [AC_SUBST($2)
50 echo 'void f(){}' > conftest.c
51 if test -z "`${CC-cc} -c $1 conftest.c 2>&1`"; then
52   $2="$1"
53 else
54   $2=""
55 fi
56 rm -f conftest*
57 ])])
58
59 # Configure paths for FreeType2
60 # Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
61 # Renamed to VTE_CHECK_FT2 so that it doesn't get dropped, otherwise identical.
62
63 dnl VTE_CHECK_FT2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
64 dnl Test for FreeType2, and define FT2_CFLAGS and FT2_LIBS
65 dnl
66 AC_DEFUN(VTE_CHECK_FT2,
67 [dnl
68 dnl Get the cflags and libraries from the freetype-config script
69 dnl
70 AC_ARG_WITH(ft-prefix,
71 [  --with-ft-prefix=PREFIX
72                           Prefix where FreeType is installed (optional)],
73             ft_config_prefix="$withval", ft_config_prefix="")
74 AC_ARG_WITH(ft-exec-prefix,
75 [  --with-ft-exec-prefix=PREFIX
76                           Exec prefix where FreeType is installed (optional)],
77             ft_config_exec_prefix="$withval", ft_config_exec_prefix="")
78 AC_ARG_ENABLE(freetypetest,
79 [  --disable-freetypetest  Do not try to compile and run
80                           a test FreeType program],
81               [], enable_fttest=yes)
82
83 if test x$ft_config_exec_prefix != x ; then
84   ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix"
85   if test x${FT2_CONFIG+set} != xset ; then
86     FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config
87   fi
88 fi
89 if test x$ft_config_prefix != x ; then
90   ft_config_args="$ft_config_args --prefix=$ft_config_prefix"
91   if test x${FT2_CONFIG+set} != xset ; then
92     FT2_CONFIG=$ft_config_prefix/bin/freetype-config
93   fi
94 fi
95 AC_PATH_PROG(FT2_CONFIG, freetype-config, no)
96
97 min_ft_version=ifelse([$1], ,6.1.0,$1)
98 AC_MSG_CHECKING(for FreeType - version >= $min_ft_version)
99 no_ft=""
100 if test "$FT2_CONFIG" = "no" ; then
101   no_ft=yes
102 else
103   FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags`
104   FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs`
105   ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \
106          sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
107   ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \
108          sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
109   ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \
110          sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
111   ft_min_major_version=`echo $min_ft_version | \
112          sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
113   ft_min_minor_version=`echo $min_ft_version | \
114          sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
115   ft_min_micro_version=`echo $min_ft_version | \
116          sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
117   if test x$enable_fttest = xyes ; then
118     ft_config_is_lt=""
119     if test $ft_config_major_version -lt $ft_min_major_version ; then
120       ft_config_is_lt=yes
121     else
122       if test $ft_config_major_version -eq $ft_min_major_version ; then
123         if test $ft_config_minor_version -lt $ft_min_minor_version ; then
124           ft_config_is_lt=yes
125         else
126           if test $ft_config_minor_version -eq $ft_min_minor_version ; then
127             if test $ft_config_micro_version -lt $ft_min_micro_version ; then
128               ft_config_is_lt=yes
129             fi
130           fi
131         fi
132       fi
133     fi
134     if test x$ft_config_is_lt = xyes ; then
135       no_ft=yes
136     else
137       ac_save_CFLAGS="$CFLAGS"
138       ac_save_LIBS="$LIBS"
139       CFLAGS="$CFLAGS $FT2_CFLAGS"
140       LIBS="$FT2_LIBS $LIBS"
141 dnl
142 dnl Sanity checks for the results of freetype-config to some extent
143 dnl
144       AC_TRY_RUN([
145 #include <ft2build.h>
146 #include FT_FREETYPE_H
147 #include <stdio.h>
148 #include <stdlib.h>
149
150 int
151 main()
152 {
153   FT_Library library;
154   FT_Error error;
155
156   error = FT_Init_FreeType(&library);
157
158   if (error)
159     return 1;
160   else
161   {
162     FT_Done_FreeType(library);
163     return 0;
164   }
165 }
166 ],, no_ft=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
167       CFLAGS="$ac_save_CFLAGS"
168       LIBS="$ac_save_LIBS"
169     fi             # test $ft_config_version -lt $ft_min_version
170   fi               # test x$enable_fttest = xyes
171 fi                 # test "$FT2_CONFIG" = "no"
172 if test x$no_ft = x ; then
173    AC_MSG_RESULT(yes)
174    ifelse([$2], , :, [$2])
175 else
176    AC_MSG_RESULT(no)
177    if test "$FT2_CONFIG" = "no" ; then
178      echo "*** The freetype-config script installed by FreeType 2 could not be found."
179      echo "*** If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in"
180      echo "*** your path, or set the FT2_CONFIG environment variable to the"
181      echo "*** full path to freetype-config."
182    else
183      if test x$ft_config_is_lt = xyes ; then
184        echo "*** Your installed version of the FreeType 2 library is too old."
185        echo "*** If you have different versions of FreeType 2, make sure that"
186        echo "*** correct values for --with-ft-prefix or --with-ft-exec-prefix"
187        echo "*** are used, or set the FT2_CONFIG environment variable to the"
188        echo "*** full path to freetype-config."
189      else
190        echo "*** The FreeType test program failed to run.  If your system uses"
191        echo "*** shared libraries and they are installed outside the normal"
192        echo "*** system library path, make sure the variable LD_LIBRARY_PATH"
193        echo "*** (or whatever is appropiate for your system) is correctly set."
194      fi
195    fi
196    FT2_CFLAGS=""
197    FT2_LIBS=""
198    ifelse([$3], , :, [$3])
199 fi
200 AC_SUBST(FT2_CFLAGS)
201 AC_SUBST(FT2_LIBS)
202 ])