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}"
16 PYTHON_LIBS="-L${py_prefix}/libs -lpython${PYTHON_VERSION}"
17 AC_SUBST(PYTHON_INCLUDES)
19 dnl check if the headers exist:
20 save_CPPFLAGS="$CPPFLAGS"
21 CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
22 AC_TRY_CPP([#include <Python.h>],dnl
25 [AC_MSG_RESULT(not found)
27 CPPFLAGS="$save_CPPFLAGS"
32 dnl @synopsis AC_CHECK_CC_OPT(flag, cachevarname)
34 dnl AC_CHECK_CC_OPT(-fvomit-frame,vomitframe)
35 dnl would show a message as like
36 dnl "checking wether gcc accepts -fvomit-frame ... no"
37 dnl and sets the shell-variable $vomitframe to either "-fvomit-frame"
38 dnl or (in this case) just a simple "". In many cases you would then call
39 dnl AC_SUBST(_fvomit_frame_,$vomitframe) to create a substitution that
40 dnl could be fed as "CFLAGS = @_funsigned_char_@ @_fvomit_frame_@
42 dnl in consequence this function is much more general than their
43 dnl specific counterparts like ac_cxx_rtti.m4 that will test for
44 dnl -fno-rtti -fno-exceptions
47 dml @author Guido Draheim <guidod@gmx.de>
49 AC_DEFUN([AC_CHECK_CC_OPT],
50 [AC_CACHE_CHECK(whether ${CC-cc} accepts [$1], [$2],
52 echo 'void f(){}' > conftest.c
53 if test -z "`${CC-cc} -c $1 conftest.c 2>&1`"; then
61 # Configure paths for FreeType2
62 # Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
63 # Renamed to VTE_CHECK_FT2 so that it doesn't get dropped, otherwise identical.
65 dnl VTE_CHECK_FT2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
66 dnl Test for FreeType2, and define FT2_CFLAGS and FT2_LIBS
68 AC_DEFUN([VTE_CHECK_FT2],
70 dnl Get the cflags and libraries from the freetype-config script
72 AC_ARG_WITH(ft-prefix,
73 [ --with-ft-prefix=PREFIX
74 Prefix where FreeType is installed (optional)],
75 ft_config_prefix="$withval", ft_config_prefix="")
76 AC_ARG_WITH(ft-exec-prefix,
77 [ --with-ft-exec-prefix=PREFIX
78 Exec prefix where FreeType is installed (optional)],
79 ft_config_exec_prefix="$withval", ft_config_exec_prefix="")
80 AC_ARG_ENABLE(freetypetest,
81 [ --disable-freetypetest Do not try to compile and run
82 a test FreeType program],
83 [], enable_fttest=yes)
85 if test x$ft_config_exec_prefix != x ; then
86 ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix"
87 if test x${FT2_CONFIG+set} != xset ; then
88 FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config
91 if test x$ft_config_prefix != x ; then
92 ft_config_args="$ft_config_args --prefix=$ft_config_prefix"
93 if test x${FT2_CONFIG+set} != xset ; then
94 FT2_CONFIG=$ft_config_prefix/bin/freetype-config
97 AC_PATH_PROG(FT2_CONFIG, freetype-config, no)
99 min_ft_version=ifelse([$1], ,6.1.0,$1)
100 AC_MSG_CHECKING(for FreeType - version >= $min_ft_version)
102 if test "$FT2_CONFIG" = "no" ; then
105 FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags`
106 FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs`
107 ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \
108 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
109 ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \
110 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
111 ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \
112 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
113 ft_min_major_version=`echo $min_ft_version | \
114 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
115 ft_min_minor_version=`echo $min_ft_version | \
116 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
117 ft_min_micro_version=`echo $min_ft_version | \
118 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
119 if test x$enable_fttest = xyes ; then
121 if test $ft_config_major_version -lt $ft_min_major_version ; then
124 if test $ft_config_major_version -eq $ft_min_major_version ; then
125 if test $ft_config_minor_version -lt $ft_min_minor_version ; then
128 if test $ft_config_minor_version -eq $ft_min_minor_version ; then
129 if test $ft_config_micro_version -lt $ft_min_micro_version ; then
136 if test x$ft_config_is_lt = xyes ; then
139 ac_save_CFLAGS="$CFLAGS"
141 CFLAGS="$CFLAGS $FT2_CFLAGS"
142 LIBS="$FT2_LIBS $LIBS"
144 dnl Sanity checks for the results of freetype-config to some extent
147 #include <ft2build.h>
148 #include FT_FREETYPE_H
158 error = FT_Init_FreeType(&library);
164 FT_Done_FreeType(library);
168 ],, no_ft=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
169 CFLAGS="$ac_save_CFLAGS"
171 fi # test $ft_config_version -lt $ft_min_version
172 fi # test x$enable_fttest = xyes
173 fi # test "$FT2_CONFIG" = "no"
174 if test x$no_ft = x ; then
176 ifelse([$2], , :, [$2])
179 if test "$FT2_CONFIG" = "no" ; then
180 echo "*** The freetype-config script installed by FreeType 2 could not be found."
181 echo "*** If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in"
182 echo "*** your path, or set the FT2_CONFIG environment variable to the"
183 echo "*** full path to freetype-config."
185 if test x$ft_config_is_lt = xyes ; then
186 echo "*** Your installed version of the FreeType 2 library is too old."
187 echo "*** If you have different versions of FreeType 2, make sure that"
188 echo "*** correct values for --with-ft-prefix or --with-ft-exec-prefix"
189 echo "*** are used, or set the FT2_CONFIG environment variable to the"
190 echo "*** full path to freetype-config."
192 echo "*** The FreeType test program failed to run. If your system uses"
193 echo "*** shared libraries and they are installed outside the normal"
194 echo "*** system library path, make sure the variable LD_LIBRARY_PATH"
195 echo "*** (or whatever is appropiate for your system) is correctly set."
200 ifelse([$3], , :, [$3])