Line 0
Link Here
|
|
|
1 |
dnl |
2 |
dnl $Id: config.m4,v 1.120.2.25 2005/05/17 12:23:09 tony2001 Exp $ |
3 |
dnl |
4 |
|
5 |
dnl |
6 |
dnl Configure options |
7 |
dnl |
8 |
|
9 |
PHP_ARG_WITH(gd, for GD support, |
10 |
[ --with-gd[=DIR] Include GD support where DIR is GD install prefix. |
11 |
If DIR is not set, the bundled GD library will be used.]) |
12 |
|
13 |
if test -z "$PHP_JPEG_DIR"; then |
14 |
PHP_ARG_WITH(jpeg-dir, for the location of libjpeg, |
15 |
[ --with-jpeg-dir[=DIR] GD: Set the path to libjpeg install prefix.], no, no) |
16 |
fi |
17 |
|
18 |
if test -z "$PHP_PNG_DIR"; then |
19 |
PHP_ARG_WITH(png-dir, for the location of libpng, |
20 |
[ --with-png-dir[=DIR] GD: Set the path to libpng install prefix.], no, no) |
21 |
fi |
22 |
|
23 |
if test -z "$PHP_ZLIB_DIR"; then |
24 |
PHP_ARG_WITH(zlib-dir, for the location of libz, |
25 |
[ --with-zlib-dir[=DIR] GD: Set the path to libz install prefix.], no, no) |
26 |
fi |
27 |
|
28 |
PHP_ARG_WITH(xpm-dir, for the location of libXpm, |
29 |
[ --with-xpm-dir[=DIR] GD: Set the path to libXpm install prefix.], no, no) |
30 |
|
31 |
PHP_ARG_WITH(ttf, for FreeType 1.x support, |
32 |
[ --with-ttf[=DIR] GD: Include FreeType 1.x support], no, no) |
33 |
|
34 |
PHP_ARG_WITH(freetype-dir, for FreeType 2, |
35 |
[ --with-freetype-dir[=DIR] GD: Set the path to FreeType 2 install prefix.], no, no) |
36 |
|
37 |
PHP_ARG_WITH(t1lib, for T1lib support, |
38 |
[ --with-t1lib[=DIR] GD: Include T1lib support.], no, no) |
39 |
|
40 |
PHP_ARG_ENABLE(gd-native-ttf, whether to enable truetype string function in GD, |
41 |
[ --enable-gd-native-ttf GD: Enable TrueType string function.], no, no) |
42 |
|
43 |
PHP_ARG_ENABLE(gd-jis-conv, whether to enable JIS-mapped Japanese font support in GD, |
44 |
[ --enable-gd-jis-conv GD: Enable JIS-mapped Japanese font support.], no, no) |
45 |
|
46 |
dnl |
47 |
dnl Checks for the configure options |
48 |
dnl |
49 |
|
50 |
AC_DEFUN([PHP_GD_JPEG],[ |
51 |
if test "$PHP_JPEG_DIR" != "no"; then |
52 |
|
53 |
for j in lib64 lib; do |
54 |
for i in $PHP_JPEG_DIR /usr/local /usr; do |
55 |
if test -f "$i/$j/libjpeg.$SHLIB_SUFFIX_NAME" -o -f "$i/$j/libjpeg.a"; then |
56 |
GD_JPEG_DIR=$i |
57 |
GD_JPEG_LIB_DIR=$i/$j |
58 |
break |
59 |
fi |
60 |
done |
61 |
test -n "$GD_JPEG_DIR" && break |
62 |
done |
63 |
|
64 |
if test -z "$GD_JPEG_DIR"; then |
65 |
AC_MSG_ERROR([libjpeg.(a|so) not found.]) |
66 |
fi |
67 |
|
68 |
PHP_CHECK_LIBRARY(jpeg,jpeg_read_header, |
69 |
[ |
70 |
PHP_ADD_INCLUDE($GD_JPEG_DIR/include) |
71 |
PHP_ADD_LIBRARY_WITH_PATH(jpeg, $GD_JPEG_LIB_DIR, GD_SHARED_LIBADD) |
72 |
],[ |
73 |
AC_MSG_ERROR([Problem with libjpeg.(a|so). Please check config.log for more information.]) |
74 |
],[ |
75 |
-L$GD_JPEG_LIB_DIR |
76 |
]) |
77 |
else |
78 |
AC_MSG_RESULT([If configure fails try --with-jpeg-dir=<DIR>]) |
79 |
fi |
80 |
]) |
81 |
|
82 |
AC_DEFUN([PHP_GD_PNG],[ |
83 |
if test "$PHP_PNG_DIR" != "no"; then |
84 |
|
85 |
for j in lib64 lib; do |
86 |
for i in $PHP_PNG_DIR /usr/local /usr; do |
87 |
if test -f $"i/$j/libpng.$SHLIB_SUFFIX_NAME" -o -f "$i/$j/libpng.a"; then |
88 |
GD_PNG_DIR=$i |
89 |
GD_PNG_LIB_DIR=$i/$j |
90 |
break |
91 |
fi |
92 |
done |
93 |
test -n "$GD_PNG_DIR" && break |
94 |
done |
95 |
|
96 |
if test -z "$GD_PNG_DIR"; then |
97 |
AC_MSG_ERROR([libpng.(a|so) not found.]) |
98 |
fi |
99 |
|
100 |
if test "$PHP_ZLIB_DIR" = "no"; then |
101 |
AC_MSG_ERROR([PNG support requires ZLIB. Use --with-zlib-dir=<DIR>]) |
102 |
fi |
103 |
|
104 |
if test ! -f $GD_PNG_DIR/include/png.h; then |
105 |
AC_MSG_ERROR([png.h not found.]) |
106 |
fi |
107 |
|
108 |
PHP_CHECK_LIBRARY(png,png_write_image, |
109 |
[ |
110 |
PHP_ADD_INCLUDE($GD_PNG_DIR/include) |
111 |
PHP_ADD_LIBRARY_WITH_PATH(z, $PHP_ZLIB_LIB_DIR, GD_SHARED_LIBADD) |
112 |
PHP_ADD_LIBRARY_WITH_PATH(png, $GD_PNG_LIB_DIR, GD_SHARED_LIBADD) |
113 |
],[ |
114 |
AC_MSG_ERROR([Problem with libpng.(a|so) or libz.(a|so). Please check config.log for more information.]) |
115 |
],[ |
116 |
-L$PHP_ZLIB_LIB_DIR -lz -L$GD_PNG_LIB_DIR |
117 |
]) |
118 |
|
119 |
else |
120 |
AC_MSG_RESULT([If configure fails try --with-png-dir=<DIR> and --with-zlib-dir=<DIR>]) |
121 |
fi |
122 |
]) |
123 |
|
124 |
AC_DEFUN([PHP_GD_XPM],[ |
125 |
if test "$PHP_XPM_DIR" != "no"; then |
126 |
|
127 |
for j in lib64 lib; do |
128 |
for i in $PHP_XPM_DIR /usr/local /usr/X11R6 /usr; do |
129 |
if test -f "$i/$j/libXpm.$SHLIB_SUFFIX_NAME" -o -f "$i/$j/libXpm.a"; then |
130 |
GD_XPM_DIR=$i |
131 |
GD_XPM_LIB_DIR=$i/$j |
132 |
break |
133 |
fi |
134 |
done |
135 |
test -n "$PHP_XPM_DIR" && break |
136 |
done |
137 |
|
138 |
if test -z "$GD_XPM_DIR"; then |
139 |
AC_MSG_ERROR([libXpm.(a|so) not found.]) |
140 |
fi |
141 |
|
142 |
for i in include include/X11; do |
143 |
test -f $GD_XPM_DIR/$i/xpm.h && GD_XPM_INC=$GD_XPM_DIR/include |
144 |
done |
145 |
|
146 |
if test -z "$GD_XPM_INC"; then |
147 |
AC_MSG_ERROR([xpm.h not found.]) |
148 |
fi |
149 |
|
150 |
PHP_CHECK_LIBRARY(Xpm,XpmFreeXpmImage, |
151 |
[ |
152 |
PHP_ADD_INCLUDE($GD_XPM_INC) |
153 |
PHP_ADD_LIBRARY_WITH_PATH(Xpm, $GD_XPM_LIB_DIR, GD_SHARED_LIBADD) |
154 |
PHP_ADD_LIBRARY_WITH_PATH(X11, $GD_XPM_LIB_DIR, GD_SHARED_LIBADD) |
155 |
],[ |
156 |
AC_MSG_ERROR([Problem with libXpm.(a|so) or libX11.(a|so). Please check config.log for more information.]) |
157 |
],[ |
158 |
-L$GD_XPM_LIB_DIR -lX11 |
159 |
]) |
160 |
else |
161 |
AC_MSG_RESULT(If configure fails try --with-xpm-dir=<DIR>) |
162 |
fi |
163 |
]) |
164 |
|
165 |
AC_DEFUN([PHP_GD_FREETYPE1],[ |
166 |
if test "$PHP_TTF" != "no"; then |
167 |
if test "$PHP_FREETYPE_DIR" = "no" -o "$PHP_FREETYPE_DIR" = ""; then |
168 |
if test -n "$PHP_TTF"; then |
169 |
for j in lib64 lib; do |
170 |
for i in $PHP_TTF /usr/local /usr; do |
171 |
if test -f "$i/$j/libttf.a" -o -f "$i/$j/libttf.$SHLIB_SUFFIX_NAME"; then |
172 |
TTF_DIR=$i |
173 |
TTF_LIB_DIR=$i/$j |
174 |
if test -f "$i/include/freetype.h"; then |
175 |
unset TTF_INC_DIR |
176 |
elif test -f "$i/include/freetype/freetype.h"; then |
177 |
TTF_INC_DIR=$i/include/freetype |
178 |
elif test -f "$i/include/freetype1/freetype/freetype.h"; then |
179 |
TTF_INC_DIR=$i/include/freetype1/freetype |
180 |
else |
181 |
unset TTF_DIR |
182 |
fi |
183 |
fi |
184 |
test -n "$TTF_DIR" && break |
185 |
done |
186 |
test -n "$TTF_DIR" && break |
187 |
done |
188 |
fi |
189 |
if test -n "$TTF_DIR" ; then |
190 |
AC_DEFINE(HAVE_LIBTTF,1,[ ]) |
191 |
PHP_ADD_LIBRARY_WITH_PATH(ttf, $TTF_LIB_DIR, GD_SHARED_LIBADD) |
192 |
fi |
193 |
if test -z "$TTF_INC_DIR"; then |
194 |
TTF_INC_DIR=$TTF_DIR/include |
195 |
fi |
196 |
PHP_ADD_INCLUDE($TTF_INC_DIR) |
197 |
else |
198 |
AC_MSG_RESULT([no - FreeType 2.x is to be used instead]) |
199 |
fi |
200 |
fi |
201 |
]) |
202 |
|
203 |
AC_DEFUN([PHP_GD_FREETYPE2],[ |
204 |
if test "$PHP_FREETYPE_DIR" != "no"; then |
205 |
|
206 |
for j in lib64 lib; do |
207 |
for i in $PHP_FREETYPE_DIR /usr/local /usr; do |
208 |
if test -f "$i/include/freetype2/freetype/freetype.h" && \ |
209 |
test -f "$i/$j/libfreetype.a" -o -f "$i/$j/libfreetype.$SHLIB_SUFFIX_NAME"; then |
210 |
FREETYPE2_DIR=$i |
211 |
FREETYPE2_LIB_DIR=$i/$j |
212 |
FREETYPE2_INC_DIR=$i/include/freetype2 |
213 |
break |
214 |
fi |
215 |
done |
216 |
test -n "$FREETYPE2_DIR" && break |
217 |
done |
218 |
|
219 |
if test -n "$FREETYPE2_DIR" ; then |
220 |
PHP_ADD_LIBRARY_WITH_PATH(freetype, $FREETYPE2_LIB_DIR, GD_SHARED_LIBADD) |
221 |
PHP_ADD_INCLUDE($FREETYPE2_DIR/include) |
222 |
PHP_ADD_INCLUDE($FREETYPE2_INC_DIR) |
223 |
AC_DEFINE(USE_GD_IMGSTRTTF, 1, [ ]) |
224 |
AC_DEFINE(HAVE_LIBFREETYPE,1,[ ]) |
225 |
else |
226 |
AC_MSG_ERROR([freetype2 not found!]) |
227 |
fi |
228 |
else |
229 |
AC_MSG_RESULT([If configure fails try --with-freetype-dir=<DIR>]) |
230 |
fi |
231 |
]) |
232 |
|
233 |
AC_DEFUN([PHP_GD_T1LIB],[ |
234 |
if test "$PHP_T1LIB" != "no"; then |
235 |
|
236 |
for j in lib64 lib; do |
237 |
for i in $PHP_T1LIB /usr/local /usr; do |
238 |
if test -f "$i/include/t1lib.h" && \ |
239 |
test -f "$i/$j/libt1.a" -o -f "$i/$j/libt1.$SHLIB_SUFFIX_NAME"; then |
240 |
GD_T1_DIR=$i |
241 |
GD_T1_LIB_DIR=$i/$j |
242 |
break |
243 |
done |
244 |
test -n "$GD_T1_DIR" && break |
245 |
done |
246 |
|
247 |
if test -z "$GD_T1_DIR"; then |
248 |
AC_MSG_ERROR([Your t1lib distribution is not installed correctly. Please reinstall it.]) |
249 |
fi |
250 |
|
251 |
PHP_CHECK_LIBRARY(t1, T1_LoadFont, |
252 |
[ |
253 |
AC_DEFINE(HAVE_LIBT1,1,[ ]) |
254 |
PHP_ADD_INCLUDE($GD_T1_DIR/include) |
255 |
PHP_ADD_LIBRARY_WITH_PATH(t1, $GD_T1_LIB_DIR, GD_SHARED_LIBADD) |
256 |
],[ |
257 |
AC_MSG_ERROR([Problem with libt1.(a|so). Please check config.log for more information.]) |
258 |
],[ |
259 |
-L$GD_T1_DIR/lib |
260 |
]) |
261 |
fi |
262 |
]) |
263 |
|
264 |
AC_DEFUN([PHP_GD_TTSTR],[ |
265 |
if test "$PHP_GD_NATIVE_TTF" = "yes"; then |
266 |
AC_DEFINE(USE_GD_IMGSTRTTF, 1, [ ]) |
267 |
fi |
268 |
]) |
269 |
|
270 |
AC_DEFUN([PHP_GD_JISX0208],[ |
271 |
if test "$PHP_GD_JIS_CONV" = "yes"; then |
272 |
USE_GD_JIS_CONV=1 |
273 |
fi |
274 |
]) |
275 |
|
276 |
AC_DEFUN([PHP_GD_CHECK_VERSION],[ |
277 |
PHP_CHECK_LIBRARY(gd, gdImageString16, [AC_DEFINE(HAVE_LIBGD13, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
278 |
PHP_CHECK_LIBRARY(gd, gdImagePaletteCopy, [AC_DEFINE(HAVE_LIBGD15, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
279 |
PHP_CHECK_LIBRARY(gd, gdImageCreateFromPng, [AC_DEFINE(HAVE_GD_PNG, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
280 |
PHP_CHECK_LIBRARY(gd, gdImageCreateFromGif, [AC_DEFINE(HAVE_GD_GIF_READ, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
281 |
PHP_CHECK_LIBRARY(gd, gdImageGif, [AC_DEFINE(HAVE_GD_GIF_CREATE, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
282 |
PHP_CHECK_LIBRARY(gd, gdImageWBMP, [AC_DEFINE(HAVE_GD_WBMP, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
283 |
PHP_CHECK_LIBRARY(gd, gdImageCreateFromJpeg, [AC_DEFINE(HAVE_GD_JPG, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
284 |
PHP_CHECK_LIBRARY(gd, gdImageCreateFromXpm, [AC_DEFINE(HAVE_GD_XPM, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
285 |
PHP_CHECK_LIBRARY(gd, gdImageCreateFromGd2, [AC_DEFINE(HAVE_GD_GD2, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
286 |
PHP_CHECK_LIBRARY(gd, gdImageCreateTrueColor, [AC_DEFINE(HAVE_LIBGD20, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
287 |
PHP_CHECK_LIBRARY(gd, gdImageSetTile, [AC_DEFINE(HAVE_GD_IMAGESETTILE, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
288 |
PHP_CHECK_LIBRARY(gd, gdImageEllipse, [AC_DEFINE(HAVE_GD_IMAGEELLIPSE, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
289 |
PHP_CHECK_LIBRARY(gd, gdImageSetBrush, [AC_DEFINE(HAVE_GD_IMAGESETBRUSH, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
290 |
PHP_CHECK_LIBRARY(gd, gdImageStringTTF, [AC_DEFINE(HAVE_GD_STRINGTTF, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
291 |
PHP_CHECK_LIBRARY(gd, gdImageStringFT, [AC_DEFINE(HAVE_GD_STRINGFT, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
292 |
PHP_CHECK_LIBRARY(gd, gdImageStringFTEx, [AC_DEFINE(HAVE_GD_STRINGFTEX, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
293 |
PHP_CHECK_LIBRARY(gd, gdImageColorClosestHWB, [AC_DEFINE(HAVE_COLORCLOSESTHWB, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
294 |
PHP_CHECK_LIBRARY(gd, gdImageColorResolve, [AC_DEFINE(HAVE_GDIMAGECOLORRESOLVE, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
295 |
PHP_CHECK_LIBRARY(gd, gdImageGifCtx, [AC_DEFINE(HAVE_GD_GIF_CTX, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
296 |
PHP_CHECK_LIBRARY(gd, gdCacheCreate, [AC_DEFINE(HAVE_GD_CACHE_CREATE, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
297 |
PHP_CHECK_LIBRARY(gd, gdFontCacheShutdown, [AC_DEFINE(HAVE_GD_FONTCACHESHUTDOWN,1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
298 |
PHP_CHECK_LIBRARY(gd, gdFreeFontCache, [AC_DEFINE(HAVE_GD_FREEFONTCACHE, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
299 |
PHP_CHECK_LIBRARY(gd, gdNewDynamicCtxEx, [AC_DEFINE(HAVE_GD_DYNAMIC_CTX_EX, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
300 |
]) |
301 |
|
302 |
dnl |
303 |
dnl Main GD configure |
304 |
dnl |
305 |
|
306 |
if test "$PHP_GD" = "yes"; then |
307 |
GD_MODULE_TYPE=builtin |
308 |
extra_sources="libgd/gd.c libgd/gd_gd.c libgd/gd_gd2.c libgd/gd_io.c libgd/gd_io_dp.c \ |
309 |
libgd/gd_io_file.c libgd/gd_ss.c libgd/gd_io_ss.c libgd/gd_png.c libgd/gd_jpeg.c \ |
310 |
libgd/gdxpm.c libgd/gdfontt.c libgd/gdfonts.c libgd/gdfontmb.c libgd/gdfontl.c \ |
311 |
libgd/gdfontg.c libgd/gdtables.c libgd/gdft.c libgd/gdcache.c libgd/gdkanji.c \ |
312 |
libgd/wbmp.c libgd/gd_wbmp.c libgd/gdhelpers.c libgd/gd_topal.c libgd/gd_gif_in.c \ |
313 |
libgd/xbm.c libgd/gd_gif_out.c " |
314 |
|
315 |
dnl check for fabsf and floorf which are available since C99 |
316 |
AC_CHECK_FUNCS(fabsf floorf) |
317 |
|
318 |
dnl PNG is required by GD library |
319 |
test "$PHP_PNG_DIR" = "no" && PHP_PNG_DIR=yes |
320 |
|
321 |
dnl Various checks for GD features |
322 |
PHP_GD_TTSTR |
323 |
PHP_GD_JISX0208 |
324 |
PHP_GD_JPEG |
325 |
PHP_GD_PNG |
326 |
PHP_GD_XPM |
327 |
PHP_GD_FREETYPE2 |
328 |
PHP_GD_FREETYPE1 |
329 |
PHP_GD_T1LIB |
330 |
|
331 |
dnl These are always available with bundled library |
332 |
AC_DEFINE(HAVE_LIBGD, 1, [ ]) |
333 |
AC_DEFINE(HAVE_LIBGD13, 1, [ ]) |
334 |
AC_DEFINE(HAVE_LIBGD15, 1, [ ]) |
335 |
AC_DEFINE(HAVE_LIBGD20, 1, [ ]) |
336 |
AC_DEFINE(HAVE_LIBGD204, 1, [ ]) |
337 |
AC_DEFINE(HAVE_GD_IMAGESETTILE, 1, [ ]) |
338 |
AC_DEFINE(HAVE_GD_IMAGESETBRUSH, 1, [ ]) |
339 |
AC_DEFINE(HAVE_GDIMAGECOLORRESOLVE, 1, [ ]) |
340 |
AC_DEFINE(HAVE_COLORCLOSESTHWB, 1, [ ]) |
341 |
AC_DEFINE(HAVE_GD_WBMP, 1, [ ]) |
342 |
AC_DEFINE(HAVE_GD_GD2, 1, [ ]) |
343 |
AC_DEFINE(HAVE_GD_PNG, 1, [ ]) |
344 |
AC_DEFINE(HAVE_GD_XBM, 1, [ ]) |
345 |
AC_DEFINE(HAVE_GD_BUNDLED, 1, [ ]) |
346 |
AC_DEFINE(HAVE_GD_GIF_READ, 1, [ ]) |
347 |
AC_DEFINE(HAVE_GD_GIF_CREATE, 1, [ ]) |
348 |
AC_DEFINE(HAVE_GD_IMAGEELLIPSE, 1, [ ]) |
349 |
AC_DEFINE(HAVE_GD_FONTCACHESHUTDOWN,1, [ ]) |
350 |
AC_DEFINE(HAVE_GD_DYNAMIC_CTX_EX, 1, [ ]) |
351 |
AC_DEFINE(HAVE_GD_GIF_CTX, 1, [ ]) |
352 |
|
353 |
dnl Make sure the libgd/ is first in the include path |
354 |
GDLIB_CFLAGS="-DHAVE_LIBPNG" |
355 |
|
356 |
dnl Depending which libraries were included to PHP configure, |
357 |
dnl enable the support in bundled GD library |
358 |
|
359 |
if test -n "$GD_JPEG_DIR"; then |
360 |
AC_DEFINE(HAVE_GD_JPG, 1, [ ]) |
361 |
GDLIB_CFLAGS="$GDLIB_CFLAGS -DHAVE_LIBJPEG" |
362 |
fi |
363 |
|
364 |
if test -n "$GD_XPM_DIR"; then |
365 |
AC_DEFINE(HAVE_GD_XPM, 1, [ ]) |
366 |
GDLIB_CFLAGS="$GDLIB_CFLAGS -DHAVE_XPM" |
367 |
fi |
368 |
|
369 |
if test -n "$FREETYPE2_DIR"; then |
370 |
AC_DEFINE(HAVE_GD_STRINGFT, 1, [ ]) |
371 |
AC_DEFINE(HAVE_GD_STRINGFTEX, 1, [ ]) |
372 |
GDLIB_CFLAGS="$GDLIB_CFLAGS -DHAVE_LIBFREETYPE" |
373 |
fi |
374 |
|
375 |
if test -n "$TTF_DIR"; then |
376 |
GDLIB_CFLAGS="$GDLIB_CFLAGS -DHAVE_LIBTTF" |
377 |
fi |
378 |
|
379 |
if test -n "$USE_GD_JIS_CONV"; then |
380 |
AC_DEFINE(USE_GD_JISX0208, 1, [ ]) |
381 |
GDLIB_CFLAGS="$GDLIB_CFLAGS -DJISX0208" |
382 |
fi |
383 |
|
384 |
else |
385 |
|
386 |
if test "$PHP_GD" != "no"; then |
387 |
GD_MODULE_TYPE=external |
388 |
extra_sources="gdcache.c" |
389 |
|
390 |
dnl Various checks for GD features |
391 |
PHP_GD_TTSTR |
392 |
PHP_GD_JPEG |
393 |
PHP_GD_PNG |
394 |
PHP_GD_XPM |
395 |
PHP_GD_FREETYPE2 |
396 |
PHP_GD_FREETYPE1 |
397 |
PHP_GD_T1LIB |
398 |
|
399 |
dnl Header path |
400 |
for i in include/gd1.3 include/gd include gd1.3 gd ""; do |
401 |
test -f "$PHP_GD/$i/gd.h" && GD_INCLUDE="$PHP_GD/$i" |
402 |
done |
403 |
|
404 |
dnl Library path |
405 |
for i in lib/gd1.3 lib/gd lib lib64 gd1.3 gd ""; do |
406 |
test -f "$PHP_GD/$i/libgd.$SHLIB_SUFFIX_NAME" -o -f "$PHP_GD/$i/libgd.a" && GD_LIB="$PHP_GD/$i" |
407 |
done |
408 |
|
409 |
if test -n "$GD_INCLUDE" && test -n "$GD_LIB"; then |
410 |
PHP_ADD_LIBRARY_WITH_PATH(gd, $GD_LIB, GD_SHARED_LIBADD) |
411 |
AC_DEFINE(HAVE_LIBGD,1,[ ]) |
412 |
PHP_GD_CHECK_VERSION |
413 |
elif test -z "$GD_INCLUDE"; then |
414 |
AC_MSG_ERROR([Unable to find gd.h anywhere under $PHP_GD]) |
415 |
else |
416 |
AC_MSG_ERROR([Unable to find libgd.(a|so) anywhere under $PHP_GD]) |
417 |
fi |
418 |
|
419 |
PHP_EXPAND_PATH($GD_INCLUDE, GD_INCLUDE) |
420 |
|
421 |
dnl |
422 |
dnl Check for gd 2.0.4 greater availability |
423 |
dnl |
424 |
old_CPPFLAGS=$CPPFLAGS |
425 |
CPPFLAGS=-I$GD_INCLUDE |
426 |
AC_TRY_COMPILE([ |
427 |
#include <gd.h> |
428 |
#include <stdlib.h> |
429 |
], [ |
430 |
gdIOCtx *ctx; |
431 |
ctx = malloc(sizeof(gdIOCtx)); |
432 |
ctx->gd_free = 1; |
433 |
], [ |
434 |
AC_DEFINE(HAVE_LIBGD204, 1, [ ]) |
435 |
]) |
436 |
CPPFLAGS=$old_CPPFLAGS |
437 |
|
438 |
fi |
439 |
fi |
440 |
|
441 |
dnl |
442 |
dnl Common for both builtin and external GD |
443 |
dnl |
444 |
if test "$PHP_GD" != "no"; then |
445 |
PHP_NEW_EXTENSION(gd, gd.c gdttf.c $extra_sources, $ext_shared,, \\$(GDLIB_CFLAGS)) |
446 |
|
447 |
if test "$GD_MODULE_TYPE" = "builtin"; then |
448 |
GDLIB_CFLAGS="-I$ext_srcdir/libgd $GDLIB_CFLAGS" |
449 |
PHP_ADD_BUILD_DIR($ext_builddir/libgd) |
450 |
else |
451 |
GDLIB_CFLAGS="-I$GD_INCLUDE $GDLIB_CFLAGS" |
452 |
PHP_ADD_INCLUDE($GD_INCLUDE) |
453 |
|
454 |
PHP_CHECK_LIBRARY(gd, gdImageCreate, [], [ |
455 |
AC_MSG_ERROR([GD build test failed. Please check the config.log for details.]) |
456 |
], [ -L$GD_LIB $GD_SHARED_LIBADD ]) |
457 |
fi |
458 |
|
459 |
PHP_SUBST(GDLIB_CFLAGS) |
460 |
PHP_SUBST(GD_SHARED_LIBADD) |
461 |
fi |