From 2b88417b8cf9f64f6beea0afc80b8e6fe9cfdf38 Mon Sep 17 00:00:00 2001 From: foobar Date: Fri, 30 Nov 2001 04:46:36 +0000 Subject: [PATCH] This is better way to configure. PDFlib 3/4 can be compiled with external libs too.. --- ext/pdf/CREDITS | 2 +- ext/pdf/Makefile.in | 2 +- ext/pdf/config.m4 | 230 ++++++++++++++++++-------------------------- ext/pdf/pdf.c | 2 +- ext/pdf/php_pdf.h | 6 +- 5 files changed, 99 insertions(+), 143 deletions(-) diff --git a/ext/pdf/CREDITS b/ext/pdf/CREDITS index 1a5867bb9f..8bf39a0695 100644 --- a/ext/pdf/CREDITS +++ b/ext/pdf/CREDITS @@ -1,2 +1,2 @@ PDF -Uwe Steinmann +Uwe Steinmann, Rainer Schaaf diff --git a/ext/pdf/Makefile.in b/ext/pdf/Makefile.in index 787cabae7b..031870f807 100644 --- a/ext/pdf/Makefile.in +++ b/ext/pdf/Makefile.in @@ -1,7 +1,7 @@ LTLIBRARY_NAME = libpdf.la LTLIBRARY_SOURCES = pdf.c -LTLIBRARY_SHARED_NAME = libpdf_php.la +LTLIBRARY_SHARED_NAME = pdf.la LTLIBRARY_SHARED_LIBADD = $(PDFLIB_SHARED_LIBBADD) include $(top_srcdir)/build/dynlib.mk diff --git a/ext/pdf/config.m4 b/ext/pdf/config.m4 index 2323ad95dc..c1398642b1 100644 --- a/ext/pdf/config.m4 +++ b/ext/pdf/config.m4 @@ -2,162 +2,122 @@ dnl dnl $Id$ dnl -PHP_ARG_WITH(pdflib3,whether to include PDFlib3 support, -[ --with-pdflib3[=DIR] Include PDFlib3 support. DIR is the pdflib - base install directory, defaults to /usr/local - Set DIR to "shared" to build as dl, or "shared,DIR" - to build as dl and still specify DIR.]) +PHP_ARG_WITH(pdflib,for PDFlib support, +[ --with-pdflib[=DIR] Include PDFlib support.]) -if test "$PHP_PDFLIB3" != "no"; then +if test "$PHP_PDFLIB" != "no"; then - PHP_SUBST(PDFLIB3_SHARED_LIBADD) PHP_EXTENSION(pdf, $ext_shared) + PHP_SUBST(PDFLIB_SHARED_LIBADD) - case $PHP_PDFLIB3 in - yes) - PHP_CHECK_LIBRARY(pdf, PDF_show_boxed, [ - AC_DEFINE(HAVE_PDFLIB3,1,[ ]) - ],[ - AC_MSG_ERROR([pdflib3 extension requires at least pdflib 3.x. You may also need libtiff and libjpeg. If so, use the options --with-tiff-dir= and --with-jpeg-dir=]) - ],[ - -ltiff -ljpeg -lpng -lz - ]) - - PHP_ADD_LIBRARY(pdf,, PDFLIB3_SHARED_LIBADD) - PHP_ADD_LIBRARY(tiff,, PDFLIB3_SHARED_LIBADD) - PHP_ADD_LIBRARY(png,, PDFLIB3_SHARED_LIBADD) - PHP_ADD_LIBRARY(jpeg,, PDFLIB3_SHARED_LIBADD) - PHP_ADD_LIBRARY(z,, PDFLIB3_SHARED_LIBADD) - ;; - *) - test -f $PHP_PDFLIB3/include/pdflib.h && PDFLIB3_INCLUDE=$PHP_PDFLIB3/include - if test -n "$PDFLIB3_INCLUDE" ; then - - if test "$PHP_ZLIB_DIR" = "no"; then - AC_MSG_ERROR([PDF extension requires ZLIB. Use --with-zlib-dir=]) - fi - - PHP_ADD_LIBRARY_WITH_PATH(z, $PHP_ZLIB_DIR/lib, PDFLIB3_SHARED_LIBADD) + dnl # + dnl # Optional libraries for PDFlib + dnl # + + dnl # libjpeg + + PHP_ARG_WITH(jpeg-dir, for the location of libjpeg, + [ --with-jpeg-dir[=DIR] PDFLIB: define libjpeg install directory. (OPTIONAL for PDFlib v4)]) + + if test "$PHP_JPEG_DIR" != "no"; then + PHP_CHECK_LIBRARY(jpeg,jpeg_read_header, + [ + PHP_ADD_LIBRARY_WITH_PATH(jpeg, $PHP_JPEG_DIR/lib, PDFLIB_SHARED_LIBADD) + ],[ + AC_MSG_ERROR([libjpeg not found!]) + ],[ + -L$PHP_JPEG_DIR/lib + ]) + else + AC_MSG_WARN([If configure fails, try --with-jpeg-dir=]) + fi + + dnl # libpng + + PHP_ARG_WITH(png-dir, for the location of libpng, + [ --with-png-dir[=DIR] PDFLIB: define libpng install directory. (OPTIONAL for PDFlib v4)]) - PHP_ARG_WITH(jpeg-dir, for the location of libjpeg, - [ --with-jpeg-dir[=DIR] PDFLIB3: define libjpeg install directory]) - - if test "$PHP_JPEG_DIR" != "no"; then - PHP_CHECK_LIBRARY(jpeg,jpeg_read_header, - [ - PHP_ADD_LIBRARY_WITH_PATH(jpeg, $PHP_JPEG_DIR/lib, PDFLIB3_SHARED_LIBADD) - ],[ - AC_MSG_ERROR([libjpeg not found!]) - ],[ - -L$PHP_JPEG_DIR/lib - ]) - else - AC_CHECK_LIB(jpeg,jpeg_read_header, - [ - PHP_ADD_LIBRARY(jpeg,, PDFLIB3_SHARED_LIBADD) - ],[ - AC_MSG_RESULT(no, try --with-jpeg-dir=) - ]) - fi - + if test "$PHP_PNG_DIR" != "no"; then + PHP_CHECK_LIBRARY(png,png_create_info_struct, + [ + PHP_ADD_LIBRARY_WITH_PATH(png, $PHP_PNG_DIR/lib, PDFLIB_SHARED_LIBADD) + ],[ + AC_MSG_ERROR([libpng not found!]) + ],[ + -L$PHP_PNG_DIR/lib + ]) + else + AC_MSG_WARN([If configure fails, try --with-png-dir=]) + fi + + dnl # libtiff + + PHP_ARG_WITH(tiff-dir, for the location of libtiff, + [ --with-tiff-dir[=DIR] PDFLIB: define libtiff install directory. (OPTIONAL for PDFlib v4)]) + + if test "$PHP_TIFF_DIR" != "no"; then + PHP_CHECK_LIBRARY(tiff,TIFFOpen, + [ + PHP_ADD_LIBRARY_WITH_PATH(tiff, $PHP_TIFF_DIR/lib, PDFLIB_SHARED_LIBADD) + ],[ + AC_MSG_ERROR([libtiff not found!]) + ],[ + -L$PHP_TIFF_DIR/lib + ]) + else + AC_MSG_WARN([If configure fails, try --with-tiff-dir=]) + fi + + dnl # zlib - PHP_ARG_WITH(png-dir, for the location of libpng, - [ --with-png-dir[=DIR] PDFLIB3: define libpng install directory]) - - if test "$PHP_PNG_DIR" != "no"; then - PHP_CHECK_LIBRARY(png,png_create_info_struct, - [ - PHP_ADD_LIBRARY_WITH_PATH(png, $PHP_PNG_DIR/lib, PDFLIB3_SHARED_LIBADD) - ],[ - AC_MSG_ERROR([libpng not found!]) - ],[ - -L$PHP_PNG_DIR/lib - ]) - else - AC_CHECK_LIB(png,png_create_info_struct, - [ - PHP_ADD_LIBRARY(png,, PDFLIB3_SHARED_LIBADD) - ],[ - AC_MSG_RESULT(no, try --with-png-dir=) - ]) - fi - - - PHP_ARG_WITH(tiff-dir, for the location of libtiff, - [ --with-tiff-dir[=DIR] PDFLIB3: define libtiff install directory]) - - if test "$PHP_TIFF_DIR" != "no"; then - PHP_CHECK_LIBRARY(tiff,TIFFOpen, - [ - PHP_ADD_LIBRARY_WITH_PATH(tiff, $PHP_TIFF_DIR/lib, PDFLIB3_SHARED_LIBADD) - ],[ - AC_MSG_ERROR([libtiff not found!]) - ],[ - -L$PHP_TIFF_DIR/lib - ]) - else - AC_CHECK_LIB(tiff,TIFFOpen, - [ - PHP_ADD_LIBRARY(tiff,, PDFLIB3_SHARED_LIBADD) - ],[ - AC_MSG_RESULT(no, Try --with-tiff-dir=) - ]) - fi + AC_MSG_CHECKING([for the location of zlib]) + if test "$PHP_ZLIB_DIR" = "no"; then + AC_MSG_RESULT([no. If configure fails, try --with-zlib-dir=]) + else + AC_MSG_RESULT([$PHP_ZLIB_DIR]) + PHP_ADD_LIBRARY_WITH_PATH(z, $PHP_ZLIB_DIR/lib, PDFLIB_SHARED_LIBADD) + fi - PHP_CHECK_LIBRARY(pdf, PDF_show_boxed, - [ - AC_DEFINE(HAVE_PDFLIB3,1,[ ]) - PHP_ADD_LIBRARY_WITH_PATH(pdf, $PHP_PDFLIB3/lib, PDFLIB3_SHARED_LIBADD) - PHP_ADD_INCLUDE($PDFLIB3_INCLUDE) - ],[ - AC_MSG_ERROR([pdflib3 extension requires at least pdflib 3.x.]) - ],[ - -L$PHP_PDFLIB3/lib - ]) - fi - ;; - esac -fi - -PHP_ARG_WITH(pdflib,whether to include PDFlib support, -[ --with-pdflib[=DIR] Include PDFlib 4.x support. DIR is the PDFlib - base install directory, defaults to /usr/local - Set DIR to "shared" to build as dl, or "shared,DIR" - to build as dl and still specify DIR.]) - -if test "$PHP_PDFLIB" != "no"; then - - PHP_EXTENSION(pdf, $ext_shared) - PHP_SUBST(PDFLIB_SHARED_LIBADD) + dnl # + dnl # The main PDFlib configure + dnl # - case "$PHP_PDFLIB" in + case $PHP_PDFLIB in yes) - AC_CHECK_LIB(pdf, PDF_open_pdi, [ + PHP_CHECK_LIBRARY(pdf, PDF_show_boxed, [ AC_DEFINE(HAVE_PDFLIB,1,[ ]) PHP_ADD_LIBRARY(pdf,, PDFLIB_SHARED_LIBADD) ],[ - AC_MSG_ERROR([PDFlib extension requires at least PDFlib 4.x. To build with PDFlib 3.x you should use --with-pdflib3.]) + AC_MSG_ERROR([ +PDFlib extension requires at least pdflib 3.x. You may also need libtiff, libjpeg, libpng and libz. +Use the options --with-tiff-dir=, --with-jpeg-dir=, --with-png-dir= and --with-zlib-dir= +See config.log for more information. +]) + ],[ + -ltiff -ljpeg -lpng -lz ]) - ;; - no) - ;; + ;; *) - test -f $PHP_PDFLIB/include/pdflib.h && PDFLIB_INCLUDE="$PHP_PDFLIB/include" - if test -n "$PDFLIB_INCLUDE" ; then - PHP_CHECK_LIBRARY(pdf, PDF_open_pdi, [ - AC_DEFINE(HAVE_PDFLIB,1,[ ]) + if test -f "$PHP_PDFLIB/include/pdflib.h" ; then + + PHP_CHECK_LIBRARY(pdf, PDF_show_boxed, + [ + AC_DEFINE(HAVE_PDFLIB,1,[ ]) PHP_ADD_LIBRARY_WITH_PATH(pdf, $PHP_PDFLIB/lib, PDFLIB_SHARED_LIBADD) - PHP_ADD_INCLUDE($PDFLIB_INCLUDE) + PHP_ADD_INCLUDE($PHP_PDFLIB/include) ],[ - AC_MSG_ERROR([PDFlib extension requires PDFlib 4.x.]) + AC_MSG_ERROR([ +PDFlib extension requires at least pdflib 3.x. You may also need libtiff, libjpeg, libpng and libz. +Use the options --with-tiff-dir=, --with-jpeg-dir=, --with-png-dir= and --with-zlib-dir= +See config.log for more information. +]) ],[ -L$PHP_PDFLIB/lib ]) else - AC_MSG_ERROR([pdflib.h not found under $PHP_PDFLIB/include/]) + AC_MSG_ERROR([pdflib.h not found! Check the path passed to --with-pdflib=. PATH should be the install prefix directory.]) fi - ;; + ;; esac - fi diff --git a/ext/pdf/pdf.c b/ext/pdf/pdf.c index f1c143d220..83d379c3b0 100644 --- a/ext/pdf/pdf.c +++ b/ext/pdf/pdf.c @@ -52,7 +52,7 @@ static int le_gd; #endif /* }}} */ -#if HAVE_PDFLIB || HAVE_PDFLIB3 +#if HAVE_PDFLIB #include "php_pdf.h" diff --git a/ext/pdf/php_pdf.h b/ext/pdf/php_pdf.h index 93f148ead0..2e7dd7ba55 100644 --- a/ext/pdf/php_pdf.h +++ b/ext/pdf/php_pdf.h @@ -21,12 +21,8 @@ #ifndef PHP_PDF_H #define PHP_PDF_H -#if HAVE_PDFLIB || HAVE_PDFLIB3 +#if HAVE_PDFLIB -/* with version 2.20 of pdflib PDF_open_mem isn't available unless - the following define isn't there. -*/ -#define PDF_OPEN_MEM_SUPPORTED #include extern zend_module_entry pdf_module_entry; -- 2.50.1