mirror of
https://github.com/php/php-src.git
synced 2024-09-22 02:17:32 +00:00
This is better way to configure. PDFlib 3/4 can be compiled with external libs too..
This commit is contained in:
parent
8d030236d6
commit
2b88417b8c
@ -1,2 +1,2 @@
|
||||
PDF
|
||||
Uwe Steinmann
|
||||
Uwe Steinmann, Rainer Schaaf
|
||||
|
@ -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
|
||||
|
@ -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.])
|
||||
|
||||
if test "$PHP_PDFLIB3" != "no"; then
|
||||
|
||||
PHP_SUBST(PDFLIB3_SHARED_LIBADD)
|
||||
PHP_EXTENSION(pdf, $ext_shared)
|
||||
|
||||
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=<DIR> and --with-jpeg-dir=<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=<DIR>])
|
||||
fi
|
||||
|
||||
PHP_ADD_LIBRARY_WITH_PATH(z, $PHP_ZLIB_DIR/lib, PDFLIB3_SHARED_LIBADD)
|
||||
|
||||
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=<DIR>)
|
||||
])
|
||||
fi
|
||||
|
||||
|
||||
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=<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=<DIR>)
|
||||
])
|
||||
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.])
|
||||
PHP_ARG_WITH(pdflib,for PDFlib support,
|
||||
[ --with-pdflib[=DIR] Include PDFlib support.])
|
||||
|
||||
if test "$PHP_PDFLIB" != "no"; then
|
||||
|
||||
PHP_EXTENSION(pdf, $ext_shared)
|
||||
PHP_SUBST(PDFLIB_SHARED_LIBADD)
|
||||
|
||||
case "$PHP_PDFLIB" in
|
||||
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=<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)])
|
||||
|
||||
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=<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=<DIR>])
|
||||
fi
|
||||
|
||||
dnl # zlib
|
||||
|
||||
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=<DIR>])
|
||||
else
|
||||
AC_MSG_RESULT([$PHP_ZLIB_DIR])
|
||||
PHP_ADD_LIBRARY_WITH_PATH(z, $PHP_ZLIB_DIR/lib, PDFLIB_SHARED_LIBADD)
|
||||
fi
|
||||
|
||||
|
||||
dnl #
|
||||
dnl # The main PDFlib configure
|
||||
dnl #
|
||||
|
||||
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=<DIR>, --with-jpeg-dir=<DIR>, --with-png-dir=<DIR> and --with-zlib-dir=<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=<DIR>, --with-jpeg-dir=<DIR>, --with-png-dir=<DIR> and --with-zlib-dir=<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>. PATH should be the install prefix directory.])
|
||||
fi
|
||||
;;
|
||||
;;
|
||||
esac
|
||||
|
||||
fi
|
||||
|
@ -52,7 +52,7 @@ static int le_gd;
|
||||
#endif
|
||||
/* }}} */
|
||||
|
||||
#if HAVE_PDFLIB || HAVE_PDFLIB3
|
||||
#if HAVE_PDFLIB
|
||||
|
||||
#include "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 <pdflib.h>
|
||||
|
||||
extern zend_module_entry pdf_module_entry;
|
||||
|
Loading…
Reference in New Issue
Block a user