|
1 # Configure paths for FreeType2 |
|
2 # Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor |
|
3 # |
|
4 # Copyright 2001, 2003, 2007, 2009 by |
|
5 # David Turner, Robert Wilhelm, and Werner Lemberg. |
|
6 # |
|
7 # This file is part of the FreeType project, and may only be used, modified, |
|
8 # and distributed under the terms of the FreeType project license, |
|
9 # LICENSE.TXT. By continuing to use, modify, or distribute this file you |
|
10 # indicate that you have read the license and understand and accept it |
|
11 # fully. |
|
12 # |
|
13 # As a special exception to the FreeType project license, this file may be |
|
14 # distributed as part of a program that contains a configuration script |
|
15 # generated by Autoconf, under the same distribution terms as the rest of |
|
16 # that program. |
|
17 # |
|
18 # serial 3 |
|
19 |
|
20 # AC_CHECK_FT2([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) |
|
21 # Test for FreeType 2, and define FT2_CFLAGS and FT2_LIBS. |
|
22 # MINIMUM-VERSION is what libtool reports; the default is `7.0.1' (this is |
|
23 # FreeType 2.0.4). |
|
24 # |
|
25 AC_DEFUN([AC_CHECK_FT2], |
|
26 [# Get the cflags and libraries from the freetype-config script |
|
27 # |
|
28 AC_ARG_WITH([ft-prefix], |
|
29 dnl don't quote AS_HELP_STRING! |
|
30 AS_HELP_STRING([--with-ft-prefix=PREFIX], |
|
31 [Prefix where FreeType is installed (optional)]), |
|
32 [ft_config_prefix="$withval"], |
|
33 [ft_config_prefix=""]) |
|
34 |
|
35 AC_ARG_WITH([ft-exec-prefix], |
|
36 dnl don't quote AS_HELP_STRING! |
|
37 AS_HELP_STRING([--with-ft-exec-prefix=PREFIX], |
|
38 [Exec prefix where FreeType is installed (optional)]), |
|
39 [ft_config_exec_prefix="$withval"], |
|
40 [ft_config_exec_prefix=""]) |
|
41 |
|
42 AC_ARG_ENABLE([freetypetest], |
|
43 dnl don't quote AS_HELP_STRING! |
|
44 AS_HELP_STRING([--disable-freetypetest], |
|
45 [Do not try to compile and run a test FreeType program]), |
|
46 [], |
|
47 [enable_fttest=yes]) |
|
48 |
|
49 if test x$ft_config_exec_prefix != x ; then |
|
50 ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix" |
|
51 if test x${FT2_CONFIG+set} != xset ; then |
|
52 FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config |
|
53 fi |
|
54 fi |
|
55 |
|
56 if test x$ft_config_prefix != x ; then |
|
57 ft_config_args="$ft_config_args --prefix=$ft_config_prefix" |
|
58 if test x${FT2_CONFIG+set} != xset ; then |
|
59 FT2_CONFIG=$ft_config_prefix/bin/freetype-config |
|
60 fi |
|
61 fi |
|
62 |
|
63 if test "x$FT2_CONFIG" = x ; then |
|
64 AC_PATH_PROG([FT2_CONFIG], [freetype-config], [no]) |
|
65 fi |
|
66 |
|
67 min_ft_version=m4_if([$1], [], [7.0.1], [$1]) |
|
68 AC_MSG_CHECKING([for FreeType -- version >= $min_ft_version]) |
|
69 no_ft="" |
|
70 if test "$FT2_CONFIG" = "no" ; then |
|
71 no_ft=yes |
|
72 else |
|
73 FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags` |
|
74 FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs` |
|
75 ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \ |
|
76 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` |
|
77 ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \ |
|
78 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` |
|
79 ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \ |
|
80 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` |
|
81 ft_min_major_version=`echo $min_ft_version | \ |
|
82 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` |
|
83 ft_min_minor_version=`echo $min_ft_version | \ |
|
84 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` |
|
85 ft_min_micro_version=`echo $min_ft_version | \ |
|
86 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` |
|
87 if test x$enable_fttest = xyes ; then |
|
88 ft_config_is_lt="" |
|
89 if test $ft_config_major_version -lt $ft_min_major_version ; then |
|
90 ft_config_is_lt=yes |
|
91 else |
|
92 if test $ft_config_major_version -eq $ft_min_major_version ; then |
|
93 if test $ft_config_minor_version -lt $ft_min_minor_version ; then |
|
94 ft_config_is_lt=yes |
|
95 else |
|
96 if test $ft_config_minor_version -eq $ft_min_minor_version ; then |
|
97 if test $ft_config_micro_version -lt $ft_min_micro_version ; then |
|
98 ft_config_is_lt=yes |
|
99 fi |
|
100 fi |
|
101 fi |
|
102 fi |
|
103 fi |
|
104 if test x$ft_config_is_lt = xyes ; then |
|
105 no_ft=yes |
|
106 else |
|
107 ac_save_CFLAGS="$CFLAGS" |
|
108 ac_save_LIBS="$LIBS" |
|
109 CFLAGS="$CFLAGS $FT2_CFLAGS" |
|
110 LIBS="$FT2_LIBS $LIBS" |
|
111 |
|
112 # |
|
113 # Sanity checks for the results of freetype-config to some extent. |
|
114 # |
|
115 AC_RUN_IFELSE([ |
|
116 AC_LANG_SOURCE([[ |
|
117 |
|
118 #include <ft2build.h> |
|
119 #include FT_FREETYPE_H |
|
120 #include <stdio.h> |
|
121 #include <stdlib.h> |
|
122 |
|
123 int |
|
124 main() |
|
125 { |
|
126 FT_Library library; |
|
127 FT_Error error; |
|
128 |
|
129 error = FT_Init_FreeType(&library); |
|
130 |
|
131 if (error) |
|
132 return 1; |
|
133 else |
|
134 { |
|
135 FT_Done_FreeType(library); |
|
136 return 0; |
|
137 } |
|
138 } |
|
139 |
|
140 ]]) |
|
141 ], |
|
142 [], |
|
143 [no_ft=yes], |
|
144 [echo $ECHO_N "cross compiling; assuming OK... $ECHO_C"]) |
|
145 |
|
146 CFLAGS="$ac_save_CFLAGS" |
|
147 LIBS="$ac_save_LIBS" |
|
148 fi # test $ft_config_version -lt $ft_min_version |
|
149 fi # test x$enable_fttest = xyes |
|
150 fi # test "$FT2_CONFIG" = "no" |
|
151 |
|
152 if test x$no_ft = x ; then |
|
153 AC_MSG_RESULT([yes]) |
|
154 m4_if([$2], [], [:], [$2]) |
|
155 else |
|
156 AC_MSG_RESULT([no]) |
|
157 if test "$FT2_CONFIG" = "no" ; then |
|
158 AC_MSG_WARN([ |
|
159 |
|
160 The freetype-config script installed by FreeType 2 could not be found. |
|
161 If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in |
|
162 your path, or set the FT2_CONFIG environment variable to the |
|
163 full path to freetype-config. |
|
164 ]) |
|
165 else |
|
166 if test x$ft_config_is_lt = xyes ; then |
|
167 AC_MSG_WARN([ |
|
168 |
|
169 Your installed version of the FreeType 2 library is too old. |
|
170 If you have different versions of FreeType 2, make sure that |
|
171 correct values for --with-ft-prefix or --with-ft-exec-prefix |
|
172 are used, or set the FT2_CONFIG environment variable to the |
|
173 full path to freetype-config. |
|
174 ]) |
|
175 else |
|
176 AC_MSG_WARN([ |
|
177 |
|
178 The FreeType test program failed to run. If your system uses |
|
179 shared libraries and they are installed outside the normal |
|
180 system library path, make sure the variable LD_LIBRARY_PATH |
|
181 (or whatever is appropriate for your system) is correctly set. |
|
182 ]) |
|
183 fi |
|
184 fi |
|
185 |
|
186 FT2_CFLAGS="" |
|
187 FT2_LIBS="" |
|
188 m4_if([$3], [], [:], [$3]) |
|
189 fi |
|
190 |
|
191 AC_SUBST([FT2_CFLAGS]) |
|
192 AC_SUBST([FT2_LIBS])]) |
|
193 |
|
194 # end of freetype2.m4 |