]> granicus.if.org Git - php/commitdiff
This patch allows compilation of gd against non-bundled gd library older
authorIlia Alshanetsky <iliaa@php.net>
Wed, 30 Oct 2002 01:05:16 +0000 (01:05 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Wed, 30 Oct 2002 01:05:16 +0000 (01:05 +0000)
then 2.0.4.

ext/gd/config.m4
ext/gd/gd.c
ext/gd/gd_ctx.c

index b13228bbf0ab6ffbca07e450a26e43df171714b0..5cc6035af73c7d64edc374eebb2f8ec76cbc94dc 100644 (file)
@@ -231,6 +231,7 @@ AC_DEFUN(PHP_GD_CHECK_VERSION,[
   PHP_CHECK_LIBRARY(gd, gdImageCreateFromXpm,   [AC_DEFINE(HAVE_GD_XPM,              1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
   PHP_CHECK_LIBRARY(gd, gdImageCreateFromGd2,   [AC_DEFINE(HAVE_GD_GD2,              1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
   PHP_CHECK_LIBRARY(gd, gdImageCreateTrueColor, [AC_DEFINE(HAVE_LIBGD20,             1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
+  PHP_CHECK_LIBRARY(gd, gdFreeFontCache,       [AC_DEFINE(HAVE_LIBGD204,            1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
   PHP_CHECK_LIBRARY(gd, gdImageSetTile,         [AC_DEFINE(HAVE_GD_IMAGESETTILE,     1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
   PHP_CHECK_LIBRARY(gd, gdImageEllipse,         [AC_DEFINE(HAVE_GD_IMAGEELLIPSE,     1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
   PHP_CHECK_LIBRARY(gd, gdImageSetBrush,        [AC_DEFINE(HAVE_GD_IMAGESETBRUSH,    1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
@@ -275,6 +276,7 @@ dnl These are always available with bundled library
   AC_DEFINE(HAVE_LIBGD13,             1, [ ])
   AC_DEFINE(HAVE_LIBGD15,             1, [ ])
   AC_DEFINE(HAVE_LIBGD20,             1, [ ])
+  AC_DEFINE(HAVE_LIBGD204,            1, [ ])  
   AC_DEFINE(HAVE_GD_IMAGESETTILE,     1, [ ])
   AC_DEFINE(HAVE_GD_IMAGESETBRUSH,    1, [ ])
   AC_DEFINE(HAVE_GDIMAGECOLORRESOLVE, 1, [ ])
index 0f560b0c01a8641927c9a44438b55008a8dbeb35..1177b095a3e407ad76a9495c12a60eeaae8fa13b 100644 (file)
@@ -1073,10 +1073,19 @@ static int _php_image_type (char data[8])
                io_ctx = gdNewDynamicCtx (8, data);
                if (io_ctx) {
                        if (getmbi((int(*)(void*))gdGetC, io_ctx) == 0 && skipheader((int(*)(void*))gdGetC, io_ctx) == 0 ) {
+#if HAVE_LIBGD204
                                io_ctx->gd_free(io_ctx);
+#else
+                               io_ctx->free(io_ctx);
+#endif                                                         
                                return PHP_GDIMG_TYPE_WBM;
-                       } else
+                       } else {
+#if HAVE_LIBGD204
                                io_ctx->gd_free(io_ctx);
+#else
+                               io_ctx->free(io_ctx);
+#endif                                                         
+                       }       
                }
        }
 #endif
@@ -1253,7 +1262,12 @@ static void _php_image_create_from(INTERNAL_FUNCTION_PARAMETERS, int image_type,
                } else {
                        im = (*ioctx_func_p)(io_ctx);
                }
+#if HAVE_LIBGD204
                io_ctx->gd_free(io_ctx);
+#else
+               io_ctx->free(io_ctx);
+#endif                                                                         
+
 #endif         
        }
        else    {
index e836757f078120eb07089e5e469c056088fae71d..8d94224816f052784644f5e96a96c1712c50370a 100644 (file)
@@ -67,7 +67,11 @@ static void _php_image_output_ctx(INTERNAL_FUNCTION_PARAMETERS, int image_type,
                ctx = emalloc(sizeof(gdIOCtx));
                ctx->putC = _php_image_output_putc;
                ctx->putBuf = _php_image_output_putbuf;
+#if HAVE_LIBGD204
                ctx->gd_free = _php_image_output_ctxfree;
+#else
+               ctx->free = _php_image_output_ctxfree;
+#endif         
 
 #if APACHE && defined(CHARSET_EBCDIC)
                /* XXX this is unlikely to work any more thies@thieso.net */
@@ -94,8 +98,12 @@ static void _php_image_output_ctx(INTERNAL_FUNCTION_PARAMETERS, int image_type,
                        (*func_p)(im, ctx);
                        break;
        }
-       
+
+#if HAVE_LIBGD204      
        ctx->gd_free(ctx);
+#else
+       ctx->free(ctx);
+#endif         
 
        if(fp) {
                fflush(fp);