summaryrefslogtreecommitdiff
path: root/ext/gd/config.m4
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2013-04-25 13:39:35 +0200
committerRemi Collet <remi@php.net>2013-05-04 16:49:35 +0200
commit6aedadce0a65ea4de3a971cb3aaee1cadade2c8d (patch)
treeb69dceca66d4071c0d7042209d826f944ea11a94 /ext/gd/config.m4
parent9155d17fefec7c2a71e1c0b8d8324d5e1fa43433 (diff)
downloadphp-git-6aedadce0a65ea4de3a971cb3aaee1cadade2c8d.tar.gz
Allow to use new GD-2.1.0 function from system library
Diffstat (limited to 'ext/gd/config.m4')
-rw-r--r--ext/gd/config.m442
1 files changed, 27 insertions, 15 deletions
diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
index 9152c1926f..255035a924 100644
--- a/ext/gd/config.m4
+++ b/ext/gd/config.m4
@@ -288,6 +288,7 @@ AC_DEFUN([PHP_GD_CHECK_VERSION],[
PHP_CHECK_LIBRARY(gd, gdImagePixelate, [AC_DEFINE(HAVE_GD_IMAGE_PIXELATE, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
PHP_CHECK_LIBRARY(gd, gdImageFlipBoth, [AC_DEFINE(HAVE_GD_IMAGE_FLIP, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
PHP_CHECK_LIBRARY(gd, gdImageCreateFromJpegEx,[AC_DEFINE(HAVE_GD_JPGEX, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
+ PHP_CHECK_LIBRARY(gd, gdSetErrorMethod, [AC_DEFINE(HAVE_LIBGD21, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
])
dnl
@@ -328,6 +329,7 @@ dnl These are always available with bundled library
AC_DEFINE(HAVE_LIBGD15, 1, [ ])
AC_DEFINE(HAVE_LIBGD20, 1, [ ])
AC_DEFINE(HAVE_LIBGD204, 1, [ ])
+ AC_DEFINE(HAVE_LIBGD21, 1, [ ])
AC_DEFINE(HAVE_GD_IMAGESETTILE, 1, [ ])
AC_DEFINE(HAVE_GD_IMAGESETBRUSH, 1, [ ])
AC_DEFINE(HAVE_GDIMAGECOLORRESOLVE, 1, [ ])
@@ -384,8 +386,12 @@ else
if test "$PHP_GD" != "no"; then
GD_MODULE_TYPE=external
- extra_sources="gdcache.c libgd/gd_compat.c libgd/gd_filter.c libgd/gd_pixelate.c libgd/gd_arc.c \
- libgd/gd_rotate.c libgd/gd_color.c"
+ if test -n "$HAVE_LIBGD21"; then
+ extra_sources="libgd/gd_compat.c"
+ else
+ extra_sources="gdcache.c libgd/gd_compat.c libgd/gd_filter.c libgd/gd_pixelate.c libgd/gd_arc.c \
+ libgd/gd_rotate.c libgd/gd_color.c"
+ fi
dnl Various checks for GD features
PHP_GD_ZLIB
@@ -419,22 +425,26 @@ dnl Library path
PHP_EXPAND_PATH($GD_INCLUDE, GD_INCLUDE)
- dnl
- dnl Check for gd 2.0.4 greater availability
- dnl
- old_CPPFLAGS=$CPPFLAGS
- CPPFLAGS=-I$GD_INCLUDE
- AC_TRY_COMPILE([
+ if test -n "$HAVE_LIBGD21"; then
+ AC_DEFINE(HAVE_LIBGD204, 1, [ ])
+ else
+ dnl
+ dnl Check for gd 2.0.4 greater availability
+ dnl
+ old_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS=-I$GD_INCLUDE
+ AC_TRY_COMPILE([
#include <gd.h>
#include <stdlib.h>
], [
gdIOCtx *ctx;
ctx = malloc(sizeof(gdIOCtx));
ctx->gd_free = 1;
- ], [
- AC_DEFINE(HAVE_LIBGD204, 1, [ ])
- ])
- CPPFLAGS=$old_CPPFLAGS
+ ], [
+ AC_DEFINE(HAVE_LIBGD204, 1, [ ])
+ ])
+ CPPFLAGS=$old_CPPFLAGS
+ fi
fi
fi
@@ -445,9 +455,8 @@ dnl
if test "$PHP_GD" != "no"; then
PHP_NEW_EXTENSION(gd, gd.c $extra_sources, $ext_shared,, \\$(GDLIB_CFLAGS))
- PHP_ADD_BUILD_DIR($ext_builddir/libgd)
-
- if test "$GD_MODULE_TYPE" = "builtin"; then
+ if test "$GD_MODULE_TYPE" = "builtin"; then
+ PHP_ADD_BUILD_DIR($ext_builddir/libgd)
GDLIB_CFLAGS="-I$ext_srcdir/libgd $GDLIB_CFLAGS"
GD_HEADER_DIRS="ext/gd/ ext/gd/libgd/"
@@ -455,6 +464,9 @@ if test "$PHP_GD" != "no"; then
AC_MSG_ERROR([GD build test failed. Please check the config.log for details.])
], [ $GD_SHARED_LIBADD ], [char foobar () {}])
else
+ if test "$HAVE_LIBGD21" = "no"; then
+ PHP_ADD_BUILD_DIR($ext_builddir/libgd)
+ fi
GD_HEADER_DIRS="ext/gd/"
GDLIB_CFLAGS="-I$GD_INCLUDE $GDLIB_CFLAGS"
PHP_ADD_INCLUDE($GD_INCLUDE)