]> granicus.if.org Git - php/commitdiff
This is better way to configure. PDFlib 3/4 can be compiled with external libs too..
authorfoobar <sniper@php.net>
Fri, 30 Nov 2001 04:46:36 +0000 (04:46 +0000)
committerfoobar <sniper@php.net>
Fri, 30 Nov 2001 04:46:36 +0000 (04:46 +0000)
ext/pdf/CREDITS
ext/pdf/Makefile.in
ext/pdf/config.m4
ext/pdf/pdf.c
ext/pdf/php_pdf.h

index 1a5867bb9f380e92e02b801cc67d152fc9af6f94..8bf39a06950d0e82800ef12c9866003715d9ddcd 100644 (file)
@@ -1,2 +1,2 @@
 PDF
-Uwe Steinmann
+Uwe Steinmann, Rainer Schaaf
index 787cabae7b2bf3bbafe68f3403bb3ef5e93dda92..031870f8079b94663c9689b39a9087332d202dc9 100644 (file)
@@ -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
index 2323ad95dc8e5b1020b0ca7f261aba11a63f3bd9..c1398642b1c52271fab5fcad18036c636ba21a6a 100644 (file)
@@ -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=<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)
+  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)])
  
-        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
-
+  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
  
-        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
+  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
 
 
-        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=<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
index f1c143d220e06c45b2cb78a5a142bd7a833cd286..83d379c3b05bfcd501cdc201c87b355873156d64 100644 (file)
@@ -52,7 +52,7 @@ static int le_gd;
 #endif
 /* }}} */
 
-#if HAVE_PDFLIB || HAVE_PDFLIB3
+#if HAVE_PDFLIB
 
 #include "php_pdf.h"
 
index 93f148ead047f764519ff6064bceed1ed8df9cc4..2e7dd7ba55cf9eb2acff8e023895e55838060dd1 100644 (file)
 #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;