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 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
23 [AC_MSG_RESULT(not found)
25 CPPFLAGS="$save_CPPFLAGS"
30 dnl @synopsis AC_CHECK_CC_OPT(flag, cachevarname)
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_@
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
45 dml @author Guido Draheim <guidod@gmx.de>
47 AC_DEFUN([AC_CHECK_CC_OPT],
48 [AC_CACHE_CHECK(whether ${CC-cc} accepts [$1], [$2],
50 echo 'void f(){}' > conftest.c
51 if test -z "`${CC-cc} -c $1 conftest.c 2>&1`"; then
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.
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
66 AC_DEFUN([VTE_CHECK_FT2],
68 dnl Get the cflags and libraries from the freetype-config script
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)
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
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
95 AC_PATH_PROG(FT2_CONFIG, freetype-config, no)
97 min_ft_version=ifelse([$1], ,6.1.0,$1)
98 AC_MSG_CHECKING(for FreeType - version >= $min_ft_version)
100 if test "$FT2_CONFIG" = "no" ; then
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
119 if test $ft_config_major_version -lt $ft_min_major_version ; then
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
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
134 if test x$ft_config_is_lt = xyes ; then
137 ac_save_CFLAGS="$CFLAGS"
139 CFLAGS="$CFLAGS $FT2_CFLAGS"
140 LIBS="$FT2_LIBS $LIBS"
142 dnl Sanity checks for the results of freetype-config to some extent
145 #include <ft2build.h>
146 #include FT_FREETYPE_H
156 error = FT_Init_FreeType(&library);
162 FT_Done_FreeType(library);
166 ],, no_ft=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
167 CFLAGS="$ac_save_CFLAGS"
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
174 ifelse([$2], , :, [$2])
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."
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."
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."
198 ifelse([$3], , :, [$3])