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 |
---|