Merge 25584, 25588.
[reactos.git] / reactos / dll / 3rdparty / freetype / builds / unix / freetype2.m4
1 # Configure paths for FreeType2
2 # Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
3 #
4 # Copyright 2001, 2003 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 2
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 AC_PATH_PROG([FT2_CONFIG], [freetype-config], [no])
64
65 min_ft_version=m4_if([$1], [], [7.0.1], [$1])
66 AC_MSG_CHECKING([for FreeType -- version >= $min_ft_version])
67 no_ft=""
68 if test "$FT2_CONFIG" = "no" ; then
69 no_ft=yes
70 else
71 FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags`
72 FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs`
73 ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \
74 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
75 ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \
76 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
77 ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \
78 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
79 ft_min_major_version=`echo $min_ft_version | \
80 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
81 ft_min_minor_version=`echo $min_ft_version | \
82 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
83 ft_min_micro_version=`echo $min_ft_version | \
84 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
85 if test x$enable_fttest = xyes ; then
86 ft_config_is_lt=""
87 if test $ft_config_major_version -lt $ft_min_major_version ; then
88 ft_config_is_lt=yes
89 else
90 if test $ft_config_major_version -eq $ft_min_major_version ; then
91 if test $ft_config_minor_version -lt $ft_min_minor_version ; then
92 ft_config_is_lt=yes
93 else
94 if test $ft_config_minor_version -eq $ft_min_minor_version ; then
95 if test $ft_config_micro_version -lt $ft_min_micro_version ; then
96 ft_config_is_lt=yes
97 fi
98 fi
99 fi
100 fi
101 fi
102 if test x$ft_config_is_lt = xyes ; then
103 no_ft=yes
104 else
105 ac_save_CFLAGS="$CFLAGS"
106 ac_save_LIBS="$LIBS"
107 CFLAGS="$CFLAGS $FT2_CFLAGS"
108 LIBS="$FT2_LIBS $LIBS"
109
110 #
111 # Sanity checks for the results of freetype-config to some extent.
112 #
113 AC_RUN_IFELSE([
114 AC_LANG_SOURCE([[
115
116 #include <ft2build.h>
117 #include FT_FREETYPE_H
118 #include <stdio.h>
119 #include <stdlib.h>
120
121 int
122 main()
123 {
124 FT_Library library;
125 FT_Error error;
126
127 error = FT_Init_FreeType(&library);
128
129 if (error)
130 return 1;
131 else
132 {
133 FT_Done_FreeType(library);
134 return 0;
135 }
136 }
137
138 ]])
139 ],
140 [],
141 [no_ft=yes],
142 [echo $ECHO_N "cross compiling; assuming OK... $ECHO_C"])
143
144 CFLAGS="$ac_save_CFLAGS"
145 LIBS="$ac_save_LIBS"
146 fi # test $ft_config_version -lt $ft_min_version
147 fi # test x$enable_fttest = xyes
148 fi # test "$FT2_CONFIG" = "no"
149
150 if test x$no_ft = x ; then
151 AC_MSG_RESULT([yes])
152 m4_if([$2], [], [:], [$2])
153 else
154 AC_MSG_RESULT([no])
155 if test "$FT2_CONFIG" = "no" ; then
156 AC_MSG_WARN([
157
158 The freetype-config script installed by FreeType 2 could not be found.
159 If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in
160 your path, or set the FT2_CONFIG environment variable to the
161 full path to freetype-config.
162 ])
163 else
164 if test x$ft_config_is_lt = xyes ; then
165 AC_MSG_WARN([
166
167 Your installed version of the FreeType 2 library is too old.
168 If you have different versions of FreeType 2, make sure that
169 correct values for --with-ft-prefix or --with-ft-exec-prefix
170 are used, or set the FT2_CONFIG environment variable to the
171 full path to freetype-config.
172 ])
173 else
174 AC_MSG_WARN([
175
176 The FreeType test program failed to run. If your system uses
177 shared libraries and they are installed outside the normal
178 system library path, make sure the variable LD_LIBRARY_PATH
179 (or whatever is appropiate for your system) is correctly set.
180 ])
181 fi
182 fi
183
184 FT2_CFLAGS=""
185 FT2_LIBS=""
186 m4_if([$3], [], [:], [$3])
187 fi
188
189 AC_SUBST([FT2_CFLAGS])
190 AC_SUBST([FT2_LIBS])])
191
192 # end of freetype2.m4