Bug 410986 – Fails to build with -z defs
[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 PYTHON_LIBS="-L${py_prefix}/libs -lpython${PYTHON_VERSION}"
17 AC_SUBST(PYTHON_INCLUDES)
18 AC_SUBST(PYTHON_LIBS)
19 dnl check if the headers exist:
20 save_CPPFLAGS="$CPPFLAGS"
21 CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
22 AC_TRY_CPP([#include <Python.h>],dnl
23 [AC_MSG_RESULT(found)
24 $1],dnl
25 [AC_MSG_RESULT(not found)
26 $2])
27 CPPFLAGS="$save_CPPFLAGS"
28 ])
29
30 dnl From ac-archive.
31 dnl
32 dnl @synopsis AC_CHECK_CC_OPT(flag, cachevarname)
33 dnl 
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_@
41 dnl
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
45 dnl 
46 dnl @version $Id$
47 dml @author  Guido Draheim <guidod@gmx.de>
48
49 AC_DEFUN([AC_CHECK_CC_OPT],
50 [AC_CACHE_CHECK(whether ${CC-cc} accepts [$1], [$2],
51 [AC_SUBST($2)
52 echo 'void f(){}' > conftest.c
53 if test -z "`${CC-cc} -c $1 conftest.c 2>&1`"; then
54   $2="$1"
55 else
56   $2=""
57 fi
58 rm -f conftest*
59 ])])
60
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.
64
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
67 dnl
68 AC_DEFUN([VTE_CHECK_FT2],
69 [dnl
70 dnl Get the cflags and libraries from the freetype-config script
71 dnl
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)
84
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
89   fi
90 fi
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
95   fi
96 fi
97 AC_PATH_PROG(FT2_CONFIG, freetype-config, no)
98
99 min_ft_version=ifelse([$1], ,6.1.0,$1)
100 AC_MSG_CHECKING(for FreeType - version >= $min_ft_version)
101 no_ft=""
102 if test "$FT2_CONFIG" = "no" ; then
103   no_ft=yes
104 else
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
120     ft_config_is_lt=""
121     if test $ft_config_major_version -lt $ft_min_major_version ; then
122       ft_config_is_lt=yes
123     else
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
126           ft_config_is_lt=yes
127         else
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
130               ft_config_is_lt=yes
131             fi
132           fi
133         fi
134       fi
135     fi
136     if test x$ft_config_is_lt = xyes ; then
137       no_ft=yes
138     else
139       ac_save_CFLAGS="$CFLAGS"
140       ac_save_LIBS="$LIBS"
141       CFLAGS="$CFLAGS $FT2_CFLAGS"
142       LIBS="$FT2_LIBS $LIBS"
143 dnl
144 dnl Sanity checks for the results of freetype-config to some extent
145 dnl
146       AC_TRY_RUN([
147 #include <ft2build.h>
148 #include FT_FREETYPE_H
149 #include <stdio.h>
150 #include <stdlib.h>
151
152 int
153 main()
154 {
155   FT_Library library;
156   FT_Error error;
157
158   error = FT_Init_FreeType(&library);
159
160   if (error)
161     return 1;
162   else
163   {
164     FT_Done_FreeType(library);
165     return 0;
166   }
167 }
168 ],, no_ft=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
169       CFLAGS="$ac_save_CFLAGS"
170       LIBS="$ac_save_LIBS"
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
175    AC_MSG_RESULT(yes)
176    ifelse([$2], , :, [$2])
177 else
178    AC_MSG_RESULT(no)
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."
184    else
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."
191      else
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."
196      fi
197    fi
198    FT2_CFLAGS=""
199    FT2_LIBS=""
200    ifelse([$3], , :, [$3])
201 fi
202 AC_SUBST(FT2_CFLAGS)
203 AC_SUBST(FT2_LIBS)
204 ])