Date: 10/13/00
- Next message: Andi Gutmans: "[PHP-DEV] Re: UdmSearch"
- Previous message: Mathieu Kooiman (ggInternet): "[PHP-DEV] Some trouble with pdflib"
- In reply to: Mathieu Kooiman (ggInternet): "[PHP-DEV] Some trouble with pdflib"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
(CC Uwe, PDF extension maintainer)
"Mathieu Kooiman (ggInternet)" <caps <email protected>> wrote:
> it tries to compile it with -ljpeg -ltiff -lpng
> is this really neccesary? also, this being hardcoded in doesn't
> seem like a good thing, its possible for a user not to have
> libtiff or libjpeg.
I have a patch-suggestion (attached) which should handle this. The patch
also makes it possible to compile the PDF-extension as a shared module.
What do you think, Uwe?
-- Greetings from Troels Arvin, Copenhagen, Denmark
diff -urN php-cvs/ext/pdf/Makefile.in php-new/ext/pdf/Makefile.in --- php-cvs/ext/pdf/Makefile.in Tue May 2 00:38:31 2000 +++ php-new/ext/pdf/Makefile.in Mon Sep 11 03:26:28 2000 @@ -1,5 +1,7 @@ LTLIBRARY_NAME = libpdf.la LTLIBRARY_SOURCES = pdf.c +LTLIBRARY_SHARED_NAME = pdf.la +LTLIBRARY_SHARED_LIBADD = $(PDFLIB_SHARED_LIBADD) include $(top_srcdir)/build/dynlib.mk diff -urN php-cvs/ext/pdf/config.m4 php-new/ext/pdf/config.m4 --- php-cvs/ext/pdf/config.m4 Sun Mar 26 21:47:25 2000 +++ php-new/ext/pdf/config.m4 Fri Oct 6 15:44:23 2000 @@ -1,124 +1,149 @@ dnl $Id: config.m4,v 1.13 2000/03/26 19:47:25 sas Exp $ -AC_MSG_CHECKING(whether to include Pdflib 3.x support) -AC_ARG_WITH(pdflib, -[ --with-pdflib[=DIR] Include pdflib 3.x support. - DIR is the pdflib install directory, - defaults to /usr/local.], -[ -echo $withval - case "$withval" in - no) - AC_MSG_RESULT(no) ;; - yes) - AC_MSG_RESULT(yes) - PHP_EXTENSION(pdf) - old_LDFLAGS=$LDFLAGS - old_LIBS=$LIBS - LIBS="$LIBS -ltiff -ljpeg -lpng -lz" - AC_CHECK_LIB(pdf, PDF_show_boxed, [AC_DEFINE(HAVE_PDFLIB,1,[ ])], - [AC_MSG_ERROR(pdflib extension requires at least pdflib 3.x. You may also need libtiff and libjpeg. If so, use the options --with-tiff-dir=<DIR> and --with-jpeg-dir=<DIR>)]) - LIBS=$old_LIBS - LDFLAGS=$old_LDFLAGS - AC_ADD_LIBRARY(pdf) - AC_ADD_LIBRARY(tiff) - AC_ADD_LIBRARY(png) - AC_ADD_LIBRARY(jpeg) - AC_ADD_LIBRARY(z) - ;; - *) - test -f $withval/include/pdflib.h && PDFLIB_INCLUDE="$withval/include" - if test -n "$PDFLIB_INCLUDE" ; then - AC_MSG_RESULT(yes) - PHP_EXTENSION(pdf) - old_withval=$withval - - if test $HAVE_ZLIB; then - AC_MSG_CHECKING([for zlib (needed by pdflib 3.x)]) - AC_ARG_WITH(zlib-dir, - [ --with-zlib-dir[=DIR] zlib dir for pdflib 3.x or include zlib support],[ - if test -z $withval; then - withval="/usr/local" - fi - old_LIBS=$LIBS - LIBS="$LIBS -L$withval/lib" - AC_CHECK_LIB(z,deflate, [PDFLIB_LIBS="-L$withval/lib -lz"],[AC_MSG_RESULT(no)],) - LIBS=$old_LIBS - AC_ADD_LIBRARY_WITH_PATH(z, $withval/lib) - ],[ - AC_CHECK_LIB(z,deflate, ,[AC_MSG_RESULT(no, try --with-zlib=<DIR>)],) - AC_ADD_LIBRARY(z) - LIBS="$LIBS -lz" - ]) - else - echo "checking for libz needed by pdflib 3.x... already zlib support" - PDFLIB_LIBS="$ZLIB_LIBS" - LIBS="$LIBS -lz" - fi - - AC_ARG_WITH(jpeg-dir, - [ --with-jpeg-dir[=DIR] jpeg dir for pdflib 3.x],[ - if test -z $withval; then - withval="/usr/local" - fi - old_LIBS=$LIBS - LIBS="$LIBS -L$withval/lib" - AC_CHECK_LIB(jpeg,jpeg_read_header, [PDFLIB_LIBS="$PDFLIB_LIBS -L$withval/lib -ljpeg"],[AC_MSG_RESULT(no)],) - LIBS=$old_LIBS - AC_ADD_LIBRARY_WITH_PATH(jpeg, $withval/lib) - LIBS="$LIBS -L$withval/lib -ljpeg" - ],[ - AC_CHECK_LIB(jpeg,jpeg_read_header, ,[AC_MSG_RESULT(no, try --with-jpeg-dir=<DIR>)],) - AC_ADD_LIBRARY(jpeg) - LIBS="$LIBS -ljpeg" - ]) - - AC_ARG_WITH(png-dir, - [ --with-png-dir[=DIR] png dir for pdflib 3.x],[ - if test -z $withval; then - withval="/usr/local" - fi - old_LIBS=$LIBS - LIBS="$LIBS -L$withval/lib" - AC_CHECK_LIB(png,png_create_info_struct, [PDFLIB_LIBS="$PDFLIB_LIBS -L$withval/lib -lpng"],[AC_MSG_RESULT(no)],) - LIBS=$old_LIBS - AC_ADD_LIBRARY_WITH_PATH(png, $withval/lib) - LIBS="$LIBS -L$withval/lib -lpng" - ],[ - AC_CHECK_LIB(png,png_create_info_struct, ,[AC_MSG_RESULT(no, try --with-png-dir=<DIR>)],) - AC_ADD_LIBRARY(png) - LIBS="$LIBS -lpng" - ]) - - AC_ARG_WITH(tiff-dir, - [ --with-tiff-dir[=DIR] tiff dir for pdflib 3.x],[ - if test -z $withval; then - withval="/usr/local" - fi - old_LIBS=$LIBS - LIBS="$LIBS -L$withval/lib" - AC_CHECK_LIB(tiff,TIFFOpen, [PDFLIB_LIBS="$PDFLIB_LIBS -L$withval/lib -ltiff"],[AC_MSG_RESULT(no)],) - LIBS=$old_LIBS - AC_ADD_LIBRARY_WITH_PATH(tiff, $withval/lib) - LIBS="$LIBS -L$withval/lib -ltiff" - ],[ - AC_CHECK_LIB(tiff,TIFFOpen, ,[AC_MSG_RESULT(no, Try --with-tiff-dir=<DIR>)],) - AC_ADD_LIBRARY(tiff) - LIBS="$LIBS -ltiff" - ]) - withval=$old_withval - - old_LIBS=$LIBS - LIBS="$LIBS -L$withval/lib" - AC_CHECK_LIB(pdf, PDF_show_boxed, [AC_DEFINE(HAVE_PDFLIB,1,[ ]) PDFLIB_LIBS="$PDFLIB_LIBS -L$withval/lib -lpdf"], - [AC_MSG_ERROR(pdflib extension requires pdflib 3.x.)]) - LIBS=$old_LIBS - AC_ADD_LIBRARY_WITH_PATH(pdf, $withval/lib) - AC_ADD_INCLUDE($PDFLIB_INCLUDE) - else - AC_MSG_RESULT(no) - fi ;; - esac -],[ - AC_MSG_RESULT(no) +AC_DEFUN(AC_TEMP_LDFLAGS,[ + old_LDFLAGS="$LDFLAGS" + LDFLAGS="$1 $LDFLAGS" + $2 + LDFLAGS="$old_LDFLAGS" ]) + +AC_DEFUN(PHP_PDFLIB_JPEG,[ + PHP_ARG_WITH(jpeg-dir,whether to include jpeg support in pdf, + [ --with-jpeg-dir[=DIR] Path to libjpeg dir (needed by pdflib)]) + + if test "$PHP_JPEG-DIR" != "no"; then + for i in /usr/local /usr $PHP_JPEG-DIR; do + if test -f $i/include/jpeg/jpeglib.h; then + JPEG_DIR=$i + JPEG_INCDIR=$i/include/jpeg + elif test -f $i/include/jpeglib.h; then + JPEG_DIR=$i + JPEG_INCDIR=$i/include + fi + done + if test -z "$JPEG_DIR"; then + AC_MSG_ERROR(Cannot find libjpeg) + fi + JPEG_LIBDIR=$JPEG_DIR/lib + AC_TEMP_LDFLAGS(-L$JPEG_LIBDIR,[ + AC_CHECK_LIB(jpeg, jpeg_read_header, [AC_ADD_LIBRARY_WITH_PATH(jpeg, $JPEG_LIBDIR, PDFLIB_SHARED_LIBADD)], + [AC_MSG_ERROR(pdflib module requires libjpeg)]) + ]) + AC_ADD_INCLUDE($JPEG_INCDIR) + fi +]) + +AC_DEFUN(PHP_PDFLIB_PNG,[ + + PHP_ARG_WITH(png-dir,whether to include png support, + [ --with-png-dir[=DIR] Path to libpng dir (needed by pdflib)]) + + if test "$PHP_PNG-DIR" != "no"; then + for i in /usr/local /usr $PHP_PNG-DIR; do + if test -f $i/include/png/png.h; then + PNG_DIR=$i + PNG_INCDIR=$i/include/png + elif test -f $i/include/png.h; then + PNG_DIR=$i + PNG_INCDIR=$i/include + fi + done + if test -z "$PNG_DIR"; then + AC_MSG_ERROR(Cannot find libpng at $PNG_DIR) + fi + PNG_LIBDIR=$PNG_DIR/lib + AC_TEMP_LDFLAGS(-L$PNG_LIBDIR,[ + AC_CHECK_LIB(png, png_info_init, [AC_ADD_LIBRARY_WITH_PATH(png, $PNG_LIBDIR, PDFLIB_SHARED_LIBADD)], + [AC_MSG_ERROR(could not find libpng at $PNG_LIBDIR; try --with-png-dir=<DIR>)]) + ]) + AC_ADD_INCLUDE($PNG_INCDIR) + fi +]) + +AC_DEFUN(PHP_PDFLIB_TIFF,[ + + PHP_ARG_WITH(tiff-dir,whether to include tiff support, + [ --with-tiff-dir[=DIR] Path to libtiff dir (needed by pdflib)]) + + if test "$PHP_TIFF-DIR" != "no"; then + for i in /usr/local /usr $PHP_TIFF-DIR; do + if test -f $i/include/tiff/tiff.h; then + TIFF_DIR=$i + TIFF_INCDIR=$i/include/tiff + elif test -f $i/include/tiff.h; then + TIFF_DIR=$i + TIFF_INCDIR=$i/include + fi + done + if test -z "$TIFF_DIR"; then + AC_MSG_ERROR(Cannot find libtiff at $PHP_TIFF-DIR) + fi + TIFF_LIBDIR=$TIFF_DIR/lib + AC_ADD_LIBRARY_WITH_PATH(tiff, $TIFF_LIBDIR, PDFLIB_SHARED_LIBADD) + AC_ADD_INCLUDE($TIFF_INCDIR) + fi +]) + +AC_DEFUN(PHP_PDFLIB_ZLIB,[ + PHP_ARG_WITH(zlib,zlib-support, + [ --with-zlib[=DIR] Path to zlib dir; defaults: /usr/local or /usr]) + + if test "$PHP_ZLIB" != "no"; then + for i in /usr/local /usr $PHP_ZLIB; do + if test -f $i/include/zlib/zlib.h; then + ZLIB_DIR=$i + ZLIB_INCDIR=$i/include/zlib + elif test -f $i/include/zlib.h; then + ZLIB_DIR=$i + ZLIB_INCDIR=$i/include + fi + done + if test -z "$ZLIB_DIR"; then + AC_MSG_ERROR(Cannot find libz) + fi + + ZLIB_LIBDIR=$ZLIB_DIR/lib + + AC_TEMP_LDFLAGS(-L$ZLIB_LIBDIR,[ + AC_CHECK_LIB(z, gzgets, [AC_ADD_LIBRARY_WITH_PATH(z, $ZLIB_LIBDIR, PDFLIB_SHARED_LIBADD)], + [AC_MSG_ERROR(pdflib module requires zlib)]) + ]) + AC_ADD_INCLUDE($ZLIB_INCDIR) + fi +]) + +PHP_ARG_WITH(pdflib,whether to include pdflib support, +[ --with-pdflib[=DIR] Include pdflib support. + DIR is the PDFlib install directory, + defaults to /usr/local or /usr]) + +if test "$PHP_PDFLIB" != "no"; then + PHP_EXTENSION(pdf, $ext_shared) + + for i in /usr /usr/local $PHP_PDFLIB; do + if test -f $i/include/pdflib/pdflib.h; then + PDFLIB_DIR=$i + PDFLIB_INC=$i/include + elif test -f $i/include/pdflib.h; then + PDFLIB_DIR=$i + PDFLIB_INCDIR=$i/include + fi + done + + PDFLIB_LIB=$PDFLIB_DIR/lib + AC_TEMP_LDFLAGS(-L$PDFLIB_LIB,[ + AC_CHECK_LIB(pdf, PDF_show_boxed, [AC_DEFINE(HAVE_PDFLIB,1,[ ])], + [AC_MSG_ERROR(PDFlib extension requires PDFlib >= 3)]) + ]) + + PHP_PDFLIB_JPEG + PHP_PDFLIB_ZLIB + PHP_PDFLIB_PNG + PHP_PDFLIB_TIFF + + AC_ADD_LIBRARY_WITH_PATH(pdf, $PDFLIB_LIB, PDFLIB_SHARED_LIBADD) + + AC_ADD_INCLUDE($PDFLIB_INC) + + PHP_SUBST(PDFLIB_SHARED_LIBADD) +fi
-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe <email protected> For additional commands, e-mail: php-dev-help <email protected> To contact the list administrators, e-mail: php-list-admin <email protected>
- Next message: Andi Gutmans: "[PHP-DEV] Re: UdmSearch"
- Previous message: Mathieu Kooiman (ggInternet): "[PHP-DEV] Some trouble with pdflib"
- In reply to: Mathieu Kooiman (ggInternet): "[PHP-DEV] Some trouble with pdflib"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

