Moved pdflib extension to PECL

This commit is contained in:
Wez Furlong 2004-05-24 16:41:41 +00:00
parent 9926a97e26
commit 81b3231b5d
8 changed files with 1 additions and 3752 deletions

1
NEWS
View File

@ -1,6 +1,7 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2004, PHP 5 Release Candidate 3
- Moved the PDFLib extension to PECL. (Wez)
- Added support for dumping private/protected properties to var_dump().
(Andrey)
- Added count() support for COM arrays. (Wez)

View File

@ -1,2 +0,0 @@
PDF
Uwe Steinmann, Rainer Schaaf

View File

@ -1,137 +0,0 @@
dnl
dnl $Id$
dnl
PHP_ARG_WITH(pdflib,for PDFlib support,
[ --with-pdflib[=DIR] Include PDFlib support.])
if test -z "$PHP_JPEG_DIR"; then
PHP_ARG_WITH(jpeg-dir, for the location of libjpeg,
[ --with-jpeg-dir[=DIR] PDFLIB: define libjpeg install directory.
(OPTIONAL for PDFlib v4)], no, no)
fi
if test -z "$PHP_PNG_DIR"; then
PHP_ARG_WITH(png-dir, for the location of libpng,
[ --with-png-dir[=DIR] PDFLIB: define libpng install directory.
(OPTIONAL for PDFlib v4)], no, no)
fi
if test -z "$PHP_ZLIB_DIR"; then
PHP_ARG_WITH(zlib-dir, for the location of libz,
[ --with-zlib-dir[=DIR] PDFLIB: define libz install directory.
(OPTIONAL for PDFlib v4)], no, no)
fi
PHP_ARG_WITH(tiff-dir, for the location of libtiff,
[ --with-tiff-dir[=DIR] PDFLIB: define libtiff install directory.
(OPTIONAL for PDFlib v4)], no, no)
if test "$PHP_PDFLIB" != "no"; then
PHP_NEW_EXTENSION(pdf, pdf.c, $ext_shared)
PHP_SUBST(PDF_SHARED_LIBADD)
dnl #
dnl # Optional libraries for PDFlib
dnl #
dnl # libjpeg
if test "$PHP_JPEG_DIR" != "no"; then
PHP_CHECK_LIBRARY(jpeg,jpeg_read_header,
[
PHP_ADD_LIBRARY_WITH_PATH(jpeg, $PHP_JPEG_DIR/lib, PDF_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
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, PDF_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
if test "$PHP_TIFF_DIR" != "no"; then
PHP_CHECK_LIBRARY(tiff,TIFFOpen,
[
PHP_ADD_LIBRARY_WITH_PATH(tiff, $PHP_TIFF_DIR/lib, PDF_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, PDF_SHARED_LIBADD)
fi
dnl #
dnl # The main PDFlib configure
dnl #
dnl # MacOSX requires this
case $host_alias in
*darwin*)
PHP_ADD_FRAMEWORK(CoreServices)
PHP_ADD_FRAMEWORK(ApplicationServices)
;;
esac
case $PHP_PDFLIB in
yes)
AC_CHECK_LIB(pdf, PDF_show_boxed, [
AC_DEFINE(HAVE_PDFLIB,1,[ ])
PHP_ADD_LIBRARY(pdf,, PDF_SHARED_LIBADD)
],[
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.
])
])
;;
*)
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, PDF_SHARED_LIBADD)
PHP_ADD_INCLUDE($PHP_PDFLIB/include)
],[
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 $PDF_SHARED_LIBADD
])
else
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

View File

@ -1,22 +0,0 @@
// $Id$
// vim:ft=javascript
ARG_WITH("pdf", "PDF support", "no");
if (PHP_PDF != "no") {
if (CHECK_HEADER_ADD_INCLUDE("pdflib.h", "CFLAGS_PDF", PHP_PDF) &&
CHECK_LIB("libtiff.lib", "pdf", PHP_PDF) &&
CHECK_LIB("libpng.lib", "pdf", PHP_PDF) &&
CHECK_LIB("zlib.lib", "pdf", PHP_PDF) &&
CHECK_LIB("gdi32.lib", "pdf", PHP_PDF) &&
CHECK_LIB("pdflib.lib", "pdf", PHP_PDF)) {
EXTENSION('pdf', 'pdf.c');
AC_DEFINE('HAVE_PDFLIB', 1);
} else {
WARNING("pdf not enabled; libraries and headers not found");
}
}

View File

@ -1,50 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE package SYSTEM "../pear/package.dtd">
<package>
<name>pdf</name>
<summary>PDF Form Data Format functions</summary>
<maintainers>
<maintainer>
<user>steinm</user>
<name>Uwe Steinmann</name>
<email>steinm@php.net</email>
<role>lead</role>
</maintainer>
<maintainer>
<user>???</user>
<name>Rainer Schaaf</name>
<email>???@php.net</email>
<role>developer</role>
</maintainer>
</maintainers>
<description>
The PDF functions in this extension can create PDF files
using the PDFlib library created by Thomas Merz.
</description>
<license>PHP</license>
<release>
<state>beta</state>
<version>5.0rc1</version>
<date>2004-03-19</date>
<notes>
package.xml added to support intallation using pear installer
</notes>
<configureoptions>
<configureoption name="with-pdf" default="autodetect" prompt="path to pdflib installation?"/>
</configureoptions>
<filelist>
<file role="doc" name="CREDITS"/>
<file role="src" name="config.m4"/>
<file role="src" name="config.mw32"/>
<file role="src" name="pdf.dsp"/>
<file role="src" name="pdf.c"/>
<file role="src" name="php_pdf.h"/>
</filelist>
<deps>
<dep type="php" rel="ge" version="5" />
</deps>
</release>
</package>
<!--
vim:et:ts=1:sw=1
-->

File diff suppressed because it is too large Load Diff

View File

@ -1,114 +0,0 @@
# Microsoft Developer Studio Project File - Name="pdf" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=pdf - Win32 Release_TS
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "pdf.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "pdf.mak" CFG="pdf - Win32 Release_TS"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "pdf - Win32 Release_TS" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "pdf - Win32 Debug_TS" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "pdf - Win32 Release_TS"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release_TS"
# PROP BASE Intermediate_Dir "Release_TS"
# PROP BASE Ignore_Export_Lib 0
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release_TS"
# PROP Intermediate_Dir "Release_TS"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "..\.." /I "..\..\..\Zend" /I "..\..\..\TSRM" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "COMPILE_DL_PDF" /D ZTS=1 /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\TSRM" /D ZEND_DEBUG=0 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PDF_EXPORTS" /D "COMPILE_DL_PDF" /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_PDFLIB=1 /D ZTS=1 /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x406 /d "NDEBUG"
# ADD RSC /l 0x406 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib php5ts.lib /nologo /dll /machine:I386
# ADD LINK32 php5ts.lib pdflib.lib zlib.lib libpng.lib libtiff.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"..\..\Release_TS/php_pdf.dll" /libpath:"..\..\Release_TS" /libpath:"..\..\Release_TS_Inline"
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "pdf - Win32 Debug_TS"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Debug_TS"
# PROP BASE Intermediate_Dir "Debug_TS"
# PROP BASE Ignore_Export_Lib 0
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug_TS"
# PROP Intermediate_Dir "Debug_TS"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "..\.." /I "..\..\Zend" /I "..\..\TSRM" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "COMPILE_DL_PDF" /D ZTS=1 /YX /FD /c
# ADD CPP /nologo /MDd /W3 /GX /ZI /Od /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\TSRM" /D ZEND_DEBUG=1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PDF_EXPORTS" /D "COMPILE_DL_PDF" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_PDFLIB=1 /FR /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x406 /d "NDEBUG"
# ADD RSC /l 0x406 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib php5ts_debug.lib /nologo /dll /machine:I386
# ADD LINK32 php5ts_debug.lib pdflib.lib zlib.lib libpng.lib libtiff.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"..\..\Debug_TS/php_pdf.dll" /libpath:"..\..\Debug_TS"
!ENDIF
# Begin Target
# Name "pdf - Win32 Release_TS"
# Name "pdf - Win32 Debug_TS"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\pdf.c
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=.\php_pdf.h
# End Source File
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project

View File

@ -1,179 +0,0 @@
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2004 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.0 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_0.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Author: Uwe Steinmann <Uwe.Steinmann@fernuni-hagen.de> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifndef PHP_PDF_H
#define PHP_PDF_H
#if HAVE_PDFLIB
#include <pdflib.h>
extern zend_module_entry pdf_module_entry;
#define pdf_module_ptr &pdf_module_entry
PHP_MINFO_FUNCTION(pdf);
PHP_MINIT_FUNCTION(pdf);
PHP_MSHUTDOWN_FUNCTION(pdf);
PHP_FUNCTION(pdf_new); /* new function */
PHP_FUNCTION(pdf_delete); /* new function */
PHP_FUNCTION(pdf_open_file);
PHP_FUNCTION(pdf_get_buffer); /* new function */
PHP_FUNCTION(pdf_close);
PHP_FUNCTION(pdf_begin_page);
PHP_FUNCTION(pdf_end_page);
PHP_FUNCTION(pdf_get_majorversion);
PHP_FUNCTION(pdf_get_minorversion);
PHP_FUNCTION(pdf_get_value);
PHP_FUNCTION(pdf_set_value);
PHP_FUNCTION(pdf_get_parameter);
PHP_FUNCTION(pdf_set_parameter);
PHP_FUNCTION(pdf_findfont); /* new function */
PHP_FUNCTION(pdf_setfont); /* new function */
PHP_FUNCTION(pdf_show);
PHP_FUNCTION(pdf_show_xy);
PHP_FUNCTION(pdf_continue_text);
PHP_FUNCTION(pdf_show_boxed);
PHP_FUNCTION(pdf_stringwidth); /* new parameters: [int font, float size] */
PHP_FUNCTION(pdf_set_text_pos);
PHP_FUNCTION(pdf_setdash);
PHP_FUNCTION(pdf_setpolydash); /* new function: not yet finished */
PHP_FUNCTION(pdf_setflat);
PHP_FUNCTION(pdf_setlinejoin);
PHP_FUNCTION(pdf_setlinecap);
PHP_FUNCTION(pdf_setmiterlimit);
PHP_FUNCTION(pdf_setlinewidth);
PHP_FUNCTION(pdf_save);
PHP_FUNCTION(pdf_restore);
PHP_FUNCTION(pdf_translate);
PHP_FUNCTION(pdf_scale);
PHP_FUNCTION(pdf_rotate);
PHP_FUNCTION(pdf_skew);
PHP_FUNCTION(pdf_concat); /* new function */
PHP_FUNCTION(pdf_moveto);
PHP_FUNCTION(pdf_lineto);
PHP_FUNCTION(pdf_curveto);
PHP_FUNCTION(pdf_circle);
PHP_FUNCTION(pdf_arc);
PHP_FUNCTION(pdf_rect);
PHP_FUNCTION(pdf_closepath);
PHP_FUNCTION(pdf_stroke);
PHP_FUNCTION(pdf_closepath_stroke);
PHP_FUNCTION(pdf_fill);
PHP_FUNCTION(pdf_fill_stroke);
PHP_FUNCTION(pdf_closepath_fill_stroke);
PHP_FUNCTION(pdf_clip);
PHP_FUNCTION(pdf_endpath);
PHP_FUNCTION(pdf_setgray_fill);
PHP_FUNCTION(pdf_setgray_stroke);
PHP_FUNCTION(pdf_setgray);
PHP_FUNCTION(pdf_setrgbcolor_fill);
PHP_FUNCTION(pdf_setrgbcolor_stroke);
PHP_FUNCTION(pdf_setrgbcolor);
PHP_FUNCTION(pdf_open_image_file); /* new parameters: [char *stringpram, int intparam] */
PHP_FUNCTION(pdf_open_ccitt); /* new function */
PHP_FUNCTION(pdf_open_image); /* new function: checkit not yet completeted :( */
PHP_FUNCTION(pdf_close_image);
PHP_FUNCTION(pdf_place_image);
PHP_FUNCTION(pdf_add_bookmark);
PHP_FUNCTION(pdf_set_info);
PHP_FUNCTION(pdf_attach_file); /* new function */
PHP_FUNCTION(pdf_add_note); /* new function */
PHP_FUNCTION(pdf_add_pdflink);
PHP_FUNCTION(pdf_add_locallink); /* new function */
PHP_FUNCTION(pdf_add_launchlink); /* new function */
PHP_FUNCTION(pdf_add_weblink);
PHP_FUNCTION(pdf_set_border_style);
PHP_FUNCTION(pdf_set_border_color);
PHP_FUNCTION(pdf_set_border_dash);
/* RJS:
End of the official PDFLIB V3.x API */
/* old font handling */
PHP_FUNCTION(pdf_set_font); /* deprecated */
PHP_FUNCTION(pdf_get_font); /* deprecated */
PHP_FUNCTION(pdf_get_fontname); /* deprecated */
PHP_FUNCTION(pdf_get_fontsize); /* deprecated */
/* old way of starting a PDF document */
PHP_FUNCTION(pdf_open); /* deprecated */
/* old stuff for setting infos */
PHP_FUNCTION(pdf_set_info_creator); /* deprecated */
PHP_FUNCTION(pdf_set_info_title); /* deprecated */
PHP_FUNCTION(pdf_set_info_subject); /* deprecated */
PHP_FUNCTION(pdf_set_info_author); /* deprecated */
PHP_FUNCTION(pdf_set_info_keywords); /* deprecated */
PHP_FUNCTION(pdf_set_leading); /* deprecated */
PHP_FUNCTION(pdf_set_text_rendering); /* deprecated */
PHP_FUNCTION(pdf_set_horiz_scaling); /* deprecated */
PHP_FUNCTION(pdf_set_text_rise); /* deprecated */
PHP_FUNCTION(pdf_set_char_spacing); /* deprecated */
PHP_FUNCTION(pdf_set_word_spacing); /* deprecated */
PHP_FUNCTION(pdf_set_transition); /* deprecated */
PHP_FUNCTION(pdf_set_duration); /* deprecated */
PHP_FUNCTION(pdf_get_image_height); /* deprecated */
PHP_FUNCTION(pdf_get_image_width); /* deprecated */
/* old stuff for opening images */
PHP_FUNCTION(pdf_open_jpeg); /* deprecated */
PHP_FUNCTION(pdf_open_tiff); /* deprecated */
PHP_FUNCTION(pdf_open_png); /* deprecated */
PHP_FUNCTION(pdf_open_gif); /* deprecated */
/* some more stuff for compatibility */
PHP_FUNCTION(pdf_add_annotation);
#if HAVE_LIBGD13
PHP_FUNCTION(pdf_open_memory_image);
#endif
#if (PDFLIB_MAJORVERSION >= 4)
/* support for new functions in PDFlib V4.0 */
PHP_FUNCTION(pdf_open_pdi);
PHP_FUNCTION(pdf_close_pdi);
PHP_FUNCTION(pdf_open_pdi_page);
PHP_FUNCTION(pdf_place_pdi_page);
PHP_FUNCTION(pdf_close_pdi_page);
PHP_FUNCTION(pdf_get_pdi_parameter);
PHP_FUNCTION(pdf_get_pdi_value);
PHP_FUNCTION(pdf_begin_pattern);
PHP_FUNCTION(pdf_end_pattern);
PHP_FUNCTION(pdf_setcolor);
PHP_FUNCTION(pdf_makespotcolor);
PHP_FUNCTION(pdf_begin_template);
PHP_FUNCTION(pdf_end_template);
PHP_FUNCTION(pdf_arcn);
PHP_FUNCTION(pdf_add_thumbnail);
PHP_FUNCTION(pdf_initgraphics);
PHP_FUNCTION(pdf_setmatrix);
#endif /* PDFlib >= V4 */
#ifdef ZTS
#define PDFG(v) TSRMG(pdf_globals_id, php_pdf_globals *, v)
#else
#define PDFG(v) (pdf_globals.v)
#endif
#else
#define pdf_module_ptr NULL
#endif
#define phpext_pdf_ptr pdf_module_ptr
#endif /* PHP_PDF_H */