forked from Lainports/freebsd-ports
First step of the PHP mega-commit:
- remove extensions and PEAR from the PHP base ports - add more OPTIONS to PHP base ports
This commit is contained in:
parent
f9b6f78e21
commit
af7ee2a6ac
77 changed files with 2085 additions and 11432 deletions
|
|
@ -4,17 +4,15 @@
|
|||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# Instructions on how to enable preferred extensions can be found in the
|
||||
# Makefile of the master port (lang/php4).
|
||||
#
|
||||
|
||||
CATEGORIES= lang
|
||||
PKGNAMESUFFIX= -cli
|
||||
|
||||
MAINTAINER= sysadmin@alexdupre.com
|
||||
MAINTAINER= ale@FreeBSD.org
|
||||
COMMENT= PHP Command Line Interpreter
|
||||
|
||||
PKGMESSAGE= ${.CURDIR}/pkg-message
|
||||
MASTERDIR= ${.CURDIR}/../php4
|
||||
|
||||
WITHOUT_APACHE= yes
|
||||
CONFLICTS= php4-4* php4-cgi-4* mod_php4-4*
|
||||
|
||||
.include "${MASTERDIR}/Makefile"
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
*****************************************************************************
|
||||
|
||||
You have installed the php4-cli package.
|
||||
|
||||
Have a look at the php4-cli port if you need additional extensions other than
|
||||
CTYPE, MYSQL, OVERLOAD, PCRE, POSIX, SESSION, TOKENIZER, XML and ZLIB.
|
||||
|
||||
You can find it at
|
||||
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/lang/php4-cli.tar
|
||||
|
||||
*****************************************************************************
|
||||
|
|
@ -4,59 +4,25 @@
|
|||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# There are many ways to select which extensions you want to enable, either
|
||||
# in interactive mode or in batch mode.
|
||||
#
|
||||
# By default, the enabled extensions are: CTYPE, MYSQL, OVERLOAD, PCRE, POSIX,
|
||||
# SESSION, TOKENIZER, XML and ZLIB. This behaviour can be changed overriding
|
||||
# the PHP4_OPTIONS variable (e.g. PHP4_OPTIONS="EXT1 EXT2 EXT3").
|
||||
#
|
||||
# Another way is to use the WITH_<EXT> and WITHOUT_<EXT> knobs, for additional
|
||||
# and default extensions respectively (implies batch mode).
|
||||
#
|
||||
# The last way reads an "extension" file, located in ~/php4_options (the
|
||||
# location is overridable by the PHP4_OPTFILE variable). You may find an
|
||||
# example in scripts/php4_options (interactive mode only).
|
||||
#
|
||||
|
||||
PORTNAME= php4
|
||||
PORTVERSION= 4.3.8
|
||||
PORTREVISION?= 0
|
||||
PORTREVISION?= 1
|
||||
CATEGORIES?= lang devel www
|
||||
MASTER_SITES= ${MASTER_SITE_PHP:S,$,:release,} \
|
||||
http://downloads.php.net/ilia/:rc \
|
||||
http://downloads.php.net/jani/:rc
|
||||
MASTER_SITE_SUBDIR= distributions/:release
|
||||
.if defined(WITHOUT_CLI) && !defined(WITHOUT_APACHE)
|
||||
PKGNAMEPREFIX= mod_
|
||||
.else
|
||||
.if defined(WITHOUT_APACHE)
|
||||
.if defined(WITHOUT_CLI)
|
||||
PKGNAMESUFFIX= -cgi
|
||||
.else
|
||||
PKGNAMESUFFIX= -cli
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
DISTNAME= php-${PORTVERSION:S/.r/RC/}
|
||||
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:release
|
||||
|
||||
MAINTAINER?= ale@FreeBSD.org
|
||||
COMMENT?= PHP Scripting Language (Apache Module and CLI)
|
||||
.if defined(WITHOUT_APACHE)
|
||||
.if defined(WITHOUT_CLI)
|
||||
COMMENT= PHP Common Gateway Interface
|
||||
.else
|
||||
COMMENT= PHP Command Line Interpreter
|
||||
.endif
|
||||
.else
|
||||
.if defined(WITHOUT_CLI)
|
||||
COMMENT= PHP Apache Module
|
||||
.endif
|
||||
.endif
|
||||
|
||||
LATEST_LINK= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
|
||||
|
||||
USE_BZIP2= yes
|
||||
USE_SUBMAKE= yes
|
||||
.if !defined(PKGNAMESUFFIX) || ${PKGNAMESUFFIX} == "-cgi" || ${PKGNAMESUFFIX} == "-cli"
|
||||
GNU_CONFIGURE= yes
|
||||
USE_BISON= yes
|
||||
USE_REINPLACE= yes
|
||||
|
|
@ -64,7 +30,6 @@ USE_REINPLACE= yes
|
|||
CONFIGURE_ARGS= --enable-versioning \
|
||||
--enable-memory-limit \
|
||||
--with-layout=GNU \
|
||||
--with-zlib-dir=/usr \
|
||||
--disable-all
|
||||
|
||||
.if !defined(WITH_REGEX_TYPE) || ${WITH_REGEX_TYPE} == "php"
|
||||
|
|
@ -79,469 +44,63 @@ CONFIGURE_ARGS+=--with-regex=apache
|
|||
.endif
|
||||
.endif
|
||||
|
||||
EXT_DIR= 20020429
|
||||
SAPI_FILE= "@comment "
|
||||
.if !defined(PKGNAMEPREFIX) && !defined(PKGNAMESUFFIX)
|
||||
PHP_SAPI= full
|
||||
WITH_APACHE= yes
|
||||
.else
|
||||
.if !defined(PKGNAMEPREFIX)
|
||||
PHP_SAPI= ${PKGNAMESUFFIX:S/-//}
|
||||
.else
|
||||
PHP_SAPI= ${PKGNAMEPREFIX:S/_//}
|
||||
WITH_APACHE= yes
|
||||
.endif
|
||||
.endif
|
||||
|
||||
CONFLICTS= php4-cli-4* mod_php4-4* php4-cgi-4*
|
||||
.if defined(WITHOUT_APACHE)
|
||||
.if defined(WITHOUT_CLI)
|
||||
CONFLICTS= php4-4* php4-cli-4* mod_php4-4*
|
||||
.else
|
||||
CONFLICTS= php4-4* php4-cgi-4* mod_php4-4*
|
||||
.if defined(WITH_APACHE)
|
||||
PKGMESSAGE= ${PKGDIR}/pkg-message.mod
|
||||
.endif
|
||||
.else
|
||||
.if defined(WITHOUT_CLI)
|
||||
CONFLICTS= php4-4* php4-cli-4* php4-cgi-4*
|
||||
|
||||
.if ${PHP_SAPI} == "cgi"
|
||||
OPTIONS= REDIRECT "Enable force-cgi-redirect support" off \
|
||||
DISCARD "Enable discard-path support" off \
|
||||
FASTCGI "Enable fastcgi support" off \
|
||||
PATHINFO "Enable path-info-check support" on
|
||||
.endif
|
||||
.if defined(WITH_APACHE)
|
||||
OPTIONS= APACHE2 "Use apache 2.x instead of apache 1.3.x" off
|
||||
.endif
|
||||
OPTIONS+= DEBUG "Enable debug" off \
|
||||
IPV6 "Enable ipv6 support" on
|
||||
|
||||
EXT_DIR= 20020429
|
||||
|
||||
CONFLICTS?= php4-cli-4* mod_php4-4* php4-cgi-4*
|
||||
CONFLICTS+= php5-5* php5-cli-5* mod_php5-5* php5-cgi-5*
|
||||
|
||||
.if defined(WITHOUT_APACHE)
|
||||
.if defined(WITHOUT_CLI)
|
||||
.if defined(WITH_FASTCGI)
|
||||
CONFIGURE_ARGS+=--enable-fastcgi
|
||||
.else
|
||||
CONFIGURE_ARGS+=--enable-discard-path
|
||||
.endif
|
||||
SAPI_FILE= bin/php
|
||||
.else
|
||||
CONFIGURE_ARGS+=--disable-cgi
|
||||
.endif
|
||||
PLIST_SUB+= APACHE="@comment "
|
||||
.else
|
||||
PLIST_SUB+= APACHE=""
|
||||
.endif
|
||||
.if defined(WITHOUT_CLI)
|
||||
.if ${PHP_SAPI} == "cgi" || ${PHP_SAPI} == "mod"
|
||||
CONFIGURE_ARGS+=--disable-cli
|
||||
PLIST_SUB+= CLI="@comment "
|
||||
.else
|
||||
.if !defined(WITHOUT_PEAR)
|
||||
CONFIGURE_ARGS+=--with-pear
|
||||
PLIST_SUB+= PEAR=""
|
||||
.else
|
||||
PLIST_SUB+= PEAR="@comment "
|
||||
.endif
|
||||
MAN1= php.1
|
||||
|
||||
.if ${PHP_SAPI} == "full" || ${PHP_SAPI} == "cli"
|
||||
PLIST_SUB+= CLI=""
|
||||
.endif
|
||||
|
||||
ALL_OPTIONS= BCMATH BZIP2 CALENDAR CDB CRACK CTYPE CURL DB4 DBASE DBX DIO \
|
||||
DOMXML DOMXSLT EXIF FILEPRO FRIBIDI FTP GD GDBM GETTEXT \
|
||||
GMP HYPERWAVE ICONV IMAP INTERBASE INIFILE MBSTRING MCAL MCVE \
|
||||
MCRYPT MHASH MIME MING MNOGOSEARCH MSSQL MYSQL NCURSES \
|
||||
OPENLDAP OPENSSL ORACLE OVERLOAD PCNTL PCRE POSIX \
|
||||
POSTGRESQL PSPELL READLINE RECODE SESSION SHMOP SNMP SOCKETS \
|
||||
SYBASEDB SYBASECT SYSVMSG SYSVSEM SYSVSHM TOKENIZER UNIXODBC \
|
||||
WDDX XML XMLRPC XSLT YAZ YP ZIP ZLIB
|
||||
|
||||
.for opt in ${ALL_OPTIONS}
|
||||
.if defined(WITH_${opt}) || defined(WITHOUT_${opt})
|
||||
BATCH= yes
|
||||
.endif
|
||||
.endfor
|
||||
|
||||
.if !defined(BATCH) && !defined(PACKAGE_BUILDING)
|
||||
IS_INTERACTIVE= yes
|
||||
.endif
|
||||
|
||||
WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work
|
||||
PHP4_OPTFILE?= ${HOME}/php4_options
|
||||
|
||||
PHP4_OPTIONS?= CTYPE MYSQL OVERLOAD PCRE POSIX SESSION TOKENIZER XML ZLIB
|
||||
|
||||
.for opt in ${ALL_OPTIONS}
|
||||
.if defined(WITH_${opt})
|
||||
SEL_OPTIONS+= ${opt}
|
||||
.endif
|
||||
.endfor
|
||||
.for opt in ${PHP4_OPTIONS}
|
||||
.if !defined(WITHOUT_${opt})
|
||||
SEL_OPTIONS+= ${opt}
|
||||
.if !exists(${WRKDIR}/Makefile.inc)
|
||||
WITH_${opt}= yes
|
||||
.endif
|
||||
.endif
|
||||
SCRIPTS_ENV+= WITH_${opt}=ON
|
||||
.endfor
|
||||
|
||||
SCRIPTS_ENV+= SEL_OPTIONS="${SEL_OPTIONS}" \
|
||||
OPTION_FILE="${PHP4_OPTFILE}" \
|
||||
WRKDIR="${WRKDIR}" \
|
||||
CAT="${CAT}" \
|
||||
SED="${SED}"
|
||||
|
||||
.if exists(${WRKDIR}/Makefile.inc)
|
||||
.include "${WRKDIR}/Makefile.inc"
|
||||
.endif
|
||||
|
||||
.if !defined(WITHOUT_CLI) && !defined(WITHOUT_PEAR)
|
||||
WITH_PCRE= yes
|
||||
WITH_XML= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_CDB) || defined(WITH_DB4) || defined(WITH_GDBM) || defined(WITH_INIFILE)
|
||||
WITH_DBA= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DOMXSLT)
|
||||
WITH_DOMXML= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_XMLRPC) || defined(WITH_XSLT)
|
||||
WITH_ICONV_DEP= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MCVE) || defined(WITH_SNMP)
|
||||
WITH_OPENSSL_DEP= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_XMLRPC) || defined(WITH_XSLT)
|
||||
WITH_XML_DEP= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_WDDX)
|
||||
WITH_XML= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_BCMATH)
|
||||
CONFIGURE_ARGS+=--enable-bcmath
|
||||
.endif
|
||||
|
||||
.if defined(WITH_BZIP2)
|
||||
.if exists(/usr/bin/bzip2)
|
||||
BZIP2BASE= /usr
|
||||
MAN1= php.1
|
||||
.else
|
||||
BZIP2BASE= ${LOCALBASE}
|
||||
LIB_DEPENDS+= bz2.1:${PORTSDIR}/archivers/bzip2
|
||||
.endif
|
||||
CONFIGURE_ARGS+=--with-bz2=${BZIP2BASE}
|
||||
PLIST_SUB+= CLI="@comment "
|
||||
.endif
|
||||
|
||||
.if defined(WITH_CALENDAR)
|
||||
CONFIGURE_ARGS+=--enable-calendar
|
||||
.endif
|
||||
|
||||
.if defined(WITH_CDB)
|
||||
CONFIGURE_ARGS+=--with-cdb
|
||||
.endif
|
||||
|
||||
.if defined(WITH_CRACK)
|
||||
BUILD_DEPENDS+= ${LOCALBASE}/lib/libcrack.a:${PORTSDIR}/security/cracklib
|
||||
RUN_DEPENDS+= ${LOCALBASE}/lib/libcrack.a:${PORTSDIR}/security/cracklib
|
||||
CONFIGURE_ARGS+=--with-crack=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_CTYPE)
|
||||
CONFIGURE_ARGS+=--enable-ctype
|
||||
.endif
|
||||
|
||||
.if defined(WITH_CURL)
|
||||
LIB_DEPENDS+= curl.3:${PORTSDIR}/ftp/curl
|
||||
CONFIGURE_ARGS+=--with-curl=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DB4)
|
||||
WITH_DB4_VER?= 41
|
||||
.if ${WITH_DB4_VER} == 42
|
||||
LIB_DEPENDS+= db-4.2.2:${PORTSDIR}/databases/db42
|
||||
.if defined(WITH_APACHE)
|
||||
PLIST_SUB+= APACHE=""
|
||||
.else
|
||||
.if ${WITH_DB4_VER} == 4
|
||||
LIB_DEPENDS+= db4.0:${PORTSDIR}/databases/db4
|
||||
.else
|
||||
LIB_DEPENDS+= db41.1:${PORTSDIR}/databases/db41
|
||||
.endif
|
||||
.endif
|
||||
CONFIGURE_ARGS+=--with-db4=${LOCALBASE}
|
||||
PLIST_SUB+= APACHE="@comment "
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DBA)
|
||||
CONFIGURE_ARGS+=--enable-dba
|
||||
.if ${PHP_SAPI} == "cli"
|
||||
CONFIGURE_ARGS+=--disable-cgi
|
||||
SAPI_FILE= "@comment "
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DBASE)
|
||||
CONFIGURE_ARGS+=--enable-dbase
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DBX)
|
||||
CONFIGURE_ARGS+=--enable-dbx
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DIO)
|
||||
CONFIGURE_ARGS+=--enable-dio
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DOMXML)
|
||||
LIB_DEPENDS+= xml2.5:${PORTSDIR}/textproc/libxml2
|
||||
CONFIGURE_ARGS+=--with-dom=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DOMXSLT)
|
||||
LIB_DEPENDS+= xslt.2:${PORTSDIR}/textproc/libxslt
|
||||
CONFIGURE_ARGS+=--with-dom-xslt=${LOCALBASE} --with-dom-exslt=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_EXIF)
|
||||
CONFIGURE_ARGS+=--enable-exif
|
||||
.endif
|
||||
|
||||
.if defined(WITH_FILEPRO)
|
||||
CONFIGURE_ARGS+=--enable-filepro
|
||||
.endif
|
||||
|
||||
.if defined(WITH_FRIBIDI)
|
||||
LIB_DEPENDS+= fribidi.0:${PORTSDIR}/converters/fribidi
|
||||
CONFIGURE_ARGS+=--with-fribidi=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_FTP)
|
||||
CONFIGURE_ARGS+=--enable-ftp
|
||||
.endif
|
||||
|
||||
.if defined(WITH_GD)
|
||||
LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2
|
||||
LIB_DEPENDS+= t1.5:${PORTSDIR}/devel/t1lib
|
||||
LIB_DEPENDS+= png.5:${PORTSDIR}/graphics/png
|
||||
LIB_DEPENDS+= jpeg.9:${PORTSDIR}/graphics/jpeg
|
||||
CONFIGURE_ARGS+=--with-gd \
|
||||
--enable-gd-native-ttf \
|
||||
--with-freetype-dir=${LOCALBASE} \
|
||||
--with-t1lib=${LOCALBASE} \
|
||||
--with-jpeg-dir=${LOCALBASE} \
|
||||
--with-png-dir=${LOCALBASE}
|
||||
.if !defined(WITHOUT_X11)
|
||||
USE_XPM= yes
|
||||
CONFIGURE_ARGS+=--with-xpm-dir=${X11BASE}
|
||||
.endif
|
||||
.if defined(WITH_LZW)
|
||||
CONFIGURE_ARGS+=--enable-gd-lzw-gif
|
||||
.endif
|
||||
.endif
|
||||
|
||||
.if defined(WITH_GDBM)
|
||||
LIB_DEPENDS+= gdbm.3:${PORTSDIR}/databases/gdbm
|
||||
CONFIGURE_ARGS+=--with-gdbm=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_GETTEXT)
|
||||
USE_GETTEXT= yes
|
||||
CONFIGURE_ARGS+=--with-gettext=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_GMP)
|
||||
LIB_DEPENDS+= gmp.6:${PORTSDIR}/math/libgmp4
|
||||
CONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_HYPERWAVE)
|
||||
CONFIGURE_ARGS+=--with-hyperwave
|
||||
.endif
|
||||
|
||||
.if defined(WITH_ICONV) || defined(WITH_ICONV_DEP)
|
||||
USE_ICONV= yes
|
||||
CONFIGURE_ARGS+=--with-iconv-dir=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_ICONV)
|
||||
CONFIGURE_ARGS+=--with-iconv=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_INIFILE)
|
||||
CONFIGURE_ARGS+=--with-inifile
|
||||
.endif
|
||||
|
||||
.if defined(WITH_INTERBASE)
|
||||
LIB_DEPENDS+= gds.1:${PORTSDIR}/databases/firebird
|
||||
CONFIGURE_ARGS+=--with-interbase=${LOCALBASE}/firebird
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MBSTRING)
|
||||
CONFIGURE_ARGS+=--enable-mbstring
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MCAL)
|
||||
LIB_DEPENDS+= mcal.0:${PORTSDIR}/misc/libmcal
|
||||
CONFIGURE_ARGS+=--with-mcal=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MCVE)
|
||||
LIB_DEPENDS+= mcve.3:${PORTSDIR}/devel/libmcve
|
||||
CONFIGURE_ARGS+=--with-mcve=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MCRYPT)
|
||||
LIB_DEPENDS+= mcrypt.8:${PORTSDIR}/security/libmcrypt
|
||||
USE_LIBLTDL= yes
|
||||
CONFIGURE_ARGS+=--with-mcrypt=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MHASH)
|
||||
LIB_DEPENDS+= mhash.2:${PORTSDIR}/security/mhash
|
||||
CONFIGURE_ARGS+=--with-mhash=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MIME)
|
||||
CONFIGURE_ARGS+=--with-mime-magic=/usr/share/misc/magic.mime
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MING)
|
||||
LIB_DEPENDS+= ming.3:${PORTSDIR}/graphics/ming
|
||||
CONFIGURE_ARGS+=--with-ming=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MNOGOSEARCH)
|
||||
LIB_DEPENDS+= udmsearch.1:${PORTSDIR}/www/mnogosearch
|
||||
CONFIGURE_ARGS+=--with-mnogosearch=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MSSQL)
|
||||
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds-msdblib
|
||||
CONFIGURE_ARGS+=--with-mssql=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MYSQL)
|
||||
USE_MYSQL= yes
|
||||
CONFIGURE_ARGS+=--with-mysql=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_OPENLDAP)
|
||||
USE_OPENLDAP= yes
|
||||
CONFIGURE_ARGS+=--with-ldap=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_OPENSSL) || defined(WITH_OPENSSL_DEP)
|
||||
USE_OPENSSL= yes
|
||||
LDFLAGS+= -lcrypto -lssl
|
||||
CONFIGURE_ENV+= LDFLAGS="${LDFLAGS}"
|
||||
CONFIGURE_ARGS+=--with-openssl-dir=${OPENSSLBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_OPENSSL)
|
||||
CONFIGURE_ARGS+=--with-openssl=${OPENSSLBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_ORACLE)
|
||||
BUILD_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
|
||||
RUN_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
|
||||
CONFIGURE_ARGS+=--with-oracle=${LOCALBASE}/oracle7
|
||||
.endif
|
||||
|
||||
.if defined(WITH_OVERLOAD)
|
||||
CONFIGURE_ARGS+=--enable-overload
|
||||
.endif
|
||||
|
||||
.if defined(WITH_PCNTL)
|
||||
CONFIGURE_ARGS+=--enable-pcntl
|
||||
.endif
|
||||
|
||||
.if defined(WITH_PCRE)
|
||||
CONFIGURE_ARGS+=--with-pcre-regex=yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_POSIX)
|
||||
CONFIGURE_ARGS+=--enable-posix
|
||||
.endif
|
||||
|
||||
.if defined(WITH_POSTGRESQL)
|
||||
POSTGRESQL_PORT?= databases/postgresql7
|
||||
LIB_DEPENDS+= pq.3:${PORTSDIR}/${POSTGRESQL_PORT}
|
||||
CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_PSPELL)
|
||||
LIB_DEPENDS+= aspell.15:${PORTSDIR}/textproc/aspell
|
||||
CONFIGURE_ARGS+=--with-pspell=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_READLINE)
|
||||
CONFIGURE_ARGS+=--with-readline
|
||||
.endif
|
||||
|
||||
.if defined(WITH_RECODE)
|
||||
LIB_DEPENDS+= recode.3:${PORTSDIR}/converters/recode
|
||||
CONFIGURE_ARGS+=--with-recode=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SESSION)
|
||||
CONFIGURE_ARGS+=--enable-session
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SHMOP)
|
||||
CONFIGURE_ARGS+=--enable-shmop
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SOCKETS)
|
||||
CONFIGURE_ARGS+=--enable-sockets
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SYBASEDB)
|
||||
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds
|
||||
CONFIGURE_ARGS+=--with-sybase=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SYBASECT)
|
||||
LIB_DEPENDS+= ct.2:${PORTSDIR}/databases/freetds
|
||||
CONFIGURE_ARGS+=--with-sybase-ct=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SYSVMSG)
|
||||
CONFIGURE_ARGS+=--enable-sysvmsg
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SYSVSEM)
|
||||
CONFIGURE_ARGS+=--enable-sysvsem
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SYSVSHM)
|
||||
CONFIGURE_ARGS+=--enable-sysvshm
|
||||
.endif
|
||||
|
||||
.if defined(WITH_TOKENIZER)
|
||||
CONFIGURE_ARGS+=--enable-tokenizer
|
||||
.endif
|
||||
|
||||
.if defined(WITH_UNIXODBC)
|
||||
LIB_DEPENDS+= odbc.1:${PORTSDIR}/databases/unixODBC
|
||||
CONFIGURE_ARGS+=--with-unixODBC=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_WDDX)
|
||||
CONFIGURE_ARGS+=--enable-wddx
|
||||
.endif
|
||||
|
||||
.if defined(WITH_XML) || defined(WITH_XML_DEP)
|
||||
LIB_DEPENDS+= expat.5:${PORTSDIR}/textproc/expat2
|
||||
CONFIGURE_ARGS+=--with-expat-dir=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_XML)
|
||||
CONFIGURE_ARGS+=--enable-xml
|
||||
.endif
|
||||
|
||||
.if defined(WITH_XMLRPC)
|
||||
CONFIGURE_ARGS+=--with-xmlrpc
|
||||
.endif
|
||||
|
||||
.if defined(WITH_XSLT)
|
||||
LIB_DEPENDS+= sablot.70:${PORTSDIR}/textproc/sablotron
|
||||
CONFIGURE_ARGS+=--enable-xslt --with-xslt-sablot=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_YAZ)
|
||||
LIB_DEPENDS+= yaz.2:${PORTSDIR}/net/yaz
|
||||
CONFIGURE_ARGS+=--with-yaz=${LOCALBASE}/bin
|
||||
.endif
|
||||
|
||||
.if defined(WITH_YP)
|
||||
CONFIGURE_ARGS+=--enable-yp
|
||||
.endif
|
||||
|
||||
.if defined(WITH_ZIP)
|
||||
LIB_DEPENDS+= zzip.10:${PORTSDIR}/devel/zziplib
|
||||
CONFIGURE_ARGS+=--with-zip=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_ZLIB)
|
||||
CONFIGURE_ARGS+=--with-zlib=yes
|
||||
.if ${PHP_SAPI} == "cgi"
|
||||
SAPI_FILE= bin/php
|
||||
.endif
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
|
@ -553,7 +112,7 @@ CONFIGURE_ENV= ac_cv_pthreads_lib=${WITH_PTHREAD_LIBS} \
|
|||
ac_cv_pthreads_cflags=${WITH_PTHREAD_CFLAGS}
|
||||
.endif
|
||||
|
||||
.if !defined(WITHOUT_APACHE)
|
||||
.if defined(WITH_APACHE)
|
||||
.if exists(${LOCALBASE}/include/apache2/httpd.h)
|
||||
WITH_APACHE2= yes
|
||||
APACHE_MPM!= ${APXS} -q MPM_NAME
|
||||
|
|
@ -586,78 +145,30 @@ PLIST_SUB+= SAPI_FILE=${SAPI_FILE}
|
|||
CONFIGURE_ARGS+=--disable-ipv6
|
||||
.endif
|
||||
|
||||
.if defined(WITH_IMAP)
|
||||
LIB_DEPENDS+= c-client4.8:${PORTSDIR}/mail/cclient
|
||||
.if !exists(${LOCALBASE}/lib/libc-client4.so)
|
||||
.if !defined(WITHOUT_SSL)
|
||||
CONFIGURE_ARGS+=--with-imap=${LOCALBASE} --with-imap-ssl=${LOCALBASE}
|
||||
.else
|
||||
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
|
||||
.if ${PHP_SAPI} == "cgi"
|
||||
.if defined(WITH_REDIRECT)
|
||||
CONFIGURE_ARGS+=--enable-force-cgi-redirect
|
||||
.endif
|
||||
.else
|
||||
WITH_IMAP_SSL!= /usr/bin/ldd ${LOCALBASE}/lib/libc-client4.so | ${GREP} libssl || ${TRUE}
|
||||
.if !empty(WITH_IMAP_SSL)
|
||||
CONFIGURE_ARGS+=--with-imap=${LOCALBASE} --with-imap-ssl=${LOCALBASE}
|
||||
.else
|
||||
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
|
||||
.if defined(WITH_DISCARD)
|
||||
CONFIGURE_ARGS+=--enable-discard-path
|
||||
.endif
|
||||
.if defined(WITH_FASTCGI)
|
||||
CONFIGURE_ARGS+=--enable-fastcgi
|
||||
.endif
|
||||
.if defined(WITHOUT_PATHINFO)
|
||||
CONFIGURE_ARGS+=--disable-path-info-check
|
||||
.endif
|
||||
|
||||
.if defined(WITH_NCURSES)
|
||||
.if ${OSVERSION} < 400000
|
||||
NCURSESBASE= ${LOCALBASE}
|
||||
LIB_DEPENDS+= ncurses.5:${PORTSDIR}/devel/ncurses
|
||||
.else
|
||||
NCURSESBASE= /usr
|
||||
.endif
|
||||
CONFIGURE_ARGS+=--with-ncurses=${NCURSESBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SNMP)
|
||||
.if exists(${LOCALBASE}/lib/libsnmp.so.4) || defined(WITH_SNMP4)
|
||||
LIB_DEPENDS+= snmp.4:${PORTSDIR}/net-mgmt/net-snmp4
|
||||
.else
|
||||
LIB_DEPENDS+= netsnmp.6:${PORTSDIR}/net-mgmt/net-snmp
|
||||
.endif
|
||||
CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} --enable-ucd-snmp-hack
|
||||
.endif
|
||||
|
||||
_PORTSDIR!= ${REALPATH} ${PORTSDIR}
|
||||
PHP_PORT= ${.CURDIR:S|^${_PORTSDIR}||:S|^/||}
|
||||
|
||||
pre-patch:
|
||||
@${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure.php
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e "s|orainst/unix.rgs|ocommon/install/partial.prd|g" \
|
||||
${WRKSRC}/configure
|
||||
@${SED} "s|%%PREFIX%%|${PREFIX}|g" \
|
||||
${WRKSRC}/pear/scripts/pearcmd.php > ${WRKSRC}/pear/scripts/pear
|
||||
@${TOUCH} ${WRKSRC}/ext/php_config.h
|
||||
|
||||
.if ${PHP_SAPI} == "full"
|
||||
pre-configure:
|
||||
@${ECHO_CMD} ""
|
||||
.if defined(WITH_IMAP) && defined(WITH_RECODE)
|
||||
@${ECHO_CMD} "You cannot define WITH_IMAP *and* WITH_RECODE!"
|
||||
@${FALSE}
|
||||
.endif
|
||||
.if defined(WITH_IMAP) && defined(WITH_YAZ)
|
||||
@${ECHO_CMD} "You cannot define WITH_IMAP *and* WITH_YAZ!"
|
||||
@${FALSE}
|
||||
.endif
|
||||
.if defined(WITH_RECODE) && defined(WITH_YAZ)
|
||||
@${ECHO_CMD} "You cannot define WITH_RECODE *and* WITH_YAZ!"
|
||||
@${FALSE}
|
||||
.endif
|
||||
.if defined(WITH_SYBASEDB) && defined(WITH_SYBASECT)
|
||||
@${ECHO_CMD} "You cannot define WITH_SYBASEDB *and* WITH_SYBASECT!"
|
||||
@${FALSE}
|
||||
.endif
|
||||
.if defined(WITH_GD) && !defined(WITH_LZW)
|
||||
@${ECHO_CMD} "To enable LZW-compressed GIF support in GD define the WITH_LZW knob."
|
||||
@${ECHO_CMD} ""
|
||||
.endif
|
||||
.if !defined(WITHOUT_APACHE) && !defined(WITHOUT_CLI)
|
||||
@${ECHO_CMD} "You are building the Apache Module and the Command Line Interpreter of PHP."
|
||||
@${ECHO_CMD} ""
|
||||
@${ECHO_CMD} "Use port:"
|
||||
|
|
@ -672,55 +183,23 @@ post-build:
|
|||
@${ECHO_CMD} "PHP_VERSION=${PORTVERSION}" >> ${WRKDIR}/php.conf
|
||||
@${ECHO_CMD} "PHP_EXT_DIR=${EXT_DIR}" >> ${WRKDIR}/php.conf
|
||||
@${ECHO_CMD} "PHP_PORT=\$${PORTSDIR}/${PHP_PORT}" >> ${WRKDIR}/php.conf
|
||||
.if !defined(WITHOUT_CLI) && !defined(WITHOUT_PEAR)
|
||||
@${ECHO_CMD} "PHP_PEAR=yes" >> ${WRKDIR}/php.conf
|
||||
.else
|
||||
@${ECHO_CMD} "PHP_PEAR=no" >> ${WRKDIR}/php.conf
|
||||
.endif
|
||||
.if !defined(WITHOUT_APACHE) && !defined(WITHOUT_CLI)
|
||||
@${ECHO_CMD} "PHP_SAPI=full" >> ${WRKDIR}/php.conf
|
||||
.else
|
||||
.if defined(WITHOUT_APACHE) && !defined(WITHOUT_CLI)
|
||||
@${ECHO_CMD} "PHP_SAPI=cli" >> ${WRKDIR}/php.conf
|
||||
.endif
|
||||
.if !defined(WITHOUT_APACHE) && defined(WITHOUT_CLI)
|
||||
@${ECHO_CMD} "PHP_SAPI=mod" >> ${WRKDIR}/php.conf
|
||||
.endif
|
||||
.if defined(WITHOUT_APACHE) && defined(WITHOUT_CLI)
|
||||
@${ECHO_CMD} "PHP_SAPI=cgi" >> ${WRKDIR}/php.conf
|
||||
.endif
|
||||
.endif
|
||||
.if !defined(WITHOUT_CLI)
|
||||
@${ECHO_CMD} "You may run the tests from the PHP test framework, typing 'make test' now."
|
||||
@${ECHO_CMD} "(It is safe to ignore errors about timestamp-related tests,"
|
||||
@${ECHO_CMD} "since they are due to the different FreeBSD mktime() implementation)."
|
||||
@${ECHO_CMD} ""
|
||||
.endif
|
||||
|
||||
.if !defined(WITHOUT_CLI)
|
||||
test: all
|
||||
@(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} \
|
||||
${MAKEFILE} ${MAKE_ARGS} ${.TARGET})
|
||||
.endif
|
||||
@${ECHO_CMD} "PHP_SAPI=${PHP_SAPI}" >> ${WRKDIR}/php.conf
|
||||
|
||||
post-install:
|
||||
.if !defined(WITHOUT_CLI) && !defined(WITHOUT_PEAR)
|
||||
@${INSTALL_SCRIPT} ${WRKSRC}/pear/scripts/pear ${PREFIX}/bin
|
||||
.endif
|
||||
@${INSTALL_DATA} ${WRKSRC}/php.ini-dist ${PREFIX}/etc
|
||||
@${INSTALL_DATA} ${WRKSRC}/php.ini-recommended ${PREFIX}/etc
|
||||
@${INSTALL_DATA} ${WRKDIR}/php.conf ${PREFIX}/etc
|
||||
.if !defined(WITHOUT_APACHE)
|
||||
@${ECHO_CMD} "*****************************************************************************"
|
||||
@${ECHO_CMD} ""
|
||||
@${ECHO_CMD} "Make sure index.php is part of your DirectoryIndex."
|
||||
@${ECHO_CMD} ""
|
||||
@${ECHO_CMD} "You should add the following lines to your Apache configuration file:"
|
||||
@${ECHO_CMD} ""
|
||||
@${ECHO_CMD} "AddType application/x-httpd-php .php"
|
||||
@${ECHO_CMD} "AddType application/x-httpd-php-source .phps"
|
||||
@${ECHO_CMD} ""
|
||||
@${ECHO_CMD} "*****************************************************************************"
|
||||
@${TOUCH} ${PREFIX}/etc/php.ini
|
||||
@${TOUCH} ${PREFIX}/include/php/ext/php_config.h
|
||||
.if defined(WITH_APACHE)
|
||||
@${CAT} ${PKGMESSAGE}
|
||||
.endif
|
||||
|
||||
.else
|
||||
.if ${PKGNAMESUFFIX} == "-pear"
|
||||
.include "${MASTERDIR}/Makefile.pear"
|
||||
.else
|
||||
.include "${MASTERDIR}/Makefile.ext"
|
||||
.endif
|
||||
.endif
|
||||
.include <bsd.port.post.mk>
|
||||
|
|
|
|||
473
lang/php4/Makefile.ext
Normal file
473
lang/php4/Makefile.ext
Normal file
|
|
@ -0,0 +1,473 @@
|
|||
COMMENT= The ${PHP_MODNAME} shared extension for php
|
||||
|
||||
USE_PHP= yes
|
||||
USE_PHPEXT= yes
|
||||
PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
|
||||
|
||||
WRKSRC= ${WRKDIR}/php-${PORTVERSION:S/.r/RC/}/ext/${PHP_MODNAME}
|
||||
PATCHDIR= ${.CURDIR}/files
|
||||
PLIST= ${NONEXISTENT}
|
||||
|
||||
.if ${PHP_MODNAME} == "bcmath"
|
||||
CONFIGURE_ARGS+=--enable-bcmath
|
||||
|
||||
PHP_HEADER_DIRS=libbcmath libbcmath/src
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "bz2"
|
||||
.if exists(/usr/bin/bzip2)
|
||||
BZ2BASE= /usr
|
||||
.else
|
||||
BZ2BASE= ${LOCALBASE}
|
||||
LIB_DEPENDS+= bz2.1:${PORTSDIR}/archivers/bzip2
|
||||
.endif
|
||||
CONFIGURE_ARGS+=--with-bz2=${BZ2BASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "calendar"
|
||||
CONFIGURE_ARGS+=--enable-calendar
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "crack"
|
||||
BUILD_DEPENDS+= ${LOCALBASE}/lib/libcrack.a:${PORTSDIR}/security/cracklib
|
||||
RUN_DEPENDS+= ${LOCALBASE}/lib/libcrack.a:${PORTSDIR}/security/cracklib
|
||||
|
||||
CONFIGURE_ARGS+=--with-crack=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "ctype"
|
||||
CONFIGURE_ARGS+=--enable-ctype
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "curl"
|
||||
LIB_DEPENDS+= curl.3:${PORTSDIR}/ftp/curl
|
||||
|
||||
CONFIGURE_ARGS+=--with-curl=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "dba"
|
||||
CONFIGURE_ARGS+=--enable-dba
|
||||
|
||||
OPTIONS= CDB "cdb database support" on \
|
||||
DB4 "Berkeley DB4 support" off \
|
||||
GDBM "GDBM database support" off \
|
||||
INIFILE "INI file support" on \
|
||||
FLATFILE "flatfile support" on
|
||||
|
||||
PHP_HEADER_DIRS= libcdb libflatfile libinifile
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "dbase"
|
||||
CONFIGURE_ARGS+=--enable-dbase
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "dbx"
|
||||
CONFIGURE_ARGS+=--enable-dbx
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "dio"
|
||||
CONFIGURE_ARGS+=--enable-dio
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "domxml"
|
||||
CONFIGURE_ARGS+=--with-dom=${LOCALBASE} \
|
||||
--with-zlib-dir=/usr
|
||||
|
||||
USE_GNOME= libxml2
|
||||
|
||||
OPTIONS= XSLT "Include DOM (E)XSLT support" on
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "exif"
|
||||
CONFIGURE_ARGS+=--enable-exif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "filepro"
|
||||
CONFIGURE_ARGS+=--enable-filepro
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "ftp"
|
||||
CONFIGURE_ARGS+=--enable-ftp
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "gd"
|
||||
LIB_DEPENDS= freetype.9:${PORTSDIR}/print/freetype2 \
|
||||
png.5:${PORTSDIR}/graphics/png \
|
||||
jpeg.9:${PORTSDIR}/graphics/jpeg
|
||||
. if !defined(WITHOUT_X11)
|
||||
USE_XPM= yes
|
||||
. endif
|
||||
|
||||
CONFIGURE_ARGS+=--with-gd \
|
||||
--with-freetype-dir=${LOCALBASE} \
|
||||
--with-jpeg-dir=${LOCALBASE} \
|
||||
--with-png-dir=${LOCALBASE} \
|
||||
--with-zlib-dir=/usr
|
||||
. if !defined(WITHOUT_X11)
|
||||
CONFIGURE_ARGS+=--with-xpm-dir=${X11BASE}
|
||||
. endif
|
||||
|
||||
OPTIONS= T1LIB "Include T1lib support" on \
|
||||
TRUETYPE "Enable TrueType string function" on \
|
||||
JIS "Enable JIS-mapped Japanese font support" off \
|
||||
LZW "Enable LZW-compressed GIF write support" off
|
||||
|
||||
PHP_HEADER_DIRS=libgd
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "gettext"
|
||||
CONFIGURE_ARGS+=--with-gettext=${LOCALBASE}
|
||||
|
||||
USE_GETTEXT= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "gmp"
|
||||
LIB_DEPENDS+= gmp.6:${PORTSDIR}/math/libgmp4
|
||||
|
||||
CONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "iconv"
|
||||
CONFIGURE_ARGS+=--with-iconv=${LOCALBASE} \
|
||||
--with-iconv-dir=${LOCALBASE}
|
||||
|
||||
USE_ICONV= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "imap"
|
||||
LIB_DEPENDS+= c-client4.8:${PORTSDIR}/mail/cclient
|
||||
|
||||
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "interbase"
|
||||
LIB_DEPENDS+= gds.1:${PORTSDIR}/databases/firebird
|
||||
|
||||
CONFIGURE_ARGS+=--with-interbase=${LOCALBASE}/firebird
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "ldap"
|
||||
CONFIGURE_ARGS+=--with-ldap=${LOCALBASE}
|
||||
|
||||
USE_OPENLDAP= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mbstring"
|
||||
CONFIGURE_ARGS+=--enable-mbstring
|
||||
|
||||
OPTIONS= REGEX "Enable multibyte regex support" on
|
||||
|
||||
PHP_HEADER_DIRS=libmbfl libmbfl/filters libmbfl/mbfl libmbfl/nls
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mcal"
|
||||
LIB_DEPENDS+= mcal.0:${PORTSDIR}/misc/libmcal
|
||||
|
||||
CONFIGURE_ARGS+=--with-mcal=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mcrypt"
|
||||
LIB_DEPENDS+= mcrypt.8:${PORTSDIR}/security/libmcrypt
|
||||
|
||||
CONFIGURE_ARGS+=--with-mcrypt=${LOCALBASE}
|
||||
|
||||
USE_LIBLTDL= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mcve"
|
||||
LIB_DEPENDS+= mcve.3:${PORTSDIR}/devel/libmcve
|
||||
|
||||
CONFIGURE_ARGS+=--with-mcve=${LOCALBASE} \
|
||||
--with-openssl-dir=${OPENSSLBASE}
|
||||
|
||||
LDFLAGS+= -lcrypto -lssl
|
||||
USE_OPENSSL= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mhash"
|
||||
LIB_DEPENDS+= mhash.2:${PORTSDIR}/security/mhash
|
||||
|
||||
CONFIGURE_ARGS+=--with-mhash=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "ming"
|
||||
LIB_DEPENDS+= ming.3:${PORTSDIR}/graphics/ming
|
||||
|
||||
CONFIGURE_ARGS+=--with-ming=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mnogosearch"
|
||||
LIB_DEPENDS+= udmsearch.1:${PORTSDIR}/www/mnogosearch
|
||||
|
||||
CONFIGURE_ARGS+=--with-mnogosearch=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mssql"
|
||||
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds-msdblib
|
||||
|
||||
CONFIGURE_ARGS+=--with-mssql=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mysql"
|
||||
CONFIGURE_ARGS+=--with-mysql=${LOCALBASE} \
|
||||
--with-zlib-dir=/usr
|
||||
|
||||
USE_MYSQL= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "ncurses"
|
||||
CONFIGURE_ARGS+=--with-ncurses=/usr
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "odbc"
|
||||
LIB_DEPENDS+= odbc.1:${PORTSDIR}/databases/unixODBC
|
||||
|
||||
CONFIGURE_ARGS+=--with-unixODBC=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "openssl"
|
||||
CONFIGURE_ARGS+=--with-openssl=${OPENSSLBASE} \
|
||||
--with-openssl-dir=${OPENSSLBASE}
|
||||
|
||||
LDFLAGS+= -lcrypto -lssl
|
||||
USE_OPENSSL= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "oracle"
|
||||
BUILD_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
|
||||
RUN_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
|
||||
|
||||
CONFIGURE_ARGS+=--with-oracle=${LOCALBASE}/oracle7
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "overload"
|
||||
CONFIGURE_ARGS+=--enable-overload
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "pcntl"
|
||||
CONFIGURE_ARGS+=--enable-pcntl
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "pcre"
|
||||
CONFIGURE_ARGS+=--with-pcre-regex=yes
|
||||
|
||||
PHP_HEADER_DIRS=pcrelib
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "pgsql"
|
||||
POSTGRESQL_PORT?= databases/postgresql7
|
||||
LIB_DEPENDS+= pq.3:${PORTSDIR}/${POSTGRESQL_PORT}
|
||||
|
||||
CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "posix"
|
||||
CONFIGURE_ARGS+=--enable-posix
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "pspell"
|
||||
LIB_DEPENDS+= aspell.15:${PORTSDIR}/textproc/aspell
|
||||
|
||||
CONFIGURE_ARGS+=--with-pspell=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "readline"
|
||||
CONFIGURE_ARGS+=--with-readline=/usr
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "recode"
|
||||
LIB_DEPENDS+= recode.3:${PORTSDIR}/converters/recode
|
||||
|
||||
CONFIGURE_ARGS+=--with-recode=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "session"
|
||||
CONFIGURE_ARGS+=--enable-session
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "shmop"
|
||||
CONFIGURE_ARGS+=--enable-shmop
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "snmp"
|
||||
CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} \
|
||||
--with-openssl-dir=${OPENSSLBASE} \
|
||||
--enable-ucd-snmp-hack
|
||||
|
||||
LDFLAGS+= -lcrypto -lssl
|
||||
USE_OPENSSL= yes
|
||||
|
||||
OPTIONS= SNMP4 "Use old UCD SNMP instead of the new NET SNMP" off
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sockets"
|
||||
CONFIGURE_ARGS+=--enable-sockets
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sybase"
|
||||
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds
|
||||
|
||||
CONFIGURE_ARGS+=--with-sybase=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sybase_ct"
|
||||
LIB_DEPENDS+= ct.2:${PORTSDIR}/databases/freetds
|
||||
|
||||
CONFIGURE_ARGS+=--with-sybase-ct=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sysvmsg"
|
||||
CONFIGURE_ARGS+=--enable-sysvmsg
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sysvsem"
|
||||
CONFIGURE_ARGS+=--enable-sysvsem
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sysvshm"
|
||||
CONFIGURE_ARGS+=--enable-sysvshm
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "tokenizer"
|
||||
CONFIGURE_ARGS+=--enable-tokenizer
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "wddx"
|
||||
CONFIGURE_ARGS+=--enable-wddx
|
||||
|
||||
USE_PHP= xml session
|
||||
USE_PHP_BUILD= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "xml"
|
||||
LIB_DEPENDS+= expat.5:${PORTSDIR}/textproc/expat2
|
||||
|
||||
CONFIGURE_ARGS+=--enable-xml \
|
||||
--with-expat-dir=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "xmlrpc"
|
||||
LIB_DEPENDS+= expat.5:${PORTSDIR}/textproc/expat2
|
||||
|
||||
CONFIGURE_ARGS+=--with-xmlrpc \
|
||||
--with-expat-dir=${LOCALBASE} \
|
||||
--with-iconv-dir=${LOCALBASE}
|
||||
|
||||
USE_ICONV= yes
|
||||
|
||||
PHP_HEADER_DIRS=libxmlrpc
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "xslt"
|
||||
LIB_DEPENDS+= sablot.70:${PORTSDIR}/textproc/sablotron \
|
||||
expat.5:${PORTSDIR}/textproc/expat2
|
||||
|
||||
CONFIGURE_ARGS+=--enable-xslt \
|
||||
--with-xslt-sablot=${LOCALBASE} \
|
||||
--with-expat-dir=${LOCALBASE} \
|
||||
--with-iconv-dir=${LOCALBASE}
|
||||
|
||||
USE_ICONV= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "yp"
|
||||
CONFIGURE_ARGS+=--enable-yp
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "zlib"
|
||||
CONFIGURE_ARGS+=--with-zlib=/usr
|
||||
.endif
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if ${PHP_MODNAME} == "dba"
|
||||
. if defined(WITHOUT_CDB)
|
||||
CONFIGURE_ARGS+=--without-cdb
|
||||
. endif
|
||||
. if defined(WITH_DB4)
|
||||
WITH_DB4_VER?= 41
|
||||
. if ${WITH_DB4_VER} == 42
|
||||
LIB_DEPENDS+= db-4.2.2:${PORTSDIR}/databases/db42
|
||||
. else
|
||||
. if ${WITH_DB4_VER} == 4
|
||||
LIB_DEPENDS+= db4.0:${PORTSDIR}/databases/db4
|
||||
. else
|
||||
LIB_DEPENDS+= db41.1:${PORTSDIR}/databases/db41
|
||||
. endif
|
||||
. endif
|
||||
CONFIGURE_ARGS+=--with-db4=${LOCALBASE}
|
||||
. endif
|
||||
. if defined(WITH_GDBM)
|
||||
LIB_DEPENDS+= gdbm.3:${PORTSDIR}/databases/gdbm
|
||||
|
||||
CONFIGURE_ARGS+=--with-gdbm=${LOCALBASE}
|
||||
. endif
|
||||
. if defined(WITHOUT_INIFILE)
|
||||
CONFIGURE_ARGS+=--without-inifile
|
||||
. endif
|
||||
. if defined(WITHOUT_FLATFILE)
|
||||
CONFIGURE_ARGS+=--without-flatfile
|
||||
. endif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "domxml"
|
||||
. if !defined(WITHOUT_XSLT)
|
||||
CONFIGURE_ARGS+=--with-dom-xslt=${LOCALBASE} \
|
||||
--with-dom-exslt=${LOCALBASE}
|
||||
USE_GNOME+= libxslt
|
||||
. endif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "gd"
|
||||
. if !defined(WITHOUT_T1LIB)
|
||||
LIB_DEPENDS+= t1.5:${PORTSDIR}/devel/t1lib
|
||||
|
||||
CONFIGURE_ARGS+=--with-t1lib=${LOCALBASE}
|
||||
. endif
|
||||
. if !defined(WITHOUT_TRUETYPE)
|
||||
CONFIGURE_ARGS+=--enable-gd-native-ttf
|
||||
. endif
|
||||
. if defined(WITH_JIS)
|
||||
CONFIGURE_ARGS+=--enable-gd-jis-conv
|
||||
. endif
|
||||
. if defined(WITH_LZW)
|
||||
CONFIGURE_ARGS+=--enable-gd-lzw-gif
|
||||
. endif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "imap"
|
||||
. if !exists(${LOCALBASE}/lib/libc-client4.so)
|
||||
. if !defined(WITHOUT_SSL)
|
||||
CONFIGURE_ARGS+=--with-imap-ssl=${LOCALBASE}
|
||||
. endif
|
||||
. else
|
||||
WITH_IMAP_SSL!= /usr/bin/ldd ${LOCALBASE}/lib/libc-client4.so | ${GREP} libssl || ${TRUE}
|
||||
. if !empty(WITH_IMAP_SSL)
|
||||
CONFIGURE_ARGS+=--with-imap-ssl=${LOCALBASE}
|
||||
. endif
|
||||
. endif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mbstring"
|
||||
. if defined(WITHOUT_REGEX)
|
||||
CONFIGURE_ARGS+=--disable-mbregex
|
||||
. endif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "openssl"
|
||||
post-extract:
|
||||
@${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "snmp"
|
||||
. if defined(WITH_SNMP4) || exists(${LOCALBASE}/lib/libsnmp.so.4)
|
||||
LIB_DEPENDS+= snmp.4:${PORTSDIR}/net-mgmt/net-snmp4
|
||||
. else
|
||||
LIB_DEPENDS+= netsnmp.6:${PORTSDIR}/net-mgmt/net-snmp
|
||||
. endif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "zlib"
|
||||
post-extract:
|
||||
@${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
|
||||
.endif
|
||||
29
lang/php4/Makefile.pear
Normal file
29
lang/php4/Makefile.pear
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
LIB_DEPENDS+= expat.5:${PORTSDIR}/textproc/expat2
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
|
||||
CONFIGURE_ARGS= --with-layout=GNU \
|
||||
--disable-cgi \
|
||||
--disable-all \
|
||||
--with-pcre-regex=yes \
|
||||
--enable-xml \
|
||||
--with-expat-dir=${LOCALBASE} \
|
||||
--with-zlib-dir=/usr \
|
||||
--with-pear
|
||||
|
||||
NO_BUILD= yes
|
||||
|
||||
INSTALL_TARGET= install-pear
|
||||
|
||||
USE_PHP= pcre xml
|
||||
WANT_PHP_SCR= yes
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
post-patch:
|
||||
@${SED} "s|%%PREFIX%%|${PREFIX}|g" \
|
||||
${WRKSRC}/pear/scripts/pearcmd.php > ${WRKSRC}/pear/scripts/pear
|
||||
|
||||
post-install:
|
||||
@${INSTALL_SCRIPT} ${WRKSRC}/pear/scripts/pear ${PREFIX}/bin
|
||||
@${SED} "s|\$${LOCALBASE}|${LOCALBASE}|g;s|\$${PREFIX}|${PREFIX}|g" < ${PKGMESSAGE}
|
||||
|
|
@ -1,477 +0,0 @@
|
|||
--- configure.orig Thu Mar 25 15:03:34 2004
|
||||
+++ configure Mon Mar 29 09:54:06 2004
|
||||
@@ -617,6 +617,8 @@
|
||||
ac_help="$ac_help
|
||||
--enable-gd-jis-conv GD: Enable JIS-mapped Japanese font support."
|
||||
ac_help="$ac_help
|
||||
+ --enable-gd-lzw-gif GD: Enable LZW-compressed GIF support."
|
||||
+ac_help="$ac_help
|
||||
--with-gettext[=DIR] Include GNU gettext support."
|
||||
ac_help="$ac_help
|
||||
--with-gmp[=DIR] Include GNU MP support"
|
||||
@@ -23147,6 +23149,14 @@
|
||||
THIS_PREFIX=$i
|
||||
THIS_INCLUDE=$i/db4/db.h
|
||||
break
|
||||
+ elif test -f "$i/include/db42/db.h"; then
|
||||
+ THIS_PREFIX=$i
|
||||
+ THIS_INCLUDE=$i/include/db42/db.h
|
||||
+ break
|
||||
+ elif test -f "$i/include/db41/db.h"; then
|
||||
+ THIS_PREFIX=$i
|
||||
+ THIS_INCLUDE=$i/include/db41/db.h
|
||||
+ break
|
||||
elif test -f "$i/include/db4/db.h"; then
|
||||
THIS_PREFIX=$i
|
||||
THIS_INCLUDE=$i/include/db4/db.h
|
||||
@@ -23166,7 +23176,7 @@
|
||||
fi
|
||||
done
|
||||
|
||||
- for LIB in db-4.2 db-4.1 db-4.0 db-4 db4 db; do
|
||||
+ for LIB in db-4.2 db-4.1 db-4.0 db-4 db41 db4 db; do
|
||||
if test -f $THIS_PREFIX/lib/lib$LIB.a -o -f $THIS_PREFIX/lib/lib$LIB.$SHLIB_SUFFIX_NAME; then
|
||||
|
||||
old_LDFLAGS=$LDFLAGS
|
||||
@@ -29711,6 +29721,31 @@
|
||||
|
||||
|
||||
|
||||
+echo $ac_n "checking whether to enable LZW-compressed GIF support in GD""... $ac_c" 1>&6
|
||||
+echo "configure:28220: checking whether to enable LZW-compressed GIF support in GD" >&5
|
||||
+# Check whether --enable-gd-lzw-gif or --disable-gd-lzw-gif was given.
|
||||
+if test "${enable_gd_lzw_gif+set}" = set; then
|
||||
+ enableval="$enable_gd_lzw_gif"
|
||||
+ PHP_GD_LZW_GIF=$enableval
|
||||
+else
|
||||
+
|
||||
+ PHP_GD_LZW_GIF=no
|
||||
+
|
||||
+ if test "$PHP_ENABLE_ALL" && test "no" = "yes"; then
|
||||
+ PHP_GD_LZW_GIF=$PHP_ENABLE_ALL
|
||||
+ fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+ext_output=$PHP_GD_LZW_GIF
|
||||
+echo "$ac_t""$ext_output" 1>&6
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
|
||||
|
||||
|
||||
@@ -29863,7 +29898,7 @@
|
||||
libgd/gd_io_file.c libgd/gd_ss.c libgd/gd_io_ss.c libgd/gd_png.c libgd/gd_jpeg.c \
|
||||
libgd/gdxpm.c libgd/gdfontt.c libgd/gdfonts.c libgd/gdfontmb.c libgd/gdfontl.c \
|
||||
libgd/gdfontg.c libgd/gdtables.c libgd/gdft.c libgd/gdcache.c libgd/gdkanji.c \
|
||||
- libgd/wbmp.c libgd/gd_wbmp.c libgd/gdhelpers.c libgd/gd_topal.c libgd/gd_gif_in.c \
|
||||
+ libgd/wbmp.c libgd/gd_wbmp.c libgd/gdhelpers.c libgd/gd_topal.c libgd/gd_gif_in.c libgd/gd_biggif_out.c libgd/gd_lzw_out.c libgd/gd_gif_out.c \
|
||||
libgd/xbm.c"
|
||||
|
||||
for ac_func in fabsf floorf
|
||||
@@ -29938,6 +29973,11 @@
|
||||
fi
|
||||
|
||||
|
||||
+ if test "$PHP_GD_LZW_GIF" = "yes"; then
|
||||
+ USE_GD_LZW_GIF=1
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
if test "$PHP_JPEG_DIR" != "no"; then
|
||||
|
||||
for i in $PHP_JPEG_DIR /usr/local /usr; do
|
||||
@@ -31649,6 +31689,9 @@
|
||||
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define HAVE_GD_BUNDLED 1
|
||||
+#define HAVE_GD_GIF_CREATE 1
|
||||
+#define HAVE_GD_GIF_CTX 1
|
||||
+#define HAVE_GD_GIF_ANIM 1
|
||||
EOF
|
||||
|
||||
cat >> confdefs.h <<\EOF
|
||||
@@ -31703,6 +31746,14 @@
|
||||
GDLIB_CFLAGS="$GDLIB_CFLAGS -DJISX0208"
|
||||
fi
|
||||
|
||||
+ if test -n "$USE_GD_LZW_GIF"; then
|
||||
+ cat >> confdefs.h <<\EOF
|
||||
+#define LZW_LICENCED 1
|
||||
+EOF
|
||||
+
|
||||
+ GDLIB_CFLAGS="$GDLIB_CFLAGS -DLZW_LICENCED"
|
||||
+ fi
|
||||
+
|
||||
else
|
||||
|
||||
if test "$PHP_GD" != "no"; then
|
||||
@@ -36052,6 +36103,137 @@
|
||||
esac
|
||||
done
|
||||
|
||||
+ echo $ac_n "checking for gdImageGifAnimBegin in -lgd""... $ac_c" 1>&6
|
||||
+echo "configure:32250: checking for gdImageGifAnimBegin in -lgd" >&5
|
||||
+ac_lib_var=`echo gd'_'gdImageGifAnimBegin | sed 'y%./+-%__p_%'`
|
||||
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
+ echo $ac_n "(cached) $ac_c" 1>&6
|
||||
+else
|
||||
+ ac_save_LIBS="$LIBS"
|
||||
+LIBS="-lgd $LIBS"
|
||||
+cat > conftest.$ac_ext <<EOF
|
||||
+#line 32258 "configure"
|
||||
+#include "confdefs.h"
|
||||
+/* Override any gcc2 internal prototype to avoid an error. */
|
||||
+/* We use char because int might match the return type of a gcc2
|
||||
+ builtin and then its argument prototype would still apply. */
|
||||
+char gdImageGifAnimBegin();
|
||||
+
|
||||
+int main() {
|
||||
+gdImageGifAnimBegin()
|
||||
+; return 0; }
|
||||
+EOF
|
||||
+if { (eval echo configure:32269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
+ rm -rf conftest*
|
||||
+ eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
+else
|
||||
+ echo "configure: failed program was:" >&5
|
||||
+ cat conftest.$ac_ext >&5
|
||||
+ rm -rf conftest*
|
||||
+ eval "ac_cv_lib_$ac_lib_var=no"
|
||||
+fi
|
||||
+rm -f conftest*
|
||||
+LIBS="$ac_save_LIBS"
|
||||
+
|
||||
+fi
|
||||
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
|
||||
+ echo "$ac_t""yes" 1>&6
|
||||
+
|
||||
+ LDFLAGS=$save_old_LDFLAGS
|
||||
+ ext_shared=$save_ext_shared
|
||||
+ cat >> confdefs.h <<\EOF
|
||||
+#define HAVE_GD_GIF_ANIM 1
|
||||
+EOF
|
||||
+
|
||||
+
|
||||
+else
|
||||
+ echo "$ac_t""no" 1>&6
|
||||
+
|
||||
+ LDFLAGS=$save_old_LDFLAGS
|
||||
+ ext_shared=$save_ext_shared
|
||||
+ unset ac_cv_func_gd
|
||||
+
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+ save_old_LDFLAGS=$LDFLAGS
|
||||
+ ac_stuff=" -L$GD_LIB $GD_SHARED_LIBADD "
|
||||
+
|
||||
+ save_ext_shared=$ext_shared
|
||||
+ ext_shared=yes
|
||||
+
|
||||
+ for ac_i in $ac_stuff; do
|
||||
+ case $ac_i in
|
||||
+ -l*)
|
||||
+ ac_ii=`echo $ac_i|cut -c 3-`
|
||||
+
|
||||
+
|
||||
+ case $ac_ii in
|
||||
+ c|c_r|pthread*) ;;
|
||||
+ *)
|
||||
+ if test "$ext_shared" = "yes"; then
|
||||
+ LDFLAGS="$LDFLAGS -l$ac_ii"
|
||||
+ else
|
||||
+
|
||||
+
|
||||
+ case $ac_ii in
|
||||
+ c|c_r|pthread*) ;;
|
||||
+ *)
|
||||
+ LIBS="$LIBS -l$ac_ii"
|
||||
+ ;;
|
||||
+ esac
|
||||
+
|
||||
+
|
||||
+ fi
|
||||
+ ;;
|
||||
+ esac
|
||||
+
|
||||
+
|
||||
+ ;;
|
||||
+ -L*)
|
||||
+ ac_ii=`echo $ac_i|cut -c 3-`
|
||||
+
|
||||
+ if test "$ac_ii" != "/usr/lib"; then
|
||||
+
|
||||
+ if test -z "$ac_ii" || echo "$ac_ii" | grep '^/' >/dev/null ; then
|
||||
+ ai_p=$ac_ii
|
||||
+ else
|
||||
+
|
||||
+ ep_dir="`echo $ac_ii|sed 's%/*[^/][^/]*/*$%%'`"
|
||||
+
|
||||
+ ep_realdir="`(cd \"$ep_dir\" && pwd)`"
|
||||
+ ai_p="$ep_realdir/`basename \"$ac_ii\"`"
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ if test "$ext_shared" = "yes"; then
|
||||
+ LDFLAGS="$ld_runpath_switch$ai_p -L$ai_p $LDFLAGS"
|
||||
+ else
|
||||
+
|
||||
+
|
||||
+
|
||||
+ unique=`echo $ai_p|sed 's/[^a-zA-Z0-9]/_/g'`
|
||||
+
|
||||
+ cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
|
||||
+ if test -n "$unique" && test "`eval $cmd`" = "" ; then
|
||||
+ eval "LIBPATH$unique=set"
|
||||
+
|
||||
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
|
||||
+ LDFLAGS="$LDFLAGS -L$ai_p"
|
||||
+ PHP_RPATHS="$PHP_RPATHS $ai_p"
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+ ;;
|
||||
+ esac
|
||||
+ done
|
||||
+
|
||||
echo $ac_n "checking for gdCacheCreate in -lgd""... $ac_c" 1>&6
|
||||
echo "configure:36057: checking for gdCacheCreate in -lgd" >&5
|
||||
ac_lib_var=`echo gd'_'gdCacheCreate | sed 'y%./+-%__p_%'`
|
||||
@@ -62586,6 +62768,102 @@
|
||||
|
||||
|
||||
if test "$ext_shared" = "yes"; then
|
||||
+ ORACLE_SHARED_LIBADD="-lwrap $ORACLE_SHARED_LIBADD"
|
||||
+ if test -n "$ORACLE_DIR/lib"; then
|
||||
+
|
||||
+ if test "$ORACLE_DIR/lib" != "/usr/lib"; then
|
||||
+
|
||||
+ if test -z "$ORACLE_DIR/lib" || echo "$ORACLE_DIR/lib" | grep '^/' >/dev/null ; then
|
||||
+ ai_p=$ORACLE_DIR/lib
|
||||
+ else
|
||||
+
|
||||
+ ep_dir="`echo $ORACLE_DIR/lib|sed 's%/*[^/][^/]*/*$%%'`"
|
||||
+
|
||||
+ ep_realdir="`(cd \"$ep_dir\" && pwd)`"
|
||||
+ ai_p="$ep_realdir/`basename \"$ORACLE_DIR/lib\"`"
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ if test "$ext_shared" = "yes"; then
|
||||
+ ORACLE_SHARED_LIBADD="$ld_runpath_switch$ai_p -L$ai_p $ORACLE_SHARED_LIBADD"
|
||||
+ else
|
||||
+
|
||||
+
|
||||
+
|
||||
+ unique=`echo $ai_p|sed 's/[^a-zA-Z0-9]/_/g'`
|
||||
+
|
||||
+ cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
|
||||
+ if test -n "$unique" && test "`eval $cmd`" = "" ; then
|
||||
+ eval "LIBPATH$unique=set"
|
||||
+
|
||||
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
|
||||
+ LDFLAGS="$LDFLAGS -L$ai_p"
|
||||
+ PHP_RPATHS="$PHP_RPATHS $ai_p"
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+ fi
|
||||
+ else
|
||||
+
|
||||
+
|
||||
+ if test -n "$ORACLE_DIR/lib"; then
|
||||
+
|
||||
+ if test "$ORACLE_DIR/lib" != "/usr/lib"; then
|
||||
+
|
||||
+ if test -z "$ORACLE_DIR/lib" || echo "$ORACLE_DIR/lib" | grep '^/' >/dev/null ; then
|
||||
+ ai_p=$ORACLE_DIR/lib
|
||||
+ else
|
||||
+
|
||||
+ ep_dir="`echo $ORACLE_DIR/lib|sed 's%/*[^/][^/]*/*$%%'`"
|
||||
+
|
||||
+ ep_realdir="`(cd \"$ep_dir\" && pwd)`"
|
||||
+ ai_p="$ep_realdir/`basename \"$ORACLE_DIR/lib\"`"
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+ unique=`echo $ai_p|sed 's/[^a-zA-Z0-9]/_/g'`
|
||||
+
|
||||
+ cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
|
||||
+ if test -n "$unique" && test "`eval $cmd`" = "" ; then
|
||||
+ eval "LIBPATH$unique=set"
|
||||
+
|
||||
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
|
||||
+ LDFLAGS="$LDFLAGS -L$ai_p"
|
||||
+ PHP_RPATHS="$PHP_RPATHS $ai_p"
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ case wrap in
|
||||
+ c|c_r|pthread*) ;;
|
||||
+ *)
|
||||
+ LIBS="-lwrap $LIBS"
|
||||
+ ;;
|
||||
+ esac
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+ if test "$ext_shared" = "yes"; then
|
||||
ORACLE_SHARED_LIBADD="-lnlsrtl3 $ORACLE_SHARED_LIBADD"
|
||||
if test -n "$ORACLE_DIR/lib"; then
|
||||
|
||||
@@ -79741,29 +80019,6 @@
|
||||
else
|
||||
|
||||
|
||||
- case cs in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- if test "$ext_shared" = "yes"; then
|
||||
- SYBASE_CT_SHARED_LIBADD="-lcs $SYBASE_CT_SHARED_LIBADD"
|
||||
- else
|
||||
-
|
||||
-
|
||||
- case cs in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- LIBS="-lcs $LIBS"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
- fi
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
case ct in
|
||||
c|c_r|pthread*) ;;
|
||||
*)
|
||||
@@ -79787,52 +80042,7 @@
|
||||
|
||||
|
||||
|
||||
- case comn in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- if test "$ext_shared" = "yes"; then
|
||||
- SYBASE_CT_SHARED_LIBADD="-lcomn $SYBASE_CT_SHARED_LIBADD"
|
||||
- else
|
||||
-
|
||||
-
|
||||
- case comn in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- LIBS="-lcomn $LIBS"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
- fi
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
- case intl in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- if test "$ext_shared" = "yes"; then
|
||||
- SYBASE_CT_SHARED_LIBADD="-lintl $SYBASE_CT_SHARED_LIBADD"
|
||||
- else
|
||||
-
|
||||
-
|
||||
- case intl in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- LIBS="-lintl $LIBS"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
- fi
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
-
|
||||
- SYBASE_CT_LIBS="-L$SYBASE_CT_LIBDIR -lcs -lct -lcomn -lintl"
|
||||
+ SYBASE_CT_LIBS="-L$SYBASE_CT_LIBDIR -lct"
|
||||
|
||||
|
||||
save_old_LDFLAGS=$LDFLAGS
|
||||
@@ -79967,38 +80177,6 @@
|
||||
c|c_r|pthread*) ;;
|
||||
*)
|
||||
LIBS="-ltcl $LIBS"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
- fi
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-else
|
||||
- echo "$ac_t""no" 1>&6
|
||||
-
|
||||
- LDFLAGS=$save_old_LDFLAGS
|
||||
- ext_shared=$save_ext_shared
|
||||
- unset ac_cv_func_tcl
|
||||
-
|
||||
-
|
||||
-
|
||||
- case sybtcl in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- if test "$ext_shared" = "yes"; then
|
||||
- SYBASE_CT_SHARED_LIBADD="-lsybtcl $SYBASE_CT_SHARED_LIBADD"
|
||||
- else
|
||||
-
|
||||
-
|
||||
- case sybtcl in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- LIBS="-lsybtcl $LIBS"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
--- ext/gd/gd.c.orig Wed Jun 4 02:22:30 2003
|
||||
+++ ext/gd/gd.c Sat Jun 28 15:47:56 2003
|
||||
@@ -206,6 +206,11 @@
|
||||
#ifdef HAVE_GD_GIF_CREATE
|
||||
PHP_FE(imagegif, NULL)
|
||||
#endif
|
||||
+#ifdef HAVE_GD_GIF_ANIM
|
||||
+ PHP_FE(imagegifanimbegin, NULL)
|
||||
+ PHP_FE(imagegifanimadd, NULL)
|
||||
+ PHP_FE(imagegifanimend, NULL)
|
||||
+#endif
|
||||
#ifdef HAVE_GD_JPG
|
||||
PHP_FE(imagejpeg, NULL)
|
||||
#endif
|
||||
@@ -1707,11 +1712,35 @@
|
||||
#ifdef HAVE_GD_GIF_CTX
|
||||
_php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIF, "GIF", gdImageGifCtx);
|
||||
#else
|
||||
+
|
||||
+#ifdef HAVE_GD_BUNDLED
|
||||
+#error "I really think there should be ctx version of imagegif in the bundled GD library. Fix the configuration."
|
||||
+#endif
|
||||
+
|
||||
_php_image_output(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIF, "GIF", gdImageGif);
|
||||
#endif
|
||||
}
|
||||
/* }}} */
|
||||
#endif /* HAVE_GD_GIF_CREATE */
|
||||
+
|
||||
+#ifdef HAVE_GD_GIF_ANIM
|
||||
+/* {{{ proto int imagegifanimbegin(int im [, string filename [, int GlobalColormap [, int Loops]]])
|
||||
+ Begin GIF animation. Image parameter is only used for size and colormap,
|
||||
+ all animation frames must be added separately. */
|
||||
+PHP_FUNCTION(imagegifanimbegin)
|
||||
+{
|
||||
+ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIFANIMBEGIN, "GIF", gdImageGifAnimBeginCtx);
|
||||
+}
|
||||
+/* }}} */
|
||||
+
|
||||
+/* {{{ proto int imagegifanimadd(int im [, string filename [, int LocalColormap [, LeftOfs [, int TopOfs [, int Delay [, int Disposal]]]]]])
|
||||
+ Append GIF image to animation */
|
||||
+PHP_FUNCTION(imagegifanimadd)
|
||||
+{
|
||||
+ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIFANIMADD, "GIF", gdImageGifAnimAddCtx);
|
||||
+}
|
||||
+/* }}} */
|
||||
+#endif /* HAVE_GD_GIF_ANIM */
|
||||
|
||||
#ifdef HAVE_GD_PNG
|
||||
/* {{{ proto int imagepng(int im [, string filename])
|
||||
|
|
@ -1,158 +0,0 @@
|
|||
--- ext/gd/gd_ctx.c.orig Wed Mar 12 05:16:31 2003
|
||||
+++ ext/gd/gd_ctx.c Sat Jun 28 15:47:56 2003
|
||||
@@ -24,17 +24,22 @@
|
||||
|
||||
static void _php_image_output_ctx(INTERNAL_FUNCTION_PARAMETERS, int image_type, char *tn, void (*func_p)())
|
||||
{
|
||||
- zval **imgind, **file, **quality;
|
||||
+ zval **imgind, **file, **quality, **lo, **to, **del, **dis;
|
||||
gdImagePtr im;
|
||||
char *fn = NULL;
|
||||
FILE *fp = NULL;
|
||||
int argc = ZEND_NUM_ARGS();
|
||||
int q = -1, i;
|
||||
+#ifdef HAVE_GD_GIF_ANIM
|
||||
+ int LeftOfs = -1, TopOfs = -1, Delay = -1, Disposal = -1;
|
||||
+#endif /* HAVE_GD_GIF_ANIM */
|
||||
gdIOCtx *ctx;
|
||||
|
||||
/* The quality parameter for Wbmp stands for the threshold when called from image2wbmp() */
|
||||
+ /* The quality parameter for GIF animation stands for colormap inclusion. 1==include local/global colormap */
|
||||
+ /* The LeftOfs parameter for GIF animation begin stands for NETSCAPE2.0 Loop count extension. */
|
||||
|
||||
- if (argc < 1 || argc > 3 || zend_get_parameters_ex(argc, &imgind, &file, &quality) == FAILURE)
|
||||
+ if (argc < 1 || argc > 7 || zend_get_parameters_ex(argc, &imgind, &file, &quality, &lo, &to, &del, &dis) == FAILURE)
|
||||
{
|
||||
WRONG_PARAM_COUNT;
|
||||
}
|
||||
@@ -44,11 +49,29 @@
|
||||
if (argc > 1) {
|
||||
convert_to_string_ex(file);
|
||||
fn = Z_STRVAL_PP(file);
|
||||
- if (argc == 3) {
|
||||
- convert_to_long_ex(quality);
|
||||
- q = Z_LVAL_PP(quality);
|
||||
- }
|
||||
}
|
||||
+ if (argc >= 3) {
|
||||
+ convert_to_long_ex(quality);
|
||||
+ q = Z_LVAL_PP(quality);
|
||||
+ }
|
||||
+#ifdef HAVE_GD_GIF_ANIM
|
||||
+ if (argc >= 4) {
|
||||
+ convert_to_long_ex(lo);
|
||||
+ LeftOfs = Z_LVAL_PP(lo);
|
||||
+ }
|
||||
+ if (argc >= 5) {
|
||||
+ convert_to_long_ex(to);
|
||||
+ TopOfs = Z_LVAL_PP(to);
|
||||
+ }
|
||||
+ if (argc >= 6) {
|
||||
+ convert_to_long_ex(del);
|
||||
+ Delay = Z_LVAL_PP(del);
|
||||
+ }
|
||||
+ if (argc >= 7) {
|
||||
+ convert_to_long_ex(dis);
|
||||
+ Disposal = Z_LVAL_PP(dis);
|
||||
+ }
|
||||
+#endif /* HAVE_GD_GIF_ANIM */
|
||||
|
||||
if ((argc == 2) || (argc > 2 && Z_STRLEN_PP(file))) {
|
||||
if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC)) {
|
||||
@@ -56,7 +79,7 @@
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
- fp = VCWD_FOPEN(fn, "wb");
|
||||
+ fp = VCWD_FOPEN(fn, PHP_GDIMG_TYPE_GIFANIMADD == image_type ? "ab" : "wb");
|
||||
if (!fp) {
|
||||
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open '%s' for writing", fn);
|
||||
RETURN_FALSE;
|
||||
@@ -94,6 +117,14 @@
|
||||
}
|
||||
(*func_p)(im, i, ctx);
|
||||
break;
|
||||
+#ifdef HAVE_GD_GIF_ANIM
|
||||
+ case PHP_GDIMG_TYPE_GIFANIMBEGIN:
|
||||
+ (*func_p)(im, ctx, q, LeftOfs);
|
||||
+ break;
|
||||
+ case PHP_GDIMG_TYPE_GIFANIMADD:
|
||||
+ (*func_p)(im, ctx, q, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+ break;
|
||||
+#endif /* HAVE_GD_GIF_ANIM */
|
||||
default:
|
||||
(*func_p)(im, ctx);
|
||||
break;
|
||||
@@ -112,3 +143,72 @@
|
||||
|
||||
RETURN_TRUE;
|
||||
}
|
||||
+
|
||||
+#ifdef HAVE_GD_GIF_ANIM
|
||||
+/* {{{ proto int imagegifanimend([string filename])
|
||||
+ Write end mark to gif animation. */
|
||||
+PHP_FUNCTION(imagegifanimend)
|
||||
+{
|
||||
+ zval **file;
|
||||
+ char *fn = NULL;
|
||||
+ FILE *fp = NULL;
|
||||
+ int argc = ZEND_NUM_ARGS();
|
||||
+ gdIOCtx *ctx;
|
||||
+
|
||||
+ if (argc < 0 || argc > 1 || zend_get_parameters_ex(argc, &file) == FAILURE) {
|
||||
+ ZEND_WRONG_PARAM_COUNT();
|
||||
+ }
|
||||
+
|
||||
+ if (argc >= 1) {
|
||||
+ convert_to_string_ex(file);
|
||||
+ fn = Z_STRVAL_PP(file);
|
||||
+ }
|
||||
+
|
||||
+ if ((argc == 1) || (argc > 1 && Z_STRLEN_PP(file))) {
|
||||
+ if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC)) {
|
||||
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid filename '%s'", fn);
|
||||
+ RETURN_FALSE;
|
||||
+ }
|
||||
+
|
||||
+ fp = VCWD_FOPEN(fn, "ab");
|
||||
+ if (!fp) {
|
||||
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open '%s' for writing", fn);
|
||||
+ RETURN_FALSE;
|
||||
+ }
|
||||
+
|
||||
+ ctx = gdNewFileCtx(fp);
|
||||
+ } else {
|
||||
+ ctx = emalloc(sizeof(gdIOCtx));
|
||||
+ ctx->putC = _php_image_output_putc;
|
||||
+ ctx->putBuf = _php_image_output_putbuf;
|
||||
+#if HAVE_LIBGD204
|
||||
+ ctx->gd_free = _php_image_output_ctxfree;
|
||||
+#else
|
||||
+ ctx->free = _php_image_output_ctxfree;
|
||||
+#endif
|
||||
+
|
||||
+#if APACHE && defined(CHARSET_EBCDIC)
|
||||
+ /* XXX this is unlikely to work any more thies@thieso.net */
|
||||
+ /* This is a binary file already: avoid EBCDIC->ASCII conversion */
|
||||
+ ap_bsetflag(php3_rqst->connection->client, B_EBCDIC2ASCII, 0);
|
||||
+#endif
|
||||
+ }
|
||||
+
|
||||
+ /* This could be coded in here, as it only outputs ';' */
|
||||
+ gdImageGifAnimEndCtx(ctx);
|
||||
+
|
||||
+#if HAVE_LIBGD204
|
||||
+ ctx->gd_free(ctx);
|
||||
+#else
|
||||
+ ctx->free(ctx);
|
||||
+#endif
|
||||
+
|
||||
+ if(fp) {
|
||||
+ fflush(fp);
|
||||
+ fclose(fp);
|
||||
+ }
|
||||
+
|
||||
+ RETURN_TRUE;
|
||||
+}
|
||||
+/* }}} */
|
||||
+#endif /* HAVE_GD_GIF_ANIM */
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
--- ext/gd/libgd/gd.h.orig Wed Apr 9 03:55:56 2003
|
||||
+++ ext/gd/libgd/gd.h Sat Jun 28 15:47:56 2003
|
||||
@@ -446,6 +446,30 @@
|
||||
gdImagePtr gdImageCreateFromGifCtx(gdIOCtxPtr in);
|
||||
gdImagePtr gdImageCreateFromGifSource(gdSourcePtr in);
|
||||
|
||||
+void gdImageLzw(gdImagePtr im, FILE *out);
|
||||
+void* gdImageLzwPtr(gdImagePtr im, int *size);
|
||||
+void gdImageLzwCtx(gdImagePtr im, gdIOCtxPtr out);
|
||||
+
|
||||
+void gdImageBigGif(gdImagePtr im, FILE *out);
|
||||
+void* gdImageBigGifPtr(gdImagePtr im, int *size);
|
||||
+void gdImageBigGifCtx(gdImagePtr im, gdIOCtxPtr out);
|
||||
+
|
||||
+void gdImageGifAnimBegin(gdImagePtr im, FILE *outFile, int GlobalCM, int Loops);
|
||||
+void gdImageGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void gdImageLzwAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void gdImageBigGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void gdImageGifAnimEnd(FILE *outFile);
|
||||
+void gdImageGifAnimBeginCtx(gdImagePtr im, gdIOCtx *out, int GlobalCM, int Loops);
|
||||
+void gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void gdImageLzwAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void gdImageBigGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void gdImageGifAnimEndCtx(gdIOCtx *out);
|
||||
+void *gdImageGifAnimBeginPtr(gdImagePtr im, int *size, int GlobalCM, int Loops);
|
||||
+void *gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void *gdImageLzwAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void *gdImageBigGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void *gdImageGifAnimEndPtr(int *size);
|
||||
+
|
||||
/* A custom data sink. For backwards compatibility. Use
|
||||
gdIOCtx instead. */
|
||||
/* The sink function must return -1 on error, otherwise the number
|
||||
@@ -457,6 +481,11 @@
|
||||
} gdSink, *gdSinkPtr;
|
||||
|
||||
void gdImagePngToSink(gdImagePtr im, gdSinkPtr out);
|
||||
+
|
||||
+void gdImageGif (gdImagePtr im, FILE *out);
|
||||
+void* gdImageGifPtr (gdImagePtr im, int *size);
|
||||
+void gdImageGifCtx (gdImagePtr im, gdIOCtxPtr out);
|
||||
+void gdImageGifToSink (gdImagePtr im, gdSinkPtr out);
|
||||
|
||||
void gdImageGd(gdImagePtr im, FILE *out);
|
||||
void gdImageGd2(gdImagePtr im, FILE *out, int cs, int fmt);
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,73 +0,0 @@
|
|||
--- ext/gd/libgd/gd_gif_out.c.orig Sat Jun 28 15:47:56 2003
|
||||
+++ ext/gd/libgd/gd_gif_out.c Sat Jun 28 16:07:33 2003
|
||||
@@ -0,0 +1,70 @@
|
||||
+#include <stdio.h>
|
||||
+#include <math.h>
|
||||
+#include <string.h>
|
||||
+#include <stdlib.h>
|
||||
+#include "gd.h"
|
||||
+
|
||||
+/*
|
||||
+** Wrapper functions for GIF output.
|
||||
+*/
|
||||
+
|
||||
+void gdImageGifToSink(gdImagePtr im, gdSinkPtr outSink)
|
||||
+{
|
||||
+ gdIOCtx *out = gdNewSSCtx(NULL,outSink);
|
||||
+ gdImageGifCtx(im, out);
|
||||
+ out->gd_free(out);
|
||||
+}
|
||||
+
|
||||
+void gdImageGifCtx(gdImagePtr im, gdIOCtx *out)
|
||||
+{
|
||||
+#ifdef LZW_LICENCED
|
||||
+ gdImageLzwCtx(im, out);
|
||||
+#else
|
||||
+ gdImageBigGifCtx(im, out);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void gdImageGif(gdImagePtr im, FILE *outFile)
|
||||
+{
|
||||
+#ifdef LZW_LICENCED
|
||||
+ gdImageLzw(im, outFile);
|
||||
+#else
|
||||
+ gdImageBigGif(im, outFile);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void* gdImageGifPtr(gdImagePtr im, int *size)
|
||||
+{
|
||||
+#ifdef LZW_LICENCED
|
||||
+ return gdImageLzwPtr(im, size);
|
||||
+#else
|
||||
+ return gdImageBigGifPtr(im, size);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
|
||||
+{
|
||||
+#ifdef LZW_LICENCED
|
||||
+ gdImageLzwAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+#else
|
||||
+ gdImageBigGifAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void gdImageGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
|
||||
+{
|
||||
+#ifdef LZW_LICENCED
|
||||
+ gdImageLzwAnimAdd(im, outFile, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+#else
|
||||
+ gdImageBigGifAnimAdd(im, outFile, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void *gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
|
||||
+{
|
||||
+#ifdef LZW_LICENCED
|
||||
+ return gdImageLzwAnimAddPtr(im, size, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+#else
|
||||
+ return gdImageBigGifAnimAddPtr(im, size, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+#endif
|
||||
+}
|
||||
|
|
@ -1,939 +0,0 @@
|
|||
--- ext/gd/libgd/gd_lzw_out.c.orig Sat Jun 28 15:47:56 2003
|
||||
+++ ext/gd/libgd/gd_lzw_out.c Sat Jun 28 16:01:04 2003
|
||||
@@ -0,0 +1,936 @@
|
||||
+#ifdef HAVE_MALLOC_H
|
||||
+ #include <malloc.h>
|
||||
+#endif
|
||||
+#include <stdio.h>
|
||||
+#include <math.h>
|
||||
+#include <string.h>
|
||||
+#include <stdlib.h>
|
||||
+#include "gd.h"
|
||||
+
|
||||
+/* Code drawn from ppmtogif.c, from the pbmplus package
|
||||
+**
|
||||
+** Based on GIFENCOD by David Rowley <mgardi@watdscu.waterloo.edu>. A
|
||||
+** Lempel-Zim compression based on "compress".
|
||||
+**
|
||||
+** Modified by Marcel Wijkstra <wijkstra@fwi.uva.nl>
|
||||
+**
|
||||
+** Copyright (C) 1989 by Jef Poskanzer.
|
||||
+**
|
||||
+** Permission to use, copy, modify, and distribute this software and its
|
||||
+** documentation for any purpose and without fee is hereby granted, provided
|
||||
+** that the above copyright notice appear in all copies and that both that
|
||||
+** copyright notice and this permission notice appear in supporting
|
||||
+** documentation. This software is provided "as is" without express or
|
||||
+** implied warranty.
|
||||
+**
|
||||
+** The Graphics Interchange Format(c) is the Copyright property of
|
||||
+** CompuServe Incorporated. GIF(sm) is a Service Mark property of
|
||||
+** CompuServe Incorporated.
|
||||
+*/
|
||||
+
|
||||
+/*
|
||||
+ * a code_int must be able to hold 2**GIFBITS values of type int, and also -1
|
||||
+ */
|
||||
+typedef int code_int;
|
||||
+
|
||||
+#ifdef SIGNED_COMPARE_SLOW
|
||||
+typedef unsigned long int count_int;
|
||||
+typedef unsigned short int count_short;
|
||||
+#else /*SIGNED_COMPARE_SLOW*/
|
||||
+typedef long int count_int;
|
||||
+#endif /*SIGNED_COMPARE_SLOW*/
|
||||
+
|
||||
+static int colorstobpp(int colors);
|
||||
+static void BumpPixel (void);
|
||||
+static int GIFNextPixel (gdImagePtr im);
|
||||
+static void GIFEncode (gdIOCtx *fp, int GWidth, int GHeight, int GInterlace, int Background, int Transparent, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im);
|
||||
+static void GIFAnimEncode(gdIOCtx *fp, int IWidth, int IHeight, int LeftOfs, int TopOfs, int GInterlace, int Transparent, int Delay, int Disposal, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im);
|
||||
+/*static void Putword (int w, gdIOCtx *fp); */
|
||||
+static void compress (int init_bits, gdIOCtx *outfile, gdImagePtr im);
|
||||
+static void output (code_int code);
|
||||
+static void cl_block (void);
|
||||
+static void cl_hash (register count_int hsize);
|
||||
+static void char_init (void);
|
||||
+static void char_out (int c);
|
||||
+static void flush_char (void);
|
||||
+/* Allows for reuse */
|
||||
+static void init_statics(void);
|
||||
+
|
||||
+void gdImageLzwCtx(gdImagePtr im, gdIOCtx *out)
|
||||
+{
|
||||
+ int interlace, transparent, BitsPerPixel;
|
||||
+
|
||||
+ interlace = im->interlace;
|
||||
+ transparent = im->transparent;
|
||||
+
|
||||
+ BitsPerPixel = colorstobpp(im->colorsTotal);
|
||||
+ /* Clear any old values in statics strewn through the GIF code */
|
||||
+ init_statics();
|
||||
+ /* All set, let's do it. */
|
||||
+ GIFEncode(
|
||||
+ out, im->sx, im->sy, interlace, 0, transparent, BitsPerPixel,
|
||||
+ im->red, im->green, im->blue, im);
|
||||
+}
|
||||
+
|
||||
+void gdImageLzw(gdImagePtr im, FILE *outFile)
|
||||
+{
|
||||
+ gdIOCtx *out = gdNewFileCtx(outFile);
|
||||
+ gdImageLzwCtx(im, out);
|
||||
+ out->gd_free(out);
|
||||
+}
|
||||
+
|
||||
+void* gdImageLzwPtr(gdImagePtr im, int *size)
|
||||
+{
|
||||
+ void *rv;
|
||||
+ gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
|
||||
+ gdImageLzwCtx(im, out);
|
||||
+ rv = gdDPExtractData(out,size);
|
||||
+ out->gd_free(out);
|
||||
+ return rv;
|
||||
+}
|
||||
+
|
||||
+void gdImageLzwAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
|
||||
+{
|
||||
+ int interlace, transparent, BitsPerPixel;
|
||||
+
|
||||
+ interlace = im->interlace;
|
||||
+ transparent = im->transparent;
|
||||
+
|
||||
+ BitsPerPixel = colorstobpp(im->colorsTotal);
|
||||
+ /* Clear any old values in statics strewn through the GIF code */
|
||||
+ init_statics();
|
||||
+ /* All set, let's do it. */
|
||||
+ GIFAnimEncode(
|
||||
+ out, im->sx, im->sy, LeftOfs, TopOfs, interlace, transparent,
|
||||
+ Delay, Disposal, BitsPerPixel,
|
||||
+ LocalCM > 0 ? im->red : 0, im->green, im->blue, im);
|
||||
+}
|
||||
+
|
||||
+void gdImageLzwAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
|
||||
+{
|
||||
+ gdIOCtx *out = gdNewFileCtx(outFile);
|
||||
+ gdImageLzwAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+ out->gd_free(out);
|
||||
+}
|
||||
+
|
||||
+void* gdImageLzwAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
|
||||
+{
|
||||
+ void *rv;
|
||||
+ gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
|
||||
+ gdImageLzwAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+ rv = gdDPExtractData(out,size);
|
||||
+ out->gd_free(out);
|
||||
+ return rv;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
+static int
|
||||
+colorstobpp(int colors)
|
||||
+{
|
||||
+ int bpp = 0;
|
||||
+
|
||||
+ if ( colors <= 2 )
|
||||
+ bpp = 1;
|
||||
+ else if ( colors <= 4 )
|
||||
+ bpp = 2;
|
||||
+ else if ( colors <= 8 )
|
||||
+ bpp = 3;
|
||||
+ else if ( colors <= 16 )
|
||||
+ bpp = 4;
|
||||
+ else if ( colors <= 32 )
|
||||
+ bpp = 5;
|
||||
+ else if ( colors <= 64 )
|
||||
+ bpp = 6;
|
||||
+ else if ( colors <= 128 )
|
||||
+ bpp = 7;
|
||||
+ else if ( colors <= 256 )
|
||||
+ bpp = 8;
|
||||
+ return bpp;
|
||||
+ }
|
||||
+
|
||||
+/*****************************************************************************
|
||||
+ *
|
||||
+ * GIFENCODE.C - GIF Image compression interface
|
||||
+ *
|
||||
+ * GIFEncode( FName, GHeight, GWidth, GInterlace, Background, Transparent,
|
||||
+ * BitsPerPixel, Red, Green, Blue, gdImagePtr )
|
||||
+ *
|
||||
+ *****************************************************************************/
|
||||
+
|
||||
+#define TRUE 1
|
||||
+#define FALSE 0
|
||||
+
|
||||
+static int Width, Height;
|
||||
+static int curx, cury;
|
||||
+static long CountDown;
|
||||
+static int Pass = 0;
|
||||
+static int Interlace;
|
||||
+
|
||||
+/*
|
||||
+ * Bump the 'curx' and 'cury' to point to the next pixel
|
||||
+ */
|
||||
+static void
|
||||
+BumpPixel(void)
|
||||
+{
|
||||
+ /*
|
||||
+ * Bump the current X position
|
||||
+ */
|
||||
+ ++curx;
|
||||
+
|
||||
+ /*
|
||||
+ * If we are at the end of a scan line, set curx back to the beginning
|
||||
+ * If we are interlaced, bump the cury to the appropriate spot,
|
||||
+ * otherwise, just increment it.
|
||||
+ */
|
||||
+ if( curx == Width ) {
|
||||
+ curx = 0;
|
||||
+
|
||||
+ if( !Interlace )
|
||||
+ ++cury;
|
||||
+ else {
|
||||
+ switch( Pass ) {
|
||||
+
|
||||
+ case 0:
|
||||
+ cury += 8;
|
||||
+ if( cury >= Height ) {
|
||||
+ ++Pass;
|
||||
+ cury = 4;
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case 1:
|
||||
+ cury += 8;
|
||||
+ if( cury >= Height ) {
|
||||
+ ++Pass;
|
||||
+ cury = 2;
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case 2:
|
||||
+ cury += 4;
|
||||
+ if( cury >= Height ) {
|
||||
+ ++Pass;
|
||||
+ cury = 1;
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case 3:
|
||||
+ cury += 2;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Return the next pixel from the image
|
||||
+ */
|
||||
+static int
|
||||
+GIFNextPixel(gdImagePtr im)
|
||||
+{
|
||||
+ int r;
|
||||
+
|
||||
+ if( CountDown == 0 )
|
||||
+ return EOF;
|
||||
+
|
||||
+ --CountDown;
|
||||
+
|
||||
+ r = gdImageGetPixel(im, curx, cury);
|
||||
+
|
||||
+ BumpPixel();
|
||||
+
|
||||
+ return r;
|
||||
+}
|
||||
+
|
||||
+/* public */
|
||||
+
|
||||
+static void
|
||||
+GIFEncode(gdIOCtx *fp, int GWidth, int GHeight, int GInterlace, int Background, int Transparent, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im)
|
||||
+{
|
||||
+ int B;
|
||||
+ int RWidth, RHeight;
|
||||
+ int LeftOfs, TopOfs;
|
||||
+ int Resolution;
|
||||
+ int ColorMapSize;
|
||||
+ int InitCodeSize;
|
||||
+ int i;
|
||||
+
|
||||
+ Interlace = GInterlace;
|
||||
+
|
||||
+ ColorMapSize = 1 << BitsPerPixel;
|
||||
+
|
||||
+ RWidth = Width = GWidth;
|
||||
+ RHeight = Height = GHeight;
|
||||
+ LeftOfs = TopOfs = 0;
|
||||
+
|
||||
+ Resolution = BitsPerPixel;
|
||||
+
|
||||
+ /*
|
||||
+ * Calculate number of bits we are expecting
|
||||
+ */
|
||||
+ CountDown = (long)Width * (long)Height;
|
||||
+
|
||||
+ /*
|
||||
+ * Indicate which pass we are on (if interlace)
|
||||
+ */
|
||||
+ Pass = 0;
|
||||
+
|
||||
+ /*
|
||||
+ * The initial code size
|
||||
+ */
|
||||
+ if( BitsPerPixel <= 1 )
|
||||
+ InitCodeSize = 2;
|
||||
+ else
|
||||
+ InitCodeSize = BitsPerPixel;
|
||||
+
|
||||
+ /*
|
||||
+ * Set up the current x and y position
|
||||
+ */
|
||||
+ curx = cury = 0;
|
||||
+
|
||||
+ /*
|
||||
+ * Write the Magic header
|
||||
+ */
|
||||
+ gdPutBuf( Transparent < 0 ? "GIF87a" : "GIF89a", 6, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out the screen width and height
|
||||
+ */
|
||||
+ Putword( RWidth, fp );
|
||||
+ Putword( RHeight, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Indicate that there is a global colour map
|
||||
+ */
|
||||
+ B = 0x80; /* Yes, there is a color map */
|
||||
+
|
||||
+ /*
|
||||
+ * OR in the resolution
|
||||
+ */
|
||||
+ B |= (Resolution - 1) << 5;
|
||||
+
|
||||
+ /*
|
||||
+ * OR in the Bits per Pixel
|
||||
+ */
|
||||
+ B |= (BitsPerPixel - 1);
|
||||
+
|
||||
+ /*
|
||||
+ * Write it out
|
||||
+ */
|
||||
+ gdPutC( B, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out the Background colour
|
||||
+ */
|
||||
+ gdPutC( Background, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Byte of 0's (future expansion)
|
||||
+ */
|
||||
+ gdPutC( 0, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out the Global Colour Map
|
||||
+ */
|
||||
+ for( i=0; i<ColorMapSize; ++i ) {
|
||||
+ gdPutC( Red[i], fp );
|
||||
+ gdPutC( Green[i], fp );
|
||||
+ gdPutC( Blue[i], fp );
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * Write out extension for transparent colour index, if necessary.
|
||||
+ */
|
||||
+ if ( Transparent >= 0 ) {
|
||||
+ gdPutC( '!', fp );
|
||||
+ gdPutC( 0xf9, fp );
|
||||
+ gdPutC( 4, fp );
|
||||
+ gdPutC( 1, fp );
|
||||
+ gdPutC( 0, fp );
|
||||
+ gdPutC( 0, fp );
|
||||
+ gdPutC( (unsigned char) Transparent, fp );
|
||||
+ gdPutC( 0, fp );
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * Write an Image separator
|
||||
+ */
|
||||
+ gdPutC( ',', fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write the Image header
|
||||
+ */
|
||||
+
|
||||
+ Putword( LeftOfs, fp );
|
||||
+ Putword( TopOfs, fp );
|
||||
+ Putword( Width, fp );
|
||||
+ Putword( Height, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out whether or not the image is interlaced
|
||||
+ */
|
||||
+ if( Interlace )
|
||||
+ gdPutC( 0x40, fp );
|
||||
+ else
|
||||
+ gdPutC( 0x00, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out the initial code size
|
||||
+ */
|
||||
+ gdPutC( InitCodeSize, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Go and actually compress the data
|
||||
+ */
|
||||
+ compress( InitCodeSize+1, fp, im );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out a Zero-length packet (to end the series)
|
||||
+ */
|
||||
+ gdPutC( 0, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write the GIF file terminator
|
||||
+ */
|
||||
+ gdPutC( ';', fp );
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+GIFAnimEncode(gdIOCtx *fp, int IWidth, int IHeight, int LeftOfs, int TopOfs, int GInterlace, int Transparent, int Delay, int Disposal, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im)
|
||||
+{
|
||||
+ int ColorMapSize;
|
||||
+ int InitCodeSize;
|
||||
+ int i;
|
||||
+
|
||||
+ if (LeftOfs < 0) LeftOfs = 0;
|
||||
+ if (TopOfs < 0) TopOfs = 0;
|
||||
+ if (Delay < 0) Delay = 100;
|
||||
+ if (Disposal < 0) Disposal = 2;
|
||||
+
|
||||
+ Interlace = GInterlace;
|
||||
+
|
||||
+ ColorMapSize = 1 << BitsPerPixel;
|
||||
+
|
||||
+ Width = IWidth;
|
||||
+ Height = IHeight;
|
||||
+
|
||||
+ /*
|
||||
+ * Calculate number of bits we are expecting
|
||||
+ */
|
||||
+ CountDown = (long)Width * (long)Height;
|
||||
+
|
||||
+ /*
|
||||
+ * Indicate which pass we are on (if interlace)
|
||||
+ */
|
||||
+ Pass = 0;
|
||||
+
|
||||
+ /*
|
||||
+ * The initial code size
|
||||
+ */
|
||||
+ if( BitsPerPixel <= 1 )
|
||||
+ InitCodeSize = 2;
|
||||
+ else
|
||||
+ InitCodeSize = BitsPerPixel;
|
||||
+
|
||||
+ /*
|
||||
+ * Set up the current x and y position
|
||||
+ */
|
||||
+ curx = cury = 0;
|
||||
+
|
||||
+ /*
|
||||
+ * Write out extension for image animation and looping
|
||||
+ */
|
||||
+ gdPutC( '!', fp );
|
||||
+ gdPutC( 0xf9, fp );
|
||||
+ gdPutC( 4, fp );
|
||||
+ gdPutC( (Transparent >= 0 ? 1 : 0)
|
||||
+ | (Disposal << 2), fp );
|
||||
+ gdPutC( (unsigned char)(Delay & 255), fp );
|
||||
+ gdPutC( (unsigned char)((Delay >> 8) & 255), fp );
|
||||
+ gdPutC( (unsigned char) Transparent, fp );
|
||||
+ gdPutC( 0, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write an Image separator
|
||||
+ */
|
||||
+ gdPutC( ',', fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write the Image header
|
||||
+ */
|
||||
+
|
||||
+ Putword( LeftOfs, fp );
|
||||
+ Putword( TopOfs, fp );
|
||||
+ Putword( Width, fp );
|
||||
+ Putword( Height, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out whether or not the image is interlaced
|
||||
+ * and if it includes local colour map.
|
||||
+ */
|
||||
+ gdPutC( (Interlace ? 0x40 : 0)
|
||||
+ | (Red ? 0x80 : 0)
|
||||
+ | (Red ? BitsPerPixel - 1 : 0), fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out the Local Colour Map
|
||||
+ */
|
||||
+ if (Red)
|
||||
+ for( i=0; i<ColorMapSize; ++i ) {
|
||||
+ gdPutC( Red[i], fp );
|
||||
+ gdPutC( Green[i], fp );
|
||||
+ gdPutC( Blue[i], fp );
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * Write out the initial code size
|
||||
+ */
|
||||
+ gdPutC( InitCodeSize, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Go and actually compress the data
|
||||
+ */
|
||||
+ compress( InitCodeSize+1, fp, im );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out a Zero-length packet (to end the series)
|
||||
+ */
|
||||
+ gdPutC( 0, fp );
|
||||
+}
|
||||
+
|
||||
+/* */
|
||||
+/* * Write out a word to the GIF file */
|
||||
+/* */
|
||||
+/*static void */
|
||||
+/*Putword(int w, FILE *fp) */
|
||||
+/*{ */
|
||||
+/* fputc( w & 0xff, fp ); */
|
||||
+/* fputc( (w / 256) & 0xff, fp ); */
|
||||
+/*} */
|
||||
+
|
||||
+
|
||||
+/***************************************************************************
|
||||
+ *
|
||||
+ * GIFCOMPR.C - GIF Image compression routines
|
||||
+ *
|
||||
+ * Lempel-Ziv compression based on 'compress'. GIF modifications by
|
||||
+ * David Rowley (mgardi@watdcsu.waterloo.edu)
|
||||
+ *
|
||||
+ ***************************************************************************/
|
||||
+
|
||||
+/*
|
||||
+ * General DEFINEs
|
||||
+ */
|
||||
+
|
||||
+#define GIFBITS 12
|
||||
+
|
||||
+#define HSIZE 5003 /* 80% occupancy */
|
||||
+
|
||||
+#ifdef NO_UCHAR
|
||||
+ typedef char char_type;
|
||||
+#else /*NO_UCHAR*/
|
||||
+ typedef unsigned char char_type;
|
||||
+#endif /*NO_UCHAR*/
|
||||
+
|
||||
+/*
|
||||
+ *
|
||||
+ * GIF Image compression - modified 'compress'
|
||||
+ *
|
||||
+ * Based on: compress.c - File compression ala IEEE Computer, June 1984.
|
||||
+ *
|
||||
+ * By Authors: Spencer W. Thomas (decvax!harpo!utah-cs!utah-gr!thomas)
|
||||
+ * Jim McKie (decvax!mcvax!jim)
|
||||
+ * Steve Davies (decvax!vax135!petsd!peora!srd)
|
||||
+ * Ken Turkowski (decvax!decwrl!turtlevax!ken)
|
||||
+ * James A. Woods (decvax!ihnp4!ames!jaw)
|
||||
+ * Joe Orost (decvax!vax135!petsd!joe)
|
||||
+ *
|
||||
+ */
|
||||
+#include <ctype.h>
|
||||
+
|
||||
+#define ARGVAL() (*++(*argv) || (--argc && *++argv))
|
||||
+
|
||||
+static int n_bits; /* number of bits/code */
|
||||
+static int maxbits = GIFBITS; /* user settable max # bits/code */
|
||||
+static code_int maxcode; /* maximum code, given n_bits */
|
||||
+static code_int maxmaxcode = (code_int)1 << GIFBITS; /* should NEVER generate this code */
|
||||
+#ifdef COMPATIBLE /* But wrong! */
|
||||
+# define MAXCODE(n_bits) ((code_int) 1 << (n_bits) - 1)
|
||||
+#else /*COMPATIBLE*/
|
||||
+# define MAXCODE(n_bits) (((code_int) 1 << (n_bits)) - 1)
|
||||
+#endif /*COMPATIBLE*/
|
||||
+
|
||||
+static count_int htab [HSIZE];
|
||||
+static unsigned short codetab [HSIZE];
|
||||
+#define HashTabOf(i) htab[i]
|
||||
+#define CodeTabOf(i) codetab[i]
|
||||
+
|
||||
+static code_int hsize = HSIZE; /* for dynamic table sizing */
|
||||
+
|
||||
+/*
|
||||
+ * To save much memory, we overlay the table used by compress() with those
|
||||
+ * used by decompress(). The tab_prefix table is the same size and type
|
||||
+ * as the codetab. The tab_suffix table needs 2**GIFBITS characters. We
|
||||
+ * get this from the beginning of htab. The output stack uses the rest
|
||||
+ * of htab, and contains characters. There is plenty of room for any
|
||||
+ * possible stack (stack used to be 8000 characters).
|
||||
+ */
|
||||
+
|
||||
+#define tab_prefixof(i) CodeTabOf(i)
|
||||
+#define tab_suffixof(i) ((char_type*)(htab))[i]
|
||||
+#define de_stack ((char_type*)&tab_suffixof((code_int)1<<GIFBITS))
|
||||
+
|
||||
+static code_int free_ent = 0; /* first unused entry */
|
||||
+
|
||||
+/*
|
||||
+ * block compression parameters -- after all codes are used up,
|
||||
+ * and compression rate changes, start over.
|
||||
+ */
|
||||
+static int clear_flg = 0;
|
||||
+
|
||||
+static int offset;
|
||||
+static long int in_count = 1; /* length of input */
|
||||
+static long int out_count = 0; /* # of codes output (for debugging) */
|
||||
+
|
||||
+/*
|
||||
+ * compress stdin to stdout
|
||||
+ *
|
||||
+ * Algorithm: use open addressing double hashing (no chaining) on the
|
||||
+ * prefix code / next character combination. We do a variant of Knuth's
|
||||
+ * algorithm D (vol. 3, sec. 6.4) along with G. Knott's relatively-prime
|
||||
+ * secondary probe. Here, the modular division first probe is gives way
|
||||
+ * to a faster exclusive-or manipulation. Also do block compression with
|
||||
+ * an adaptive reset, whereby the code table is cleared when the compression
|
||||
+ * ratio decreases, but after the table fills. The variable-length output
|
||||
+ * codes are re-sized at this point, and a special CLEAR code is generated
|
||||
+ * for the decompressor. Late addition: construct the table according to
|
||||
+ * file size for noticeable speed improvement on small files. Please direct
|
||||
+ * questions about this implementation to ames!jaw.
|
||||
+ */
|
||||
+
|
||||
+static int g_init_bits;
|
||||
+static gdIOCtx* g_outfile;
|
||||
+
|
||||
+static int ClearCode;
|
||||
+static int EOFCode;
|
||||
+
|
||||
+static void
|
||||
+compress(int init_bits, gdIOCtx *outfile, gdImagePtr im)
|
||||
+{
|
||||
+ register long fcode;
|
||||
+ register code_int i /* = 0 */;
|
||||
+ register int c;
|
||||
+ register code_int ent;
|
||||
+ register code_int disp;
|
||||
+ register code_int hsize_reg;
|
||||
+ register int hshift;
|
||||
+
|
||||
+ /*
|
||||
+ * Set up the globals: g_init_bits - initial number of bits
|
||||
+ * g_outfile - pointer to output file
|
||||
+ */
|
||||
+ g_init_bits = init_bits;
|
||||
+ g_outfile = outfile;
|
||||
+
|
||||
+ /*
|
||||
+ * Set up the necessary values
|
||||
+ */
|
||||
+ offset = 0;
|
||||
+ out_count = 0;
|
||||
+ clear_flg = 0;
|
||||
+ in_count = 1;
|
||||
+ maxcode = MAXCODE(n_bits = g_init_bits);
|
||||
+
|
||||
+ ClearCode = (1 << (init_bits - 1));
|
||||
+ EOFCode = ClearCode + 1;
|
||||
+ free_ent = ClearCode + 2;
|
||||
+
|
||||
+ char_init();
|
||||
+
|
||||
+ ent = GIFNextPixel( im );
|
||||
+
|
||||
+ hshift = 0;
|
||||
+ for ( fcode = (long) hsize; fcode < 65536L; fcode *= 2L )
|
||||
+ ++hshift;
|
||||
+ hshift = 8 - hshift; /* set hash code range bound */
|
||||
+
|
||||
+ hsize_reg = hsize;
|
||||
+ cl_hash( (count_int) hsize_reg); /* clear hash table */
|
||||
+
|
||||
+ output( (code_int)ClearCode );
|
||||
+
|
||||
+#ifdef SIGNED_COMPARE_SLOW
|
||||
+ while ( (c = GIFNextPixel( im )) != (unsigned) EOF ) {
|
||||
+#else /*SIGNED_COMPARE_SLOW*/
|
||||
+ while ( (c = GIFNextPixel( im )) != EOF ) { /* } */
|
||||
+#endif /*SIGNED_COMPARE_SLOW*/
|
||||
+
|
||||
+ ++in_count;
|
||||
+
|
||||
+ fcode = (long) (((long) c << maxbits) + ent);
|
||||
+ i = (((code_int)c << hshift) ^ ent); /* xor hashing */
|
||||
+
|
||||
+ if ( HashTabOf (i) == fcode ) {
|
||||
+ ent = CodeTabOf (i);
|
||||
+ continue;
|
||||
+ } else if ( (long)HashTabOf (i) < 0 ) /* empty slot */
|
||||
+ goto nomatch;
|
||||
+ disp = hsize_reg - i; /* secondary hash (after G. Knott) */
|
||||
+ if ( i == 0 )
|
||||
+ disp = 1;
|
||||
+probe:
|
||||
+ if ( (i -= disp) < 0 )
|
||||
+ i += hsize_reg;
|
||||
+
|
||||
+ if ( HashTabOf (i) == fcode ) {
|
||||
+ ent = CodeTabOf (i);
|
||||
+ continue;
|
||||
+ }
|
||||
+ if ( (long)HashTabOf (i) > 0 )
|
||||
+ goto probe;
|
||||
+nomatch:
|
||||
+ output ( (code_int) ent );
|
||||
+ ++out_count;
|
||||
+ ent = c;
|
||||
+#ifdef SIGNED_COMPARE_SLOW
|
||||
+ if ( (unsigned) free_ent < (unsigned) maxmaxcode) {
|
||||
+#else /*SIGNED_COMPARE_SLOW*/
|
||||
+ if ( free_ent < maxmaxcode ) { /* } */
|
||||
+#endif /*SIGNED_COMPARE_SLOW*/
|
||||
+ CodeTabOf (i) = free_ent++; /* code -> hashtable */
|
||||
+ HashTabOf (i) = fcode;
|
||||
+ } else
|
||||
+ cl_block();
|
||||
+ }
|
||||
+ /*
|
||||
+ * Put out the final code.
|
||||
+ */
|
||||
+ output( (code_int)ent );
|
||||
+ ++out_count;
|
||||
+ output( (code_int) EOFCode );
|
||||
+}
|
||||
+
|
||||
+/*****************************************************************
|
||||
+ * TAG( output )
|
||||
+ *
|
||||
+ * Output the given code.
|
||||
+ * Inputs:
|
||||
+ * code: A n_bits-bit integer. If == -1, then EOF. This assumes
|
||||
+ * that n_bits =< (long)wordsize - 1.
|
||||
+ * Outputs:
|
||||
+ * Outputs code to the file.
|
||||
+ * Assumptions:
|
||||
+ * Chars are 8 bits long.
|
||||
+ * Algorithm:
|
||||
+ * Maintain a GIFBITS character long buffer (so that 8 codes will
|
||||
+ * fit in it exactly). Use the VAX insv instruction to insert each
|
||||
+ * code in turn. When the buffer fills up empty it and start over.
|
||||
+ */
|
||||
+
|
||||
+static unsigned long cur_accum = 0;
|
||||
+static int cur_bits = 0;
|
||||
+
|
||||
+static unsigned long masks[] = { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F,
|
||||
+ 0x001F, 0x003F, 0x007F, 0x00FF,
|
||||
+ 0x01FF, 0x03FF, 0x07FF, 0x0FFF,
|
||||
+ 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF };
|
||||
+
|
||||
+static void
|
||||
+output(code_int code)
|
||||
+{
|
||||
+ cur_accum &= masks[ cur_bits ];
|
||||
+
|
||||
+ if( cur_bits > 0 )
|
||||
+ cur_accum |= ((long)code << cur_bits);
|
||||
+ else
|
||||
+ cur_accum = code;
|
||||
+
|
||||
+ cur_bits += n_bits;
|
||||
+
|
||||
+ while( cur_bits >= 8 ) {
|
||||
+ char_out( (unsigned int)(cur_accum & 0xff) );
|
||||
+ cur_accum >>= 8;
|
||||
+ cur_bits -= 8;
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * If the next entry is going to be too big for the code size,
|
||||
+ * then increase it, if possible.
|
||||
+ */
|
||||
+ if ( free_ent > maxcode || clear_flg ) {
|
||||
+
|
||||
+ if( clear_flg ) {
|
||||
+
|
||||
+ maxcode = MAXCODE (n_bits = g_init_bits);
|
||||
+ clear_flg = 0;
|
||||
+
|
||||
+ } else {
|
||||
+
|
||||
+ ++n_bits;
|
||||
+ if ( n_bits == maxbits )
|
||||
+ maxcode = maxmaxcode;
|
||||
+ else
|
||||
+ maxcode = MAXCODE(n_bits);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if( code == EOFCode ) {
|
||||
+ /*
|
||||
+ * At EOF, write the rest of the buffer.
|
||||
+ */
|
||||
+ while( cur_bits > 0 ) {
|
||||
+ char_out( (unsigned int)(cur_accum & 0xff) );
|
||||
+ cur_accum >>= 8;
|
||||
+ cur_bits -= 8;
|
||||
+ }
|
||||
+
|
||||
+ flush_char();
|
||||
+
|
||||
+/* fflush( g_outfile ); */
|
||||
+/* */
|
||||
+/* if( ferror( g_outfile ) ) */
|
||||
+/* return; */
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Clear out the hash table
|
||||
+ */
|
||||
+static void
|
||||
+cl_block (void) /* table clear for block compress */
|
||||
+{
|
||||
+
|
||||
+ cl_hash ( (count_int) hsize );
|
||||
+ free_ent = ClearCode + 2;
|
||||
+ clear_flg = 1;
|
||||
+
|
||||
+ output( (code_int)ClearCode );
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+cl_hash(register count_int hsize) /* reset code table */
|
||||
+
|
||||
+{
|
||||
+
|
||||
+ register count_int *htab_p = htab+hsize;
|
||||
+
|
||||
+ register long i;
|
||||
+ register long m1 = -1;
|
||||
+
|
||||
+ i = hsize - 16;
|
||||
+ do { /* might use Sys V memset(3) here */
|
||||
+ *(htab_p-16) = m1;
|
||||
+ *(htab_p-15) = m1;
|
||||
+ *(htab_p-14) = m1;
|
||||
+ *(htab_p-13) = m1;
|
||||
+ *(htab_p-12) = m1;
|
||||
+ *(htab_p-11) = m1;
|
||||
+ *(htab_p-10) = m1;
|
||||
+ *(htab_p-9) = m1;
|
||||
+ *(htab_p-8) = m1;
|
||||
+ *(htab_p-7) = m1;
|
||||
+ *(htab_p-6) = m1;
|
||||
+ *(htab_p-5) = m1;
|
||||
+ *(htab_p-4) = m1;
|
||||
+ *(htab_p-3) = m1;
|
||||
+ *(htab_p-2) = m1;
|
||||
+ *(htab_p-1) = m1;
|
||||
+ htab_p -= 16;
|
||||
+ } while ((i -= 16) >= 0);
|
||||
+
|
||||
+ for ( i += 16; i > 0; --i )
|
||||
+ *--htab_p = m1;
|
||||
+}
|
||||
+
|
||||
+/******************************************************************************
|
||||
+ *
|
||||
+ * GIF Specific routines
|
||||
+ *
|
||||
+ ******************************************************************************/
|
||||
+
|
||||
+/*
|
||||
+ * Number of characters so far in this 'packet'
|
||||
+ */
|
||||
+static int a_count;
|
||||
+
|
||||
+/*
|
||||
+ * Set up the 'byte output' routine
|
||||
+ */
|
||||
+static void
|
||||
+char_init(void)
|
||||
+{
|
||||
+ a_count = 0;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Define the storage for the packet accumulator
|
||||
+ */
|
||||
+static char accum[ 256 ];
|
||||
+
|
||||
+/*
|
||||
+ * Add a character to the end of the current packet, and if it is 254
|
||||
+ * characters, flush the packet to disk.
|
||||
+ */
|
||||
+static void
|
||||
+char_out(int c)
|
||||
+{
|
||||
+ accum[ a_count++ ] = c;
|
||||
+ if( a_count >= 254 )
|
||||
+ flush_char();
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Flush the packet to disk, and reset the accumulator
|
||||
+ */
|
||||
+static void
|
||||
+flush_char(void)
|
||||
+{
|
||||
+ if( a_count > 0 ) {
|
||||
+ gdPutC( a_count, g_outfile );
|
||||
+ gdPutBuf( accum, a_count, g_outfile );
|
||||
+ a_count = 0;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void init_statics(void) {
|
||||
+ /* Some of these are properly initialized later. What I'm doing
|
||||
+ here is making sure code that depends on C's initialization
|
||||
+ of statics doesn't break when the code gets called more
|
||||
+ than once. */
|
||||
+ Width = 0;
|
||||
+ Height = 0;
|
||||
+ curx = 0;
|
||||
+ cury = 0;
|
||||
+ CountDown = 0;
|
||||
+ Pass = 0;
|
||||
+ Interlace = 0;
|
||||
+ a_count = 0;
|
||||
+ cur_accum = 0;
|
||||
+ cur_bits = 0;
|
||||
+ g_init_bits = 0;
|
||||
+ g_outfile = 0;
|
||||
+ ClearCode = 0;
|
||||
+ EOFCode = 0;
|
||||
+ free_ent = 0;
|
||||
+ clear_flg = 0;
|
||||
+ offset = 0;
|
||||
+ in_count = 1;
|
||||
+ out_count = 0;
|
||||
+ hsize = HSIZE;
|
||||
+ n_bits = 0;
|
||||
+ maxbits = GIFBITS;
|
||||
+ maxcode = 0;
|
||||
+ maxmaxcode = (code_int)1 << GIFBITS;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+/* +-------------------------------------------------------------------+ */
|
||||
+/* | Copyright 1990, 1991, 1993, David Koblas. (koblas@netcom.com) | */
|
||||
+/* | Permission to use, copy, modify, and distribute this software | */
|
||||
+/* | and its documentation for any purpose and without fee is hereby | */
|
||||
+/* | granted, provided that the above copyright notice appear in all | */
|
||||
+/* | copies and that both that copyright notice and this permission | */
|
||||
+/* | notice appear in supporting documentation. This software is | */
|
||||
+/* | provided "as is" without express or implied warranty. | */
|
||||
+/* +-------------------------------------------------------------------+ */
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
--- ext/gd/php_gd.h.orig Mon Mar 31 10:49:30 2003
|
||||
+++ ext/gd/php_gd.h Sat Jun 28 15:47:56 2003
|
||||
@@ -40,6 +40,8 @@
|
||||
#define PHP_GDIMG_TYPE_GD 8
|
||||
#define PHP_GDIMG_TYPE_GD2 9
|
||||
#define PHP_GDIMG_TYPE_GD2PART 10
|
||||
+#define PHP_GDIMG_TYPE_GIFANIMBEGIN 11
|
||||
+#define PHP_GDIMG_TYPE_GIFANIMADD 12
|
||||
|
||||
#ifdef PHP_WIN32
|
||||
#define PHP_GD_API __declspec(dllexport)
|
||||
@@ -137,6 +139,9 @@
|
||||
PHP_FUNCTION(imagefontheight);
|
||||
|
||||
PHP_FUNCTION(imagegif );
|
||||
+PHP_FUNCTION(imagegifanimbegin);
|
||||
+PHP_FUNCTION(imagegifanimadd);
|
||||
+PHP_FUNCTION(imagegifanimend);
|
||||
PHP_FUNCTION(imagejpeg );
|
||||
PHP_FUNCTION(imagepng);
|
||||
PHP_FUNCTION(imagewbmp);
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
--- ext/mssql/php_mssql.c.orig Wed Apr 21 01:31:39 2004
|
||||
+++ ext/mssql/php_mssql.c Tue Jun 8 15:19:55 2004
|
||||
@@ -336,7 +336,7 @@
|
||||
dbsetlogintime(MS_SQL_G(connect_timeout));
|
||||
if (MS_SQL_G(timeout) < 0) MS_SQL_G(timeout) = 60;
|
||||
dbsettime(MS_SQL_G(timeout));
|
||||
- dbsetmaxprocs((SHORT)MS_SQL_G(max_procs));
|
||||
+ dbsetmaxprocs((TDS_SHORT)MS_SQL_G(max_procs));
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
--- ext/mssql/php_mssql.h.orig Tue Jun 8 11:24:27 2004
|
||||
+++ ext/mssql/php_mssql.h Tue Jun 8 11:23:39 2004
|
||||
@@ -37,9 +37,7 @@
|
||||
#include "sqldb.h"
|
||||
|
||||
#if HAVE_FREETDS
|
||||
-#ifndef SHORT
|
||||
-typedef short SHORT;
|
||||
-#endif
|
||||
+typedef short TDS_SHORT;
|
||||
#define SQLTEXT SYBTEXT
|
||||
#define SQLCHAR SYBCHAR
|
||||
#define SQLVARCHAR SYBVARCHAR
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
--- main/php_config.h.in.orig Thu Jun 19 00:06:40 2003
|
||||
+++ main/php_config.h.in Sat Jun 28 15:47:56 2003
|
||||
@@ -1523,6 +1523,9 @@
|
||||
#undef HAVE_GD_GIF_CREATE
|
||||
--- main/php_config.h.in.orig Tue Jul 6 16:37:01 2004
|
||||
+++ main/php_config.h.in Tue Jul 6 16:40:24 2004
|
||||
@@ -2452,6 +2452,9 @@
|
||||
/* Whether to build zip as dynamic module */
|
||||
#undef COMPILE_DL_ZIP
|
||||
|
||||
/* */
|
||||
+#undef HAVE_GD_GIF_ANIM
|
||||
+/* Include external shared modules configurations */
|
||||
+#include "ext/php_config.h"
|
||||
+
|
||||
+/* */
|
||||
#undef HAVE_GD_WBMP
|
||||
/* Whether sprintf is broken */
|
||||
#undef ZEND_BROKEN_SPRINTF
|
||||
|
||||
/* */
|
||||
|
|
|
|||
|
|
@ -1,17 +1,19 @@
|
|||
--- pear/scripts/pearcmd.php.orig Fri May 16 17:31:37 2003
|
||||
+++ pear/scripts/pearcmd.php Fri May 16 17:36:10 2003
|
||||
@@ -1,3 +1,4 @@
|
||||
+#!%%PREFIX%%/bin/php -n -dsafe_mode=0 -doutput_buffering=1
|
||||
+#!%%PREFIX%%/bin/php -n -q -dsafe_mode=0 -doutput_buffering=1
|
||||
<?php
|
||||
//
|
||||
// +----------------------------------------------------------------------+
|
||||
@@ -24,9 +25,7 @@
|
||||
@@ -24,9 +25,9 @@
|
||||
/**
|
||||
* @nodep Gtk
|
||||
*/
|
||||
-if ('@include_path@' != '@'.'include_path'.'@') {
|
||||
- ini_set('include_path', '@include_path@');
|
||||
-}
|
||||
+dl('pcre.so');
|
||||
+dl('xml.so');
|
||||
+ini_set('include_path', '%%PREFIX%%/share/pear:%%PREFIX%%/share/pear/bootstrap');
|
||||
ini_set('allow_url_fopen', true);
|
||||
set_time_limit(0);
|
||||
|
|
|
|||
|
|
@ -1,11 +1,17 @@
|
|||
--- scripts/Makefile.frag.orig Mon Jun 28 10:35:58 2004
|
||||
+++ scripts/Makefile.frag Mon Jun 28 10:36:57 2004
|
||||
@@ -31,6 +31,8 @@
|
||||
ext/xml \
|
||||
ext/xml/expat \
|
||||
--- scripts/Makefile.frag.orig Wed Jul 7 13:15:53 2004
|
||||
+++ scripts/Makefile.frag Wed Jul 7 13:16:07 2004
|
||||
@@ -27,14 +27,7 @@
|
||||
Zend \
|
||||
TSRM \
|
||||
ext/standard \
|
||||
- ext/session \
|
||||
- ext/xml \
|
||||
- ext/xml/expat \
|
||||
main \
|
||||
+ ext/gd \
|
||||
+ ext/gd/libgd \
|
||||
ext/mbstring \
|
||||
ext/mbstring/libmbfl \
|
||||
ext/mbstring/libmbfl/mbfl \
|
||||
- ext/mbstring \
|
||||
- ext/mbstring/libmbfl \
|
||||
- ext/mbstring/libmbfl/mbfl \
|
||||
- ext/pgsql \
|
||||
regex
|
||||
|
||||
install-headers:
|
||||
|
|
|
|||
|
|
@ -1,18 +0,0 @@
|
|||
*****************************************************************************
|
||||
|
||||
You have installed the php4 package.
|
||||
|
||||
Have a look at the php4 port if you need additional extensions other than
|
||||
CTYPE, MYSQL, OVERLOAD, PCRE, POSIX, SESSION, TOKENIZER, XML and ZLIB.
|
||||
|
||||
You can find it at
|
||||
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/lang/php4.tar
|
||||
|
||||
Make sure index.php is part of your DirectoryIndex.
|
||||
|
||||
You should add the following to your Apache configuration file:
|
||||
|
||||
AddType application/x-httpd-php .php
|
||||
AddType application/x-httpd-php-source .phps
|
||||
|
||||
*****************************************************************************
|
||||
10
lang/php4/pkg-message.mod
Normal file
10
lang/php4/pkg-message.mod
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
***************************************************************
|
||||
|
||||
Make sure index.php is part of your DirectoryIndex.
|
||||
|
||||
You should add the following to your Apache configuration file:
|
||||
|
||||
AddType application/x-httpd-php .php
|
||||
AddType application/x-httpd-php-source .phps
|
||||
|
||||
***************************************************************
|
||||
8
lang/php4/pkg-message.pear
Normal file
8
lang/php4/pkg-message.pear
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
*********************************************************
|
||||
|
||||
To use PEAR you have to add the correct include path into
|
||||
your ${LOCALBASE}/etc/php.ini configuration file, like:
|
||||
|
||||
include_path = ".:${PREFIX}/share/pear"
|
||||
|
||||
*********************************************************
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
%%CLI%%%%PEAR%%bin/pear
|
||||
%%CLI%%bin/php
|
||||
bin/php-config
|
||||
bin/phpextdist
|
||||
bin/phpize
|
||||
etc/php.conf
|
||||
@exec touch %D/etc/php.ini
|
||||
@unexec [ -s %D/etc/php.ini ] || rm %D/etc/php.ini
|
||||
etc/php.ini-dist
|
||||
etc/php.ini-recommended
|
||||
include/php/TSRM/TSRM.h
|
||||
|
|
@ -58,43 +59,6 @@ include/php/Zend/zend_static_allocator.h
|
|||
include/php/Zend/zend_types.h
|
||||
include/php/Zend/zend_variables.h
|
||||
include/php/acconfig.h
|
||||
include/php/ext/gd/gdcache.h
|
||||
include/php/ext/gd/gdttf.h
|
||||
include/php/ext/gd/libgd/gd.h
|
||||
include/php/ext/gd/libgd/gd_io.h
|
||||
include/php/ext/gd/libgd/gdcache.h
|
||||
include/php/ext/gd/libgd/gdfontg.h
|
||||
include/php/ext/gd/libgd/gdfontl.h
|
||||
include/php/ext/gd/libgd/gdfontmb.h
|
||||
include/php/ext/gd/libgd/gdfonts.h
|
||||
include/php/ext/gd/libgd/gdfontt.h
|
||||
include/php/ext/gd/libgd/gdhelpers.h
|
||||
include/php/ext/gd/libgd/jisx0208.h
|
||||
include/php/ext/gd/libgd/wbmp.h
|
||||
include/php/ext/gd/php_gd.h
|
||||
include/php/ext/mbstring/mbstring.h
|
||||
include/php/ext/mbstring/php_mbregex.h
|
||||
include/php/ext/mbstring/php_unicode.h
|
||||
include/php/ext/mbstring/unicode_data.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfilter.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfilter_pass.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_allocators.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_consts.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_convert.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_defs.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_ident.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_language.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_string.h
|
||||
include/php/ext/pgsql/php_pgsql.h
|
||||
include/php/ext/session/mod_files.h
|
||||
include/php/ext/session/mod_mm.h
|
||||
include/php/ext/session/mod_user.h
|
||||
include/php/ext/session/php_session.h
|
||||
include/php/ext/standard/aggregation.h
|
||||
include/php/ext/standard/base64.h
|
||||
include/php/ext/standard/basic_functions.h
|
||||
|
|
@ -153,19 +117,8 @@ include/php/ext/standard/uniqid.h
|
|||
include/php/ext/standard/url.h
|
||||
include/php/ext/standard/url_scanner.h
|
||||
include/php/ext/standard/url_scanner_ex.h
|
||||
include/php/ext/xml/expat/ascii.h
|
||||
include/php/ext/xml/expat/asciitab.h
|
||||
include/php/ext/xml/expat/expat.h
|
||||
include/php/ext/xml/expat/iasciitab.h
|
||||
include/php/ext/xml/expat/internal.h
|
||||
include/php/ext/xml/expat/latin1tab.h
|
||||
include/php/ext/xml/expat/nametab.h
|
||||
include/php/ext/xml/expat/utf8tab.h
|
||||
include/php/ext/xml/expat/winconfig.h
|
||||
include/php/ext/xml/expat/xmlrole.h
|
||||
include/php/ext/xml/expat/xmltok.h
|
||||
include/php/ext/xml/expat/xmltok_impl.h
|
||||
include/php/ext/xml/php_xml.h
|
||||
@exec touch %D/include/php/ext/php_config.h
|
||||
@unexec [ -s %D/include/php/ext/php_config.h ] || rm %D/include/php/ext/php_config.h
|
||||
include/php/main/SAPI.h
|
||||
include/php/main/build-defs.h
|
||||
include/php/main/config.nw.h
|
||||
|
|
@ -215,60 +168,12 @@ lib/php/build/shtool
|
|||
%%SAPI_FILE%%
|
||||
%%APACHE%%@exec %D/sbin/apxs -e -a -n php4 %f
|
||||
%%APACHE%%@unexec %D/sbin/apxs -e -A -n php4 %f
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/Archive/Tar.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/System.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/Console/Getopt.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/OS/Guess.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Auth.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Build.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Common.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Config.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Install.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Mirror.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Package.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Registry.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Remote.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Autoloader.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Builder.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Common.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Config.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Dependency.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Downloader.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/ErrorStack.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Frontend/CLI.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Installer.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Packager.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Registry.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Remote.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/XML/RPC.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/XML/RPC/Server.php
|
||||
@dirrm include/php/TSRM
|
||||
@dirrm include/php/Zend
|
||||
@dirrm include/php/ext/gd/libgd
|
||||
@dirrm include/php/ext/gd
|
||||
@dirrm include/php/ext/mbstring/libmbfl/mbfl
|
||||
@dirrm include/php/ext/mbstring/libmbfl
|
||||
@dirrm include/php/ext/mbstring
|
||||
@dirrm include/php/ext/pgsql
|
||||
@dirrm include/php/ext/session
|
||||
@dirrm include/php/ext/standard
|
||||
@dirrm include/php/ext/xml/expat
|
||||
@dirrm include/php/ext/xml
|
||||
@dirrm include/php/ext
|
||||
@unexec rmdir %D/include/php/ext 2> /dev/null || true
|
||||
@dirrm include/php/main
|
||||
@dirrm include/php/regex
|
||||
@dirrm include/php/
|
||||
@unexec rmdir %D/include/php 2> /dev/null || true
|
||||
@dirrm lib/php/build
|
||||
@unexec rmdir %D/lib/php 2> /dev/null || true
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/Archive
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/Console
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/OS
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/PEAR/Command
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/PEAR/Frontend
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/PEAR
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/XML/RPC
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/XML
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap
|
||||
%%CLI%%%%PEAR%%@unexec rmdir %D/share/pear 2> /dev/null || true
|
||||
|
|
|
|||
40
lang/php4/pkg-plist.pear
Normal file
40
lang/php4/pkg-plist.pear
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
bin/pear
|
||||
share/pear/bootstrap/Archive/Tar.php
|
||||
share/pear/bootstrap/PEAR.php
|
||||
share/pear/bootstrap/System.php
|
||||
share/pear/bootstrap/Console/Getopt.php
|
||||
share/pear/bootstrap/OS/Guess.php
|
||||
share/pear/bootstrap/PEAR/Command/Auth.php
|
||||
share/pear/bootstrap/PEAR/Command/Build.php
|
||||
share/pear/bootstrap/PEAR/Command/Common.php
|
||||
share/pear/bootstrap/PEAR/Command/Config.php
|
||||
share/pear/bootstrap/PEAR/Command/Install.php
|
||||
share/pear/bootstrap/PEAR/Command/Mirror.php
|
||||
share/pear/bootstrap/PEAR/Command/Package.php
|
||||
share/pear/bootstrap/PEAR/Command/Registry.php
|
||||
share/pear/bootstrap/PEAR/Command/Remote.php
|
||||
share/pear/bootstrap/PEAR/Autoloader.php
|
||||
share/pear/bootstrap/PEAR/Builder.php
|
||||
share/pear/bootstrap/PEAR/Command.php
|
||||
share/pear/bootstrap/PEAR/Common.php
|
||||
share/pear/bootstrap/PEAR/Config.php
|
||||
share/pear/bootstrap/PEAR/Dependency.php
|
||||
share/pear/bootstrap/PEAR/Downloader.php
|
||||
share/pear/bootstrap/PEAR/ErrorStack.php
|
||||
share/pear/bootstrap/PEAR/Frontend/CLI.php
|
||||
share/pear/bootstrap/PEAR/Installer.php
|
||||
share/pear/bootstrap/PEAR/Packager.php
|
||||
share/pear/bootstrap/PEAR/Registry.php
|
||||
share/pear/bootstrap/PEAR/Remote.php
|
||||
share/pear/bootstrap/XML/RPC.php
|
||||
share/pear/bootstrap/XML/RPC/Server.php
|
||||
@dirrm share/pear/bootstrap/Archive
|
||||
@dirrm share/pear/bootstrap/Console
|
||||
@dirrm share/pear/bootstrap/OS
|
||||
@dirrm share/pear/bootstrap/PEAR/Command
|
||||
@dirrm share/pear/bootstrap/PEAR/Frontend
|
||||
@dirrm share/pear/bootstrap/PEAR
|
||||
@dirrm share/pear/bootstrap/XML/RPC
|
||||
@dirrm share/pear/bootstrap/XML
|
||||
@dirrm share/pear/bootstrap
|
||||
@unexec rmdir %D/share/pear 2> /dev/null || true
|
||||
|
|
@ -1,111 +0,0 @@
|
|||
#!/bin/sh
|
||||
# $FreeBSD$
|
||||
|
||||
if [ -f ${WRKDIR}/Makefile.inc ]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
tempfile=`/usr/bin/mktemp -t checklist`
|
||||
|
||||
if [ "${BATCH}" ]; then
|
||||
echo "${SEL_OPTIONS}" > $tempfile
|
||||
else
|
||||
if [ -f "${OPTION_FILE}" ]; then
|
||||
for i in `${CAT} ${OPTION_FILE}`
|
||||
do
|
||||
export $i
|
||||
done
|
||||
fi
|
||||
/usr/bin/dialog --title "PHP configuration options" --clear --checklist "\n\
|
||||
Please select desired options:" -1 -1 16 \
|
||||
BCMATH "bc style precision math functions" ${WITH_BCMATH:-OFF} \
|
||||
BZIP2 "bzip2 library support" ${WITH_BZIP2:-OFF} \
|
||||
CALENDAR "calendar conversion support" ${WITH_CALENDAR:-OFF} \
|
||||
CDB "cdb database support (dba)" ${WITH_CDB:-OFF} \
|
||||
CRACK "crack support" ${WITH_CRACK:-OFF} \
|
||||
CTYPE "ctype functions" ${WITH_CTYPE:-OFF} \
|
||||
CURL "CURL support" ${WITH_CURL:-OFF} \
|
||||
DB4 "Berkeley DB4 support" ${WITH_DB4:-OFF} \
|
||||
DBASE "dBase library support" ${WITH_DBASE:-OFF} \
|
||||
DBX "dbx support" ${WITH_DBX:-OFF} \
|
||||
DIO "Direct I/O support" ${WITH_DIO:-OFF} \
|
||||
DOMXML "DOM support" ${WITH_DOMXML:-OFF} \
|
||||
DOMXSLT "DOM XSLT and EXSLT support (implies DOMXML)" ${WITH_DOMXSLT:-OFF} \
|
||||
EXIF "EXIF support" ${WITH_EXIF:-OFF} \
|
||||
FILEPRO "filePro support" ${WITH_FILEPRO:-OFF} \
|
||||
FRIBIDI "FriBidi support" ${WITH_FRIBIDI:-OFF} \
|
||||
FTP "FTP support" ${WITH_FTP:-OFF} \
|
||||
GD "GD library support" ${WITH_GD:-OFF} \
|
||||
GDBM "GDBM database support (dba)" ${WITH_GDBM:-OFF} \
|
||||
GETTEXT "gettext library support" ${WITH_GETTEXT:-OFF} \
|
||||
GMP "GNU MP support" ${WITH_GMP:-OFF} \
|
||||
HYPERWAVE "Hyperwave support" ${WITH_HYPERWAVE:-OFF} \
|
||||
ICONV "iconv support" ${WITH_ICONV:-OFF} \
|
||||
IMAP "IMAP support" ${WITH_IMAP:-OFF} \
|
||||
INIFILE "INI file support (dba)" ${WITH_INIFILE:-OFF} \
|
||||
INTERBASE "Interbase 6 database support (Firebird)" ${WITH_INTERBASE:-OFF} \
|
||||
MBSTRING "multibyte string support" ${WITH_MBSTRING:-OFF} \
|
||||
MCAL "Modular Calendar Access Library support" ${WITH_MCAL:-OFF} \
|
||||
MCVE "MCVE support (implies OPENSSL)" ${WITH_MCVE:-OFF} \
|
||||
MCRYPT "Encryption support" ${WITH_MCRYPT:-OFF} \
|
||||
MHASH "Crypto-hashing support" ${WITH_MHASH:-OFF} \
|
||||
MIME "mime_magic support" ${WITH_MIME:-OFF} \
|
||||
MING "ming shockwave flash support" ${WITH_MING:-OFF} \
|
||||
MNOGOSEARCH "mnoGoSearch support" ${WITH_MNOGOSEARCH:-OFF} \
|
||||
MSSQL "MS-SQL database support" ${WITH_MSSQL:-OFF} \
|
||||
MYSQL "MySQL database support" ${WITH_MYSQL:-OFF} \
|
||||
NCURSES "ncurses support (CLI only)" ${WITH_NCURSES:-OFF} \
|
||||
OPENLDAP "OpenLDAP support" ${WITH_OPENLDAP:-OFF} \
|
||||
OPENSSL "OpenSSL support" ${WITH_OPENSSL:-OFF} \
|
||||
ORACLE "Oracle support" ${WITH_ORACLE:-OFF} \
|
||||
OVERLOAD "user-space object overloading support" ${WITH_OVERLOAD:-OFF} \
|
||||
PCNTL "pcntl support (CLI only)" ${WITH_PCNTL:-OFF} \
|
||||
PCRE "Perl Compatible Regular Expression support" ${WITH_PCRE:-OFF} \
|
||||
POSIX "POSIX-like functions" ${WITH_POSIX:-OFF} \
|
||||
POSTGRESQL "PostgreSQL database support" ${WITH_POSTGRESQL:-OFF} \
|
||||
PSPELL "pspell support" ${WITH_PSPELL:-OFF} \
|
||||
READLINE "readline support (CLI only)" ${WITH_READLINE:-OFF} \
|
||||
RECODE "recode support" ${WITH_RECODE:-OFF} \
|
||||
SESSION "session support" ${WITH_SESSION:-OFF} \
|
||||
SHMOP "shmop support" ${WITH_SHMOP:-OFF} \
|
||||
SNMP "SNMP support (implies OPENSSL)" ${WITH_SNMP:-OFF} \
|
||||
SOCKETS "sockets support" ${WITH_SOCKETS:-OFF} \
|
||||
SYBASEDB "Sybase database support (DB-lib)" ${WITH_SYBASEDB:-OFF} \
|
||||
SYBASECT "Sybase database support (CT-lib)" ${WITH_SYBASECT:-OFF} \
|
||||
SYSVMSG "System V message support" ${WITH_SYSVMSG:-OFF} \
|
||||
SYSVSEM "System V semaphore support" ${WITH_SYSVSEM:-OFF} \
|
||||
SYSVSHM "System V shared memory support" ${WITH_SYSVSHM:-OFF} \
|
||||
TOKENIZER "tokenizer support" ${WITH_TOKENIZER:-OFF} \
|
||||
UNIXODBC "unixODBC support" ${WITH_UNIXODBC:-OFF} \
|
||||
WDDX "WDDX support (implies XML)" ${WITH_WDDX:-OFF} \
|
||||
XML "XML support" ${WITH_XML:-OFF} \
|
||||
XMLRPC "XMLRPC-EPI support" ${WITH_XMLRPC:-OFF} \
|
||||
XSLT "XSLT Sablotron support" ${WITH_XSLT:-OFF} \
|
||||
YAZ "YAZ support (ANSI/NISO Z39.50)" ${WITH_YAZ:-OFF} \
|
||||
YP "YP/NIS support" ${WITH_YP:-OFF} \
|
||||
ZIP "ZIP support" ${WITH_ZIP:-OFF} \
|
||||
ZLIB "ZLIB support" ${WITH_ZLIB:-OFF} \
|
||||
2> $tempfile
|
||||
fi
|
||||
|
||||
retval=$?
|
||||
|
||||
if [ -s $tempfile ]; then
|
||||
set `${CAT} $tempfile | ${SED} 's|"||g'`
|
||||
fi
|
||||
rm -f $tempfile
|
||||
|
||||
case $retval in
|
||||
0) if [ -z "$*" ]; then
|
||||
echo "Nothing selected"
|
||||
fi
|
||||
;;
|
||||
1) echo "Cancel pressed."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
exec > ${WRKDIR}/Makefile.inc
|
||||
while [ $1 ]; do
|
||||
echo "WITH_$1=yes";
|
||||
shift
|
||||
done
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
WITH_BCMATH=OFF
|
||||
WITH_BZIP2=OFF
|
||||
WITH_CALENDAR=OFF
|
||||
WITH_CDB=OFF
|
||||
WITH_CRACK=OFF
|
||||
WITH_CTYPE=ON
|
||||
WITH_CURL=OFF
|
||||
WITH_DB4=OFF
|
||||
WITH_DBASE=OFF
|
||||
WITH_DBX=OFF
|
||||
WITH_DIO=OFF
|
||||
WITH_DOMXML=OFF
|
||||
WITH_DOMXSLT=OFF
|
||||
WITH_EXIF=OFF
|
||||
WITH_FILEPRO=OFF
|
||||
WITH_FRIBIDI=OFF
|
||||
WITH_FTP=OFF
|
||||
WITH_GD=OFF
|
||||
WITH_GDBM=OFF
|
||||
WITH_GETTEXT=OFF
|
||||
WITH_GMP=OFF
|
||||
WITH_HYPERWAVE=OFF
|
||||
WITH_ICONV=OFF
|
||||
WITH_IMAP=OFF
|
||||
WITH_INIFILE=OFF
|
||||
WITH_INTERBASE=OFF
|
||||
WITH_MBSTRING=OFF
|
||||
WITH_MCAL=OFF
|
||||
WITH_MCVE=OFF
|
||||
WITH_MCRYPT=OFF
|
||||
WITH_MHASH=OFF
|
||||
WITH_MIME=OFF
|
||||
WITH_MING=OFF
|
||||
WITH_MNOGOSEARCH=OFF
|
||||
WITH_MSSQL=OFF
|
||||
WITH_MYSQL=ON
|
||||
WITH_NCURSES=OFF
|
||||
WITH_OPENLDAP=OFF
|
||||
WITH_OPENSSL=OFF
|
||||
WITH_ORACLE=OFF
|
||||
WITH_OVERLOAD=ON
|
||||
WITH_PCNTL=OFF
|
||||
WITH_PCRE=ON
|
||||
WITH_POSIX=ON
|
||||
WITH_POSTGRESQL=OFF
|
||||
WITH_PSPELL=OFF
|
||||
WITH_READLINE=OFF
|
||||
WITH_RECODE=OFF
|
||||
WITH_SESSION=ON
|
||||
WITH_SHMOP=OFF
|
||||
WITH_SNMP=OFF
|
||||
WITH_SOCKETS=OFF
|
||||
WITH_SYBASEDB=OFF
|
||||
WITH_SYBASECT=OFF
|
||||
WITH_SYSVMSG=OFF
|
||||
WITH_SYSVSEM=OFF
|
||||
WITH_SYSVSHM=OFF
|
||||
WITH_TOKENIZER=ON
|
||||
WITH_UNIXODBC=OFF
|
||||
WITH_WDDX=OFF
|
||||
WITH_XML=ON
|
||||
WITH_XMLRPC=OFF
|
||||
WITH_XSLT=OFF
|
||||
WITH_YAZ=OFF
|
||||
WITH_YP=OFF
|
||||
WITH_ZIP=OFF
|
||||
WITH_ZLIB=ON
|
||||
|
|
@ -4,17 +4,15 @@
|
|||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# Instructions on how to enable preferred extensions can be found in the
|
||||
# Makefile of the master port (lang/php5).
|
||||
#
|
||||
|
||||
CATEGORIES= lang
|
||||
PKGNAMESUFFIX= -cli
|
||||
|
||||
MAINTAINER= sysadmin@alexdupre.com
|
||||
MAINTAINER= ale@FreeBSD.org
|
||||
COMMENT= PHP Command Line Interpreter
|
||||
|
||||
PKGMESSAGE= ${.CURDIR}/pkg-message
|
||||
MASTERDIR= ${.CURDIR}/../php5
|
||||
|
||||
WITHOUT_APACHE= yes
|
||||
CONFLICTS= php5-5* php5-cgi-5* mod_php5-5*
|
||||
|
||||
.include "${MASTERDIR}/Makefile"
|
||||
|
|
|
|||
|
|
@ -1,12 +0,0 @@
|
|||
*****************************************************************************
|
||||
|
||||
You have installed the php5-cli package.
|
||||
|
||||
Have a look at the php5-cli port if you need additional extensions other than
|
||||
CTYPE, DOM, ICONV, PCRE, POSIX, SESSION, SIMPLEXML, SPL, SQLITE, TOKENIZER
|
||||
and XML.
|
||||
|
||||
You can find it at
|
||||
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/lang/php5-cli.tar
|
||||
|
||||
*****************************************************************************
|
||||
|
|
@ -4,58 +4,25 @@
|
|||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# There are many ways to select which extensions you want to enable, either
|
||||
# in interactive mode or in batch mode.
|
||||
#
|
||||
# By default, the enabled extensions are: CTYPE, DOM, ICONV, PCRE, POSIX,
|
||||
# SESSION, SIMPLEXML, SPL, SQLITE, TOKENIZER and XML.
|
||||
# This behaviour can be changed overriding the PHP5_OPTIONS variable
|
||||
# (e.g. PHP5_OPTIONS="EXT1 EXT2 EXT3").
|
||||
#
|
||||
# Another way is to use the WITH_<EXT> and WITHOUT_<EXT> knobs, for additional
|
||||
# and default extensions respectively (implies batch mode).
|
||||
#
|
||||
# The last way reads an "extension" file, located in ~/php5_options (the
|
||||
# location is overridable by the PHP5_OPTFILE variable). You may find an
|
||||
# example in scripts/php5_options (interactive mode only).
|
||||
#
|
||||
|
||||
PORTNAME= php5
|
||||
PORTVERSION= 5.0.0
|
||||
PORTREVISION?= 0
|
||||
PORTREVISION?= 1
|
||||
CATEGORIES?= lang devel www
|
||||
MASTER_SITES= ${MASTER_SITE_PHP:S,$,:release,}
|
||||
MASTER_SITES= ${MASTER_SITE_PHP:S,$,:release,} \
|
||||
http://downloads.php.net/ilia/:rc \
|
||||
http://downloads.php.net/jani/:rc
|
||||
MASTER_SITE_SUBDIR= distributions/:release
|
||||
.if defined(WITHOUT_CLI) && !defined(WITHOUT_APACHE)
|
||||
PKGNAMEPREFIX= mod_
|
||||
.else
|
||||
.if defined(WITHOUT_APACHE)
|
||||
.if defined(WITHOUT_CLI)
|
||||
PKGNAMESUFFIX= -cgi
|
||||
.else
|
||||
PKGNAMESUFFIX= -cli
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
DISTNAME= php-${PORTVERSION:S/.r/RC/}
|
||||
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:release
|
||||
|
||||
MAINTAINER?= ale@FreeBSD.org
|
||||
COMMENT?= PHP Scripting Language (Apache Module and CLI)
|
||||
.if defined(WITHOUT_APACHE)
|
||||
.if defined(WITHOUT_CLI)
|
||||
COMMENT= PHP Common Gateway Interface
|
||||
.else
|
||||
COMMENT= PHP Command Line Interpreter
|
||||
.endif
|
||||
.else
|
||||
.if defined(WITHOUT_CLI)
|
||||
COMMENT= PHP Apache Module
|
||||
.endif
|
||||
.endif
|
||||
|
||||
LATEST_LINK= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
|
||||
|
||||
USE_BZIP2= yes
|
||||
USE_SUBMAKE= yes
|
||||
.if !defined(PKGNAMESUFFIX) || ${PKGNAMESUFFIX} == "-cgi" || ${PKGNAMESUFFIX} == "-cli"
|
||||
GNU_CONFIGURE= yes
|
||||
USE_BISON= yes
|
||||
USE_REINPLACE= yes
|
||||
|
|
@ -63,7 +30,12 @@ USE_REINPLACE= yes
|
|||
CONFIGURE_ARGS= --enable-versioning \
|
||||
--enable-memory-limit \
|
||||
--with-layout=GNU \
|
||||
--disable-all
|
||||
--disable-all \
|
||||
--enable-libxml \
|
||||
--with-libxml-dir=${LOCALBASE} \
|
||||
--enable-spl
|
||||
|
||||
USE_GNOME= libxml2
|
||||
|
||||
.if !defined(WITH_REGEX_TYPE) || ${WITH_REGEX_TYPE} == "php"
|
||||
CONFIGURE_ARGS+=--with-regex=php
|
||||
|
|
@ -77,463 +49,63 @@ CONFIGURE_ARGS+=--with-regex=apache
|
|||
.endif
|
||||
.endif
|
||||
|
||||
EXT_DIR= 20040412
|
||||
SAPI_FILE= "@comment "
|
||||
.if !defined(PKGNAMEPREFIX) && !defined(PKGNAMESUFFIX)
|
||||
PHP_SAPI= full
|
||||
WITH_APACHE= yes
|
||||
.else
|
||||
.if !defined(PKGNAMEPREFIX)
|
||||
PHP_SAPI= ${PKGNAMESUFFIX:S/-//}
|
||||
.else
|
||||
PHP_SAPI= ${PKGNAMEPREFIX:S/_//}
|
||||
WITH_APACHE= yes
|
||||
.endif
|
||||
.endif
|
||||
|
||||
CONFLICTS= php5-cli-5* mod_php5-5* php5-cgi-5*
|
||||
.if defined(WITHOUT_APACHE)
|
||||
.if defined(WITHOUT_CLI)
|
||||
CONFLICTS= php5-5* php5-cli-5* mod_php5-5*
|
||||
.else
|
||||
CONFLICTS= php5-5* php5-cgi-5* mod_php5-5*
|
||||
.if defined(WITH_APACHE)
|
||||
PKGMESSAGE= ${PKGDIR}/pkg-message.mod
|
||||
.endif
|
||||
.else
|
||||
.if defined(WITHOUT_CLI)
|
||||
CONFLICTS= php5-5* php5-cli-5* php5-cgi-5*
|
||||
|
||||
.if ${PHP_SAPI} == "cgi"
|
||||
OPTIONS= REDIRECT "Enable force-cgi-redirect support" off \
|
||||
DISCARD "Enable discard-path support" off \
|
||||
FASTCGI "Enable fastcgi support" off \
|
||||
PATHINFO "Enable path-info-check support" on
|
||||
.endif
|
||||
.if defined(WITH_APACHE)
|
||||
OPTIONS= APACHE2 "Use apache 2.x instead of apache 1.3.x" off
|
||||
.endif
|
||||
OPTIONS+= DEBUG "Enable debug" off \
|
||||
IPV6 "Enable ipv6 support" on
|
||||
|
||||
EXT_DIR= 20040412
|
||||
|
||||
CONFLICTS?= php5-cli-5* mod_php5-5* php5-cgi-5*
|
||||
CONFLICTS+= php4-4* php4-cli-4* mod_php4-4* php4-cgi-4*
|
||||
|
||||
.if defined(WITHOUT_APACHE)
|
||||
.if defined(WITHOUT_CLI)
|
||||
.if defined(WITH_FASTCGI)
|
||||
CONFIGURE_ARGS+=--enable-fastcgi
|
||||
.else
|
||||
CONFIGURE_ARGS+=--enable-discard-path
|
||||
.endif
|
||||
SAPI_FILE= bin/php
|
||||
.else
|
||||
CONFIGURE_ARGS+=--disable-cgi
|
||||
.endif
|
||||
PLIST_SUB+= APACHE="@comment "
|
||||
.else
|
||||
PLIST_SUB+= APACHE=""
|
||||
.endif
|
||||
.if defined(WITHOUT_CLI)
|
||||
.if ${PHP_SAPI} == "cgi" || ${PHP_SAPI} == "mod"
|
||||
CONFIGURE_ARGS+=--disable-cli
|
||||
PLIST_SUB+= CLI="@comment "
|
||||
.else
|
||||
.if !defined(WITHOUT_PEAR)
|
||||
CONFIGURE_ARGS+=--with-pear
|
||||
PLIST_SUB+= PEAR=""
|
||||
.else
|
||||
PLIST_SUB+= PEAR="@comment "
|
||||
.endif
|
||||
MAN1= php.1
|
||||
|
||||
.if ${PHP_SAPI} == "full" || ${PHP_SAPI} == "cli"
|
||||
PLIST_SUB+= CLI=""
|
||||
.endif
|
||||
|
||||
ALL_OPTIONS= BCMATH BZIP2 CALENDAR CDB CRACK CTYPE CURL DB4 DBASE DBX DIO \
|
||||
DOM EXIF FILEPRO FTP GD GDBM GETTEXT GMP ICONV IMAP INTERBASE \
|
||||
INIFILE MBSTRING MCVE MCRYPT MHASH MING MNOGOSEARCH MSSQL \
|
||||
MYSQL MYSQLI NCURSES OPENLDAP OPENSSL ORACLE PCNTL PCRE \
|
||||
POSIX POSTGRESQL PSPELL READLINE RECODE SESSION SHMOP \
|
||||
SIMPLEXML SNMP SOAP SOCKETS SPL SQLITE SYBASEDB SYBASECT \
|
||||
SYSVMSG SYSVSEM SYSVSHM TIDY TOKENIZER UNIXODBC WDDX XML \
|
||||
XMLRPC XSL YP ZLIB
|
||||
|
||||
.for opt in ${ALL_OPTIONS}
|
||||
.if defined(WITH_${opt}) || defined(WITHOUT_${opt})
|
||||
BATCH= yes
|
||||
.endif
|
||||
.endfor
|
||||
|
||||
.if !defined(BATCH) && !defined(PACKAGE_BUILDING)
|
||||
IS_INTERACTIVE= yes
|
||||
.endif
|
||||
|
||||
WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work
|
||||
PHP5_OPTFILE?= ${HOME}/php5_options
|
||||
|
||||
PHP5_OPTIONS?= CTYPE DOM ICONV PCRE POSIX SESSION SIMPLEXML SPL SQLITE TOKENIZER XML
|
||||
|
||||
.for opt in ${ALL_OPTIONS}
|
||||
.if defined(WITH_${opt})
|
||||
SEL_OPTIONS+= ${opt}
|
||||
.endif
|
||||
.endfor
|
||||
.for opt in ${PHP5_OPTIONS}
|
||||
.if !defined(WITHOUT_${opt})
|
||||
SEL_OPTIONS+= ${opt}
|
||||
.if !exists(${WRKDIR}/Makefile.inc)
|
||||
WITH_${opt}= yes
|
||||
.endif
|
||||
.endif
|
||||
SCRIPTS_ENV+= WITH_${opt}=ON
|
||||
.endfor
|
||||
|
||||
SCRIPTS_ENV+= SEL_OPTIONS="${SEL_OPTIONS}" \
|
||||
OPTION_FILE="${PHP5_OPTFILE}" \
|
||||
WRKDIR="${WRKDIR}" \
|
||||
CAT="${CAT}" \
|
||||
SED="${SED}"
|
||||
|
||||
.if exists(${WRKDIR}/Makefile.inc)
|
||||
.include "${WRKDIR}/Makefile.inc"
|
||||
.endif
|
||||
|
||||
.if !defined(WITHOUT_CLI) && !defined(WITHOUT_PEAR)
|
||||
WITH_PCRE= yes
|
||||
WITH_XML= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_CDB) || defined(WITH_DB4) || defined(WITH_GDBM) || defined(WITH_INIFILE)
|
||||
WITH_DBA= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_XSL)
|
||||
WITH_DOM= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_XMLRPC)
|
||||
WITH_ICONV_DEP= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MCVE) || defined(WITH_SNMP)
|
||||
WITH_OPENSSL_DEP= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DOM) || defined(WITH_SIMPLEXML) || defined(WITH_SOAP)
|
||||
WITH_XML_DEP= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_GD) || defined(WITH_MYSQL)
|
||||
WITH_ZLIB_DEP= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_BCMATH)
|
||||
CONFIGURE_ARGS+=--enable-bcmath
|
||||
.endif
|
||||
|
||||
.if defined(WITH_BZIP2)
|
||||
.if exists(/usr/bin/bzip2)
|
||||
BZIP2BASE= /usr
|
||||
MAN1= php.1
|
||||
.else
|
||||
BZIP2BASE= ${LOCALBASE}
|
||||
LIB_DEPENDS+= bz2.1:${PORTSDIR}/archivers/bzip2
|
||||
.endif
|
||||
CONFIGURE_ARGS+=--with-bz2=${BZIP2BASE}
|
||||
PLIST_SUB+= CLI="@comment "
|
||||
.endif
|
||||
|
||||
.if defined(WITH_CALENDAR)
|
||||
CONFIGURE_ARGS+=--enable-calendar
|
||||
.endif
|
||||
|
||||
.if defined(WITH_CDB)
|
||||
CONFIGURE_ARGS+=--with-cdb
|
||||
.endif
|
||||
|
||||
.if defined(WITH_CRACK)
|
||||
BUILD_DEPENDS+= ${LOCALBASE}/lib/libcrack.a:${PORTSDIR}/security/cracklib
|
||||
RUN_DEPENDS+= ${LOCALBASE}/lib/libcrack.a:${PORTSDIR}/security/cracklib
|
||||
CONFIGURE_ARGS+=--with-crack=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_CTYPE)
|
||||
CONFIGURE_ARGS+=--enable-ctype
|
||||
.endif
|
||||
|
||||
.if defined(WITH_CURL)
|
||||
LIB_DEPENDS+= curl.3:${PORTSDIR}/ftp/curl
|
||||
CONFIGURE_ARGS+=--with-curl=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DB4)
|
||||
WITH_DB4_VER?= 41
|
||||
.if ${WITH_DB4_VER} == 42
|
||||
LIB_DEPENDS+= db-4.2.2:${PORTSDIR}/databases/db42
|
||||
.if defined(WITH_APACHE)
|
||||
PLIST_SUB+= APACHE=""
|
||||
.else
|
||||
.if ${WITH_DB4_VER} == 4
|
||||
LIB_DEPENDS+= db4.0:${PORTSDIR}/databases/db4
|
||||
.else
|
||||
LIB_DEPENDS+= db41.1:${PORTSDIR}/databases/db41
|
||||
.endif
|
||||
.endif
|
||||
CONFIGURE_ARGS+=--with-db4=${LOCALBASE}
|
||||
PLIST_SUB+= APACHE="@comment "
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DBA)
|
||||
CONFIGURE_ARGS+=--enable-dba
|
||||
.if ${PHP_SAPI} == "cli"
|
||||
CONFIGURE_ARGS+=--disable-cgi
|
||||
SAPI_FILE= "@comment "
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DBASE)
|
||||
CONFIGURE_ARGS+=--enable-dbase
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DBX)
|
||||
CONFIGURE_ARGS+=--enable-dbx
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DIO)
|
||||
CONFIGURE_ARGS+=--enable-dio
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DOM)
|
||||
CONFIGURE_ARGS+=--enable-dom
|
||||
.endif
|
||||
|
||||
.if defined(WITH_EXIF)
|
||||
CONFIGURE_ARGS+=--enable-exif
|
||||
.endif
|
||||
|
||||
.if defined(WITH_FILEPRO)
|
||||
CONFIGURE_ARGS+=--enable-filepro
|
||||
.endif
|
||||
|
||||
.if defined(WITH_FTP)
|
||||
CONFIGURE_ARGS+=--enable-ftp
|
||||
.endif
|
||||
|
||||
.if defined(WITH_GD)
|
||||
LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2
|
||||
LIB_DEPENDS+= t1.5:${PORTSDIR}/devel/t1lib
|
||||
LIB_DEPENDS+= png.5:${PORTSDIR}/graphics/png
|
||||
LIB_DEPENDS+= jpeg.9:${PORTSDIR}/graphics/jpeg
|
||||
CONFIGURE_ARGS+=--with-gd \
|
||||
--enable-gd-native-ttf \
|
||||
--with-freetype-dir=${LOCALBASE} \
|
||||
--with-t1lib=${LOCALBASE} \
|
||||
--with-jpeg-dir=${LOCALBASE} \
|
||||
--with-png-dir=${LOCALBASE}
|
||||
.if !defined(WITHOUT_X11)
|
||||
USE_XPM= yes
|
||||
CONFIGURE_ARGS+=--with-xpm-dir=${X11BASE}
|
||||
.endif
|
||||
.if defined(WITH_LZW)
|
||||
CONFIGURE_ARGS+=--enable-gd-lzw-gif
|
||||
.endif
|
||||
.endif
|
||||
|
||||
.if defined(WITH_GDBM)
|
||||
LIB_DEPENDS+= gdbm.3:${PORTSDIR}/databases/gdbm
|
||||
CONFIGURE_ARGS+=--with-gdbm=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_GETTEXT)
|
||||
USE_GETTEXT= yes
|
||||
CONFIGURE_ARGS+=--with-gettext=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_GMP)
|
||||
LIB_DEPENDS+= gmp.6:${PORTSDIR}/math/libgmp4
|
||||
CONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_ICONV) || defined(WITH_ICONV_DEP)
|
||||
USE_ICONV= yes
|
||||
CONFIGURE_ARGS+=--with-iconv-dir=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_ICONV)
|
||||
CONFIGURE_ARGS+=--with-iconv=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_INIFILE)
|
||||
CONFIGURE_ARGS+=--with-inifile
|
||||
.endif
|
||||
|
||||
.if defined(WITH_INTERBASE)
|
||||
LIB_DEPENDS+= gds.1:${PORTSDIR}/databases/firebird
|
||||
CONFIGURE_ARGS+=--with-interbase=${LOCALBASE}/firebird
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MBSTRING)
|
||||
CONFIGURE_ARGS+=--enable-mbstring
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MCVE)
|
||||
LIB_DEPENDS+= mcve.3:${PORTSDIR}/devel/libmcve
|
||||
CONFIGURE_ARGS+=--with-mcve=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MCRYPT)
|
||||
LIB_DEPENDS+= mcrypt.8:${PORTSDIR}/security/libmcrypt
|
||||
USE_LIBLTDL= yes
|
||||
CONFIGURE_ARGS+=--with-mcrypt=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MHASH)
|
||||
LIB_DEPENDS+= mhash.2:${PORTSDIR}/security/mhash
|
||||
CONFIGURE_ARGS+=--with-mhash=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MING)
|
||||
LIB_DEPENDS+= ming.3:${PORTSDIR}/graphics/ming
|
||||
CONFIGURE_ARGS+=--with-ming=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MNOGOSEARCH)
|
||||
LIB_DEPENDS+= udmsearch.1:${PORTSDIR}/www/mnogosearch
|
||||
CONFIGURE_ARGS+=--with-mnogosearch=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MSSQL)
|
||||
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds-msdblib
|
||||
CONFIGURE_ARGS+=--with-mssql=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MYSQL)
|
||||
USE_MYSQL= yes
|
||||
CONFIGURE_ARGS+=--with-mysql=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MYSQLI)
|
||||
USE_MYSQL= yes
|
||||
BROKEN_WITH_MYSQL= 323 40
|
||||
CONFIGURE_ARGS+=--with-mysqli=${LOCALBASE}/bin/mysql_config
|
||||
.endif
|
||||
|
||||
.if defined(WITH_OPENLDAP)
|
||||
USE_OPENLDAP= yes
|
||||
CONFIGURE_ARGS+=--with-ldap=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_OPENSSL) || defined(WITH_OPENSSL_DEP)
|
||||
USE_OPENSSL= yes
|
||||
LDFLAGS+= -lcrypto -lssl
|
||||
CONFIGURE_ENV+= LDFLAGS="${LDFLAGS}"
|
||||
CONFIGURE_ARGS+=--with-openssl-dir=${OPENSSLBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_OPENSSL)
|
||||
CONFIGURE_ARGS+=--with-openssl=${OPENSSLBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_ORACLE)
|
||||
BUILD_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
|
||||
RUN_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
|
||||
CONFIGURE_ARGS+=--with-oracle=${LOCALBASE}/oracle7
|
||||
.endif
|
||||
|
||||
.if defined(WITH_PCNTL)
|
||||
CONFIGURE_ARGS+=--enable-pcntl
|
||||
.endif
|
||||
|
||||
.if defined(WITH_PCRE)
|
||||
CONFIGURE_ARGS+=--with-pcre-regex
|
||||
.endif
|
||||
|
||||
.if defined(WITH_POSIX)
|
||||
CONFIGURE_ARGS+=--enable-posix
|
||||
.endif
|
||||
|
||||
.if defined(WITH_POSTGRESQL)
|
||||
POSTGRESQL_PORT?= databases/postgresql7
|
||||
LIB_DEPENDS+= pq.3:${PORTSDIR}/${POSTGRESQL_PORT}
|
||||
CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_PSPELL)
|
||||
LIB_DEPENDS+= aspell.15:${PORTSDIR}/textproc/aspell
|
||||
CONFIGURE_ARGS+=--with-pspell=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_READLINE)
|
||||
CONFIGURE_ARGS+=--with-readline
|
||||
.endif
|
||||
|
||||
.if defined(WITH_RECODE)
|
||||
LIB_DEPENDS+= recode.3:${PORTSDIR}/converters/recode
|
||||
CONFIGURE_ARGS+=--with-recode=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SESSION)
|
||||
CONFIGURE_ARGS+=--enable-session
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SHMOP)
|
||||
CONFIGURE_ARGS+=--enable-shmop
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SIMPLEXML)
|
||||
CONFIGURE_ARGS+=--enable-simplexml
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SOAP)
|
||||
CONFIGURE_ARGS+=--enable-soap
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SOCKETS)
|
||||
CONFIGURE_ARGS+=--enable-sockets
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SPL)
|
||||
CONFIGURE_ARGS+=--enable-spl
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SQLITE)
|
||||
CONFIGURE_ARGS+=--with-sqlite
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SYBASEDB)
|
||||
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds
|
||||
CONFIGURE_ARGS+=--with-sybase=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SYBASECT)
|
||||
LIB_DEPENDS+= ct.2:${PORTSDIR}/databases/freetds
|
||||
CONFIGURE_ARGS+=--with-sybase-ct=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SYSVMSG)
|
||||
CONFIGURE_ARGS+=--enable-sysvmsg
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SYSVSEM)
|
||||
CONFIGURE_ARGS+=--enable-sysvsem
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SYSVSHM)
|
||||
CONFIGURE_ARGS+=--enable-sysvshm
|
||||
.endif
|
||||
|
||||
.if defined(WITH_TIDY)
|
||||
LIB_DEPENDS+= tidy-0.99.0:${PORTSDIR}/www/tidy-lib
|
||||
CONFIGURE_ARGS+=--with-tidy=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_TOKENIZER)
|
||||
CONFIGURE_ARGS+=--enable-tokenizer
|
||||
.endif
|
||||
|
||||
.if defined(WITH_UNIXODBC)
|
||||
LIB_DEPENDS+= odbc.1:${PORTSDIR}/databases/unixODBC
|
||||
CONFIGURE_ARGS+=--with-unixODBC=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_WDDX)
|
||||
CONFIGURE_ARGS+=--enable-wddx
|
||||
.endif
|
||||
|
||||
.if defined(WITH_XML) || defined(WITH_XML_DEP)
|
||||
LIB_DEPENDS+= xml2.5:${PORTSDIR}/textproc/libxml2
|
||||
CONFIGURE_ARGS+=--enable-libxml --with-libxml-dir=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_XML)
|
||||
CONFIGURE_ARGS+=--enable-xml
|
||||
.endif
|
||||
|
||||
.if defined(WITH_XMLRPC)
|
||||
LIB_DEPENDS+= expat.5:${PORTSDIR}/textproc/expat2
|
||||
CONFIGURE_ARGS+=--with-xmlrpc --with-expat-dir=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_XSL)
|
||||
LIB_DEPENDS+= xslt.2:${PORTSDIR}/textproc/libxslt
|
||||
CONFIGURE_ARGS+=--with-xsl=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_YP)
|
||||
CONFIGURE_ARGS+=--enable-yp
|
||||
.endif
|
||||
|
||||
.if defined(WITH_ZLIB) || defined(WITH_ZLIB_DEP)
|
||||
CONFIGURE_ARGS+=--with-zlib-dir=/usr
|
||||
.endif
|
||||
|
||||
.if defined(WITH_ZLIB)
|
||||
CONFIGURE_ARGS+=--with-zlib
|
||||
.if ${PHP_SAPI} == "cgi"
|
||||
SAPI_FILE= bin/php
|
||||
.endif
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
|
@ -545,7 +117,7 @@ CONFIGURE_ENV= ac_cv_pthreads_lib=${WITH_PTHREAD_LIBS} \
|
|||
ac_cv_pthreads_cflags=${WITH_PTHREAD_CFLAGS}
|
||||
.endif
|
||||
|
||||
.if !defined(WITHOUT_APACHE)
|
||||
.if defined(WITH_APACHE)
|
||||
.if exists(${LOCALBASE}/include/apache2/httpd.h)
|
||||
WITH_APACHE2= yes
|
||||
APACHE_MPM!= ${APXS} -q MPM_NAME
|
||||
|
|
@ -578,82 +150,30 @@ PLIST_SUB+= SAPI_FILE=${SAPI_FILE}
|
|||
CONFIGURE_ARGS+=--disable-ipv6
|
||||
.endif
|
||||
|
||||
.if defined(WITH_IMAP)
|
||||
LIB_DEPENDS+= c-client4.8:${PORTSDIR}/mail/cclient
|
||||
.if !exists(${LOCALBASE}/lib/libc-client4.so)
|
||||
.if !defined(WITHOUT_SSL)
|
||||
CONFIGURE_ARGS+=--with-imap=${LOCALBASE} --with-imap-ssl=${LOCALBASE}
|
||||
.else
|
||||
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
|
||||
.if ${PHP_SAPI} == "cgi"
|
||||
.if defined(WITH_REDIRECT)
|
||||
CONFIGURE_ARGS+=--enable-force-cgi-redirect
|
||||
.endif
|
||||
.else
|
||||
WITH_IMAP_SSL!= /usr/bin/ldd ${LOCALBASE}/lib/libc-client4.so | ${GREP} libssl || ${TRUE}
|
||||
.if !empty(WITH_IMAP_SSL)
|
||||
CONFIGURE_ARGS+=--with-imap=${LOCALBASE} --with-imap-ssl=${LOCALBASE}
|
||||
.else
|
||||
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
|
||||
.if defined(WITH_DISCARD)
|
||||
CONFIGURE_ARGS+=--enable-discard-path
|
||||
.endif
|
||||
.if defined(WITH_FASTCGI)
|
||||
CONFIGURE_ARGS+=--enable-fastcgi
|
||||
.endif
|
||||
.if defined(WITHOUT_PATHINFO)
|
||||
CONFIGURE_ARGS+=--disable-path-info-check
|
||||
.endif
|
||||
|
||||
.if defined(WITH_NCURSES)
|
||||
.if ${OSVERSION} < 400000
|
||||
NCURSESBASE= ${LOCALBASE}
|
||||
LIB_DEPENDS+= ncurses.5:${PORTSDIR}/devel/ncurses
|
||||
.else
|
||||
NCURSESBASE= /usr
|
||||
.endif
|
||||
CONFIGURE_ARGS+=--with-ncurses=${NCURSESBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SNMP)
|
||||
.if exists(${LOCALBASE}/lib/libsnmp.so.4) || defined(WITH_SNMP4)
|
||||
LIB_DEPENDS+= snmp.4:${PORTSDIR}/net-mgmt/net-snmp4
|
||||
.else
|
||||
LIB_DEPENDS+= netsnmp.6:${PORTSDIR}/net-mgmt/net-snmp
|
||||
.endif
|
||||
CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} --enable-ucd-snmp-hack
|
||||
.endif
|
||||
|
||||
_PORTSDIR!= ${REALPATH} ${PORTSDIR}
|
||||
PHP_PORT= ${.CURDIR:S|^${_PORTSDIR}||:S|^/||}
|
||||
|
||||
pre-patch:
|
||||
@${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure.php
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e "s|orainst/unix.rgs|ocommon/install/partial.prd|g" \
|
||||
${WRKSRC}/configure
|
||||
@${SED} "s|%%PREFIX%%|${PREFIX}|g" \
|
||||
${WRKSRC}/pear/scripts/pearcmd.php > ${WRKSRC}/pear/scripts/pear
|
||||
@${TOUCH} ${WRKSRC}/ext/php_config.h
|
||||
|
||||
.if ${PHP_SAPI} == "full"
|
||||
pre-configure:
|
||||
@${ECHO_CMD} ""
|
||||
.if defined(WITH_IMAP) && defined(WITH_RECODE)
|
||||
@${ECHO_CMD} "You cannot define WITH_IMAP *and* WITH_RECODE!"
|
||||
@${FALSE}
|
||||
.endif
|
||||
.if defined(WITH_IMAP) && defined(WITH_YAZ)
|
||||
@${ECHO_CMD} "You cannot define WITH_IMAP *and* WITH_YAZ!"
|
||||
@${FALSE}
|
||||
.endif
|
||||
.if defined(WITH_MYSQL) && defined(WITH_MYSQLI)
|
||||
@${ECHO_CMD} "You cannot define WITH_MYSQL *and* WITH_MYSQLI!"
|
||||
@${FALSE}
|
||||
.endif
|
||||
.if defined(WITH_RECODE) && defined(WITH_YAZ)
|
||||
@${ECHO_CMD} "You cannot define WITH_RECODE *and* WITH_YAZ!"
|
||||
@${FALSE}
|
||||
.endif
|
||||
.if defined(WITH_SYBASEDB) && defined(WITH_SYBASECT)
|
||||
@${ECHO_CMD} "You cannot define WITH_SYBASEDB *and* WITH_SYBASECT!"
|
||||
@${FALSE}
|
||||
.endif
|
||||
.if defined(WITH_GD) && !defined(WITH_LZW)
|
||||
@${ECHO_CMD} "To enable LZW-compressed GIF support in GD define the WITH_LZW knob."
|
||||
@${ECHO_CMD} ""
|
||||
.endif
|
||||
.if !defined(WITHOUT_APACHE) && !defined(WITHOUT_CLI)
|
||||
@${ECHO_CMD} "You are building the Apache Module and the Command Line Interpreter of PHP."
|
||||
@${ECHO_CMD} ""
|
||||
@${ECHO_CMD} "Use port:"
|
||||
|
|
@ -668,56 +188,23 @@ post-build:
|
|||
@${ECHO_CMD} "PHP_VERSION=${PORTVERSION}" >> ${WRKDIR}/php.conf
|
||||
@${ECHO_CMD} "PHP_EXT_DIR=${EXT_DIR}" >> ${WRKDIR}/php.conf
|
||||
@${ECHO_CMD} "PHP_PORT=\$${PORTSDIR}/${PHP_PORT}" >> ${WRKDIR}/php.conf
|
||||
.if !defined(WITHOUT_CLI) && !defined(WITHOUT_PEAR)
|
||||
@${ECHO_CMD} "PHP_PEAR=yes" >> ${WRKDIR}/php.conf
|
||||
.else
|
||||
@${ECHO_CMD} "PHP_PEAR=no" >> ${WRKDIR}/php.conf
|
||||
.endif
|
||||
.if !defined(WITHOUT_APACHE) && !defined(WITHOUT_CLI)
|
||||
@${ECHO_CMD} "PHP_SAPI=full" >> ${WRKDIR}/php.conf
|
||||
.else
|
||||
.if defined(WITHOUT_APACHE) && !defined(WITHOUT_CLI)
|
||||
@${ECHO_CMD} "PHP_SAPI=cli" >> ${WRKDIR}/php.conf
|
||||
.endif
|
||||
.if !defined(WITHOUT_APACHE) && defined(WITHOUT_CLI)
|
||||
@${ECHO_CMD} "PHP_SAPI=mod" >> ${WRKDIR}/php.conf
|
||||
.endif
|
||||
.if defined(WITHOUT_APACHE) && defined(WITHOUT_CLI)
|
||||
@${ECHO_CMD} "PHP_SAPI=cgi" >> ${WRKDIR}/php.conf
|
||||
.endif
|
||||
.endif
|
||||
.if !defined(WITHOUT_CLI)
|
||||
@${ECHO_CMD} "You may run the tests from the PHP test framework, typing 'make test' now."
|
||||
@${ECHO_CMD} "(It is safe to ignore errors about timestamp-related tests,"
|
||||
@${ECHO_CMD} "since they are due to the different FreeBSD mktime() implementation)."
|
||||
@${ECHO_CMD} ""
|
||||
.endif
|
||||
|
||||
.if !defined(WITHOUT_CLI)
|
||||
test: all
|
||||
@(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} \
|
||||
${MAKEFILE} ${MAKE_ARGS} ${.TARGET})
|
||||
.endif
|
||||
@${ECHO_CMD} "PHP_SAPI=${PHP_SAPI}" >> ${WRKDIR}/php.conf
|
||||
|
||||
post-install:
|
||||
.if !defined(WITHOUT_CLI) && !defined(WITHOUT_PEAR)
|
||||
@${INSTALL_SCRIPT} ${WRKSRC}/pear/scripts/pear ${PREFIX}/bin
|
||||
.endif
|
||||
@${INSTALL_DATA} ${WRKSRC}/php.ini-dist ${PREFIX}/etc
|
||||
@${INSTALL_DATA} ${WRKSRC}/php.ini-recommended ${PREFIX}/etc
|
||||
@${INSTALL_DATA} ${WRKDIR}/php.conf ${PREFIX}/etc
|
||||
@${TOUCH} ${PREFIX}/include/php/ext/sqlite/libsqlite/src/sqlite.h
|
||||
.if !defined(WITHOUT_APACHE)
|
||||
@${ECHO_CMD} "*****************************************************************************"
|
||||
@${ECHO_CMD} ""
|
||||
@${ECHO_CMD} "Make sure index.php is part of your DirectoryIndex."
|
||||
@${ECHO_CMD} ""
|
||||
@${ECHO_CMD} "You should add the following lines to your Apache configuration file:"
|
||||
@${ECHO_CMD} ""
|
||||
@${ECHO_CMD} "AddType application/x-httpd-php .php"
|
||||
@${ECHO_CMD} "AddType application/x-httpd-php-source .phps"
|
||||
@${ECHO_CMD} ""
|
||||
@${ECHO_CMD} "*****************************************************************************"
|
||||
@${TOUCH} ${PREFIX}/etc/php.ini
|
||||
@${TOUCH} ${PREFIX}/include/php/ext/php_config.h
|
||||
.if defined(WITH_APACHE)
|
||||
@${CAT} ${PKGMESSAGE}
|
||||
.endif
|
||||
|
||||
.else
|
||||
.if ${PKGNAMESUFFIX} == "-pear"
|
||||
.include "${MASTERDIR}/Makefile.pear"
|
||||
.else
|
||||
.include "${MASTERDIR}/Makefile.ext"
|
||||
.endif
|
||||
.endif
|
||||
.include <bsd.port.post.mk>
|
||||
|
|
|
|||
493
lang/php5/Makefile.ext
Normal file
493
lang/php5/Makefile.ext
Normal file
|
|
@ -0,0 +1,493 @@
|
|||
COMMENT= The ${PHP_MODNAME} shared extension for php
|
||||
|
||||
USE_PHP= yes
|
||||
USE_PHPEXT= yes
|
||||
PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
|
||||
|
||||
WRKSRC= ${WRKDIR}/php-${PORTVERSION:S/.r/RC/}/ext/${PHP_MODNAME}
|
||||
PATCHDIR= ${.CURDIR}/files
|
||||
PLIST= ${NONEXISTENT}
|
||||
|
||||
.if ${PHP_MODNAME} == "bcmath"
|
||||
CONFIGURE_ARGS+=--enable-bcmath
|
||||
|
||||
PHP_HEADER_DIRS=libbcmath libbcmath/src
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "bz2"
|
||||
.if exists(/usr/bin/bzip2)
|
||||
BZ2BASE= /usr
|
||||
.else
|
||||
BZ2BASE= ${LOCALBASE}
|
||||
LIB_DEPENDS+= bz2.1:${PORTSDIR}/archivers/bzip2
|
||||
.endif
|
||||
CONFIGURE_ARGS+=--with-bz2=${BZ2BASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "calendar"
|
||||
CONFIGURE_ARGS+=--enable-calendar
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "ctype"
|
||||
CONFIGURE_ARGS+=--enable-ctype
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "curl"
|
||||
LIB_DEPENDS+= curl.3:${PORTSDIR}/ftp/curl
|
||||
|
||||
CONFIGURE_ARGS+=--with-curl=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "dba"
|
||||
CONFIGURE_ARGS+=--enable-dba
|
||||
|
||||
OPTIONS= CDB "cdb database support" on \
|
||||
DB4 "Berkeley DB4 support" off \
|
||||
GDBM "GDBM database support" off \
|
||||
INIFILE "INI file support" on \
|
||||
FLATFILE "flatfile support" on
|
||||
|
||||
PHP_HEADER_DIRS= libcdb libflatfile libinifile
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "dbase"
|
||||
CONFIGURE_ARGS+=--enable-dbase
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "dbx"
|
||||
CONFIGURE_ARGS+=--enable-dbx
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "dio"
|
||||
CONFIGURE_ARGS+=--enable-dio
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "dom"
|
||||
CONFIGURE_ARGS+=--enable-dom \
|
||||
--with-libxml-dir=${LOCALBASE}
|
||||
|
||||
USE_GNOME= libxml2
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "exif"
|
||||
CONFIGURE_ARGS+=--enable-exif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "filepro"
|
||||
CONFIGURE_ARGS+=--enable-filepro
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "ftp"
|
||||
CONFIGURE_ARGS+=--enable-ftp
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "gd"
|
||||
LIB_DEPENDS= freetype.9:${PORTSDIR}/print/freetype2 \
|
||||
png.5:${PORTSDIR}/graphics/png \
|
||||
jpeg.9:${PORTSDIR}/graphics/jpeg
|
||||
. if !defined(WITHOUT_X11)
|
||||
USE_XPM= yes
|
||||
. endif
|
||||
|
||||
CONFIGURE_ARGS+=--with-gd \
|
||||
--with-freetype-dir=${LOCALBASE} \
|
||||
--with-jpeg-dir=${LOCALBASE} \
|
||||
--with-png-dir=${LOCALBASE} \
|
||||
--with-zlib-dir=/usr
|
||||
. if !defined(WITHOUT_X11)
|
||||
CONFIGURE_ARGS+=--with-xpm-dir=${X11BASE}
|
||||
. endif
|
||||
|
||||
OPTIONS= T1LIB "Include T1lib support" on \
|
||||
TRUETYPE "Enable TrueType string function" on \
|
||||
JIS "Enable JIS-mapped Japanese font support" off \
|
||||
LZW "Enable LZW-compressed GIF write support" off
|
||||
|
||||
PHP_HEADER_DIRS=libgd
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "gettext"
|
||||
CONFIGURE_ARGS+=--with-gettext=${LOCALBASE}
|
||||
|
||||
USE_GETTEXT= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "gmp"
|
||||
LIB_DEPENDS+= gmp.6:${PORTSDIR}/math/libgmp4
|
||||
|
||||
CONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "iconv"
|
||||
CONFIGURE_ARGS+=--with-iconv=${LOCALBASE} \
|
||||
--with-iconv-dir=${LOCALBASE}
|
||||
|
||||
USE_ICONV= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "imap"
|
||||
LIB_DEPENDS+= c-client4.8:${PORTSDIR}/mail/cclient
|
||||
|
||||
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "interbase"
|
||||
LIB_DEPENDS+= gds.1:${PORTSDIR}/databases/firebird
|
||||
|
||||
CONFIGURE_ARGS+=--with-interbase=${LOCALBASE}/firebird
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "ldap"
|
||||
CONFIGURE_ARGS+=--with-ldap=${LOCALBASE}
|
||||
|
||||
USE_OPENLDAP= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mbstring"
|
||||
CONFIGURE_ARGS+=--enable-mbstring
|
||||
|
||||
OPTIONS= REGEX "Enable multibyte regex support" on
|
||||
|
||||
PHP_HEADER_DIRS=libmbfl libmbfl/filters libmbfl/mbfl libmbfl/nls mbstring/oniguruma
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mcrypt"
|
||||
LIB_DEPENDS+= mcrypt.8:${PORTSDIR}/security/libmcrypt
|
||||
|
||||
CONFIGURE_ARGS+=--with-mcrypt=${LOCALBASE}
|
||||
|
||||
USE_LIBLTDL= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mcve"
|
||||
LIB_DEPENDS+= mcve.3:${PORTSDIR}/devel/libmcve
|
||||
|
||||
CONFIGURE_ARGS+=--with-mcve=${LOCALBASE} \
|
||||
--with-openssl-dir=${OPENSSLBASE}
|
||||
|
||||
LDFLAGS+= -lcrypto -lssl
|
||||
USE_OPENSSL= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mhash"
|
||||
LIB_DEPENDS+= mhash.2:${PORTSDIR}/security/mhash
|
||||
|
||||
CONFIGURE_ARGS+=--with-mhash=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "ming"
|
||||
LIB_DEPENDS+= ming.3:${PORTSDIR}/graphics/ming
|
||||
|
||||
CONFIGURE_ARGS+=--with-ming=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mnogosearch"
|
||||
LIB_DEPENDS+= udmsearch.1:${PORTSDIR}/www/mnogosearch
|
||||
|
||||
CONFIGURE_ARGS+=--with-mnogosearch=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mssql"
|
||||
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds-msdblib
|
||||
|
||||
CONFIGURE_ARGS+=--with-mssql=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mysql"
|
||||
CONFIGURE_ARGS+=--with-mysql=${LOCALBASE} \
|
||||
--with-zlib-dir=/usr
|
||||
|
||||
USE_MYSQL= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mysqli"
|
||||
CONFIGURE_ARGS+=--with-mysqli=${LOCALBASE}/bin/mysql_config
|
||||
|
||||
USE_MYSQL= yes
|
||||
BROKEN_WITH_MYSQL= 323 40
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "ncurses"
|
||||
CONFIGURE_ARGS+=--with-ncurses=/usr
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "odbc"
|
||||
LIB_DEPENDS+= odbc.1:${PORTSDIR}/databases/unixODBC
|
||||
|
||||
CONFIGURE_ARGS+=--with-unixODBC=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "openssl"
|
||||
CONFIGURE_ARGS+=--with-openssl=${OPENSSLBASE} \
|
||||
--with-openssl-dir=${OPENSSLBASE}
|
||||
|
||||
LDFLAGS+= -lcrypto -lssl
|
||||
USE_OPENSSL= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "oracle"
|
||||
BUILD_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
|
||||
RUN_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
|
||||
|
||||
CONFIGURE_ARGS+=--with-oracle=${LOCALBASE}/oracle7
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "pcntl"
|
||||
CONFIGURE_ARGS+=--enable-pcntl
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "pcre"
|
||||
CONFIGURE_ARGS+=--with-pcre-regex=yes
|
||||
|
||||
PHP_HEADER_DIRS=pcrelib
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "pgsql"
|
||||
POSTGRESQL_PORT?= databases/postgresql7
|
||||
LIB_DEPENDS+= pq.3:${PORTSDIR}/${POSTGRESQL_PORT}
|
||||
|
||||
CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "posix"
|
||||
CONFIGURE_ARGS+=--enable-posix
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "pspell"
|
||||
LIB_DEPENDS+= aspell.15:${PORTSDIR}/textproc/aspell
|
||||
|
||||
CONFIGURE_ARGS+=--with-pspell=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "readline"
|
||||
CONFIGURE_ARGS+=--with-readline=/usr
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "recode"
|
||||
LIB_DEPENDS+= recode.3:${PORTSDIR}/converters/recode
|
||||
|
||||
CONFIGURE_ARGS+=--with-recode=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "session"
|
||||
CONFIGURE_ARGS+=--enable-session
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "shmop"
|
||||
CONFIGURE_ARGS+=--enable-shmop
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "simplexml"
|
||||
CONFIGURE_ARGS+=--enable-simplexml \
|
||||
--with-libxml-dir=${LOCALBASE}
|
||||
|
||||
USE_GNOME= libxml2
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "snmp"
|
||||
CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} \
|
||||
--with-openssl-dir=${OPENSSLBASE} \
|
||||
--enable-ucd-snmp-hack
|
||||
|
||||
LDFLAGS+= -lcrypto -lssl
|
||||
USE_OPENSSL= yes
|
||||
|
||||
OPTIONS= SNMP4 "Use old UCD SNMP instead of the new NET SNMP" off
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "soap"
|
||||
CONFIGURE_ARGS+=--enable-soap \
|
||||
--with-libxml-dir=${LOCALBASE}
|
||||
|
||||
USE_GNOME= libxml2
|
||||
|
||||
USE_PHP= session
|
||||
USE_PHP_BUILD= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sockets"
|
||||
CONFIGURE_ARGS+=--enable-sockets
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sqlite"
|
||||
CONFIGURE_ARGS+=--with-sqlite
|
||||
|
||||
USE_PHP= session
|
||||
USE_PHP_BUILD= yes
|
||||
PHP_HEADER_DIRS=libsqlite/src
|
||||
|
||||
OPTIONS= UTF8 "Enable UTF-8 support" off
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sybase"
|
||||
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds
|
||||
|
||||
CONFIGURE_ARGS+=--with-sybase=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sybase_ct"
|
||||
LIB_DEPENDS+= ct.2:${PORTSDIR}/databases/freetds
|
||||
|
||||
CONFIGURE_ARGS+=--with-sybase-ct=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sysvmsg"
|
||||
CONFIGURE_ARGS+=--enable-sysvmsg
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sysvsem"
|
||||
CONFIGURE_ARGS+=--enable-sysvsem
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sysvshm"
|
||||
CONFIGURE_ARGS+=--enable-sysvshm
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "tidy"
|
||||
CONFIGURE_ARGS+=--with-tidy=${LOCALBASE}
|
||||
|
||||
LIB_DEPENDS+= tidy-0.99.0:${PORTSDIR}/www/tidy-lib
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "tokenizer"
|
||||
CONFIGURE_ARGS+=--enable-tokenizer
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "wddx"
|
||||
CONFIGURE_ARGS+=--enable-wddx
|
||||
|
||||
USE_PHP= xml session
|
||||
USE_PHP_BUILD= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "xml"
|
||||
CONFIGURE_ARGS+=--enable-xml \
|
||||
--with-libxml-dir=${LOCALBASE}
|
||||
|
||||
USE_GNOME= libxml2
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "xmlrpc"
|
||||
LIB_DEPENDS+= expat.5:${PORTSDIR}/textproc/expat2
|
||||
|
||||
CONFIGURE_ARGS+=--with-xmlrpc \
|
||||
--with-expat-dir=${LOCALBASE} \
|
||||
--with-iconv-dir=${LOCALBASE}
|
||||
|
||||
USE_ICONV= yes
|
||||
|
||||
PHP_HEADER_DIRS=libxmlrpc
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "xsl"
|
||||
CONFIGURE_ARGS+=--with-xsl=${LOCALBASE}
|
||||
|
||||
USE_GNOME= libxslt
|
||||
USE_PHP= dom
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "yp"
|
||||
CONFIGURE_ARGS+=--enable-yp
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "zlib"
|
||||
CONFIGURE_ARGS+=--with-zlib=/usr
|
||||
.endif
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if ${PHP_MODNAME} == "dba"
|
||||
. if defined(WITHOUT_CDB)
|
||||
CONFIGURE_ARGS+=--without-cdb
|
||||
. endif
|
||||
. if defined(WITH_DB4)
|
||||
WITH_DB4_VER?= 41
|
||||
. if ${WITH_DB4_VER} == 42
|
||||
LIB_DEPENDS+= db-4.2.2:${PORTSDIR}/databases/db42
|
||||
. else
|
||||
. if ${WITH_DB4_VER} == 4
|
||||
LIB_DEPENDS+= db4.0:${PORTSDIR}/databases/db4
|
||||
. else
|
||||
LIB_DEPENDS+= db41.1:${PORTSDIR}/databases/db41
|
||||
. endif
|
||||
. endif
|
||||
CONFIGURE_ARGS+=--with-db4=${LOCALBASE}
|
||||
. endif
|
||||
. if defined(WITH_GDBM)
|
||||
LIB_DEPENDS+= gdbm.3:${PORTSDIR}/databases/gdbm
|
||||
|
||||
CONFIGURE_ARGS+=--with-gdbm=${LOCALBASE}
|
||||
. endif
|
||||
. if defined(WITHOUT_INIFILE)
|
||||
CONFIGURE_ARGS+=--without-inifile
|
||||
. endif
|
||||
. if defined(WITHOUT_FLATFILE)
|
||||
CONFIGURE_ARGS+=--without-flatfile
|
||||
. endif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "gd"
|
||||
. if !defined(WITHOUT_T1LIB)
|
||||
LIB_DEPENDS+= t1.5:${PORTSDIR}/devel/t1lib
|
||||
|
||||
CONFIGURE_ARGS+=--with-t1lib=${LOCALBASE}
|
||||
. endif
|
||||
. if !defined(WITHOUT_TRUETYPE)
|
||||
CONFIGURE_ARGS+=--enable-gd-native-ttf
|
||||
. endif
|
||||
. if defined(WITH_JIS)
|
||||
CONFIGURE_ARGS+=--enable-gd-jis-conv
|
||||
. endif
|
||||
. if defined(WITH_LZW)
|
||||
CONFIGURE_ARGS+=--enable-gd-lzw-gif
|
||||
. endif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "imap"
|
||||
. if !exists(${LOCALBASE}/lib/libc-client4.so)
|
||||
. if !defined(WITHOUT_SSL)
|
||||
CONFIGURE_ARGS+=--with-imap-ssl=${LOCALBASE}
|
||||
. endif
|
||||
. else
|
||||
WITH_IMAP_SSL!= /usr/bin/ldd ${LOCALBASE}/lib/libc-client4.so | ${GREP} libssl || ${TRUE}
|
||||
. if !empty(WITH_IMAP_SSL)
|
||||
CONFIGURE_ARGS+=--with-imap-ssl=${LOCALBASE}
|
||||
. endif
|
||||
. endif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mbstring"
|
||||
. if defined(WITHOUT_REGEX)
|
||||
CONFIGURE_ARGS+=--disable-mbregex
|
||||
. endif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "openssl"
|
||||
post-extract:
|
||||
@${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "snmp"
|
||||
. if defined(WITH_SNMP4) || exists(${LOCALBASE}/lib/libsnmp.so.4)
|
||||
LIB_DEPENDS+= snmp.4:${PORTSDIR}/net-mgmt/net-snmp4
|
||||
. else
|
||||
LIB_DEPENDS+= netsnmp.6:${PORTSDIR}/net-mgmt/net-snmp
|
||||
. endif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sqlite"
|
||||
. if defined(WITH_UTF8)
|
||||
CONFIGURE_ARGS+=--enable-sqlite-utf8
|
||||
. endif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "xml"
|
||||
post-extract:
|
||||
@${MKDIR} ${WRKSRC}/ext/xml
|
||||
@${CP} ${WRKSRC}/expat_compat.h ${WRKSRC}/ext/xml
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "zlib"
|
||||
post-extract:
|
||||
@${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
|
||||
.endif
|
||||
29
lang/php5/Makefile.pear
Normal file
29
lang/php5/Makefile.pear
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
USE_GNOME= libxml2
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
|
||||
CONFIGURE_ARGS= --with-layout=GNU \
|
||||
--disable-cgi \
|
||||
--disable-all \
|
||||
--with-pcre-regex=yes \
|
||||
--enable-xml \
|
||||
--with-libxml-dir=${LOCALBASE} \
|
||||
--with-zlib-dir=/usr \
|
||||
--with-pear
|
||||
|
||||
NO_BUILD= yes
|
||||
|
||||
INSTALL_TARGET= install-pear
|
||||
|
||||
USE_PHP= pcre xml
|
||||
WANT_PHP_SCR= yes
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
post-patch:
|
||||
@${SED} "s|%%PREFIX%%|${PREFIX}|g" \
|
||||
${WRKSRC}/pear/scripts/pearcmd.php > ${WRKSRC}/pear/scripts/pear
|
||||
|
||||
post-install:
|
||||
@${INSTALL_SCRIPT} ${WRKSRC}/pear/scripts/pear ${PREFIX}/bin
|
||||
@${SED} "s|\$${LOCALBASE}|${LOCALBASE}|g;s|\$${PREFIX}|${PREFIX}|g" < ${PKGMESSAGE}
|
||||
|
|
@ -1,477 +0,0 @@
|
|||
--- configure.orig Fri Mar 19 11:01:07 2004
|
||||
+++ configure Mon Mar 29 09:56:02 2004
|
||||
@@ -624,6 +624,8 @@
|
||||
ac_help="$ac_help
|
||||
--enable-gd-jis-conv GD: Enable JIS-mapped Japanese font support."
|
||||
ac_help="$ac_help
|
||||
+ --enable-gd-lzw-gif GD: Enable LZW-compressed GIF support."
|
||||
+ac_help="$ac_help
|
||||
--with-gettext[=DIR] Include GNU gettext support."
|
||||
ac_help="$ac_help
|
||||
--with-gmp[=DIR] Include GNU MP support"
|
||||
@@ -24057,6 +24059,14 @@
|
||||
THIS_PREFIX=$i
|
||||
THIS_INCLUDE=$i/db4/db.h
|
||||
break
|
||||
+ elif test -f "$i/include/db42/db.h"; then
|
||||
+ THIS_PREFIX=$i
|
||||
+ THIS_INCLUDE=$i/include/db42/db.h
|
||||
+ break
|
||||
+ elif test -f "$i/include/db41/db.h"; then
|
||||
+ THIS_PREFIX=$i
|
||||
+ THIS_INCLUDE=$i/include/db41/db.h
|
||||
+ break
|
||||
elif test -f "$i/include/db4/db.h"; then
|
||||
THIS_PREFIX=$i
|
||||
THIS_INCLUDE=$i/include/db4/db.h
|
||||
@@ -24076,7 +24086,7 @@
|
||||
fi
|
||||
done
|
||||
|
||||
- for LIB in db-4.2 db-4.1 db-4.0 db-4 db4 db; do
|
||||
+ for LIB in db-4.2 db-4.1 db-4.0 db-4 db41 db4 db; do
|
||||
if test -f $THIS_PREFIX/lib/lib$LIB.a -o -f $THIS_PREFIX/lib/lib$LIB.$SHLIB_SUFFIX_NAME; then
|
||||
|
||||
old_LDFLAGS=$LDFLAGS
|
||||
@@ -30047,6 +30057,31 @@
|
||||
|
||||
|
||||
|
||||
+echo $ac_n "checking whether to enable LZW-compressed GIF support in GD""... $ac_c" 1>&6
|
||||
+echo "configure:28220: checking whether to enable LZW-compressed GIF support in GD" >&5
|
||||
+# Check whether --enable-gd-lzw-gif or --disable-gd-lzw-gif was given.
|
||||
+if test "${enable_gd_lzw_gif+set}" = set; then
|
||||
+ enableval="$enable_gd_lzw_gif"
|
||||
+ PHP_GD_LZW_GIF=$enableval
|
||||
+else
|
||||
+
|
||||
+ PHP_GD_LZW_GIF=no
|
||||
+
|
||||
+ if test "$PHP_ENABLE_ALL" && test "no" = "yes"; then
|
||||
+ PHP_GD_LZW_GIF=$PHP_ENABLE_ALL
|
||||
+ fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+ext_output=$PHP_GD_LZW_GIF
|
||||
+echo "$ac_t""$ext_output" 1>&6
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
|
||||
|
||||
|
||||
@@ -30199,7 +30234,7 @@
|
||||
libgd/gd_io_file.c libgd/gd_ss.c libgd/gd_io_ss.c libgd/gd_png.c libgd/gd_jpeg.c \
|
||||
libgd/gdxpm.c libgd/gdfontt.c libgd/gdfonts.c libgd/gdfontmb.c libgd/gdfontl.c \
|
||||
libgd/gdfontg.c libgd/gdtables.c libgd/gdft.c libgd/gdcache.c libgd/gdkanji.c \
|
||||
- libgd/wbmp.c libgd/gd_wbmp.c libgd/gdhelpers.c libgd/gd_topal.c libgd/gd_gif_in.c \
|
||||
+ libgd/wbmp.c libgd/gd_wbmp.c libgd/gdhelpers.c libgd/gd_topal.c libgd/gd_gif_in.c libgd/gd_biggif_out.c libgd/gd_lzw_out.c libgd/gd_gif_out.c \
|
||||
libgd/xbm.c"
|
||||
|
||||
for ac_func in fabsf floorf
|
||||
@@ -30274,6 +30309,11 @@
|
||||
fi
|
||||
|
||||
|
||||
+ if test "$PHP_GD_LZW_GIF" = "yes"; then
|
||||
+ USE_GD_LZW_GIF=1
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
if test "$PHP_JPEG_DIR" != "no"; then
|
||||
|
||||
for i in $PHP_JPEG_DIR /usr/local /usr; do
|
||||
@@ -31987,6 +32027,9 @@
|
||||
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define HAVE_GD_BUNDLED 1
|
||||
+#define HAVE_GD_GIF_CREATE 1
|
||||
+#define HAVE_GD_GIF_CTX 1
|
||||
+#define HAVE_GD_GIF_ANIM 1
|
||||
EOF
|
||||
|
||||
cat >> confdefs.h <<\EOF
|
||||
@@ -32041,6 +32084,14 @@
|
||||
GDLIB_CFLAGS="$GDLIB_CFLAGS -DJISX0208"
|
||||
fi
|
||||
|
||||
+ if test -n "$USE_GD_LZW_GIF"; then
|
||||
+ cat >> confdefs.h <<\EOF
|
||||
+#define LZW_LICENCED 1
|
||||
+EOF
|
||||
+
|
||||
+ GDLIB_CFLAGS="$GDLIB_CFLAGS -DLZW_LICENCED"
|
||||
+ fi
|
||||
+
|
||||
else
|
||||
|
||||
if test "$PHP_GD" != "no"; then
|
||||
@@ -36392,6 +36443,137 @@
|
||||
esac
|
||||
done
|
||||
|
||||
+ echo $ac_n "checking for gdImageGifAnimBegin in -lgd""... $ac_c" 1>&6
|
||||
+echo "configure:32250: checking for gdImageGifAnimBegin in -lgd" >&5
|
||||
+ac_lib_var=`echo gd'_'gdImageGifAnimBegin | sed 'y%./+-%__p_%'`
|
||||
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
+ echo $ac_n "(cached) $ac_c" 1>&6
|
||||
+else
|
||||
+ ac_save_LIBS="$LIBS"
|
||||
+LIBS="-lgd $LIBS"
|
||||
+cat > conftest.$ac_ext <<EOF
|
||||
+#line 32258 "configure"
|
||||
+#include "confdefs.h"
|
||||
+/* Override any gcc2 internal prototype to avoid an error. */
|
||||
+/* We use char because int might match the return type of a gcc2
|
||||
+ builtin and then its argument prototype would still apply. */
|
||||
+char gdImageGifAnimBegin();
|
||||
+
|
||||
+int main() {
|
||||
+gdImageGifAnimBegin()
|
||||
+; return 0; }
|
||||
+EOF
|
||||
+if { (eval echo configure:32269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
+ rm -rf conftest*
|
||||
+ eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
+else
|
||||
+ echo "configure: failed program was:" >&5
|
||||
+ cat conftest.$ac_ext >&5
|
||||
+ rm -rf conftest*
|
||||
+ eval "ac_cv_lib_$ac_lib_var=no"
|
||||
+fi
|
||||
+rm -f conftest*
|
||||
+LIBS="$ac_save_LIBS"
|
||||
+
|
||||
+fi
|
||||
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
|
||||
+ echo "$ac_t""yes" 1>&6
|
||||
+
|
||||
+ LDFLAGS=$save_old_LDFLAGS
|
||||
+ ext_shared=$save_ext_shared
|
||||
+ cat >> confdefs.h <<\EOF
|
||||
+#define HAVE_GD_GIF_ANIM 1
|
||||
+EOF
|
||||
+
|
||||
+
|
||||
+else
|
||||
+ echo "$ac_t""no" 1>&6
|
||||
+
|
||||
+ LDFLAGS=$save_old_LDFLAGS
|
||||
+ ext_shared=$save_ext_shared
|
||||
+ unset ac_cv_func_gd
|
||||
+
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+ save_old_LDFLAGS=$LDFLAGS
|
||||
+ ac_stuff=" -L$GD_LIB $GD_SHARED_LIBADD "
|
||||
+
|
||||
+ save_ext_shared=$ext_shared
|
||||
+ ext_shared=yes
|
||||
+
|
||||
+ for ac_i in $ac_stuff; do
|
||||
+ case $ac_i in
|
||||
+ -l*)
|
||||
+ ac_ii=`echo $ac_i|cut -c 3-`
|
||||
+
|
||||
+
|
||||
+ case $ac_ii in
|
||||
+ c|c_r|pthread*) ;;
|
||||
+ *)
|
||||
+ if test "$ext_shared" = "yes"; then
|
||||
+ LDFLAGS="$LDFLAGS -l$ac_ii"
|
||||
+ else
|
||||
+
|
||||
+
|
||||
+ case $ac_ii in
|
||||
+ c|c_r|pthread*) ;;
|
||||
+ *)
|
||||
+ LIBS="$LIBS -l$ac_ii"
|
||||
+ ;;
|
||||
+ esac
|
||||
+
|
||||
+
|
||||
+ fi
|
||||
+ ;;
|
||||
+ esac
|
||||
+
|
||||
+
|
||||
+ ;;
|
||||
+ -L*)
|
||||
+ ac_ii=`echo $ac_i|cut -c 3-`
|
||||
+
|
||||
+ if test "$ac_ii" != "/usr/lib"; then
|
||||
+
|
||||
+ if test -z "$ac_ii" || echo "$ac_ii" | grep '^/' >/dev/null ; then
|
||||
+ ai_p=$ac_ii
|
||||
+ else
|
||||
+
|
||||
+ ep_dir="`echo $ac_ii|sed 's%/*[^/][^/]*/*$%%'`"
|
||||
+
|
||||
+ ep_realdir="`(cd \"$ep_dir\" && pwd)`"
|
||||
+ ai_p="$ep_realdir/`basename \"$ac_ii\"`"
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ if test "$ext_shared" = "yes"; then
|
||||
+ LDFLAGS="$ld_runpath_switch$ai_p -L$ai_p $LDFLAGS"
|
||||
+ else
|
||||
+
|
||||
+
|
||||
+
|
||||
+ unique=`echo $ai_p|sed 's/[^a-zA-Z0-9]/_/g'`
|
||||
+
|
||||
+ cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
|
||||
+ if test -n "$unique" && test "`eval $cmd`" = "" ; then
|
||||
+ eval "LIBPATH$unique=set"
|
||||
+
|
||||
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
|
||||
+ LDFLAGS="$LDFLAGS -L$ai_p"
|
||||
+ PHP_RPATHS="$PHP_RPATHS $ai_p"
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+ ;;
|
||||
+ esac
|
||||
+ done
|
||||
+
|
||||
echo $ac_n "checking for gdCacheCreate in -lgd""... $ac_c" 1>&6
|
||||
echo "configure:36397: checking for gdCacheCreate in -lgd" >&5
|
||||
ac_lib_var=`echo gd'_'gdCacheCreate | sed 'y%./+-%__p_%'`
|
||||
@@ -61441,6 +61623,102 @@
|
||||
|
||||
|
||||
if test "$ext_shared" = "yes"; then
|
||||
+ ORACLE_SHARED_LIBADD="-lwrap $ORACLE_SHARED_LIBADD"
|
||||
+ if test -n "$ORACLE_DIR/lib"; then
|
||||
+
|
||||
+ if test "$ORACLE_DIR/lib" != "/usr/lib"; then
|
||||
+
|
||||
+ if test -z "$ORACLE_DIR/lib" || echo "$ORACLE_DIR/lib" | grep '^/' >/dev/null ; then
|
||||
+ ai_p=$ORACLE_DIR/lib
|
||||
+ else
|
||||
+
|
||||
+ ep_dir="`echo $ORACLE_DIR/lib|sed 's%/*[^/][^/]*/*$%%'`"
|
||||
+
|
||||
+ ep_realdir="`(cd \"$ep_dir\" && pwd)`"
|
||||
+ ai_p="$ep_realdir/`basename \"$ORACLE_DIR/lib\"`"
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ if test "$ext_shared" = "yes"; then
|
||||
+ ORACLE_SHARED_LIBADD="$ld_runpath_switch$ai_p -L$ai_p $ORACLE_SHARED_LIBADD"
|
||||
+ else
|
||||
+
|
||||
+
|
||||
+
|
||||
+ unique=`echo $ai_p|sed 's/[^a-zA-Z0-9]/_/g'`
|
||||
+
|
||||
+ cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
|
||||
+ if test -n "$unique" && test "`eval $cmd`" = "" ; then
|
||||
+ eval "LIBPATH$unique=set"
|
||||
+
|
||||
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
|
||||
+ LDFLAGS="$LDFLAGS -L$ai_p"
|
||||
+ PHP_RPATHS="$PHP_RPATHS $ai_p"
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+ fi
|
||||
+ else
|
||||
+
|
||||
+
|
||||
+ if test -n "$ORACLE_DIR/lib"; then
|
||||
+
|
||||
+ if test "$ORACLE_DIR/lib" != "/usr/lib"; then
|
||||
+
|
||||
+ if test -z "$ORACLE_DIR/lib" || echo "$ORACLE_DIR/lib" | grep '^/' >/dev/null ; then
|
||||
+ ai_p=$ORACLE_DIR/lib
|
||||
+ else
|
||||
+
|
||||
+ ep_dir="`echo $ORACLE_DIR/lib|sed 's%/*[^/][^/]*/*$%%'`"
|
||||
+
|
||||
+ ep_realdir="`(cd \"$ep_dir\" && pwd)`"
|
||||
+ ai_p="$ep_realdir/`basename \"$ORACLE_DIR/lib\"`"
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+ unique=`echo $ai_p|sed 's/[^a-zA-Z0-9]/_/g'`
|
||||
+
|
||||
+ cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
|
||||
+ if test -n "$unique" && test "`eval $cmd`" = "" ; then
|
||||
+ eval "LIBPATH$unique=set"
|
||||
+
|
||||
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
|
||||
+ LDFLAGS="$LDFLAGS -L$ai_p"
|
||||
+ PHP_RPATHS="$PHP_RPATHS $ai_p"
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ case wrap in
|
||||
+ c|c_r|pthread*) ;;
|
||||
+ *)
|
||||
+ LIBS="-lwrap $LIBS"
|
||||
+ ;;
|
||||
+ esac
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+ if test "$ext_shared" = "yes"; then
|
||||
ORACLE_SHARED_LIBADD="-lnlsrtl3 $ORACLE_SHARED_LIBADD"
|
||||
if test -n "$ORACLE_DIR/lib"; then
|
||||
|
||||
@@ -82018,29 +82296,6 @@
|
||||
else
|
||||
|
||||
|
||||
- case cs in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- if test "$ext_shared" = "yes"; then
|
||||
- SYBASE_CT_SHARED_LIBADD="-lcs $SYBASE_CT_SHARED_LIBADD"
|
||||
- else
|
||||
-
|
||||
-
|
||||
- case cs in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- LIBS="-lcs $LIBS"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
- fi
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
case ct in
|
||||
c|c_r|pthread*) ;;
|
||||
*)
|
||||
@@ -82064,52 +82319,7 @@
|
||||
|
||||
|
||||
|
||||
- case comn in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- if test "$ext_shared" = "yes"; then
|
||||
- SYBASE_CT_SHARED_LIBADD="-lcomn $SYBASE_CT_SHARED_LIBADD"
|
||||
- else
|
||||
-
|
||||
-
|
||||
- case comn in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- LIBS="-lcomn $LIBS"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
- fi
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
- case intl in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- if test "$ext_shared" = "yes"; then
|
||||
- SYBASE_CT_SHARED_LIBADD="-lintl $SYBASE_CT_SHARED_LIBADD"
|
||||
- else
|
||||
-
|
||||
-
|
||||
- case intl in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- LIBS="-lintl $LIBS"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
- fi
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
-
|
||||
- SYBASE_CT_LIBS="-L$SYBASE_CT_LIBDIR -lcs -lct -lcomn -lintl"
|
||||
+ SYBASE_CT_LIBS="-L$SYBASE_CT_LIBDIR -lct"
|
||||
|
||||
|
||||
save_old_LDFLAGS=$LDFLAGS
|
||||
@@ -82244,38 +82454,6 @@
|
||||
c|c_r|pthread*) ;;
|
||||
*)
|
||||
LIBS="-ltcl $LIBS"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
- fi
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-else
|
||||
- echo "$ac_t""no" 1>&6
|
||||
-
|
||||
- LDFLAGS=$save_old_LDFLAGS
|
||||
- ext_shared=$save_ext_shared
|
||||
- unset ac_cv_func_tcl
|
||||
-
|
||||
-
|
||||
-
|
||||
- case sybtcl in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- if test "$ext_shared" = "yes"; then
|
||||
- SYBASE_CT_SHARED_LIBADD="-lsybtcl $SYBASE_CT_SHARED_LIBADD"
|
||||
- else
|
||||
-
|
||||
-
|
||||
- case sybtcl in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- LIBS="-lsybtcl $LIBS"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
--- ext/gd/gd.c.orig Wed Jun 4 02:22:30 2003
|
||||
+++ ext/gd/gd.c Sat Jun 28 15:47:56 2003
|
||||
@@ -206,6 +206,11 @@
|
||||
#ifdef HAVE_GD_GIF_CREATE
|
||||
PHP_FE(imagegif, NULL)
|
||||
#endif
|
||||
+#ifdef HAVE_GD_GIF_ANIM
|
||||
+ PHP_FE(imagegifanimbegin, NULL)
|
||||
+ PHP_FE(imagegifanimadd, NULL)
|
||||
+ PHP_FE(imagegifanimend, NULL)
|
||||
+#endif
|
||||
#ifdef HAVE_GD_JPG
|
||||
PHP_FE(imagejpeg, NULL)
|
||||
#endif
|
||||
@@ -1707,11 +1712,35 @@
|
||||
#ifdef HAVE_GD_GIF_CTX
|
||||
_php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIF, "GIF", gdImageGifCtx);
|
||||
#else
|
||||
+
|
||||
+#ifdef HAVE_GD_BUNDLED
|
||||
+#error "I really think there should be ctx version of imagegif in the bundled GD library. Fix the configuration."
|
||||
+#endif
|
||||
+
|
||||
_php_image_output(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIF, "GIF", gdImageGif);
|
||||
#endif
|
||||
}
|
||||
/* }}} */
|
||||
#endif /* HAVE_GD_GIF_CREATE */
|
||||
+
|
||||
+#ifdef HAVE_GD_GIF_ANIM
|
||||
+/* {{{ proto int imagegifanimbegin(int im [, string filename [, int GlobalColormap [, int Loops]]])
|
||||
+ Begin GIF animation. Image parameter is only used for size and colormap,
|
||||
+ all animation frames must be added separately. */
|
||||
+PHP_FUNCTION(imagegifanimbegin)
|
||||
+{
|
||||
+ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIFANIMBEGIN, "GIF", gdImageGifAnimBeginCtx);
|
||||
+}
|
||||
+/* }}} */
|
||||
+
|
||||
+/* {{{ proto int imagegifanimadd(int im [, string filename [, int LocalColormap [, LeftOfs [, int TopOfs [, int Delay [, int Disposal]]]]]])
|
||||
+ Append GIF image to animation */
|
||||
+PHP_FUNCTION(imagegifanimadd)
|
||||
+{
|
||||
+ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIFANIMADD, "GIF", gdImageGifAnimAddCtx);
|
||||
+}
|
||||
+/* }}} */
|
||||
+#endif /* HAVE_GD_GIF_ANIM */
|
||||
|
||||
#ifdef HAVE_GD_PNG
|
||||
/* {{{ proto int imagepng(int im [, string filename])
|
||||
|
|
@ -1,168 +0,0 @@
|
|||
--- ext/gd/gd_ctx.c.orig Wed Jan 28 18:10:05 2004
|
||||
+++ ext/gd/gd_ctx.c Fri Feb 13 12:12:00 2004
|
||||
@@ -49,23 +49,29 @@
|
||||
/* {{{ _php_image_output_ctx */
|
||||
static void _php_image_output_ctx(INTERNAL_FUNCTION_PARAMETERS, int image_type, char *tn, void (*func_p)())
|
||||
{
|
||||
- zval **imgind, **file, **quality;
|
||||
+ zval **imgind, **file, **quality, **lo, **to, **del, **dis;
|
||||
gdImagePtr im;
|
||||
char *fn = NULL;
|
||||
FILE *fp = NULL;
|
||||
int argc = ZEND_NUM_ARGS();
|
||||
int q = -1, i;
|
||||
+#ifdef HAVE_GD_GIF_ANIM
|
||||
+ int LeftOfs = -1, TopOfs = -1, Delay = -1, Disposal = -1;
|
||||
+#endif /* HAVE_GD_GIF_ANIM */
|
||||
gdIOCtx *ctx;
|
||||
|
||||
/* The third (quality) parameter for Wbmp stands for the threshold when called from image2wbmp().
|
||||
* The third (quality) parameter for Wbmp and Xbm stands for the foreground color index when called
|
||||
* from imagey<type>().
|
||||
+ * The third (quality) parameter for GIF animation stands for colormap inclusion. 1==include
|
||||
+ * local/global colormap.
|
||||
+ * The fourth (LeftOfs) parameter for GIF animation begin stands for NETSCAPE2.0 Loop count extension.
|
||||
*/
|
||||
|
||||
if (argc < 2 && image_type == PHP_GDIMG_TYPE_XBM) {
|
||||
WRONG_PARAM_COUNT;
|
||||
}
|
||||
- if (argc < 1 || argc > 3 || zend_get_parameters_ex(argc, &imgind, &file, &quality) == FAILURE)
|
||||
+ if (argc < 1 || argc > 7 || zend_get_parameters_ex(argc, &imgind, &file, &quality, &lo, &to, &del, &dis) == FAILURE)
|
||||
{
|
||||
WRONG_PARAM_COUNT;
|
||||
}
|
||||
@@ -75,11 +81,29 @@
|
||||
if (argc > 1) {
|
||||
convert_to_string_ex(file);
|
||||
fn = Z_STRVAL_PP(file);
|
||||
- if (argc == 3) {
|
||||
- convert_to_long_ex(quality);
|
||||
- q = Z_LVAL_PP(quality);/* or colorindex for foreground of BW images (defaults to black) */
|
||||
- }
|
||||
}
|
||||
+ if (argc >= 3) {
|
||||
+ convert_to_long_ex(quality);
|
||||
+ q = Z_LVAL_PP(quality);/* or colorindex for foreground of BW images (defaults to black) */
|
||||
+ }
|
||||
+#ifdef HAVE_GD_GIF_ANIM
|
||||
+ if (argc >= 4) {
|
||||
+ convert_to_long_ex(lo);
|
||||
+ LeftOfs = Z_LVAL_PP(lo);
|
||||
+ }
|
||||
+ if (argc >= 5) {
|
||||
+ convert_to_long_ex(to);
|
||||
+ TopOfs = Z_LVAL_PP(to);
|
||||
+ }
|
||||
+ if (argc >= 6) {
|
||||
+ convert_to_long_ex(del);
|
||||
+ Delay = Z_LVAL_PP(del);
|
||||
+ }
|
||||
+ if (argc >= 7) {
|
||||
+ convert_to_long_ex(dis);
|
||||
+ Disposal = Z_LVAL_PP(dis);
|
||||
+ }
|
||||
+#endif /* HAVE_GD_GIF_ANIM */
|
||||
|
||||
if ((argc == 2) || (argc > 2 && Z_STRLEN_PP(file))) {
|
||||
if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC)) {
|
||||
@@ -87,7 +111,7 @@
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
- fp = VCWD_FOPEN(fn, "wb");
|
||||
+ fp = VCWD_FOPEN(fn, PHP_GDIMG_TYPE_GIFANIMADD == image_type ? "ab" : "wb");
|
||||
if (!fp) {
|
||||
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open '%s' for writing", fn);
|
||||
RETURN_FALSE;
|
||||
@@ -133,6 +157,14 @@
|
||||
(*func_p)(im, q, ctx);
|
||||
}
|
||||
break;
|
||||
+#ifdef HAVE_GD_GIF_ANIM
|
||||
+ case PHP_GDIMG_TYPE_GIFANIMBEGIN:
|
||||
+ (*func_p)(im, ctx, q, LeftOfs);
|
||||
+ break;
|
||||
+ case PHP_GDIMG_TYPE_GIFANIMADD:
|
||||
+ (*func_p)(im, ctx, q, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+ break;
|
||||
+#endif /* HAVE_GD_GIF_ANIM */
|
||||
default:
|
||||
(*func_p)(im, ctx);
|
||||
break;
|
||||
@@ -151,6 +183,75 @@
|
||||
|
||||
RETURN_TRUE;
|
||||
}
|
||||
+
|
||||
+#ifdef HAVE_GD_GIF_ANIM
|
||||
+/* {{{ proto int imagegifanimend([string filename])
|
||||
+ Write end mark to gif animation. */
|
||||
+PHP_FUNCTION(imagegifanimend)
|
||||
+{
|
||||
+ zval **file;
|
||||
+ char *fn = NULL;
|
||||
+ FILE *fp = NULL;
|
||||
+ int argc = ZEND_NUM_ARGS();
|
||||
+ gdIOCtx *ctx;
|
||||
+
|
||||
+ if (argc < 0 || argc > 1 || zend_get_parameters_ex(argc, &file) == FAILURE) {
|
||||
+ ZEND_WRONG_PARAM_COUNT();
|
||||
+ }
|
||||
+
|
||||
+ if (argc >= 1) {
|
||||
+ convert_to_string_ex(file);
|
||||
+ fn = Z_STRVAL_PP(file);
|
||||
+ }
|
||||
+
|
||||
+ if ((argc == 1) || (argc > 1 && Z_STRLEN_PP(file))) {
|
||||
+ if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC)) {
|
||||
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid filename '%s'", fn);
|
||||
+ RETURN_FALSE;
|
||||
+ }
|
||||
+
|
||||
+ fp = VCWD_FOPEN(fn, "ab");
|
||||
+ if (!fp) {
|
||||
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open '%s' for writing", fn);
|
||||
+ RETURN_FALSE;
|
||||
+ }
|
||||
+
|
||||
+ ctx = gdNewFileCtx(fp);
|
||||
+ } else {
|
||||
+ ctx = emalloc(sizeof(gdIOCtx));
|
||||
+ ctx->putC = _php_image_output_putc;
|
||||
+ ctx->putBuf = _php_image_output_putbuf;
|
||||
+#if HAVE_LIBGD204
|
||||
+ ctx->gd_free = _php_image_output_ctxfree;
|
||||
+#else
|
||||
+ ctx->free = _php_image_output_ctxfree;
|
||||
+#endif
|
||||
+
|
||||
+#if APACHE && defined(CHARSET_EBCDIC)
|
||||
+ /* XXX this is unlikely to work any more thies@thieso.net */
|
||||
+ /* This is a binary file already: avoid EBCDIC->ASCII conversion */
|
||||
+ ap_bsetflag(php3_rqst->connection->client, B_EBCDIC2ASCII, 0);
|
||||
+#endif
|
||||
+ }
|
||||
+
|
||||
+ /* This could be coded in here, as it only outputs ';' */
|
||||
+ gdImageGifAnimEndCtx(ctx);
|
||||
+
|
||||
+#if HAVE_LIBGD204
|
||||
+ ctx->gd_free(ctx);
|
||||
+#else
|
||||
+ ctx->free(ctx);
|
||||
+#endif
|
||||
+
|
||||
+ if(fp) {
|
||||
+ fflush(fp);
|
||||
+ fclose(fp);
|
||||
+ }
|
||||
+
|
||||
+ RETURN_TRUE;
|
||||
+}
|
||||
+/* }}} */
|
||||
+#endif /* HAVE_GD_GIF_ANIM */
|
||||
/* }}} */
|
||||
|
||||
/*
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
--- ext/gd/libgd/gd.h.orig Wed Apr 9 03:55:56 2003
|
||||
+++ ext/gd/libgd/gd.h Sat Jun 28 15:47:56 2003
|
||||
@@ -446,6 +446,30 @@
|
||||
gdImagePtr gdImageCreateFromGifCtx(gdIOCtxPtr in);
|
||||
gdImagePtr gdImageCreateFromGifSource(gdSourcePtr in);
|
||||
|
||||
+void gdImageLzw(gdImagePtr im, FILE *out);
|
||||
+void* gdImageLzwPtr(gdImagePtr im, int *size);
|
||||
+void gdImageLzwCtx(gdImagePtr im, gdIOCtxPtr out);
|
||||
+
|
||||
+void gdImageBigGif(gdImagePtr im, FILE *out);
|
||||
+void* gdImageBigGifPtr(gdImagePtr im, int *size);
|
||||
+void gdImageBigGifCtx(gdImagePtr im, gdIOCtxPtr out);
|
||||
+
|
||||
+void gdImageGifAnimBegin(gdImagePtr im, FILE *outFile, int GlobalCM, int Loops);
|
||||
+void gdImageGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void gdImageLzwAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void gdImageBigGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void gdImageGifAnimEnd(FILE *outFile);
|
||||
+void gdImageGifAnimBeginCtx(gdImagePtr im, gdIOCtx *out, int GlobalCM, int Loops);
|
||||
+void gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void gdImageLzwAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void gdImageBigGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void gdImageGifAnimEndCtx(gdIOCtx *out);
|
||||
+void *gdImageGifAnimBeginPtr(gdImagePtr im, int *size, int GlobalCM, int Loops);
|
||||
+void *gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void *gdImageLzwAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void *gdImageBigGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void *gdImageGifAnimEndPtr(int *size);
|
||||
+
|
||||
/* A custom data sink. For backwards compatibility. Use
|
||||
gdIOCtx instead. */
|
||||
/* The sink function must return -1 on error, otherwise the number
|
||||
@@ -457,6 +481,11 @@
|
||||
} gdSink, *gdSinkPtr;
|
||||
|
||||
void gdImagePngToSink(gdImagePtr im, gdSinkPtr out);
|
||||
+
|
||||
+void gdImageGif (gdImagePtr im, FILE *out);
|
||||
+void* gdImageGifPtr (gdImagePtr im, int *size);
|
||||
+void gdImageGifCtx (gdImagePtr im, gdIOCtxPtr out);
|
||||
+void gdImageGifToSink (gdImagePtr im, gdSinkPtr out);
|
||||
|
||||
void gdImageGd(gdImagePtr im, FILE *out);
|
||||
void gdImageGd2(gdImagePtr im, FILE *out, int cs, int fmt);
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,73 +0,0 @@
|
|||
--- ext/gd/libgd/gd_gif_out.c.orig Sat Jun 28 15:47:56 2003
|
||||
+++ ext/gd/libgd/gd_gif_out.c Sat Jun 28 16:07:33 2003
|
||||
@@ -0,0 +1,70 @@
|
||||
+#include <stdio.h>
|
||||
+#include <math.h>
|
||||
+#include <string.h>
|
||||
+#include <stdlib.h>
|
||||
+#include "gd.h"
|
||||
+
|
||||
+/*
|
||||
+** Wrapper functions for GIF output.
|
||||
+*/
|
||||
+
|
||||
+void gdImageGifToSink(gdImagePtr im, gdSinkPtr outSink)
|
||||
+{
|
||||
+ gdIOCtx *out = gdNewSSCtx(NULL,outSink);
|
||||
+ gdImageGifCtx(im, out);
|
||||
+ out->gd_free(out);
|
||||
+}
|
||||
+
|
||||
+void gdImageGifCtx(gdImagePtr im, gdIOCtx *out)
|
||||
+{
|
||||
+#ifdef LZW_LICENCED
|
||||
+ gdImageLzwCtx(im, out);
|
||||
+#else
|
||||
+ gdImageBigGifCtx(im, out);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void gdImageGif(gdImagePtr im, FILE *outFile)
|
||||
+{
|
||||
+#ifdef LZW_LICENCED
|
||||
+ gdImageLzw(im, outFile);
|
||||
+#else
|
||||
+ gdImageBigGif(im, outFile);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void* gdImageGifPtr(gdImagePtr im, int *size)
|
||||
+{
|
||||
+#ifdef LZW_LICENCED
|
||||
+ return gdImageLzwPtr(im, size);
|
||||
+#else
|
||||
+ return gdImageBigGifPtr(im, size);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
|
||||
+{
|
||||
+#ifdef LZW_LICENCED
|
||||
+ gdImageLzwAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+#else
|
||||
+ gdImageBigGifAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void gdImageGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
|
||||
+{
|
||||
+#ifdef LZW_LICENCED
|
||||
+ gdImageLzwAnimAdd(im, outFile, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+#else
|
||||
+ gdImageBigGifAnimAdd(im, outFile, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void *gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
|
||||
+{
|
||||
+#ifdef LZW_LICENCED
|
||||
+ return gdImageLzwAnimAddPtr(im, size, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+#else
|
||||
+ return gdImageBigGifAnimAddPtr(im, size, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+#endif
|
||||
+}
|
||||
|
|
@ -1,939 +0,0 @@
|
|||
--- ext/gd/libgd/gd_lzw_out.c.orig Sat Jun 28 15:47:56 2003
|
||||
+++ ext/gd/libgd/gd_lzw_out.c Sat Jun 28 16:01:04 2003
|
||||
@@ -0,0 +1,936 @@
|
||||
+#ifdef HAVE_MALLOC_H
|
||||
+ #include <malloc.h>
|
||||
+#endif
|
||||
+#include <stdio.h>
|
||||
+#include <math.h>
|
||||
+#include <string.h>
|
||||
+#include <stdlib.h>
|
||||
+#include "gd.h"
|
||||
+
|
||||
+/* Code drawn from ppmtogif.c, from the pbmplus package
|
||||
+**
|
||||
+** Based on GIFENCOD by David Rowley <mgardi@watdscu.waterloo.edu>. A
|
||||
+** Lempel-Zim compression based on "compress".
|
||||
+**
|
||||
+** Modified by Marcel Wijkstra <wijkstra@fwi.uva.nl>
|
||||
+**
|
||||
+** Copyright (C) 1989 by Jef Poskanzer.
|
||||
+**
|
||||
+** Permission to use, copy, modify, and distribute this software and its
|
||||
+** documentation for any purpose and without fee is hereby granted, provided
|
||||
+** that the above copyright notice appear in all copies and that both that
|
||||
+** copyright notice and this permission notice appear in supporting
|
||||
+** documentation. This software is provided "as is" without express or
|
||||
+** implied warranty.
|
||||
+**
|
||||
+** The Graphics Interchange Format(c) is the Copyright property of
|
||||
+** CompuServe Incorporated. GIF(sm) is a Service Mark property of
|
||||
+** CompuServe Incorporated.
|
||||
+*/
|
||||
+
|
||||
+/*
|
||||
+ * a code_int must be able to hold 2**GIFBITS values of type int, and also -1
|
||||
+ */
|
||||
+typedef int code_int;
|
||||
+
|
||||
+#ifdef SIGNED_COMPARE_SLOW
|
||||
+typedef unsigned long int count_int;
|
||||
+typedef unsigned short int count_short;
|
||||
+#else /*SIGNED_COMPARE_SLOW*/
|
||||
+typedef long int count_int;
|
||||
+#endif /*SIGNED_COMPARE_SLOW*/
|
||||
+
|
||||
+static int colorstobpp(int colors);
|
||||
+static void BumpPixel (void);
|
||||
+static int GIFNextPixel (gdImagePtr im);
|
||||
+static void GIFEncode (gdIOCtx *fp, int GWidth, int GHeight, int GInterlace, int Background, int Transparent, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im);
|
||||
+static void GIFAnimEncode(gdIOCtx *fp, int IWidth, int IHeight, int LeftOfs, int TopOfs, int GInterlace, int Transparent, int Delay, int Disposal, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im);
|
||||
+/*static void Putword (int w, gdIOCtx *fp); */
|
||||
+static void compress (int init_bits, gdIOCtx *outfile, gdImagePtr im);
|
||||
+static void output (code_int code);
|
||||
+static void cl_block (void);
|
||||
+static void cl_hash (register count_int hsize);
|
||||
+static void char_init (void);
|
||||
+static void char_out (int c);
|
||||
+static void flush_char (void);
|
||||
+/* Allows for reuse */
|
||||
+static void init_statics(void);
|
||||
+
|
||||
+void gdImageLzwCtx(gdImagePtr im, gdIOCtx *out)
|
||||
+{
|
||||
+ int interlace, transparent, BitsPerPixel;
|
||||
+
|
||||
+ interlace = im->interlace;
|
||||
+ transparent = im->transparent;
|
||||
+
|
||||
+ BitsPerPixel = colorstobpp(im->colorsTotal);
|
||||
+ /* Clear any old values in statics strewn through the GIF code */
|
||||
+ init_statics();
|
||||
+ /* All set, let's do it. */
|
||||
+ GIFEncode(
|
||||
+ out, im->sx, im->sy, interlace, 0, transparent, BitsPerPixel,
|
||||
+ im->red, im->green, im->blue, im);
|
||||
+}
|
||||
+
|
||||
+void gdImageLzw(gdImagePtr im, FILE *outFile)
|
||||
+{
|
||||
+ gdIOCtx *out = gdNewFileCtx(outFile);
|
||||
+ gdImageLzwCtx(im, out);
|
||||
+ out->gd_free(out);
|
||||
+}
|
||||
+
|
||||
+void* gdImageLzwPtr(gdImagePtr im, int *size)
|
||||
+{
|
||||
+ void *rv;
|
||||
+ gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
|
||||
+ gdImageLzwCtx(im, out);
|
||||
+ rv = gdDPExtractData(out,size);
|
||||
+ out->gd_free(out);
|
||||
+ return rv;
|
||||
+}
|
||||
+
|
||||
+void gdImageLzwAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
|
||||
+{
|
||||
+ int interlace, transparent, BitsPerPixel;
|
||||
+
|
||||
+ interlace = im->interlace;
|
||||
+ transparent = im->transparent;
|
||||
+
|
||||
+ BitsPerPixel = colorstobpp(im->colorsTotal);
|
||||
+ /* Clear any old values in statics strewn through the GIF code */
|
||||
+ init_statics();
|
||||
+ /* All set, let's do it. */
|
||||
+ GIFAnimEncode(
|
||||
+ out, im->sx, im->sy, LeftOfs, TopOfs, interlace, transparent,
|
||||
+ Delay, Disposal, BitsPerPixel,
|
||||
+ LocalCM > 0 ? im->red : 0, im->green, im->blue, im);
|
||||
+}
|
||||
+
|
||||
+void gdImageLzwAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
|
||||
+{
|
||||
+ gdIOCtx *out = gdNewFileCtx(outFile);
|
||||
+ gdImageLzwAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+ out->gd_free(out);
|
||||
+}
|
||||
+
|
||||
+void* gdImageLzwAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
|
||||
+{
|
||||
+ void *rv;
|
||||
+ gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
|
||||
+ gdImageLzwAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+ rv = gdDPExtractData(out,size);
|
||||
+ out->gd_free(out);
|
||||
+ return rv;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
+static int
|
||||
+colorstobpp(int colors)
|
||||
+{
|
||||
+ int bpp = 0;
|
||||
+
|
||||
+ if ( colors <= 2 )
|
||||
+ bpp = 1;
|
||||
+ else if ( colors <= 4 )
|
||||
+ bpp = 2;
|
||||
+ else if ( colors <= 8 )
|
||||
+ bpp = 3;
|
||||
+ else if ( colors <= 16 )
|
||||
+ bpp = 4;
|
||||
+ else if ( colors <= 32 )
|
||||
+ bpp = 5;
|
||||
+ else if ( colors <= 64 )
|
||||
+ bpp = 6;
|
||||
+ else if ( colors <= 128 )
|
||||
+ bpp = 7;
|
||||
+ else if ( colors <= 256 )
|
||||
+ bpp = 8;
|
||||
+ return bpp;
|
||||
+ }
|
||||
+
|
||||
+/*****************************************************************************
|
||||
+ *
|
||||
+ * GIFENCODE.C - GIF Image compression interface
|
||||
+ *
|
||||
+ * GIFEncode( FName, GHeight, GWidth, GInterlace, Background, Transparent,
|
||||
+ * BitsPerPixel, Red, Green, Blue, gdImagePtr )
|
||||
+ *
|
||||
+ *****************************************************************************/
|
||||
+
|
||||
+#define TRUE 1
|
||||
+#define FALSE 0
|
||||
+
|
||||
+static int Width, Height;
|
||||
+static int curx, cury;
|
||||
+static long CountDown;
|
||||
+static int Pass = 0;
|
||||
+static int Interlace;
|
||||
+
|
||||
+/*
|
||||
+ * Bump the 'curx' and 'cury' to point to the next pixel
|
||||
+ */
|
||||
+static void
|
||||
+BumpPixel(void)
|
||||
+{
|
||||
+ /*
|
||||
+ * Bump the current X position
|
||||
+ */
|
||||
+ ++curx;
|
||||
+
|
||||
+ /*
|
||||
+ * If we are at the end of a scan line, set curx back to the beginning
|
||||
+ * If we are interlaced, bump the cury to the appropriate spot,
|
||||
+ * otherwise, just increment it.
|
||||
+ */
|
||||
+ if( curx == Width ) {
|
||||
+ curx = 0;
|
||||
+
|
||||
+ if( !Interlace )
|
||||
+ ++cury;
|
||||
+ else {
|
||||
+ switch( Pass ) {
|
||||
+
|
||||
+ case 0:
|
||||
+ cury += 8;
|
||||
+ if( cury >= Height ) {
|
||||
+ ++Pass;
|
||||
+ cury = 4;
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case 1:
|
||||
+ cury += 8;
|
||||
+ if( cury >= Height ) {
|
||||
+ ++Pass;
|
||||
+ cury = 2;
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case 2:
|
||||
+ cury += 4;
|
||||
+ if( cury >= Height ) {
|
||||
+ ++Pass;
|
||||
+ cury = 1;
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case 3:
|
||||
+ cury += 2;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Return the next pixel from the image
|
||||
+ */
|
||||
+static int
|
||||
+GIFNextPixel(gdImagePtr im)
|
||||
+{
|
||||
+ int r;
|
||||
+
|
||||
+ if( CountDown == 0 )
|
||||
+ return EOF;
|
||||
+
|
||||
+ --CountDown;
|
||||
+
|
||||
+ r = gdImageGetPixel(im, curx, cury);
|
||||
+
|
||||
+ BumpPixel();
|
||||
+
|
||||
+ return r;
|
||||
+}
|
||||
+
|
||||
+/* public */
|
||||
+
|
||||
+static void
|
||||
+GIFEncode(gdIOCtx *fp, int GWidth, int GHeight, int GInterlace, int Background, int Transparent, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im)
|
||||
+{
|
||||
+ int B;
|
||||
+ int RWidth, RHeight;
|
||||
+ int LeftOfs, TopOfs;
|
||||
+ int Resolution;
|
||||
+ int ColorMapSize;
|
||||
+ int InitCodeSize;
|
||||
+ int i;
|
||||
+
|
||||
+ Interlace = GInterlace;
|
||||
+
|
||||
+ ColorMapSize = 1 << BitsPerPixel;
|
||||
+
|
||||
+ RWidth = Width = GWidth;
|
||||
+ RHeight = Height = GHeight;
|
||||
+ LeftOfs = TopOfs = 0;
|
||||
+
|
||||
+ Resolution = BitsPerPixel;
|
||||
+
|
||||
+ /*
|
||||
+ * Calculate number of bits we are expecting
|
||||
+ */
|
||||
+ CountDown = (long)Width * (long)Height;
|
||||
+
|
||||
+ /*
|
||||
+ * Indicate which pass we are on (if interlace)
|
||||
+ */
|
||||
+ Pass = 0;
|
||||
+
|
||||
+ /*
|
||||
+ * The initial code size
|
||||
+ */
|
||||
+ if( BitsPerPixel <= 1 )
|
||||
+ InitCodeSize = 2;
|
||||
+ else
|
||||
+ InitCodeSize = BitsPerPixel;
|
||||
+
|
||||
+ /*
|
||||
+ * Set up the current x and y position
|
||||
+ */
|
||||
+ curx = cury = 0;
|
||||
+
|
||||
+ /*
|
||||
+ * Write the Magic header
|
||||
+ */
|
||||
+ gdPutBuf( Transparent < 0 ? "GIF87a" : "GIF89a", 6, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out the screen width and height
|
||||
+ */
|
||||
+ Putword( RWidth, fp );
|
||||
+ Putword( RHeight, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Indicate that there is a global colour map
|
||||
+ */
|
||||
+ B = 0x80; /* Yes, there is a color map */
|
||||
+
|
||||
+ /*
|
||||
+ * OR in the resolution
|
||||
+ */
|
||||
+ B |= (Resolution - 1) << 5;
|
||||
+
|
||||
+ /*
|
||||
+ * OR in the Bits per Pixel
|
||||
+ */
|
||||
+ B |= (BitsPerPixel - 1);
|
||||
+
|
||||
+ /*
|
||||
+ * Write it out
|
||||
+ */
|
||||
+ gdPutC( B, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out the Background colour
|
||||
+ */
|
||||
+ gdPutC( Background, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Byte of 0's (future expansion)
|
||||
+ */
|
||||
+ gdPutC( 0, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out the Global Colour Map
|
||||
+ */
|
||||
+ for( i=0; i<ColorMapSize; ++i ) {
|
||||
+ gdPutC( Red[i], fp );
|
||||
+ gdPutC( Green[i], fp );
|
||||
+ gdPutC( Blue[i], fp );
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * Write out extension for transparent colour index, if necessary.
|
||||
+ */
|
||||
+ if ( Transparent >= 0 ) {
|
||||
+ gdPutC( '!', fp );
|
||||
+ gdPutC( 0xf9, fp );
|
||||
+ gdPutC( 4, fp );
|
||||
+ gdPutC( 1, fp );
|
||||
+ gdPutC( 0, fp );
|
||||
+ gdPutC( 0, fp );
|
||||
+ gdPutC( (unsigned char) Transparent, fp );
|
||||
+ gdPutC( 0, fp );
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * Write an Image separator
|
||||
+ */
|
||||
+ gdPutC( ',', fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write the Image header
|
||||
+ */
|
||||
+
|
||||
+ Putword( LeftOfs, fp );
|
||||
+ Putword( TopOfs, fp );
|
||||
+ Putword( Width, fp );
|
||||
+ Putword( Height, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out whether or not the image is interlaced
|
||||
+ */
|
||||
+ if( Interlace )
|
||||
+ gdPutC( 0x40, fp );
|
||||
+ else
|
||||
+ gdPutC( 0x00, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out the initial code size
|
||||
+ */
|
||||
+ gdPutC( InitCodeSize, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Go and actually compress the data
|
||||
+ */
|
||||
+ compress( InitCodeSize+1, fp, im );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out a Zero-length packet (to end the series)
|
||||
+ */
|
||||
+ gdPutC( 0, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write the GIF file terminator
|
||||
+ */
|
||||
+ gdPutC( ';', fp );
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+GIFAnimEncode(gdIOCtx *fp, int IWidth, int IHeight, int LeftOfs, int TopOfs, int GInterlace, int Transparent, int Delay, int Disposal, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im)
|
||||
+{
|
||||
+ int ColorMapSize;
|
||||
+ int InitCodeSize;
|
||||
+ int i;
|
||||
+
|
||||
+ if (LeftOfs < 0) LeftOfs = 0;
|
||||
+ if (TopOfs < 0) TopOfs = 0;
|
||||
+ if (Delay < 0) Delay = 100;
|
||||
+ if (Disposal < 0) Disposal = 2;
|
||||
+
|
||||
+ Interlace = GInterlace;
|
||||
+
|
||||
+ ColorMapSize = 1 << BitsPerPixel;
|
||||
+
|
||||
+ Width = IWidth;
|
||||
+ Height = IHeight;
|
||||
+
|
||||
+ /*
|
||||
+ * Calculate number of bits we are expecting
|
||||
+ */
|
||||
+ CountDown = (long)Width * (long)Height;
|
||||
+
|
||||
+ /*
|
||||
+ * Indicate which pass we are on (if interlace)
|
||||
+ */
|
||||
+ Pass = 0;
|
||||
+
|
||||
+ /*
|
||||
+ * The initial code size
|
||||
+ */
|
||||
+ if( BitsPerPixel <= 1 )
|
||||
+ InitCodeSize = 2;
|
||||
+ else
|
||||
+ InitCodeSize = BitsPerPixel;
|
||||
+
|
||||
+ /*
|
||||
+ * Set up the current x and y position
|
||||
+ */
|
||||
+ curx = cury = 0;
|
||||
+
|
||||
+ /*
|
||||
+ * Write out extension for image animation and looping
|
||||
+ */
|
||||
+ gdPutC( '!', fp );
|
||||
+ gdPutC( 0xf9, fp );
|
||||
+ gdPutC( 4, fp );
|
||||
+ gdPutC( (Transparent >= 0 ? 1 : 0)
|
||||
+ | (Disposal << 2), fp );
|
||||
+ gdPutC( (unsigned char)(Delay & 255), fp );
|
||||
+ gdPutC( (unsigned char)((Delay >> 8) & 255), fp );
|
||||
+ gdPutC( (unsigned char) Transparent, fp );
|
||||
+ gdPutC( 0, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write an Image separator
|
||||
+ */
|
||||
+ gdPutC( ',', fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write the Image header
|
||||
+ */
|
||||
+
|
||||
+ Putword( LeftOfs, fp );
|
||||
+ Putword( TopOfs, fp );
|
||||
+ Putword( Width, fp );
|
||||
+ Putword( Height, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out whether or not the image is interlaced
|
||||
+ * and if it includes local colour map.
|
||||
+ */
|
||||
+ gdPutC( (Interlace ? 0x40 : 0)
|
||||
+ | (Red ? 0x80 : 0)
|
||||
+ | (Red ? BitsPerPixel - 1 : 0), fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out the Local Colour Map
|
||||
+ */
|
||||
+ if (Red)
|
||||
+ for( i=0; i<ColorMapSize; ++i ) {
|
||||
+ gdPutC( Red[i], fp );
|
||||
+ gdPutC( Green[i], fp );
|
||||
+ gdPutC( Blue[i], fp );
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * Write out the initial code size
|
||||
+ */
|
||||
+ gdPutC( InitCodeSize, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Go and actually compress the data
|
||||
+ */
|
||||
+ compress( InitCodeSize+1, fp, im );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out a Zero-length packet (to end the series)
|
||||
+ */
|
||||
+ gdPutC( 0, fp );
|
||||
+}
|
||||
+
|
||||
+/* */
|
||||
+/* * Write out a word to the GIF file */
|
||||
+/* */
|
||||
+/*static void */
|
||||
+/*Putword(int w, FILE *fp) */
|
||||
+/*{ */
|
||||
+/* fputc( w & 0xff, fp ); */
|
||||
+/* fputc( (w / 256) & 0xff, fp ); */
|
||||
+/*} */
|
||||
+
|
||||
+
|
||||
+/***************************************************************************
|
||||
+ *
|
||||
+ * GIFCOMPR.C - GIF Image compression routines
|
||||
+ *
|
||||
+ * Lempel-Ziv compression based on 'compress'. GIF modifications by
|
||||
+ * David Rowley (mgardi@watdcsu.waterloo.edu)
|
||||
+ *
|
||||
+ ***************************************************************************/
|
||||
+
|
||||
+/*
|
||||
+ * General DEFINEs
|
||||
+ */
|
||||
+
|
||||
+#define GIFBITS 12
|
||||
+
|
||||
+#define HSIZE 5003 /* 80% occupancy */
|
||||
+
|
||||
+#ifdef NO_UCHAR
|
||||
+ typedef char char_type;
|
||||
+#else /*NO_UCHAR*/
|
||||
+ typedef unsigned char char_type;
|
||||
+#endif /*NO_UCHAR*/
|
||||
+
|
||||
+/*
|
||||
+ *
|
||||
+ * GIF Image compression - modified 'compress'
|
||||
+ *
|
||||
+ * Based on: compress.c - File compression ala IEEE Computer, June 1984.
|
||||
+ *
|
||||
+ * By Authors: Spencer W. Thomas (decvax!harpo!utah-cs!utah-gr!thomas)
|
||||
+ * Jim McKie (decvax!mcvax!jim)
|
||||
+ * Steve Davies (decvax!vax135!petsd!peora!srd)
|
||||
+ * Ken Turkowski (decvax!decwrl!turtlevax!ken)
|
||||
+ * James A. Woods (decvax!ihnp4!ames!jaw)
|
||||
+ * Joe Orost (decvax!vax135!petsd!joe)
|
||||
+ *
|
||||
+ */
|
||||
+#include <ctype.h>
|
||||
+
|
||||
+#define ARGVAL() (*++(*argv) || (--argc && *++argv))
|
||||
+
|
||||
+static int n_bits; /* number of bits/code */
|
||||
+static int maxbits = GIFBITS; /* user settable max # bits/code */
|
||||
+static code_int maxcode; /* maximum code, given n_bits */
|
||||
+static code_int maxmaxcode = (code_int)1 << GIFBITS; /* should NEVER generate this code */
|
||||
+#ifdef COMPATIBLE /* But wrong! */
|
||||
+# define MAXCODE(n_bits) ((code_int) 1 << (n_bits) - 1)
|
||||
+#else /*COMPATIBLE*/
|
||||
+# define MAXCODE(n_bits) (((code_int) 1 << (n_bits)) - 1)
|
||||
+#endif /*COMPATIBLE*/
|
||||
+
|
||||
+static count_int htab [HSIZE];
|
||||
+static unsigned short codetab [HSIZE];
|
||||
+#define HashTabOf(i) htab[i]
|
||||
+#define CodeTabOf(i) codetab[i]
|
||||
+
|
||||
+static code_int hsize = HSIZE; /* for dynamic table sizing */
|
||||
+
|
||||
+/*
|
||||
+ * To save much memory, we overlay the table used by compress() with those
|
||||
+ * used by decompress(). The tab_prefix table is the same size and type
|
||||
+ * as the codetab. The tab_suffix table needs 2**GIFBITS characters. We
|
||||
+ * get this from the beginning of htab. The output stack uses the rest
|
||||
+ * of htab, and contains characters. There is plenty of room for any
|
||||
+ * possible stack (stack used to be 8000 characters).
|
||||
+ */
|
||||
+
|
||||
+#define tab_prefixof(i) CodeTabOf(i)
|
||||
+#define tab_suffixof(i) ((char_type*)(htab))[i]
|
||||
+#define de_stack ((char_type*)&tab_suffixof((code_int)1<<GIFBITS))
|
||||
+
|
||||
+static code_int free_ent = 0; /* first unused entry */
|
||||
+
|
||||
+/*
|
||||
+ * block compression parameters -- after all codes are used up,
|
||||
+ * and compression rate changes, start over.
|
||||
+ */
|
||||
+static int clear_flg = 0;
|
||||
+
|
||||
+static int offset;
|
||||
+static long int in_count = 1; /* length of input */
|
||||
+static long int out_count = 0; /* # of codes output (for debugging) */
|
||||
+
|
||||
+/*
|
||||
+ * compress stdin to stdout
|
||||
+ *
|
||||
+ * Algorithm: use open addressing double hashing (no chaining) on the
|
||||
+ * prefix code / next character combination. We do a variant of Knuth's
|
||||
+ * algorithm D (vol. 3, sec. 6.4) along with G. Knott's relatively-prime
|
||||
+ * secondary probe. Here, the modular division first probe is gives way
|
||||
+ * to a faster exclusive-or manipulation. Also do block compression with
|
||||
+ * an adaptive reset, whereby the code table is cleared when the compression
|
||||
+ * ratio decreases, but after the table fills. The variable-length output
|
||||
+ * codes are re-sized at this point, and a special CLEAR code is generated
|
||||
+ * for the decompressor. Late addition: construct the table according to
|
||||
+ * file size for noticeable speed improvement on small files. Please direct
|
||||
+ * questions about this implementation to ames!jaw.
|
||||
+ */
|
||||
+
|
||||
+static int g_init_bits;
|
||||
+static gdIOCtx* g_outfile;
|
||||
+
|
||||
+static int ClearCode;
|
||||
+static int EOFCode;
|
||||
+
|
||||
+static void
|
||||
+compress(int init_bits, gdIOCtx *outfile, gdImagePtr im)
|
||||
+{
|
||||
+ register long fcode;
|
||||
+ register code_int i /* = 0 */;
|
||||
+ register int c;
|
||||
+ register code_int ent;
|
||||
+ register code_int disp;
|
||||
+ register code_int hsize_reg;
|
||||
+ register int hshift;
|
||||
+
|
||||
+ /*
|
||||
+ * Set up the globals: g_init_bits - initial number of bits
|
||||
+ * g_outfile - pointer to output file
|
||||
+ */
|
||||
+ g_init_bits = init_bits;
|
||||
+ g_outfile = outfile;
|
||||
+
|
||||
+ /*
|
||||
+ * Set up the necessary values
|
||||
+ */
|
||||
+ offset = 0;
|
||||
+ out_count = 0;
|
||||
+ clear_flg = 0;
|
||||
+ in_count = 1;
|
||||
+ maxcode = MAXCODE(n_bits = g_init_bits);
|
||||
+
|
||||
+ ClearCode = (1 << (init_bits - 1));
|
||||
+ EOFCode = ClearCode + 1;
|
||||
+ free_ent = ClearCode + 2;
|
||||
+
|
||||
+ char_init();
|
||||
+
|
||||
+ ent = GIFNextPixel( im );
|
||||
+
|
||||
+ hshift = 0;
|
||||
+ for ( fcode = (long) hsize; fcode < 65536L; fcode *= 2L )
|
||||
+ ++hshift;
|
||||
+ hshift = 8 - hshift; /* set hash code range bound */
|
||||
+
|
||||
+ hsize_reg = hsize;
|
||||
+ cl_hash( (count_int) hsize_reg); /* clear hash table */
|
||||
+
|
||||
+ output( (code_int)ClearCode );
|
||||
+
|
||||
+#ifdef SIGNED_COMPARE_SLOW
|
||||
+ while ( (c = GIFNextPixel( im )) != (unsigned) EOF ) {
|
||||
+#else /*SIGNED_COMPARE_SLOW*/
|
||||
+ while ( (c = GIFNextPixel( im )) != EOF ) { /* } */
|
||||
+#endif /*SIGNED_COMPARE_SLOW*/
|
||||
+
|
||||
+ ++in_count;
|
||||
+
|
||||
+ fcode = (long) (((long) c << maxbits) + ent);
|
||||
+ i = (((code_int)c << hshift) ^ ent); /* xor hashing */
|
||||
+
|
||||
+ if ( HashTabOf (i) == fcode ) {
|
||||
+ ent = CodeTabOf (i);
|
||||
+ continue;
|
||||
+ } else if ( (long)HashTabOf (i) < 0 ) /* empty slot */
|
||||
+ goto nomatch;
|
||||
+ disp = hsize_reg - i; /* secondary hash (after G. Knott) */
|
||||
+ if ( i == 0 )
|
||||
+ disp = 1;
|
||||
+probe:
|
||||
+ if ( (i -= disp) < 0 )
|
||||
+ i += hsize_reg;
|
||||
+
|
||||
+ if ( HashTabOf (i) == fcode ) {
|
||||
+ ent = CodeTabOf (i);
|
||||
+ continue;
|
||||
+ }
|
||||
+ if ( (long)HashTabOf (i) > 0 )
|
||||
+ goto probe;
|
||||
+nomatch:
|
||||
+ output ( (code_int) ent );
|
||||
+ ++out_count;
|
||||
+ ent = c;
|
||||
+#ifdef SIGNED_COMPARE_SLOW
|
||||
+ if ( (unsigned) free_ent < (unsigned) maxmaxcode) {
|
||||
+#else /*SIGNED_COMPARE_SLOW*/
|
||||
+ if ( free_ent < maxmaxcode ) { /* } */
|
||||
+#endif /*SIGNED_COMPARE_SLOW*/
|
||||
+ CodeTabOf (i) = free_ent++; /* code -> hashtable */
|
||||
+ HashTabOf (i) = fcode;
|
||||
+ } else
|
||||
+ cl_block();
|
||||
+ }
|
||||
+ /*
|
||||
+ * Put out the final code.
|
||||
+ */
|
||||
+ output( (code_int)ent );
|
||||
+ ++out_count;
|
||||
+ output( (code_int) EOFCode );
|
||||
+}
|
||||
+
|
||||
+/*****************************************************************
|
||||
+ * TAG( output )
|
||||
+ *
|
||||
+ * Output the given code.
|
||||
+ * Inputs:
|
||||
+ * code: A n_bits-bit integer. If == -1, then EOF. This assumes
|
||||
+ * that n_bits =< (long)wordsize - 1.
|
||||
+ * Outputs:
|
||||
+ * Outputs code to the file.
|
||||
+ * Assumptions:
|
||||
+ * Chars are 8 bits long.
|
||||
+ * Algorithm:
|
||||
+ * Maintain a GIFBITS character long buffer (so that 8 codes will
|
||||
+ * fit in it exactly). Use the VAX insv instruction to insert each
|
||||
+ * code in turn. When the buffer fills up empty it and start over.
|
||||
+ */
|
||||
+
|
||||
+static unsigned long cur_accum = 0;
|
||||
+static int cur_bits = 0;
|
||||
+
|
||||
+static unsigned long masks[] = { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F,
|
||||
+ 0x001F, 0x003F, 0x007F, 0x00FF,
|
||||
+ 0x01FF, 0x03FF, 0x07FF, 0x0FFF,
|
||||
+ 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF };
|
||||
+
|
||||
+static void
|
||||
+output(code_int code)
|
||||
+{
|
||||
+ cur_accum &= masks[ cur_bits ];
|
||||
+
|
||||
+ if( cur_bits > 0 )
|
||||
+ cur_accum |= ((long)code << cur_bits);
|
||||
+ else
|
||||
+ cur_accum = code;
|
||||
+
|
||||
+ cur_bits += n_bits;
|
||||
+
|
||||
+ while( cur_bits >= 8 ) {
|
||||
+ char_out( (unsigned int)(cur_accum & 0xff) );
|
||||
+ cur_accum >>= 8;
|
||||
+ cur_bits -= 8;
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * If the next entry is going to be too big for the code size,
|
||||
+ * then increase it, if possible.
|
||||
+ */
|
||||
+ if ( free_ent > maxcode || clear_flg ) {
|
||||
+
|
||||
+ if( clear_flg ) {
|
||||
+
|
||||
+ maxcode = MAXCODE (n_bits = g_init_bits);
|
||||
+ clear_flg = 0;
|
||||
+
|
||||
+ } else {
|
||||
+
|
||||
+ ++n_bits;
|
||||
+ if ( n_bits == maxbits )
|
||||
+ maxcode = maxmaxcode;
|
||||
+ else
|
||||
+ maxcode = MAXCODE(n_bits);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if( code == EOFCode ) {
|
||||
+ /*
|
||||
+ * At EOF, write the rest of the buffer.
|
||||
+ */
|
||||
+ while( cur_bits > 0 ) {
|
||||
+ char_out( (unsigned int)(cur_accum & 0xff) );
|
||||
+ cur_accum >>= 8;
|
||||
+ cur_bits -= 8;
|
||||
+ }
|
||||
+
|
||||
+ flush_char();
|
||||
+
|
||||
+/* fflush( g_outfile ); */
|
||||
+/* */
|
||||
+/* if( ferror( g_outfile ) ) */
|
||||
+/* return; */
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Clear out the hash table
|
||||
+ */
|
||||
+static void
|
||||
+cl_block (void) /* table clear for block compress */
|
||||
+{
|
||||
+
|
||||
+ cl_hash ( (count_int) hsize );
|
||||
+ free_ent = ClearCode + 2;
|
||||
+ clear_flg = 1;
|
||||
+
|
||||
+ output( (code_int)ClearCode );
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+cl_hash(register count_int hsize) /* reset code table */
|
||||
+
|
||||
+{
|
||||
+
|
||||
+ register count_int *htab_p = htab+hsize;
|
||||
+
|
||||
+ register long i;
|
||||
+ register long m1 = -1;
|
||||
+
|
||||
+ i = hsize - 16;
|
||||
+ do { /* might use Sys V memset(3) here */
|
||||
+ *(htab_p-16) = m1;
|
||||
+ *(htab_p-15) = m1;
|
||||
+ *(htab_p-14) = m1;
|
||||
+ *(htab_p-13) = m1;
|
||||
+ *(htab_p-12) = m1;
|
||||
+ *(htab_p-11) = m1;
|
||||
+ *(htab_p-10) = m1;
|
||||
+ *(htab_p-9) = m1;
|
||||
+ *(htab_p-8) = m1;
|
||||
+ *(htab_p-7) = m1;
|
||||
+ *(htab_p-6) = m1;
|
||||
+ *(htab_p-5) = m1;
|
||||
+ *(htab_p-4) = m1;
|
||||
+ *(htab_p-3) = m1;
|
||||
+ *(htab_p-2) = m1;
|
||||
+ *(htab_p-1) = m1;
|
||||
+ htab_p -= 16;
|
||||
+ } while ((i -= 16) >= 0);
|
||||
+
|
||||
+ for ( i += 16; i > 0; --i )
|
||||
+ *--htab_p = m1;
|
||||
+}
|
||||
+
|
||||
+/******************************************************************************
|
||||
+ *
|
||||
+ * GIF Specific routines
|
||||
+ *
|
||||
+ ******************************************************************************/
|
||||
+
|
||||
+/*
|
||||
+ * Number of characters so far in this 'packet'
|
||||
+ */
|
||||
+static int a_count;
|
||||
+
|
||||
+/*
|
||||
+ * Set up the 'byte output' routine
|
||||
+ */
|
||||
+static void
|
||||
+char_init(void)
|
||||
+{
|
||||
+ a_count = 0;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Define the storage for the packet accumulator
|
||||
+ */
|
||||
+static char accum[ 256 ];
|
||||
+
|
||||
+/*
|
||||
+ * Add a character to the end of the current packet, and if it is 254
|
||||
+ * characters, flush the packet to disk.
|
||||
+ */
|
||||
+static void
|
||||
+char_out(int c)
|
||||
+{
|
||||
+ accum[ a_count++ ] = c;
|
||||
+ if( a_count >= 254 )
|
||||
+ flush_char();
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Flush the packet to disk, and reset the accumulator
|
||||
+ */
|
||||
+static void
|
||||
+flush_char(void)
|
||||
+{
|
||||
+ if( a_count > 0 ) {
|
||||
+ gdPutC( a_count, g_outfile );
|
||||
+ gdPutBuf( accum, a_count, g_outfile );
|
||||
+ a_count = 0;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void init_statics(void) {
|
||||
+ /* Some of these are properly initialized later. What I'm doing
|
||||
+ here is making sure code that depends on C's initialization
|
||||
+ of statics doesn't break when the code gets called more
|
||||
+ than once. */
|
||||
+ Width = 0;
|
||||
+ Height = 0;
|
||||
+ curx = 0;
|
||||
+ cury = 0;
|
||||
+ CountDown = 0;
|
||||
+ Pass = 0;
|
||||
+ Interlace = 0;
|
||||
+ a_count = 0;
|
||||
+ cur_accum = 0;
|
||||
+ cur_bits = 0;
|
||||
+ g_init_bits = 0;
|
||||
+ g_outfile = 0;
|
||||
+ ClearCode = 0;
|
||||
+ EOFCode = 0;
|
||||
+ free_ent = 0;
|
||||
+ clear_flg = 0;
|
||||
+ offset = 0;
|
||||
+ in_count = 1;
|
||||
+ out_count = 0;
|
||||
+ hsize = HSIZE;
|
||||
+ n_bits = 0;
|
||||
+ maxbits = GIFBITS;
|
||||
+ maxcode = 0;
|
||||
+ maxmaxcode = (code_int)1 << GIFBITS;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+/* +-------------------------------------------------------------------+ */
|
||||
+/* | Copyright 1990, 1991, 1993, David Koblas. (koblas@netcom.com) | */
|
||||
+/* | Permission to use, copy, modify, and distribute this software | */
|
||||
+/* | and its documentation for any purpose and without fee is hereby | */
|
||||
+/* | granted, provided that the above copyright notice appear in all | */
|
||||
+/* | copies and that both that copyright notice and this permission | */
|
||||
+/* | notice appear in supporting documentation. This software is | */
|
||||
+/* | provided "as is" without express or implied warranty. | */
|
||||
+/* +-------------------------------------------------------------------+ */
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
--- ext/gd/php_gd.h.orig Mon Mar 31 10:49:30 2003
|
||||
+++ ext/gd/php_gd.h Sat Jun 28 15:47:56 2003
|
||||
@@ -40,6 +40,8 @@
|
||||
#define PHP_GDIMG_TYPE_GD 8
|
||||
#define PHP_GDIMG_TYPE_GD2 9
|
||||
#define PHP_GDIMG_TYPE_GD2PART 10
|
||||
+#define PHP_GDIMG_TYPE_GIFANIMBEGIN 11
|
||||
+#define PHP_GDIMG_TYPE_GIFANIMADD 12
|
||||
|
||||
#ifdef PHP_WIN32
|
||||
#define PHP_GD_API __declspec(dllexport)
|
||||
@@ -137,6 +139,9 @@
|
||||
PHP_FUNCTION(imagefontheight);
|
||||
|
||||
PHP_FUNCTION(imagegif );
|
||||
+PHP_FUNCTION(imagegifanimbegin);
|
||||
+PHP_FUNCTION(imagegifanimadd);
|
||||
+PHP_FUNCTION(imagegifanimend);
|
||||
PHP_FUNCTION(imagejpeg );
|
||||
PHP_FUNCTION(imagepng);
|
||||
PHP_FUNCTION(imagewbmp);
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
--- main/php_config.h.in.orig Thu Jun 19 00:06:40 2003
|
||||
+++ main/php_config.h.in Sat Jun 28 15:47:56 2003
|
||||
@@ -1523,6 +1523,9 @@
|
||||
#undef HAVE_GD_GIF_CREATE
|
||||
|
||||
--- main/php_config.h.in.orig Mon Jul 12 16:30:37 2004
|
||||
+++ main/php_config.h.in Mon Jul 12 16:31:38 2004
|
||||
@@ -2362,6 +2362,9 @@
|
||||
/* */
|
||||
+#undef HAVE_GD_GIF_ANIM
|
||||
#undef SOLARIS_YP
|
||||
|
||||
+/* Include external shared modules configurations */
|
||||
+#include "ext/php_config.h"
|
||||
+
|
||||
+/* */
|
||||
#undef HAVE_GD_WBMP
|
||||
/* Whether sprintf is broken */
|
||||
#undef ZEND_BROKEN_SPRINTF
|
||||
|
||||
/* */
|
||||
|
|
|
|||
|
|
@ -1,18 +1,20 @@
|
|||
--- pear/scripts/pearcmd.php.orig Fri May 16 17:31:37 2003
|
||||
+++ pear/scripts/pearcmd.php Fri May 16 17:36:10 2003
|
||||
--- pear/scripts/pearcmd.php.orig Sun Jun 6 17:52:41 2004
|
||||
+++ pear/scripts/pearcmd.php Mon Jul 12 16:22:50 2004
|
||||
@@ -1,3 +1,4 @@
|
||||
+#!%%PREFIX%%/bin/php -n -dsafe_mode=0 -doutput_buffering=1
|
||||
+#!%%PREFIX%%/bin/php -n -q -dsafe_mode=0 -doutput_buffering=1
|
||||
<?php
|
||||
//
|
||||
// +----------------------------------------------------------------------+
|
||||
@@ -24,9 +25,7 @@
|
||||
@@ -24,9 +25,9 @@
|
||||
/**
|
||||
* @nodep Gtk
|
||||
*/
|
||||
-if ('@include_path@' != '@'.'include_path'.'@') {
|
||||
- ini_set('include_path', '@include_path@');
|
||||
-}
|
||||
+dl('pcre.so');
|
||||
+dl('xml.so');
|
||||
+ini_set('include_path', '%%PREFIX%%/share/pear:%%PREFIX%%/share/pear/bootstrap');
|
||||
ini_set('allow_url_fopen', true);
|
||||
set_time_limit(0);
|
||||
ob_implicit_flush(true);
|
||||
if (!ini_get('safe_mode')) {
|
||||
set_time_limit(0);
|
||||
|
|
|
|||
|
|
@ -1,19 +1,15 @@
|
|||
--- scripts/Makefile.frag.orig Mon Jun 28 10:41:39 2004
|
||||
+++ scripts/Makefile.frag Mon Jun 28 10:47:24 2004
|
||||
@@ -29,12 +29,15 @@
|
||||
main/ \
|
||||
main/streams/ \
|
||||
--- scripts/Makefile.frag.orig Mon Jul 12 19:30:23 2004
|
||||
+++ scripts/Makefile.frag Mon Jul 12 19:30:48 2004
|
||||
@@ -31,11 +31,7 @@
|
||||
regex/ \
|
||||
+ ext/gd/ \
|
||||
+ ext/gd/libgd/ \
|
||||
ext/libxml/ \
|
||||
ext/standard/ \
|
||||
ext/session/ \
|
||||
ext/xml/ \
|
||||
- ext/session/ \
|
||||
- ext/xml/ \
|
||||
- ext/xml/expat/ \
|
||||
ext/mbstring/ \
|
||||
+ ext/mbstring/libmbfl/ \
|
||||
+ ext/mbstring/libmbfl/mbfl/ \
|
||||
ext/sqlite/libsqlite/src/sqlite.h
|
||||
- ext/mbstring/ \
|
||||
- ext/sqlite/libsqlite/src/sqlite.h
|
||||
+ ext/spl/
|
||||
|
||||
install-headers:
|
||||
-@for i in $(HEADER_DIRS); do \
|
||||
|
|
|
|||
|
|
@ -1,19 +0,0 @@
|
|||
*****************************************************************************
|
||||
|
||||
You have installed the php5 package.
|
||||
|
||||
Have a look at the php5 port if you need additional extensions other than
|
||||
CTYPE, DOM, ICONV, PCRE, POSIX, SESSION, SIMPLEXML, SPL, SQLITE, TOKENIZER
|
||||
and XML.
|
||||
|
||||
You can find it at
|
||||
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/lang/php5.tar
|
||||
|
||||
Make sure index.php is part of your DirectoryIndex.
|
||||
|
||||
You should add the following to your Apache configuration file:
|
||||
|
||||
AddType application/x-httpd-php .php
|
||||
AddType application/x-httpd-php-source .phps
|
||||
|
||||
*****************************************************************************
|
||||
10
lang/php5/pkg-message.mod
Normal file
10
lang/php5/pkg-message.mod
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
***************************************************************
|
||||
|
||||
Make sure index.php is part of your DirectoryIndex.
|
||||
|
||||
You should add the following to your Apache configuration file:
|
||||
|
||||
AddType application/x-httpd-php .php
|
||||
AddType application/x-httpd-php-source .phps
|
||||
|
||||
***************************************************************
|
||||
8
lang/php5/pkg-message.pear
Normal file
8
lang/php5/pkg-message.pear
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
*********************************************************
|
||||
|
||||
To use PEAR you have to add the correct include path into
|
||||
your ${LOCALBASE}/etc/php.ini configuration file, like:
|
||||
|
||||
include_path = ".:${PREFIX}/share/pear"
|
||||
|
||||
*********************************************************
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
%%CLI%%%%PEAR%%bin/pear
|
||||
%%CLI%%bin/php
|
||||
bin/php-config
|
||||
bin/phpextdist
|
||||
bin/phpize
|
||||
etc/php.conf
|
||||
@exec touch %D/etc/php.ini
|
||||
@unexec [ -s %D/etc/php.ini ] || rm %D/etc/php.ini
|
||||
etc/php.ini-dist
|
||||
etc/php.ini-recommended
|
||||
include/php/TSRM/TSRM.h
|
||||
|
|
@ -67,45 +68,14 @@ include/php/Zend/zend_ts_hash.h
|
|||
include/php/Zend/zend_types.h
|
||||
include/php/Zend/zend_variables.h
|
||||
include/php/acconfig.h
|
||||
include/php/ext/gd/gdcache.h
|
||||
include/php/ext/gd/gdttf.h
|
||||
include/php/ext/gd/libgd/gd.h
|
||||
include/php/ext/gd/libgd/gd_io.h
|
||||
include/php/ext/gd/libgd/gdcache.h
|
||||
include/php/ext/gd/libgd/gdfontg.h
|
||||
include/php/ext/gd/libgd/gdfontl.h
|
||||
include/php/ext/gd/libgd/gdfontmb.h
|
||||
include/php/ext/gd/libgd/gdfonts.h
|
||||
include/php/ext/gd/libgd/gdfontt.h
|
||||
include/php/ext/gd/libgd/gdhelpers.h
|
||||
include/php/ext/gd/libgd/jisx0208.h
|
||||
include/php/ext/gd/libgd/wbmp.h
|
||||
include/php/ext/gd/php_gd.h
|
||||
include/php/ext/libxml/php_libxml.h
|
||||
include/php/ext/mbstring/mb_gpc.h
|
||||
include/php/ext/mbstring/mbstring.h
|
||||
include/php/ext/mbstring/php_mbregex.h
|
||||
include/php/ext/mbstring/php_unicode.h
|
||||
include/php/ext/mbstring/unicode_data.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfilter.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfilter_pass.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_allocators.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_consts.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_convert.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_defs.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_ident.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_language.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_string.h
|
||||
include/php/ext/session/mod_files.h
|
||||
include/php/ext/session/mod_mm.h
|
||||
include/php/ext/session/mod_user.h
|
||||
include/php/ext/session/php_session.h
|
||||
include/php/ext/sqlite/libsqlite/src/sqlite.h
|
||||
include/php/ext/spl/php_spl.h
|
||||
include/php/ext/spl/spl_array.h
|
||||
include/php/ext/spl/spl_directory.h
|
||||
include/php/ext/spl/spl_engine.h
|
||||
include/php/ext/spl/spl_functions.h
|
||||
include/php/ext/spl/spl_iterators.h
|
||||
include/php/ext/spl/spl_sxe.h
|
||||
include/php/ext/standard/base64.h
|
||||
include/php/ext/standard/basic_functions.h
|
||||
include/php/ext/standard/crc32.h
|
||||
|
|
@ -168,8 +138,8 @@ include/php/ext/standard/uniqid.h
|
|||
include/php/ext/standard/url.h
|
||||
include/php/ext/standard/url_scanner.h
|
||||
include/php/ext/standard/url_scanner_ex.h
|
||||
include/php/ext/xml/expat_compat.h
|
||||
include/php/ext/xml/php_xml.h
|
||||
@exec touch %D/include/php/ext/php_config.h
|
||||
@unexec [ -s %D/include/php/ext/php_config.h ] || rm %D/include/php/ext/php_config.h
|
||||
include/php/main/SAPI.h
|
||||
include/php/main/build-defs.h
|
||||
include/php/main/config.nw.h
|
||||
|
|
@ -226,65 +196,15 @@ lib/php/build/shtool
|
|||
%%SAPI_FILE%%
|
||||
%%APACHE%%@exec %D/sbin/apxs -e -a -n php5 %f
|
||||
%%APACHE%%@unexec %D/sbin/apxs -e -A -n php5 %f
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/Archive/Tar.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/System.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/Console/Getopt.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/OS/Guess.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Autoloader.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Builder.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Auth.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Build.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Common.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Config.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Install.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Mirror.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Package.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Registry.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Remote.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Common.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Config.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Dependency.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/DependencyDB.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Downloader.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/ErrorStack.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Exception.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Frontend/CLI.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Installer.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Packager.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Registry.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Remote.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/XML/RPC.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/XML/RPC/Server.php
|
||||
@dirrm include/php/TSRM
|
||||
@dirrm include/php/Zend
|
||||
@dirrm include/php/ext/gd/libgd
|
||||
@dirrm include/php/ext/gd
|
||||
@dirrm include/php/ext/libxml
|
||||
@dirrm include/php/ext/mbstring/libmbfl/mbfl
|
||||
@dirrm include/php/ext/mbstring/libmbfl
|
||||
@dirrm include/php/ext/mbstring
|
||||
@dirrm include/php/ext/session
|
||||
@dirrm include/php/ext/sqlite/libsqlite/src
|
||||
@dirrm include/php/ext/sqlite/libsqlite
|
||||
@dirrm include/php/ext/sqlite
|
||||
@dirrm include/php/ext/spl
|
||||
@dirrm include/php/ext/standard
|
||||
@dirrm include/php/ext/xml
|
||||
@dirrm include/php/ext
|
||||
@unexec rmdir %D/include/php/ext 2> /dev/null || true
|
||||
@dirrm include/php/main/streams
|
||||
@dirrm include/php/main
|
||||
@dirrm include/php/regex
|
||||
@dirrm include/php/
|
||||
@unexec rmdir %D/include/php 2> /dev/null || true
|
||||
@dirrm lib/php/build
|
||||
@unexec rmdir %D/lib/php 2> /dev/null || true
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/Archive
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/Console
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/OS
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/PEAR/Command
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/PEAR/Frontend
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/PEAR
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/XML/RPC
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/XML
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap
|
||||
%%CLI%%%%PEAR%%@unexec rmdir %D/share/pear 2> /dev/null || true
|
||||
|
|
|
|||
42
lang/php5/pkg-plist.pear
Normal file
42
lang/php5/pkg-plist.pear
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
bin/pear
|
||||
share/pear/bootstrap/Archive/Tar.php
|
||||
share/pear/bootstrap/PEAR.php
|
||||
share/pear/bootstrap/System.php
|
||||
share/pear/bootstrap/Console/Getopt.php
|
||||
share/pear/bootstrap/OS/Guess.php
|
||||
share/pear/bootstrap/PEAR/Autoloader.php
|
||||
share/pear/bootstrap/PEAR/Builder.php
|
||||
share/pear/bootstrap/PEAR/Command.php
|
||||
share/pear/bootstrap/PEAR/Command/Auth.php
|
||||
share/pear/bootstrap/PEAR/Command/Build.php
|
||||
share/pear/bootstrap/PEAR/Command/Common.php
|
||||
share/pear/bootstrap/PEAR/Command/Config.php
|
||||
share/pear/bootstrap/PEAR/Command/Install.php
|
||||
share/pear/bootstrap/PEAR/Command/Mirror.php
|
||||
share/pear/bootstrap/PEAR/Command/Package.php
|
||||
share/pear/bootstrap/PEAR/Command/Registry.php
|
||||
share/pear/bootstrap/PEAR/Command/Remote.php
|
||||
share/pear/bootstrap/PEAR/Common.php
|
||||
share/pear/bootstrap/PEAR/Config.php
|
||||
share/pear/bootstrap/PEAR/Dependency.php
|
||||
share/pear/bootstrap/PEAR/DependencyDB.php
|
||||
share/pear/bootstrap/PEAR/Downloader.php
|
||||
share/pear/bootstrap/PEAR/ErrorStack.php
|
||||
share/pear/bootstrap/PEAR/Exception.php
|
||||
share/pear/bootstrap/PEAR/Frontend/CLI.php
|
||||
share/pear/bootstrap/PEAR/Installer.php
|
||||
share/pear/bootstrap/PEAR/Packager.php
|
||||
share/pear/bootstrap/PEAR/Registry.php
|
||||
share/pear/bootstrap/PEAR/Remote.php
|
||||
share/pear/bootstrap/XML/RPC.php
|
||||
share/pear/bootstrap/XML/RPC/Server.php
|
||||
@dirrm share/pear/bootstrap/Archive
|
||||
@dirrm share/pear/bootstrap/Console
|
||||
@dirrm share/pear/bootstrap/OS
|
||||
@dirrm share/pear/bootstrap/PEAR/Command
|
||||
@dirrm share/pear/bootstrap/PEAR/Frontend
|
||||
@dirrm share/pear/bootstrap/PEAR
|
||||
@dirrm share/pear/bootstrap/XML/RPC
|
||||
@dirrm share/pear/bootstrap/XML
|
||||
@dirrm share/pear/bootstrap
|
||||
@unexec rmdir %D/share/pear 2> /dev/null || true
|
||||
|
|
@ -1,109 +0,0 @@
|
|||
#!/bin/sh
|
||||
# $FreeBSD$
|
||||
|
||||
if [ -f ${WRKDIR}/Makefile.inc ]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
tempfile=`/usr/bin/mktemp -t checklist`
|
||||
|
||||
if [ "${BATCH}" ]; then
|
||||
echo "${SEL_OPTIONS}" > $tempfile
|
||||
else
|
||||
if [ -f "${OPTION_FILE}" ]; then
|
||||
for i in `${CAT} ${OPTION_FILE}`
|
||||
do
|
||||
export $i
|
||||
done
|
||||
fi
|
||||
/usr/bin/dialog --title "configuration options" --clear --checklist "\n\
|
||||
Please select desired options:" -1 -1 16 \
|
||||
BCMATH "bc style precision math functions" ${WITH_BCMATH:-OFF} \
|
||||
BZIP2 "bzip2 library support" ${WITH_BZIP2:-OFF} \
|
||||
CALENDAR "calendar conversion support" ${WITH_CALENDAR:-OFF} \
|
||||
CDB "cdb database support (dba)" ${WITH_CDB:-OFF} \
|
||||
CRACK "crack support" ${WITH_CRACK:-OFF} \
|
||||
CTYPE "ctype functions" ${WITH_CTYPE:-OFF} \
|
||||
CURL "CURL support" ${WITH_CURL:-OFF} \
|
||||
DB4 "Berkeley DB4 support" ${WITH_DB4:-OFF} \
|
||||
DBASE "dBase library support" ${WITH_DBASE:-OFF} \
|
||||
DBX "dbx support" ${WITH_DBX:-OFF} \
|
||||
DIO "Direct I/O support" ${WITH_DIO:-OFF} \
|
||||
DOM "DOM support" ${WITH_DOM:-OFF} \
|
||||
EXIF "EXIF support" ${WITH_EXIF:-OFF} \
|
||||
FILEPRO "filePro support" ${WITH_FILEPRO:-OFF} \
|
||||
FTP "FTP support" ${WITH_FTP:-OFF} \
|
||||
GD "GD library support" ${WITH_GD:-OFF} \
|
||||
GDBM "GDBM database support (dba)" ${WITH_GDBM:-OFF} \
|
||||
GETTEXT "gettext library support" ${WITH_GETTEXT:-OFF} \
|
||||
GMP "GNU MP support" ${WITH_GMP:-OFF} \
|
||||
ICONV "iconv support" ${WITH_ICONV:-ON} \
|
||||
IMAP "IMAP support" ${WITH_IMAP:-OFF} \
|
||||
INIFILE "INI file support (dba)" ${WITH_INIFILE:-OFF} \
|
||||
INTERBASE "Interbase 6 database support (Firebird)" ${WITH_INTERBASE:-OFF} \
|
||||
MBSTRING "multibyte string support" ${WITH_MBSTRING:-OFF} \
|
||||
MCVE "MCVE support (implies OPENSSL)" ${WITH_MCVE:-OFF} \
|
||||
MCRYPT "Encryption support" ${WITH_MCRYPT:-OFF} \
|
||||
MHASH "Crypto-hashing support" ${WITH_MHASH:-OFF} \
|
||||
MING "ming shockwave flash support" ${WITH_MING:-OFF} \
|
||||
MNOGOSEARCH "mnoGoSearch support" ${WITH_MNOGOSEARCH:-OFF} \
|
||||
MSSQL "MS-SQL database support" ${WITH_MSSQL:-OFF} \
|
||||
MYSQL "MySQL database support" ${WITH_MYSQL:-OFF} \
|
||||
MYSQLI "MySQLi database support" ${WITH_MYSQLI:-OFF} \
|
||||
NCURSES "ncurses support (CLI only)" ${WITH_NCURSES:-OFF} \
|
||||
OPENLDAP "OpenLDAP support" ${WITH_OPENLDAP:-OFF} \
|
||||
OPENSSL "OpenSSL support" ${WITH_OPENSSL:-OFF} \
|
||||
ORACLE "Oracle support" ${WITH_ORACLE:-OFF} \
|
||||
PCNTL "pcntl support (CLI only)" ${WITH_PCNTL:-OFF} \
|
||||
PCRE "Perl Compatible Regular Expression support" ${WITH_PCRE:-OFF} \
|
||||
POSIX "POSIX-like functions" ${WITH_POSIX:-OFF} \
|
||||
POSTGRESQL "PostgreSQL database support" ${WITH_POSTGRESQL:-OFF} \
|
||||
PSPELL "pspell support" ${WITH_PSPELL:-OFF} \
|
||||
READLINE "readline support (CLI only)" ${WITH_READLINE:-OFF} \
|
||||
RECODE "recode support" ${WITH_RECODE:-OFF} \
|
||||
SESSION "session support" ${WITH_SESSION:-OFF} \
|
||||
SHMOP "shmop support" ${WITH_SHMOP:-OFF} \
|
||||
SIMPLEXML "simplexml support" ${WITH_SIMPLEXML:-OFF} \
|
||||
SNMP "SNMP support (implies OPENSSL)" ${WITH_SNMP:-OFF} \
|
||||
SOAP "SOAP support" ${WITH_SOAP:-OFF} \
|
||||
SOCKETS "sockets support" ${WITH_SOCKETS:-OFF} \
|
||||
SPL "Standard PHP Library support" ${WITH_SPL:-ON} \
|
||||
SQLITE "sqlite support" ${WITH_SQLITE:-OFF} \
|
||||
SYBASEDB "Sybase database support (DB-lib)" ${WITH_SYBASEDB:-OFF} \
|
||||
SYBASECT "Sybase database support (CT-lib)" ${WITH_SYBASECT:-OFF} \
|
||||
SYSVMSG "System V message support" ${WITH_SYSVMSG:-OFF} \
|
||||
SYSVSEM "System V semaphore support" ${WITH_SYSVSEM:-OFF} \
|
||||
SYSVSHM "System V shared memory support" ${WITH_SYSVSHM:-OFF} \
|
||||
TIDY "TIDY support" ${WITH_TIDY:-OFF} \
|
||||
TOKENIZER "tokenizer support" ${WITH_TOKENIZER:-OFF} \
|
||||
UNIXODBC "unixODBC support" ${WITH_UNIXODBC:-OFF} \
|
||||
WDDX "WDDX support (implies XML)" ${WITH_WDDX:-OFF} \
|
||||
XML "XML support" ${WITH_XML:-OFF} \
|
||||
XMLRPC "XMLRPC-EPI support (implies ICONV)" ${WITH_XMLRPC:-OFF} \
|
||||
XSL "XSL support" ${WITH_XSL:-OFF} \
|
||||
YP "YP/NIS support" ${WITH_YP:-OFF} \
|
||||
ZLIB "ZLIB support" ${WITH_ZLIB:-OFF} \
|
||||
2> $tempfile
|
||||
fi
|
||||
|
||||
retval=$?
|
||||
|
||||
if [ -s $tempfile ]; then
|
||||
set `${CAT} $tempfile | ${SED} 's|"||g'`
|
||||
fi
|
||||
rm -f $tempfile
|
||||
|
||||
case $retval in
|
||||
0) if [ -z "$*" ]; then
|
||||
echo "Nothing selected"
|
||||
fi
|
||||
;;
|
||||
1) echo "Cancel pressed."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
exec > ${WRKDIR}/Makefile.inc
|
||||
while [ $1 ]; do
|
||||
echo "WITH_$1=yes";
|
||||
shift
|
||||
done
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
WITH_BCMATH=OFF
|
||||
WITH_BZIP2=OFF
|
||||
WITH_CALENDAR=OFF
|
||||
WITH_CDB=OFF
|
||||
WITH_CRACK=OFF
|
||||
WITH_CTYPE=ON
|
||||
WITH_CURL=OFF
|
||||
WITH_DB4=OFF
|
||||
WITH_DBASE=OFF
|
||||
WITH_DBX=OFF
|
||||
WITH_DIO=OFF
|
||||
WITH_DOM=ON
|
||||
WITH_EXIF=OFF
|
||||
WITH_FILEPRO=OFF
|
||||
WITH_FTP=OFF
|
||||
WITH_GD=OFF
|
||||
WITH_GDBM=OFF
|
||||
WITH_GETTEXT=OFF
|
||||
WITH_GMP=OFF
|
||||
WITH_ICONV=ON
|
||||
WITH_IMAP=OFF
|
||||
WITH_INIFILE=OFF
|
||||
WITH_INTERBASE=OFF
|
||||
WITH_MBSTRING=OFF
|
||||
WITH_MCVE=OFF
|
||||
WITH_MCRYPT=OFF
|
||||
WITH_MHASH=OFF
|
||||
WITH_MING=OFF
|
||||
WITH_MNOGOSEARCH=OFF
|
||||
WITH_MSSQL=OFF
|
||||
WITH_MYSQL=OFF
|
||||
WITH_MYSQLI=OFF
|
||||
WITH_NCURSES=OFF
|
||||
WITH_OPENLDAP=OFF
|
||||
WITH_OPENSSL=OFF
|
||||
WITH_ORACLE=OFF
|
||||
WITH_PCNTL=OFF
|
||||
WITH_PCRE=ON
|
||||
WITH_POSIX=ON
|
||||
WITH_POSTGRESQL=OFF
|
||||
WITH_PSPELL=OFF
|
||||
WITH_READLINE=OFF
|
||||
WITH_RECODE=OFF
|
||||
WITH_SESSION=ON
|
||||
WITH_SHMOP=OFF
|
||||
WITH_SIMPLEXML=ON
|
||||
WITH_SNMP=OFF
|
||||
WITH_SOAP=OFF
|
||||
WITH_SOCKETS=OFF
|
||||
WITH_SPL=ON
|
||||
WITH_SQLITE=ON
|
||||
WITH_SYBASEDB=OFF
|
||||
WITH_SYBASECT=OFF
|
||||
WITH_SYSVMSG=OFF
|
||||
WITH_SYSVSEM=OFF
|
||||
WITH_SYSVSHM=OFF
|
||||
WITH_TIDY=OFF
|
||||
WITH_TOKENIZER=ON
|
||||
WITH_UNIXODBC=OFF
|
||||
WITH_WDDX=OFF
|
||||
WITH_XML=ON
|
||||
WITH_XMLRPC=OFF
|
||||
WITH_XSL=OFF
|
||||
WITH_YP=OFF
|
||||
WITH_ZLIB=ON
|
||||
|
|
@ -4,58 +4,25 @@
|
|||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# There are many ways to select which extensions you want to enable, either
|
||||
# in interactive mode or in batch mode.
|
||||
#
|
||||
# By default, the enabled extensions are: CTYPE, DOM, ICONV, PCRE, POSIX,
|
||||
# SESSION, SIMPLEXML, SPL, SQLITE, TOKENIZER and XML.
|
||||
# This behaviour can be changed overriding the PHP5_OPTIONS variable
|
||||
# (e.g. PHP5_OPTIONS="EXT1 EXT2 EXT3").
|
||||
#
|
||||
# Another way is to use the WITH_<EXT> and WITHOUT_<EXT> knobs, for additional
|
||||
# and default extensions respectively (implies batch mode).
|
||||
#
|
||||
# The last way reads an "extension" file, located in ~/php5_options (the
|
||||
# location is overridable by the PHP5_OPTFILE variable). You may find an
|
||||
# example in scripts/php5_options (interactive mode only).
|
||||
#
|
||||
|
||||
PORTNAME= php5
|
||||
PORTVERSION= 5.0.0
|
||||
PORTREVISION?= 0
|
||||
PORTREVISION?= 1
|
||||
CATEGORIES?= lang devel www
|
||||
MASTER_SITES= ${MASTER_SITE_PHP:S,$,:release,}
|
||||
MASTER_SITES= ${MASTER_SITE_PHP:S,$,:release,} \
|
||||
http://downloads.php.net/ilia/:rc \
|
||||
http://downloads.php.net/jani/:rc
|
||||
MASTER_SITE_SUBDIR= distributions/:release
|
||||
.if defined(WITHOUT_CLI) && !defined(WITHOUT_APACHE)
|
||||
PKGNAMEPREFIX= mod_
|
||||
.else
|
||||
.if defined(WITHOUT_APACHE)
|
||||
.if defined(WITHOUT_CLI)
|
||||
PKGNAMESUFFIX= -cgi
|
||||
.else
|
||||
PKGNAMESUFFIX= -cli
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
DISTNAME= php-${PORTVERSION:S/.r/RC/}
|
||||
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:release
|
||||
|
||||
MAINTAINER?= ale@FreeBSD.org
|
||||
COMMENT?= PHP Scripting Language (Apache Module and CLI)
|
||||
.if defined(WITHOUT_APACHE)
|
||||
.if defined(WITHOUT_CLI)
|
||||
COMMENT= PHP Common Gateway Interface
|
||||
.else
|
||||
COMMENT= PHP Command Line Interpreter
|
||||
.endif
|
||||
.else
|
||||
.if defined(WITHOUT_CLI)
|
||||
COMMENT= PHP Apache Module
|
||||
.endif
|
||||
.endif
|
||||
|
||||
LATEST_LINK= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
|
||||
|
||||
USE_BZIP2= yes
|
||||
USE_SUBMAKE= yes
|
||||
.if !defined(PKGNAMESUFFIX) || ${PKGNAMESUFFIX} == "-cgi" || ${PKGNAMESUFFIX} == "-cli"
|
||||
GNU_CONFIGURE= yes
|
||||
USE_BISON= yes
|
||||
USE_REINPLACE= yes
|
||||
|
|
@ -63,7 +30,12 @@ USE_REINPLACE= yes
|
|||
CONFIGURE_ARGS= --enable-versioning \
|
||||
--enable-memory-limit \
|
||||
--with-layout=GNU \
|
||||
--disable-all
|
||||
--disable-all \
|
||||
--enable-libxml \
|
||||
--with-libxml-dir=${LOCALBASE} \
|
||||
--enable-spl
|
||||
|
||||
USE_GNOME= libxml2
|
||||
|
||||
.if !defined(WITH_REGEX_TYPE) || ${WITH_REGEX_TYPE} == "php"
|
||||
CONFIGURE_ARGS+=--with-regex=php
|
||||
|
|
@ -77,463 +49,63 @@ CONFIGURE_ARGS+=--with-regex=apache
|
|||
.endif
|
||||
.endif
|
||||
|
||||
EXT_DIR= 20040412
|
||||
SAPI_FILE= "@comment "
|
||||
.if !defined(PKGNAMEPREFIX) && !defined(PKGNAMESUFFIX)
|
||||
PHP_SAPI= full
|
||||
WITH_APACHE= yes
|
||||
.else
|
||||
.if !defined(PKGNAMEPREFIX)
|
||||
PHP_SAPI= ${PKGNAMESUFFIX:S/-//}
|
||||
.else
|
||||
PHP_SAPI= ${PKGNAMEPREFIX:S/_//}
|
||||
WITH_APACHE= yes
|
||||
.endif
|
||||
.endif
|
||||
|
||||
CONFLICTS= php5-cli-5* mod_php5-5* php5-cgi-5*
|
||||
.if defined(WITHOUT_APACHE)
|
||||
.if defined(WITHOUT_CLI)
|
||||
CONFLICTS= php5-5* php5-cli-5* mod_php5-5*
|
||||
.else
|
||||
CONFLICTS= php5-5* php5-cgi-5* mod_php5-5*
|
||||
.if defined(WITH_APACHE)
|
||||
PKGMESSAGE= ${PKGDIR}/pkg-message.mod
|
||||
.endif
|
||||
.else
|
||||
.if defined(WITHOUT_CLI)
|
||||
CONFLICTS= php5-5* php5-cli-5* php5-cgi-5*
|
||||
|
||||
.if ${PHP_SAPI} == "cgi"
|
||||
OPTIONS= REDIRECT "Enable force-cgi-redirect support" off \
|
||||
DISCARD "Enable discard-path support" off \
|
||||
FASTCGI "Enable fastcgi support" off \
|
||||
PATHINFO "Enable path-info-check support" on
|
||||
.endif
|
||||
.if defined(WITH_APACHE)
|
||||
OPTIONS= APACHE2 "Use apache 2.x instead of apache 1.3.x" off
|
||||
.endif
|
||||
OPTIONS+= DEBUG "Enable debug" off \
|
||||
IPV6 "Enable ipv6 support" on
|
||||
|
||||
EXT_DIR= 20040412
|
||||
|
||||
CONFLICTS?= php5-cli-5* mod_php5-5* php5-cgi-5*
|
||||
CONFLICTS+= php4-4* php4-cli-4* mod_php4-4* php4-cgi-4*
|
||||
|
||||
.if defined(WITHOUT_APACHE)
|
||||
.if defined(WITHOUT_CLI)
|
||||
.if defined(WITH_FASTCGI)
|
||||
CONFIGURE_ARGS+=--enable-fastcgi
|
||||
.else
|
||||
CONFIGURE_ARGS+=--enable-discard-path
|
||||
.endif
|
||||
SAPI_FILE= bin/php
|
||||
.else
|
||||
CONFIGURE_ARGS+=--disable-cgi
|
||||
.endif
|
||||
PLIST_SUB+= APACHE="@comment "
|
||||
.else
|
||||
PLIST_SUB+= APACHE=""
|
||||
.endif
|
||||
.if defined(WITHOUT_CLI)
|
||||
.if ${PHP_SAPI} == "cgi" || ${PHP_SAPI} == "mod"
|
||||
CONFIGURE_ARGS+=--disable-cli
|
||||
PLIST_SUB+= CLI="@comment "
|
||||
.else
|
||||
.if !defined(WITHOUT_PEAR)
|
||||
CONFIGURE_ARGS+=--with-pear
|
||||
PLIST_SUB+= PEAR=""
|
||||
.else
|
||||
PLIST_SUB+= PEAR="@comment "
|
||||
.endif
|
||||
MAN1= php.1
|
||||
|
||||
.if ${PHP_SAPI} == "full" || ${PHP_SAPI} == "cli"
|
||||
PLIST_SUB+= CLI=""
|
||||
.endif
|
||||
|
||||
ALL_OPTIONS= BCMATH BZIP2 CALENDAR CDB CRACK CTYPE CURL DB4 DBASE DBX DIO \
|
||||
DOM EXIF FILEPRO FTP GD GDBM GETTEXT GMP ICONV IMAP INTERBASE \
|
||||
INIFILE MBSTRING MCVE MCRYPT MHASH MING MNOGOSEARCH MSSQL \
|
||||
MYSQL MYSQLI NCURSES OPENLDAP OPENSSL ORACLE PCNTL PCRE \
|
||||
POSIX POSTGRESQL PSPELL READLINE RECODE SESSION SHMOP \
|
||||
SIMPLEXML SNMP SOAP SOCKETS SPL SQLITE SYBASEDB SYBASECT \
|
||||
SYSVMSG SYSVSEM SYSVSHM TIDY TOKENIZER UNIXODBC WDDX XML \
|
||||
XMLRPC XSL YP ZLIB
|
||||
|
||||
.for opt in ${ALL_OPTIONS}
|
||||
.if defined(WITH_${opt}) || defined(WITHOUT_${opt})
|
||||
BATCH= yes
|
||||
.endif
|
||||
.endfor
|
||||
|
||||
.if !defined(BATCH) && !defined(PACKAGE_BUILDING)
|
||||
IS_INTERACTIVE= yes
|
||||
.endif
|
||||
|
||||
WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work
|
||||
PHP5_OPTFILE?= ${HOME}/php5_options
|
||||
|
||||
PHP5_OPTIONS?= CTYPE DOM ICONV PCRE POSIX SESSION SIMPLEXML SPL SQLITE TOKENIZER XML
|
||||
|
||||
.for opt in ${ALL_OPTIONS}
|
||||
.if defined(WITH_${opt})
|
||||
SEL_OPTIONS+= ${opt}
|
||||
.endif
|
||||
.endfor
|
||||
.for opt in ${PHP5_OPTIONS}
|
||||
.if !defined(WITHOUT_${opt})
|
||||
SEL_OPTIONS+= ${opt}
|
||||
.if !exists(${WRKDIR}/Makefile.inc)
|
||||
WITH_${opt}= yes
|
||||
.endif
|
||||
.endif
|
||||
SCRIPTS_ENV+= WITH_${opt}=ON
|
||||
.endfor
|
||||
|
||||
SCRIPTS_ENV+= SEL_OPTIONS="${SEL_OPTIONS}" \
|
||||
OPTION_FILE="${PHP5_OPTFILE}" \
|
||||
WRKDIR="${WRKDIR}" \
|
||||
CAT="${CAT}" \
|
||||
SED="${SED}"
|
||||
|
||||
.if exists(${WRKDIR}/Makefile.inc)
|
||||
.include "${WRKDIR}/Makefile.inc"
|
||||
.endif
|
||||
|
||||
.if !defined(WITHOUT_CLI) && !defined(WITHOUT_PEAR)
|
||||
WITH_PCRE= yes
|
||||
WITH_XML= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_CDB) || defined(WITH_DB4) || defined(WITH_GDBM) || defined(WITH_INIFILE)
|
||||
WITH_DBA= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_XSL)
|
||||
WITH_DOM= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_XMLRPC)
|
||||
WITH_ICONV_DEP= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MCVE) || defined(WITH_SNMP)
|
||||
WITH_OPENSSL_DEP= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DOM) || defined(WITH_SIMPLEXML) || defined(WITH_SOAP)
|
||||
WITH_XML_DEP= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_GD) || defined(WITH_MYSQL)
|
||||
WITH_ZLIB_DEP= yes
|
||||
.endif
|
||||
|
||||
.if defined(WITH_BCMATH)
|
||||
CONFIGURE_ARGS+=--enable-bcmath
|
||||
.endif
|
||||
|
||||
.if defined(WITH_BZIP2)
|
||||
.if exists(/usr/bin/bzip2)
|
||||
BZIP2BASE= /usr
|
||||
MAN1= php.1
|
||||
.else
|
||||
BZIP2BASE= ${LOCALBASE}
|
||||
LIB_DEPENDS+= bz2.1:${PORTSDIR}/archivers/bzip2
|
||||
.endif
|
||||
CONFIGURE_ARGS+=--with-bz2=${BZIP2BASE}
|
||||
PLIST_SUB+= CLI="@comment "
|
||||
.endif
|
||||
|
||||
.if defined(WITH_CALENDAR)
|
||||
CONFIGURE_ARGS+=--enable-calendar
|
||||
.endif
|
||||
|
||||
.if defined(WITH_CDB)
|
||||
CONFIGURE_ARGS+=--with-cdb
|
||||
.endif
|
||||
|
||||
.if defined(WITH_CRACK)
|
||||
BUILD_DEPENDS+= ${LOCALBASE}/lib/libcrack.a:${PORTSDIR}/security/cracklib
|
||||
RUN_DEPENDS+= ${LOCALBASE}/lib/libcrack.a:${PORTSDIR}/security/cracklib
|
||||
CONFIGURE_ARGS+=--with-crack=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_CTYPE)
|
||||
CONFIGURE_ARGS+=--enable-ctype
|
||||
.endif
|
||||
|
||||
.if defined(WITH_CURL)
|
||||
LIB_DEPENDS+= curl.3:${PORTSDIR}/ftp/curl
|
||||
CONFIGURE_ARGS+=--with-curl=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DB4)
|
||||
WITH_DB4_VER?= 41
|
||||
.if ${WITH_DB4_VER} == 42
|
||||
LIB_DEPENDS+= db-4.2.2:${PORTSDIR}/databases/db42
|
||||
.if defined(WITH_APACHE)
|
||||
PLIST_SUB+= APACHE=""
|
||||
.else
|
||||
.if ${WITH_DB4_VER} == 4
|
||||
LIB_DEPENDS+= db4.0:${PORTSDIR}/databases/db4
|
||||
.else
|
||||
LIB_DEPENDS+= db41.1:${PORTSDIR}/databases/db41
|
||||
.endif
|
||||
.endif
|
||||
CONFIGURE_ARGS+=--with-db4=${LOCALBASE}
|
||||
PLIST_SUB+= APACHE="@comment "
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DBA)
|
||||
CONFIGURE_ARGS+=--enable-dba
|
||||
.if ${PHP_SAPI} == "cli"
|
||||
CONFIGURE_ARGS+=--disable-cgi
|
||||
SAPI_FILE= "@comment "
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DBASE)
|
||||
CONFIGURE_ARGS+=--enable-dbase
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DBX)
|
||||
CONFIGURE_ARGS+=--enable-dbx
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DIO)
|
||||
CONFIGURE_ARGS+=--enable-dio
|
||||
.endif
|
||||
|
||||
.if defined(WITH_DOM)
|
||||
CONFIGURE_ARGS+=--enable-dom
|
||||
.endif
|
||||
|
||||
.if defined(WITH_EXIF)
|
||||
CONFIGURE_ARGS+=--enable-exif
|
||||
.endif
|
||||
|
||||
.if defined(WITH_FILEPRO)
|
||||
CONFIGURE_ARGS+=--enable-filepro
|
||||
.endif
|
||||
|
||||
.if defined(WITH_FTP)
|
||||
CONFIGURE_ARGS+=--enable-ftp
|
||||
.endif
|
||||
|
||||
.if defined(WITH_GD)
|
||||
LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2
|
||||
LIB_DEPENDS+= t1.5:${PORTSDIR}/devel/t1lib
|
||||
LIB_DEPENDS+= png.5:${PORTSDIR}/graphics/png
|
||||
LIB_DEPENDS+= jpeg.9:${PORTSDIR}/graphics/jpeg
|
||||
CONFIGURE_ARGS+=--with-gd \
|
||||
--enable-gd-native-ttf \
|
||||
--with-freetype-dir=${LOCALBASE} \
|
||||
--with-t1lib=${LOCALBASE} \
|
||||
--with-jpeg-dir=${LOCALBASE} \
|
||||
--with-png-dir=${LOCALBASE}
|
||||
.if !defined(WITHOUT_X11)
|
||||
USE_XPM= yes
|
||||
CONFIGURE_ARGS+=--with-xpm-dir=${X11BASE}
|
||||
.endif
|
||||
.if defined(WITH_LZW)
|
||||
CONFIGURE_ARGS+=--enable-gd-lzw-gif
|
||||
.endif
|
||||
.endif
|
||||
|
||||
.if defined(WITH_GDBM)
|
||||
LIB_DEPENDS+= gdbm.3:${PORTSDIR}/databases/gdbm
|
||||
CONFIGURE_ARGS+=--with-gdbm=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_GETTEXT)
|
||||
USE_GETTEXT= yes
|
||||
CONFIGURE_ARGS+=--with-gettext=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_GMP)
|
||||
LIB_DEPENDS+= gmp.6:${PORTSDIR}/math/libgmp4
|
||||
CONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_ICONV) || defined(WITH_ICONV_DEP)
|
||||
USE_ICONV= yes
|
||||
CONFIGURE_ARGS+=--with-iconv-dir=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_ICONV)
|
||||
CONFIGURE_ARGS+=--with-iconv=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_INIFILE)
|
||||
CONFIGURE_ARGS+=--with-inifile
|
||||
.endif
|
||||
|
||||
.if defined(WITH_INTERBASE)
|
||||
LIB_DEPENDS+= gds.1:${PORTSDIR}/databases/firebird
|
||||
CONFIGURE_ARGS+=--with-interbase=${LOCALBASE}/firebird
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MBSTRING)
|
||||
CONFIGURE_ARGS+=--enable-mbstring
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MCVE)
|
||||
LIB_DEPENDS+= mcve.3:${PORTSDIR}/devel/libmcve
|
||||
CONFIGURE_ARGS+=--with-mcve=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MCRYPT)
|
||||
LIB_DEPENDS+= mcrypt.8:${PORTSDIR}/security/libmcrypt
|
||||
USE_LIBLTDL= yes
|
||||
CONFIGURE_ARGS+=--with-mcrypt=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MHASH)
|
||||
LIB_DEPENDS+= mhash.2:${PORTSDIR}/security/mhash
|
||||
CONFIGURE_ARGS+=--with-mhash=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MING)
|
||||
LIB_DEPENDS+= ming.3:${PORTSDIR}/graphics/ming
|
||||
CONFIGURE_ARGS+=--with-ming=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MNOGOSEARCH)
|
||||
LIB_DEPENDS+= udmsearch.1:${PORTSDIR}/www/mnogosearch
|
||||
CONFIGURE_ARGS+=--with-mnogosearch=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MSSQL)
|
||||
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds-msdblib
|
||||
CONFIGURE_ARGS+=--with-mssql=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MYSQL)
|
||||
USE_MYSQL= yes
|
||||
CONFIGURE_ARGS+=--with-mysql=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_MYSQLI)
|
||||
USE_MYSQL= yes
|
||||
BROKEN_WITH_MYSQL= 323 40
|
||||
CONFIGURE_ARGS+=--with-mysqli=${LOCALBASE}/bin/mysql_config
|
||||
.endif
|
||||
|
||||
.if defined(WITH_OPENLDAP)
|
||||
USE_OPENLDAP= yes
|
||||
CONFIGURE_ARGS+=--with-ldap=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_OPENSSL) || defined(WITH_OPENSSL_DEP)
|
||||
USE_OPENSSL= yes
|
||||
LDFLAGS+= -lcrypto -lssl
|
||||
CONFIGURE_ENV+= LDFLAGS="${LDFLAGS}"
|
||||
CONFIGURE_ARGS+=--with-openssl-dir=${OPENSSLBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_OPENSSL)
|
||||
CONFIGURE_ARGS+=--with-openssl=${OPENSSLBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_ORACLE)
|
||||
BUILD_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
|
||||
RUN_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
|
||||
CONFIGURE_ARGS+=--with-oracle=${LOCALBASE}/oracle7
|
||||
.endif
|
||||
|
||||
.if defined(WITH_PCNTL)
|
||||
CONFIGURE_ARGS+=--enable-pcntl
|
||||
.endif
|
||||
|
||||
.if defined(WITH_PCRE)
|
||||
CONFIGURE_ARGS+=--with-pcre-regex
|
||||
.endif
|
||||
|
||||
.if defined(WITH_POSIX)
|
||||
CONFIGURE_ARGS+=--enable-posix
|
||||
.endif
|
||||
|
||||
.if defined(WITH_POSTGRESQL)
|
||||
POSTGRESQL_PORT?= databases/postgresql7
|
||||
LIB_DEPENDS+= pq.3:${PORTSDIR}/${POSTGRESQL_PORT}
|
||||
CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_PSPELL)
|
||||
LIB_DEPENDS+= aspell.15:${PORTSDIR}/textproc/aspell
|
||||
CONFIGURE_ARGS+=--with-pspell=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_READLINE)
|
||||
CONFIGURE_ARGS+=--with-readline
|
||||
.endif
|
||||
|
||||
.if defined(WITH_RECODE)
|
||||
LIB_DEPENDS+= recode.3:${PORTSDIR}/converters/recode
|
||||
CONFIGURE_ARGS+=--with-recode=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SESSION)
|
||||
CONFIGURE_ARGS+=--enable-session
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SHMOP)
|
||||
CONFIGURE_ARGS+=--enable-shmop
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SIMPLEXML)
|
||||
CONFIGURE_ARGS+=--enable-simplexml
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SOAP)
|
||||
CONFIGURE_ARGS+=--enable-soap
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SOCKETS)
|
||||
CONFIGURE_ARGS+=--enable-sockets
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SPL)
|
||||
CONFIGURE_ARGS+=--enable-spl
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SQLITE)
|
||||
CONFIGURE_ARGS+=--with-sqlite
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SYBASEDB)
|
||||
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds
|
||||
CONFIGURE_ARGS+=--with-sybase=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SYBASECT)
|
||||
LIB_DEPENDS+= ct.2:${PORTSDIR}/databases/freetds
|
||||
CONFIGURE_ARGS+=--with-sybase-ct=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SYSVMSG)
|
||||
CONFIGURE_ARGS+=--enable-sysvmsg
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SYSVSEM)
|
||||
CONFIGURE_ARGS+=--enable-sysvsem
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SYSVSHM)
|
||||
CONFIGURE_ARGS+=--enable-sysvshm
|
||||
.endif
|
||||
|
||||
.if defined(WITH_TIDY)
|
||||
LIB_DEPENDS+= tidy-0.99.0:${PORTSDIR}/www/tidy-lib
|
||||
CONFIGURE_ARGS+=--with-tidy=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_TOKENIZER)
|
||||
CONFIGURE_ARGS+=--enable-tokenizer
|
||||
.endif
|
||||
|
||||
.if defined(WITH_UNIXODBC)
|
||||
LIB_DEPENDS+= odbc.1:${PORTSDIR}/databases/unixODBC
|
||||
CONFIGURE_ARGS+=--with-unixODBC=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_WDDX)
|
||||
CONFIGURE_ARGS+=--enable-wddx
|
||||
.endif
|
||||
|
||||
.if defined(WITH_XML) || defined(WITH_XML_DEP)
|
||||
LIB_DEPENDS+= xml2.5:${PORTSDIR}/textproc/libxml2
|
||||
CONFIGURE_ARGS+=--enable-libxml --with-libxml-dir=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_XML)
|
||||
CONFIGURE_ARGS+=--enable-xml
|
||||
.endif
|
||||
|
||||
.if defined(WITH_XMLRPC)
|
||||
LIB_DEPENDS+= expat.5:${PORTSDIR}/textproc/expat2
|
||||
CONFIGURE_ARGS+=--with-xmlrpc --with-expat-dir=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_XSL)
|
||||
LIB_DEPENDS+= xslt.2:${PORTSDIR}/textproc/libxslt
|
||||
CONFIGURE_ARGS+=--with-xsl=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_YP)
|
||||
CONFIGURE_ARGS+=--enable-yp
|
||||
.endif
|
||||
|
||||
.if defined(WITH_ZLIB) || defined(WITH_ZLIB_DEP)
|
||||
CONFIGURE_ARGS+=--with-zlib-dir=/usr
|
||||
.endif
|
||||
|
||||
.if defined(WITH_ZLIB)
|
||||
CONFIGURE_ARGS+=--with-zlib
|
||||
.if ${PHP_SAPI} == "cgi"
|
||||
SAPI_FILE= bin/php
|
||||
.endif
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
|
@ -545,7 +117,7 @@ CONFIGURE_ENV= ac_cv_pthreads_lib=${WITH_PTHREAD_LIBS} \
|
|||
ac_cv_pthreads_cflags=${WITH_PTHREAD_CFLAGS}
|
||||
.endif
|
||||
|
||||
.if !defined(WITHOUT_APACHE)
|
||||
.if defined(WITH_APACHE)
|
||||
.if exists(${LOCALBASE}/include/apache2/httpd.h)
|
||||
WITH_APACHE2= yes
|
||||
APACHE_MPM!= ${APXS} -q MPM_NAME
|
||||
|
|
@ -578,82 +150,30 @@ PLIST_SUB+= SAPI_FILE=${SAPI_FILE}
|
|||
CONFIGURE_ARGS+=--disable-ipv6
|
||||
.endif
|
||||
|
||||
.if defined(WITH_IMAP)
|
||||
LIB_DEPENDS+= c-client4.8:${PORTSDIR}/mail/cclient
|
||||
.if !exists(${LOCALBASE}/lib/libc-client4.so)
|
||||
.if !defined(WITHOUT_SSL)
|
||||
CONFIGURE_ARGS+=--with-imap=${LOCALBASE} --with-imap-ssl=${LOCALBASE}
|
||||
.else
|
||||
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
|
||||
.if ${PHP_SAPI} == "cgi"
|
||||
.if defined(WITH_REDIRECT)
|
||||
CONFIGURE_ARGS+=--enable-force-cgi-redirect
|
||||
.endif
|
||||
.else
|
||||
WITH_IMAP_SSL!= /usr/bin/ldd ${LOCALBASE}/lib/libc-client4.so | ${GREP} libssl || ${TRUE}
|
||||
.if !empty(WITH_IMAP_SSL)
|
||||
CONFIGURE_ARGS+=--with-imap=${LOCALBASE} --with-imap-ssl=${LOCALBASE}
|
||||
.else
|
||||
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
|
||||
.if defined(WITH_DISCARD)
|
||||
CONFIGURE_ARGS+=--enable-discard-path
|
||||
.endif
|
||||
.if defined(WITH_FASTCGI)
|
||||
CONFIGURE_ARGS+=--enable-fastcgi
|
||||
.endif
|
||||
.if defined(WITHOUT_PATHINFO)
|
||||
CONFIGURE_ARGS+=--disable-path-info-check
|
||||
.endif
|
||||
|
||||
.if defined(WITH_NCURSES)
|
||||
.if ${OSVERSION} < 400000
|
||||
NCURSESBASE= ${LOCALBASE}
|
||||
LIB_DEPENDS+= ncurses.5:${PORTSDIR}/devel/ncurses
|
||||
.else
|
||||
NCURSESBASE= /usr
|
||||
.endif
|
||||
CONFIGURE_ARGS+=--with-ncurses=${NCURSESBASE}
|
||||
.endif
|
||||
|
||||
.if defined(WITH_SNMP)
|
||||
.if exists(${LOCALBASE}/lib/libsnmp.so.4) || defined(WITH_SNMP4)
|
||||
LIB_DEPENDS+= snmp.4:${PORTSDIR}/net-mgmt/net-snmp4
|
||||
.else
|
||||
LIB_DEPENDS+= netsnmp.6:${PORTSDIR}/net-mgmt/net-snmp
|
||||
.endif
|
||||
CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} --enable-ucd-snmp-hack
|
||||
.endif
|
||||
|
||||
_PORTSDIR!= ${REALPATH} ${PORTSDIR}
|
||||
PHP_PORT= ${.CURDIR:S|^${_PORTSDIR}||:S|^/||}
|
||||
|
||||
pre-patch:
|
||||
@${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure.php
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e "s|orainst/unix.rgs|ocommon/install/partial.prd|g" \
|
||||
${WRKSRC}/configure
|
||||
@${SED} "s|%%PREFIX%%|${PREFIX}|g" \
|
||||
${WRKSRC}/pear/scripts/pearcmd.php > ${WRKSRC}/pear/scripts/pear
|
||||
@${TOUCH} ${WRKSRC}/ext/php_config.h
|
||||
|
||||
.if ${PHP_SAPI} == "full"
|
||||
pre-configure:
|
||||
@${ECHO_CMD} ""
|
||||
.if defined(WITH_IMAP) && defined(WITH_RECODE)
|
||||
@${ECHO_CMD} "You cannot define WITH_IMAP *and* WITH_RECODE!"
|
||||
@${FALSE}
|
||||
.endif
|
||||
.if defined(WITH_IMAP) && defined(WITH_YAZ)
|
||||
@${ECHO_CMD} "You cannot define WITH_IMAP *and* WITH_YAZ!"
|
||||
@${FALSE}
|
||||
.endif
|
||||
.if defined(WITH_MYSQL) && defined(WITH_MYSQLI)
|
||||
@${ECHO_CMD} "You cannot define WITH_MYSQL *and* WITH_MYSQLI!"
|
||||
@${FALSE}
|
||||
.endif
|
||||
.if defined(WITH_RECODE) && defined(WITH_YAZ)
|
||||
@${ECHO_CMD} "You cannot define WITH_RECODE *and* WITH_YAZ!"
|
||||
@${FALSE}
|
||||
.endif
|
||||
.if defined(WITH_SYBASEDB) && defined(WITH_SYBASECT)
|
||||
@${ECHO_CMD} "You cannot define WITH_SYBASEDB *and* WITH_SYBASECT!"
|
||||
@${FALSE}
|
||||
.endif
|
||||
.if defined(WITH_GD) && !defined(WITH_LZW)
|
||||
@${ECHO_CMD} "To enable LZW-compressed GIF support in GD define the WITH_LZW knob."
|
||||
@${ECHO_CMD} ""
|
||||
.endif
|
||||
.if !defined(WITHOUT_APACHE) && !defined(WITHOUT_CLI)
|
||||
@${ECHO_CMD} "You are building the Apache Module and the Command Line Interpreter of PHP."
|
||||
@${ECHO_CMD} ""
|
||||
@${ECHO_CMD} "Use port:"
|
||||
|
|
@ -668,56 +188,23 @@ post-build:
|
|||
@${ECHO_CMD} "PHP_VERSION=${PORTVERSION}" >> ${WRKDIR}/php.conf
|
||||
@${ECHO_CMD} "PHP_EXT_DIR=${EXT_DIR}" >> ${WRKDIR}/php.conf
|
||||
@${ECHO_CMD} "PHP_PORT=\$${PORTSDIR}/${PHP_PORT}" >> ${WRKDIR}/php.conf
|
||||
.if !defined(WITHOUT_CLI) && !defined(WITHOUT_PEAR)
|
||||
@${ECHO_CMD} "PHP_PEAR=yes" >> ${WRKDIR}/php.conf
|
||||
.else
|
||||
@${ECHO_CMD} "PHP_PEAR=no" >> ${WRKDIR}/php.conf
|
||||
.endif
|
||||
.if !defined(WITHOUT_APACHE) && !defined(WITHOUT_CLI)
|
||||
@${ECHO_CMD} "PHP_SAPI=full" >> ${WRKDIR}/php.conf
|
||||
.else
|
||||
.if defined(WITHOUT_APACHE) && !defined(WITHOUT_CLI)
|
||||
@${ECHO_CMD} "PHP_SAPI=cli" >> ${WRKDIR}/php.conf
|
||||
.endif
|
||||
.if !defined(WITHOUT_APACHE) && defined(WITHOUT_CLI)
|
||||
@${ECHO_CMD} "PHP_SAPI=mod" >> ${WRKDIR}/php.conf
|
||||
.endif
|
||||
.if defined(WITHOUT_APACHE) && defined(WITHOUT_CLI)
|
||||
@${ECHO_CMD} "PHP_SAPI=cgi" >> ${WRKDIR}/php.conf
|
||||
.endif
|
||||
.endif
|
||||
.if !defined(WITHOUT_CLI)
|
||||
@${ECHO_CMD} "You may run the tests from the PHP test framework, typing 'make test' now."
|
||||
@${ECHO_CMD} "(It is safe to ignore errors about timestamp-related tests,"
|
||||
@${ECHO_CMD} "since they are due to the different FreeBSD mktime() implementation)."
|
||||
@${ECHO_CMD} ""
|
||||
.endif
|
||||
|
||||
.if !defined(WITHOUT_CLI)
|
||||
test: all
|
||||
@(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} \
|
||||
${MAKEFILE} ${MAKE_ARGS} ${.TARGET})
|
||||
.endif
|
||||
@${ECHO_CMD} "PHP_SAPI=${PHP_SAPI}" >> ${WRKDIR}/php.conf
|
||||
|
||||
post-install:
|
||||
.if !defined(WITHOUT_CLI) && !defined(WITHOUT_PEAR)
|
||||
@${INSTALL_SCRIPT} ${WRKSRC}/pear/scripts/pear ${PREFIX}/bin
|
||||
.endif
|
||||
@${INSTALL_DATA} ${WRKSRC}/php.ini-dist ${PREFIX}/etc
|
||||
@${INSTALL_DATA} ${WRKSRC}/php.ini-recommended ${PREFIX}/etc
|
||||
@${INSTALL_DATA} ${WRKDIR}/php.conf ${PREFIX}/etc
|
||||
@${TOUCH} ${PREFIX}/include/php/ext/sqlite/libsqlite/src/sqlite.h
|
||||
.if !defined(WITHOUT_APACHE)
|
||||
@${ECHO_CMD} "*****************************************************************************"
|
||||
@${ECHO_CMD} ""
|
||||
@${ECHO_CMD} "Make sure index.php is part of your DirectoryIndex."
|
||||
@${ECHO_CMD} ""
|
||||
@${ECHO_CMD} "You should add the following lines to your Apache configuration file:"
|
||||
@${ECHO_CMD} ""
|
||||
@${ECHO_CMD} "AddType application/x-httpd-php .php"
|
||||
@${ECHO_CMD} "AddType application/x-httpd-php-source .phps"
|
||||
@${ECHO_CMD} ""
|
||||
@${ECHO_CMD} "*****************************************************************************"
|
||||
@${TOUCH} ${PREFIX}/etc/php.ini
|
||||
@${TOUCH} ${PREFIX}/include/php/ext/php_config.h
|
||||
.if defined(WITH_APACHE)
|
||||
@${CAT} ${PKGMESSAGE}
|
||||
.endif
|
||||
|
||||
.else
|
||||
.if ${PKGNAMESUFFIX} == "-pear"
|
||||
.include "${MASTERDIR}/Makefile.pear"
|
||||
.else
|
||||
.include "${MASTERDIR}/Makefile.ext"
|
||||
.endif
|
||||
.endif
|
||||
.include <bsd.port.post.mk>
|
||||
|
|
|
|||
493
lang/php53/Makefile.ext
Normal file
493
lang/php53/Makefile.ext
Normal file
|
|
@ -0,0 +1,493 @@
|
|||
COMMENT= The ${PHP_MODNAME} shared extension for php
|
||||
|
||||
USE_PHP= yes
|
||||
USE_PHPEXT= yes
|
||||
PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
|
||||
|
||||
WRKSRC= ${WRKDIR}/php-${PORTVERSION:S/.r/RC/}/ext/${PHP_MODNAME}
|
||||
PATCHDIR= ${.CURDIR}/files
|
||||
PLIST= ${NONEXISTENT}
|
||||
|
||||
.if ${PHP_MODNAME} == "bcmath"
|
||||
CONFIGURE_ARGS+=--enable-bcmath
|
||||
|
||||
PHP_HEADER_DIRS=libbcmath libbcmath/src
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "bz2"
|
||||
.if exists(/usr/bin/bzip2)
|
||||
BZ2BASE= /usr
|
||||
.else
|
||||
BZ2BASE= ${LOCALBASE}
|
||||
LIB_DEPENDS+= bz2.1:${PORTSDIR}/archivers/bzip2
|
||||
.endif
|
||||
CONFIGURE_ARGS+=--with-bz2=${BZ2BASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "calendar"
|
||||
CONFIGURE_ARGS+=--enable-calendar
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "ctype"
|
||||
CONFIGURE_ARGS+=--enable-ctype
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "curl"
|
||||
LIB_DEPENDS+= curl.3:${PORTSDIR}/ftp/curl
|
||||
|
||||
CONFIGURE_ARGS+=--with-curl=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "dba"
|
||||
CONFIGURE_ARGS+=--enable-dba
|
||||
|
||||
OPTIONS= CDB "cdb database support" on \
|
||||
DB4 "Berkeley DB4 support" off \
|
||||
GDBM "GDBM database support" off \
|
||||
INIFILE "INI file support" on \
|
||||
FLATFILE "flatfile support" on
|
||||
|
||||
PHP_HEADER_DIRS= libcdb libflatfile libinifile
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "dbase"
|
||||
CONFIGURE_ARGS+=--enable-dbase
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "dbx"
|
||||
CONFIGURE_ARGS+=--enable-dbx
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "dio"
|
||||
CONFIGURE_ARGS+=--enable-dio
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "dom"
|
||||
CONFIGURE_ARGS+=--enable-dom \
|
||||
--with-libxml-dir=${LOCALBASE}
|
||||
|
||||
USE_GNOME= libxml2
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "exif"
|
||||
CONFIGURE_ARGS+=--enable-exif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "filepro"
|
||||
CONFIGURE_ARGS+=--enable-filepro
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "ftp"
|
||||
CONFIGURE_ARGS+=--enable-ftp
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "gd"
|
||||
LIB_DEPENDS= freetype.9:${PORTSDIR}/print/freetype2 \
|
||||
png.5:${PORTSDIR}/graphics/png \
|
||||
jpeg.9:${PORTSDIR}/graphics/jpeg
|
||||
. if !defined(WITHOUT_X11)
|
||||
USE_XPM= yes
|
||||
. endif
|
||||
|
||||
CONFIGURE_ARGS+=--with-gd \
|
||||
--with-freetype-dir=${LOCALBASE} \
|
||||
--with-jpeg-dir=${LOCALBASE} \
|
||||
--with-png-dir=${LOCALBASE} \
|
||||
--with-zlib-dir=/usr
|
||||
. if !defined(WITHOUT_X11)
|
||||
CONFIGURE_ARGS+=--with-xpm-dir=${X11BASE}
|
||||
. endif
|
||||
|
||||
OPTIONS= T1LIB "Include T1lib support" on \
|
||||
TRUETYPE "Enable TrueType string function" on \
|
||||
JIS "Enable JIS-mapped Japanese font support" off \
|
||||
LZW "Enable LZW-compressed GIF write support" off
|
||||
|
||||
PHP_HEADER_DIRS=libgd
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "gettext"
|
||||
CONFIGURE_ARGS+=--with-gettext=${LOCALBASE}
|
||||
|
||||
USE_GETTEXT= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "gmp"
|
||||
LIB_DEPENDS+= gmp.6:${PORTSDIR}/math/libgmp4
|
||||
|
||||
CONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "iconv"
|
||||
CONFIGURE_ARGS+=--with-iconv=${LOCALBASE} \
|
||||
--with-iconv-dir=${LOCALBASE}
|
||||
|
||||
USE_ICONV= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "imap"
|
||||
LIB_DEPENDS+= c-client4.8:${PORTSDIR}/mail/cclient
|
||||
|
||||
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "interbase"
|
||||
LIB_DEPENDS+= gds.1:${PORTSDIR}/databases/firebird
|
||||
|
||||
CONFIGURE_ARGS+=--with-interbase=${LOCALBASE}/firebird
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "ldap"
|
||||
CONFIGURE_ARGS+=--with-ldap=${LOCALBASE}
|
||||
|
||||
USE_OPENLDAP= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mbstring"
|
||||
CONFIGURE_ARGS+=--enable-mbstring
|
||||
|
||||
OPTIONS= REGEX "Enable multibyte regex support" on
|
||||
|
||||
PHP_HEADER_DIRS=libmbfl libmbfl/filters libmbfl/mbfl libmbfl/nls mbstring/oniguruma
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mcrypt"
|
||||
LIB_DEPENDS+= mcrypt.8:${PORTSDIR}/security/libmcrypt
|
||||
|
||||
CONFIGURE_ARGS+=--with-mcrypt=${LOCALBASE}
|
||||
|
||||
USE_LIBLTDL= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mcve"
|
||||
LIB_DEPENDS+= mcve.3:${PORTSDIR}/devel/libmcve
|
||||
|
||||
CONFIGURE_ARGS+=--with-mcve=${LOCALBASE} \
|
||||
--with-openssl-dir=${OPENSSLBASE}
|
||||
|
||||
LDFLAGS+= -lcrypto -lssl
|
||||
USE_OPENSSL= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mhash"
|
||||
LIB_DEPENDS+= mhash.2:${PORTSDIR}/security/mhash
|
||||
|
||||
CONFIGURE_ARGS+=--with-mhash=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "ming"
|
||||
LIB_DEPENDS+= ming.3:${PORTSDIR}/graphics/ming
|
||||
|
||||
CONFIGURE_ARGS+=--with-ming=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mnogosearch"
|
||||
LIB_DEPENDS+= udmsearch.1:${PORTSDIR}/www/mnogosearch
|
||||
|
||||
CONFIGURE_ARGS+=--with-mnogosearch=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mssql"
|
||||
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds-msdblib
|
||||
|
||||
CONFIGURE_ARGS+=--with-mssql=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mysql"
|
||||
CONFIGURE_ARGS+=--with-mysql=${LOCALBASE} \
|
||||
--with-zlib-dir=/usr
|
||||
|
||||
USE_MYSQL= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mysqli"
|
||||
CONFIGURE_ARGS+=--with-mysqli=${LOCALBASE}/bin/mysql_config
|
||||
|
||||
USE_MYSQL= yes
|
||||
BROKEN_WITH_MYSQL= 323 40
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "ncurses"
|
||||
CONFIGURE_ARGS+=--with-ncurses=/usr
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "odbc"
|
||||
LIB_DEPENDS+= odbc.1:${PORTSDIR}/databases/unixODBC
|
||||
|
||||
CONFIGURE_ARGS+=--with-unixODBC=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "openssl"
|
||||
CONFIGURE_ARGS+=--with-openssl=${OPENSSLBASE} \
|
||||
--with-openssl-dir=${OPENSSLBASE}
|
||||
|
||||
LDFLAGS+= -lcrypto -lssl
|
||||
USE_OPENSSL= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "oracle"
|
||||
BUILD_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
|
||||
RUN_DEPENDS+= ${LOCALBASE}/oracle7/lib/libcore3.a:${PORTSDIR}/databases/oracle7-client
|
||||
|
||||
CONFIGURE_ARGS+=--with-oracle=${LOCALBASE}/oracle7
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "pcntl"
|
||||
CONFIGURE_ARGS+=--enable-pcntl
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "pcre"
|
||||
CONFIGURE_ARGS+=--with-pcre-regex=yes
|
||||
|
||||
PHP_HEADER_DIRS=pcrelib
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "pgsql"
|
||||
POSTGRESQL_PORT?= databases/postgresql7
|
||||
LIB_DEPENDS+= pq.3:${PORTSDIR}/${POSTGRESQL_PORT}
|
||||
|
||||
CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "posix"
|
||||
CONFIGURE_ARGS+=--enable-posix
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "pspell"
|
||||
LIB_DEPENDS+= aspell.15:${PORTSDIR}/textproc/aspell
|
||||
|
||||
CONFIGURE_ARGS+=--with-pspell=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "readline"
|
||||
CONFIGURE_ARGS+=--with-readline=/usr
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "recode"
|
||||
LIB_DEPENDS+= recode.3:${PORTSDIR}/converters/recode
|
||||
|
||||
CONFIGURE_ARGS+=--with-recode=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "session"
|
||||
CONFIGURE_ARGS+=--enable-session
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "shmop"
|
||||
CONFIGURE_ARGS+=--enable-shmop
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "simplexml"
|
||||
CONFIGURE_ARGS+=--enable-simplexml \
|
||||
--with-libxml-dir=${LOCALBASE}
|
||||
|
||||
USE_GNOME= libxml2
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "snmp"
|
||||
CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} \
|
||||
--with-openssl-dir=${OPENSSLBASE} \
|
||||
--enable-ucd-snmp-hack
|
||||
|
||||
LDFLAGS+= -lcrypto -lssl
|
||||
USE_OPENSSL= yes
|
||||
|
||||
OPTIONS= SNMP4 "Use old UCD SNMP instead of the new NET SNMP" off
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "soap"
|
||||
CONFIGURE_ARGS+=--enable-soap \
|
||||
--with-libxml-dir=${LOCALBASE}
|
||||
|
||||
USE_GNOME= libxml2
|
||||
|
||||
USE_PHP= session
|
||||
USE_PHP_BUILD= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sockets"
|
||||
CONFIGURE_ARGS+=--enable-sockets
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sqlite"
|
||||
CONFIGURE_ARGS+=--with-sqlite
|
||||
|
||||
USE_PHP= session
|
||||
USE_PHP_BUILD= yes
|
||||
PHP_HEADER_DIRS=libsqlite/src
|
||||
|
||||
OPTIONS= UTF8 "Enable UTF-8 support" off
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sybase"
|
||||
LIB_DEPENDS+= sybdb.4:${PORTSDIR}/databases/freetds
|
||||
|
||||
CONFIGURE_ARGS+=--with-sybase=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sybase_ct"
|
||||
LIB_DEPENDS+= ct.2:${PORTSDIR}/databases/freetds
|
||||
|
||||
CONFIGURE_ARGS+=--with-sybase-ct=${LOCALBASE}
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sysvmsg"
|
||||
CONFIGURE_ARGS+=--enable-sysvmsg
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sysvsem"
|
||||
CONFIGURE_ARGS+=--enable-sysvsem
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sysvshm"
|
||||
CONFIGURE_ARGS+=--enable-sysvshm
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "tidy"
|
||||
CONFIGURE_ARGS+=--with-tidy=${LOCALBASE}
|
||||
|
||||
LIB_DEPENDS+= tidy-0.99.0:${PORTSDIR}/www/tidy-lib
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "tokenizer"
|
||||
CONFIGURE_ARGS+=--enable-tokenizer
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "wddx"
|
||||
CONFIGURE_ARGS+=--enable-wddx
|
||||
|
||||
USE_PHP= xml session
|
||||
USE_PHP_BUILD= yes
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "xml"
|
||||
CONFIGURE_ARGS+=--enable-xml \
|
||||
--with-libxml-dir=${LOCALBASE}
|
||||
|
||||
USE_GNOME= libxml2
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "xmlrpc"
|
||||
LIB_DEPENDS+= expat.5:${PORTSDIR}/textproc/expat2
|
||||
|
||||
CONFIGURE_ARGS+=--with-xmlrpc \
|
||||
--with-expat-dir=${LOCALBASE} \
|
||||
--with-iconv-dir=${LOCALBASE}
|
||||
|
||||
USE_ICONV= yes
|
||||
|
||||
PHP_HEADER_DIRS=libxmlrpc
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "xsl"
|
||||
CONFIGURE_ARGS+=--with-xsl=${LOCALBASE}
|
||||
|
||||
USE_GNOME= libxslt
|
||||
USE_PHP= dom
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "yp"
|
||||
CONFIGURE_ARGS+=--enable-yp
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "zlib"
|
||||
CONFIGURE_ARGS+=--with-zlib=/usr
|
||||
.endif
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if ${PHP_MODNAME} == "dba"
|
||||
. if defined(WITHOUT_CDB)
|
||||
CONFIGURE_ARGS+=--without-cdb
|
||||
. endif
|
||||
. if defined(WITH_DB4)
|
||||
WITH_DB4_VER?= 41
|
||||
. if ${WITH_DB4_VER} == 42
|
||||
LIB_DEPENDS+= db-4.2.2:${PORTSDIR}/databases/db42
|
||||
. else
|
||||
. if ${WITH_DB4_VER} == 4
|
||||
LIB_DEPENDS+= db4.0:${PORTSDIR}/databases/db4
|
||||
. else
|
||||
LIB_DEPENDS+= db41.1:${PORTSDIR}/databases/db41
|
||||
. endif
|
||||
. endif
|
||||
CONFIGURE_ARGS+=--with-db4=${LOCALBASE}
|
||||
. endif
|
||||
. if defined(WITH_GDBM)
|
||||
LIB_DEPENDS+= gdbm.3:${PORTSDIR}/databases/gdbm
|
||||
|
||||
CONFIGURE_ARGS+=--with-gdbm=${LOCALBASE}
|
||||
. endif
|
||||
. if defined(WITHOUT_INIFILE)
|
||||
CONFIGURE_ARGS+=--without-inifile
|
||||
. endif
|
||||
. if defined(WITHOUT_FLATFILE)
|
||||
CONFIGURE_ARGS+=--without-flatfile
|
||||
. endif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "gd"
|
||||
. if !defined(WITHOUT_T1LIB)
|
||||
LIB_DEPENDS+= t1.5:${PORTSDIR}/devel/t1lib
|
||||
|
||||
CONFIGURE_ARGS+=--with-t1lib=${LOCALBASE}
|
||||
. endif
|
||||
. if !defined(WITHOUT_TRUETYPE)
|
||||
CONFIGURE_ARGS+=--enable-gd-native-ttf
|
||||
. endif
|
||||
. if defined(WITH_JIS)
|
||||
CONFIGURE_ARGS+=--enable-gd-jis-conv
|
||||
. endif
|
||||
. if defined(WITH_LZW)
|
||||
CONFIGURE_ARGS+=--enable-gd-lzw-gif
|
||||
. endif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "imap"
|
||||
. if !exists(${LOCALBASE}/lib/libc-client4.so)
|
||||
. if !defined(WITHOUT_SSL)
|
||||
CONFIGURE_ARGS+=--with-imap-ssl=${LOCALBASE}
|
||||
. endif
|
||||
. else
|
||||
WITH_IMAP_SSL!= /usr/bin/ldd ${LOCALBASE}/lib/libc-client4.so | ${GREP} libssl || ${TRUE}
|
||||
. if !empty(WITH_IMAP_SSL)
|
||||
CONFIGURE_ARGS+=--with-imap-ssl=${LOCALBASE}
|
||||
. endif
|
||||
. endif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "mbstring"
|
||||
. if defined(WITHOUT_REGEX)
|
||||
CONFIGURE_ARGS+=--disable-mbregex
|
||||
. endif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "openssl"
|
||||
post-extract:
|
||||
@${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "snmp"
|
||||
. if defined(WITH_SNMP4) || exists(${LOCALBASE}/lib/libsnmp.so.4)
|
||||
LIB_DEPENDS+= snmp.4:${PORTSDIR}/net-mgmt/net-snmp4
|
||||
. else
|
||||
LIB_DEPENDS+= netsnmp.6:${PORTSDIR}/net-mgmt/net-snmp
|
||||
. endif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "sqlite"
|
||||
. if defined(WITH_UTF8)
|
||||
CONFIGURE_ARGS+=--enable-sqlite-utf8
|
||||
. endif
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "xml"
|
||||
post-extract:
|
||||
@${MKDIR} ${WRKSRC}/ext/xml
|
||||
@${CP} ${WRKSRC}/expat_compat.h ${WRKSRC}/ext/xml
|
||||
.endif
|
||||
|
||||
.if ${PHP_MODNAME} == "zlib"
|
||||
post-extract:
|
||||
@${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
|
||||
.endif
|
||||
29
lang/php53/Makefile.pear
Normal file
29
lang/php53/Makefile.pear
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
USE_GNOME= libxml2
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
|
||||
CONFIGURE_ARGS= --with-layout=GNU \
|
||||
--disable-cgi \
|
||||
--disable-all \
|
||||
--with-pcre-regex=yes \
|
||||
--enable-xml \
|
||||
--with-libxml-dir=${LOCALBASE} \
|
||||
--with-zlib-dir=/usr \
|
||||
--with-pear
|
||||
|
||||
NO_BUILD= yes
|
||||
|
||||
INSTALL_TARGET= install-pear
|
||||
|
||||
USE_PHP= pcre xml
|
||||
WANT_PHP_SCR= yes
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
post-patch:
|
||||
@${SED} "s|%%PREFIX%%|${PREFIX}|g" \
|
||||
${WRKSRC}/pear/scripts/pearcmd.php > ${WRKSRC}/pear/scripts/pear
|
||||
|
||||
post-install:
|
||||
@${INSTALL_SCRIPT} ${WRKSRC}/pear/scripts/pear ${PREFIX}/bin
|
||||
@${SED} "s|\$${LOCALBASE}|${LOCALBASE}|g;s|\$${PREFIX}|${PREFIX}|g" < ${PKGMESSAGE}
|
||||
|
|
@ -1,477 +0,0 @@
|
|||
--- configure.orig Fri Mar 19 11:01:07 2004
|
||||
+++ configure Mon Mar 29 09:56:02 2004
|
||||
@@ -624,6 +624,8 @@
|
||||
ac_help="$ac_help
|
||||
--enable-gd-jis-conv GD: Enable JIS-mapped Japanese font support."
|
||||
ac_help="$ac_help
|
||||
+ --enable-gd-lzw-gif GD: Enable LZW-compressed GIF support."
|
||||
+ac_help="$ac_help
|
||||
--with-gettext[=DIR] Include GNU gettext support."
|
||||
ac_help="$ac_help
|
||||
--with-gmp[=DIR] Include GNU MP support"
|
||||
@@ -24057,6 +24059,14 @@
|
||||
THIS_PREFIX=$i
|
||||
THIS_INCLUDE=$i/db4/db.h
|
||||
break
|
||||
+ elif test -f "$i/include/db42/db.h"; then
|
||||
+ THIS_PREFIX=$i
|
||||
+ THIS_INCLUDE=$i/include/db42/db.h
|
||||
+ break
|
||||
+ elif test -f "$i/include/db41/db.h"; then
|
||||
+ THIS_PREFIX=$i
|
||||
+ THIS_INCLUDE=$i/include/db41/db.h
|
||||
+ break
|
||||
elif test -f "$i/include/db4/db.h"; then
|
||||
THIS_PREFIX=$i
|
||||
THIS_INCLUDE=$i/include/db4/db.h
|
||||
@@ -24076,7 +24086,7 @@
|
||||
fi
|
||||
done
|
||||
|
||||
- for LIB in db-4.2 db-4.1 db-4.0 db-4 db4 db; do
|
||||
+ for LIB in db-4.2 db-4.1 db-4.0 db-4 db41 db4 db; do
|
||||
if test -f $THIS_PREFIX/lib/lib$LIB.a -o -f $THIS_PREFIX/lib/lib$LIB.$SHLIB_SUFFIX_NAME; then
|
||||
|
||||
old_LDFLAGS=$LDFLAGS
|
||||
@@ -30047,6 +30057,31 @@
|
||||
|
||||
|
||||
|
||||
+echo $ac_n "checking whether to enable LZW-compressed GIF support in GD""... $ac_c" 1>&6
|
||||
+echo "configure:28220: checking whether to enable LZW-compressed GIF support in GD" >&5
|
||||
+# Check whether --enable-gd-lzw-gif or --disable-gd-lzw-gif was given.
|
||||
+if test "${enable_gd_lzw_gif+set}" = set; then
|
||||
+ enableval="$enable_gd_lzw_gif"
|
||||
+ PHP_GD_LZW_GIF=$enableval
|
||||
+else
|
||||
+
|
||||
+ PHP_GD_LZW_GIF=no
|
||||
+
|
||||
+ if test "$PHP_ENABLE_ALL" && test "no" = "yes"; then
|
||||
+ PHP_GD_LZW_GIF=$PHP_ENABLE_ALL
|
||||
+ fi
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+ext_output=$PHP_GD_LZW_GIF
|
||||
+echo "$ac_t""$ext_output" 1>&6
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
|
||||
|
||||
|
||||
@@ -30199,7 +30234,7 @@
|
||||
libgd/gd_io_file.c libgd/gd_ss.c libgd/gd_io_ss.c libgd/gd_png.c libgd/gd_jpeg.c \
|
||||
libgd/gdxpm.c libgd/gdfontt.c libgd/gdfonts.c libgd/gdfontmb.c libgd/gdfontl.c \
|
||||
libgd/gdfontg.c libgd/gdtables.c libgd/gdft.c libgd/gdcache.c libgd/gdkanji.c \
|
||||
- libgd/wbmp.c libgd/gd_wbmp.c libgd/gdhelpers.c libgd/gd_topal.c libgd/gd_gif_in.c \
|
||||
+ libgd/wbmp.c libgd/gd_wbmp.c libgd/gdhelpers.c libgd/gd_topal.c libgd/gd_gif_in.c libgd/gd_biggif_out.c libgd/gd_lzw_out.c libgd/gd_gif_out.c \
|
||||
libgd/xbm.c"
|
||||
|
||||
for ac_func in fabsf floorf
|
||||
@@ -30274,6 +30309,11 @@
|
||||
fi
|
||||
|
||||
|
||||
+ if test "$PHP_GD_LZW_GIF" = "yes"; then
|
||||
+ USE_GD_LZW_GIF=1
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
if test "$PHP_JPEG_DIR" != "no"; then
|
||||
|
||||
for i in $PHP_JPEG_DIR /usr/local /usr; do
|
||||
@@ -31987,6 +32027,9 @@
|
||||
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define HAVE_GD_BUNDLED 1
|
||||
+#define HAVE_GD_GIF_CREATE 1
|
||||
+#define HAVE_GD_GIF_CTX 1
|
||||
+#define HAVE_GD_GIF_ANIM 1
|
||||
EOF
|
||||
|
||||
cat >> confdefs.h <<\EOF
|
||||
@@ -32041,6 +32084,14 @@
|
||||
GDLIB_CFLAGS="$GDLIB_CFLAGS -DJISX0208"
|
||||
fi
|
||||
|
||||
+ if test -n "$USE_GD_LZW_GIF"; then
|
||||
+ cat >> confdefs.h <<\EOF
|
||||
+#define LZW_LICENCED 1
|
||||
+EOF
|
||||
+
|
||||
+ GDLIB_CFLAGS="$GDLIB_CFLAGS -DLZW_LICENCED"
|
||||
+ fi
|
||||
+
|
||||
else
|
||||
|
||||
if test "$PHP_GD" != "no"; then
|
||||
@@ -36392,6 +36443,137 @@
|
||||
esac
|
||||
done
|
||||
|
||||
+ echo $ac_n "checking for gdImageGifAnimBegin in -lgd""... $ac_c" 1>&6
|
||||
+echo "configure:32250: checking for gdImageGifAnimBegin in -lgd" >&5
|
||||
+ac_lib_var=`echo gd'_'gdImageGifAnimBegin | sed 'y%./+-%__p_%'`
|
||||
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
+ echo $ac_n "(cached) $ac_c" 1>&6
|
||||
+else
|
||||
+ ac_save_LIBS="$LIBS"
|
||||
+LIBS="-lgd $LIBS"
|
||||
+cat > conftest.$ac_ext <<EOF
|
||||
+#line 32258 "configure"
|
||||
+#include "confdefs.h"
|
||||
+/* Override any gcc2 internal prototype to avoid an error. */
|
||||
+/* We use char because int might match the return type of a gcc2
|
||||
+ builtin and then its argument prototype would still apply. */
|
||||
+char gdImageGifAnimBegin();
|
||||
+
|
||||
+int main() {
|
||||
+gdImageGifAnimBegin()
|
||||
+; return 0; }
|
||||
+EOF
|
||||
+if { (eval echo configure:32269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
+ rm -rf conftest*
|
||||
+ eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
+else
|
||||
+ echo "configure: failed program was:" >&5
|
||||
+ cat conftest.$ac_ext >&5
|
||||
+ rm -rf conftest*
|
||||
+ eval "ac_cv_lib_$ac_lib_var=no"
|
||||
+fi
|
||||
+rm -f conftest*
|
||||
+LIBS="$ac_save_LIBS"
|
||||
+
|
||||
+fi
|
||||
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
|
||||
+ echo "$ac_t""yes" 1>&6
|
||||
+
|
||||
+ LDFLAGS=$save_old_LDFLAGS
|
||||
+ ext_shared=$save_ext_shared
|
||||
+ cat >> confdefs.h <<\EOF
|
||||
+#define HAVE_GD_GIF_ANIM 1
|
||||
+EOF
|
||||
+
|
||||
+
|
||||
+else
|
||||
+ echo "$ac_t""no" 1>&6
|
||||
+
|
||||
+ LDFLAGS=$save_old_LDFLAGS
|
||||
+ ext_shared=$save_ext_shared
|
||||
+ unset ac_cv_func_gd
|
||||
+
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+ save_old_LDFLAGS=$LDFLAGS
|
||||
+ ac_stuff=" -L$GD_LIB $GD_SHARED_LIBADD "
|
||||
+
|
||||
+ save_ext_shared=$ext_shared
|
||||
+ ext_shared=yes
|
||||
+
|
||||
+ for ac_i in $ac_stuff; do
|
||||
+ case $ac_i in
|
||||
+ -l*)
|
||||
+ ac_ii=`echo $ac_i|cut -c 3-`
|
||||
+
|
||||
+
|
||||
+ case $ac_ii in
|
||||
+ c|c_r|pthread*) ;;
|
||||
+ *)
|
||||
+ if test "$ext_shared" = "yes"; then
|
||||
+ LDFLAGS="$LDFLAGS -l$ac_ii"
|
||||
+ else
|
||||
+
|
||||
+
|
||||
+ case $ac_ii in
|
||||
+ c|c_r|pthread*) ;;
|
||||
+ *)
|
||||
+ LIBS="$LIBS -l$ac_ii"
|
||||
+ ;;
|
||||
+ esac
|
||||
+
|
||||
+
|
||||
+ fi
|
||||
+ ;;
|
||||
+ esac
|
||||
+
|
||||
+
|
||||
+ ;;
|
||||
+ -L*)
|
||||
+ ac_ii=`echo $ac_i|cut -c 3-`
|
||||
+
|
||||
+ if test "$ac_ii" != "/usr/lib"; then
|
||||
+
|
||||
+ if test -z "$ac_ii" || echo "$ac_ii" | grep '^/' >/dev/null ; then
|
||||
+ ai_p=$ac_ii
|
||||
+ else
|
||||
+
|
||||
+ ep_dir="`echo $ac_ii|sed 's%/*[^/][^/]*/*$%%'`"
|
||||
+
|
||||
+ ep_realdir="`(cd \"$ep_dir\" && pwd)`"
|
||||
+ ai_p="$ep_realdir/`basename \"$ac_ii\"`"
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ if test "$ext_shared" = "yes"; then
|
||||
+ LDFLAGS="$ld_runpath_switch$ai_p -L$ai_p $LDFLAGS"
|
||||
+ else
|
||||
+
|
||||
+
|
||||
+
|
||||
+ unique=`echo $ai_p|sed 's/[^a-zA-Z0-9]/_/g'`
|
||||
+
|
||||
+ cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
|
||||
+ if test -n "$unique" && test "`eval $cmd`" = "" ; then
|
||||
+ eval "LIBPATH$unique=set"
|
||||
+
|
||||
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
|
||||
+ LDFLAGS="$LDFLAGS -L$ai_p"
|
||||
+ PHP_RPATHS="$PHP_RPATHS $ai_p"
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+ ;;
|
||||
+ esac
|
||||
+ done
|
||||
+
|
||||
echo $ac_n "checking for gdCacheCreate in -lgd""... $ac_c" 1>&6
|
||||
echo "configure:36397: checking for gdCacheCreate in -lgd" >&5
|
||||
ac_lib_var=`echo gd'_'gdCacheCreate | sed 'y%./+-%__p_%'`
|
||||
@@ -61441,6 +61623,102 @@
|
||||
|
||||
|
||||
if test "$ext_shared" = "yes"; then
|
||||
+ ORACLE_SHARED_LIBADD="-lwrap $ORACLE_SHARED_LIBADD"
|
||||
+ if test -n "$ORACLE_DIR/lib"; then
|
||||
+
|
||||
+ if test "$ORACLE_DIR/lib" != "/usr/lib"; then
|
||||
+
|
||||
+ if test -z "$ORACLE_DIR/lib" || echo "$ORACLE_DIR/lib" | grep '^/' >/dev/null ; then
|
||||
+ ai_p=$ORACLE_DIR/lib
|
||||
+ else
|
||||
+
|
||||
+ ep_dir="`echo $ORACLE_DIR/lib|sed 's%/*[^/][^/]*/*$%%'`"
|
||||
+
|
||||
+ ep_realdir="`(cd \"$ep_dir\" && pwd)`"
|
||||
+ ai_p="$ep_realdir/`basename \"$ORACLE_DIR/lib\"`"
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ if test "$ext_shared" = "yes"; then
|
||||
+ ORACLE_SHARED_LIBADD="$ld_runpath_switch$ai_p -L$ai_p $ORACLE_SHARED_LIBADD"
|
||||
+ else
|
||||
+
|
||||
+
|
||||
+
|
||||
+ unique=`echo $ai_p|sed 's/[^a-zA-Z0-9]/_/g'`
|
||||
+
|
||||
+ cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
|
||||
+ if test -n "$unique" && test "`eval $cmd`" = "" ; then
|
||||
+ eval "LIBPATH$unique=set"
|
||||
+
|
||||
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
|
||||
+ LDFLAGS="$LDFLAGS -L$ai_p"
|
||||
+ PHP_RPATHS="$PHP_RPATHS $ai_p"
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+ fi
|
||||
+ else
|
||||
+
|
||||
+
|
||||
+ if test -n "$ORACLE_DIR/lib"; then
|
||||
+
|
||||
+ if test "$ORACLE_DIR/lib" != "/usr/lib"; then
|
||||
+
|
||||
+ if test -z "$ORACLE_DIR/lib" || echo "$ORACLE_DIR/lib" | grep '^/' >/dev/null ; then
|
||||
+ ai_p=$ORACLE_DIR/lib
|
||||
+ else
|
||||
+
|
||||
+ ep_dir="`echo $ORACLE_DIR/lib|sed 's%/*[^/][^/]*/*$%%'`"
|
||||
+
|
||||
+ ep_realdir="`(cd \"$ep_dir\" && pwd)`"
|
||||
+ ai_p="$ep_realdir/`basename \"$ORACLE_DIR/lib\"`"
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+ unique=`echo $ai_p|sed 's/[^a-zA-Z0-9]/_/g'`
|
||||
+
|
||||
+ cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\""
|
||||
+ if test -n "$unique" && test "`eval $cmd`" = "" ; then
|
||||
+ eval "LIBPATH$unique=set"
|
||||
+
|
||||
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p"
|
||||
+ LDFLAGS="$LDFLAGS -L$ai_p"
|
||||
+ PHP_RPATHS="$PHP_RPATHS $ai_p"
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ case wrap in
|
||||
+ c|c_r|pthread*) ;;
|
||||
+ *)
|
||||
+ LIBS="-lwrap $LIBS"
|
||||
+ ;;
|
||||
+ esac
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+ if test "$ext_shared" = "yes"; then
|
||||
ORACLE_SHARED_LIBADD="-lnlsrtl3 $ORACLE_SHARED_LIBADD"
|
||||
if test -n "$ORACLE_DIR/lib"; then
|
||||
|
||||
@@ -82018,29 +82296,6 @@
|
||||
else
|
||||
|
||||
|
||||
- case cs in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- if test "$ext_shared" = "yes"; then
|
||||
- SYBASE_CT_SHARED_LIBADD="-lcs $SYBASE_CT_SHARED_LIBADD"
|
||||
- else
|
||||
-
|
||||
-
|
||||
- case cs in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- LIBS="-lcs $LIBS"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
- fi
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
case ct in
|
||||
c|c_r|pthread*) ;;
|
||||
*)
|
||||
@@ -82064,52 +82319,7 @@
|
||||
|
||||
|
||||
|
||||
- case comn in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- if test "$ext_shared" = "yes"; then
|
||||
- SYBASE_CT_SHARED_LIBADD="-lcomn $SYBASE_CT_SHARED_LIBADD"
|
||||
- else
|
||||
-
|
||||
-
|
||||
- case comn in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- LIBS="-lcomn $LIBS"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
- fi
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
- case intl in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- if test "$ext_shared" = "yes"; then
|
||||
- SYBASE_CT_SHARED_LIBADD="-lintl $SYBASE_CT_SHARED_LIBADD"
|
||||
- else
|
||||
-
|
||||
-
|
||||
- case intl in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- LIBS="-lintl $LIBS"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
- fi
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
-
|
||||
- SYBASE_CT_LIBS="-L$SYBASE_CT_LIBDIR -lcs -lct -lcomn -lintl"
|
||||
+ SYBASE_CT_LIBS="-L$SYBASE_CT_LIBDIR -lct"
|
||||
|
||||
|
||||
save_old_LDFLAGS=$LDFLAGS
|
||||
@@ -82244,38 +82454,6 @@
|
||||
c|c_r|pthread*) ;;
|
||||
*)
|
||||
LIBS="-ltcl $LIBS"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
- fi
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-else
|
||||
- echo "$ac_t""no" 1>&6
|
||||
-
|
||||
- LDFLAGS=$save_old_LDFLAGS
|
||||
- ext_shared=$save_ext_shared
|
||||
- unset ac_cv_func_tcl
|
||||
-
|
||||
-
|
||||
-
|
||||
- case sybtcl in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- if test "$ext_shared" = "yes"; then
|
||||
- SYBASE_CT_SHARED_LIBADD="-lsybtcl $SYBASE_CT_SHARED_LIBADD"
|
||||
- else
|
||||
-
|
||||
-
|
||||
- case sybtcl in
|
||||
- c|c_r|pthread*) ;;
|
||||
- *)
|
||||
- LIBS="-lsybtcl $LIBS"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
--- ext/gd/gd.c.orig Wed Jun 4 02:22:30 2003
|
||||
+++ ext/gd/gd.c Sat Jun 28 15:47:56 2003
|
||||
@@ -206,6 +206,11 @@
|
||||
#ifdef HAVE_GD_GIF_CREATE
|
||||
PHP_FE(imagegif, NULL)
|
||||
#endif
|
||||
+#ifdef HAVE_GD_GIF_ANIM
|
||||
+ PHP_FE(imagegifanimbegin, NULL)
|
||||
+ PHP_FE(imagegifanimadd, NULL)
|
||||
+ PHP_FE(imagegifanimend, NULL)
|
||||
+#endif
|
||||
#ifdef HAVE_GD_JPG
|
||||
PHP_FE(imagejpeg, NULL)
|
||||
#endif
|
||||
@@ -1707,11 +1712,35 @@
|
||||
#ifdef HAVE_GD_GIF_CTX
|
||||
_php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIF, "GIF", gdImageGifCtx);
|
||||
#else
|
||||
+
|
||||
+#ifdef HAVE_GD_BUNDLED
|
||||
+#error "I really think there should be ctx version of imagegif in the bundled GD library. Fix the configuration."
|
||||
+#endif
|
||||
+
|
||||
_php_image_output(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIF, "GIF", gdImageGif);
|
||||
#endif
|
||||
}
|
||||
/* }}} */
|
||||
#endif /* HAVE_GD_GIF_CREATE */
|
||||
+
|
||||
+#ifdef HAVE_GD_GIF_ANIM
|
||||
+/* {{{ proto int imagegifanimbegin(int im [, string filename [, int GlobalColormap [, int Loops]]])
|
||||
+ Begin GIF animation. Image parameter is only used for size and colormap,
|
||||
+ all animation frames must be added separately. */
|
||||
+PHP_FUNCTION(imagegifanimbegin)
|
||||
+{
|
||||
+ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIFANIMBEGIN, "GIF", gdImageGifAnimBeginCtx);
|
||||
+}
|
||||
+/* }}} */
|
||||
+
|
||||
+/* {{{ proto int imagegifanimadd(int im [, string filename [, int LocalColormap [, LeftOfs [, int TopOfs [, int Delay [, int Disposal]]]]]])
|
||||
+ Append GIF image to animation */
|
||||
+PHP_FUNCTION(imagegifanimadd)
|
||||
+{
|
||||
+ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIFANIMADD, "GIF", gdImageGifAnimAddCtx);
|
||||
+}
|
||||
+/* }}} */
|
||||
+#endif /* HAVE_GD_GIF_ANIM */
|
||||
|
||||
#ifdef HAVE_GD_PNG
|
||||
/* {{{ proto int imagepng(int im [, string filename])
|
||||
|
|
@ -1,168 +0,0 @@
|
|||
--- ext/gd/gd_ctx.c.orig Wed Jan 28 18:10:05 2004
|
||||
+++ ext/gd/gd_ctx.c Fri Feb 13 12:12:00 2004
|
||||
@@ -49,23 +49,29 @@
|
||||
/* {{{ _php_image_output_ctx */
|
||||
static void _php_image_output_ctx(INTERNAL_FUNCTION_PARAMETERS, int image_type, char *tn, void (*func_p)())
|
||||
{
|
||||
- zval **imgind, **file, **quality;
|
||||
+ zval **imgind, **file, **quality, **lo, **to, **del, **dis;
|
||||
gdImagePtr im;
|
||||
char *fn = NULL;
|
||||
FILE *fp = NULL;
|
||||
int argc = ZEND_NUM_ARGS();
|
||||
int q = -1, i;
|
||||
+#ifdef HAVE_GD_GIF_ANIM
|
||||
+ int LeftOfs = -1, TopOfs = -1, Delay = -1, Disposal = -1;
|
||||
+#endif /* HAVE_GD_GIF_ANIM */
|
||||
gdIOCtx *ctx;
|
||||
|
||||
/* The third (quality) parameter for Wbmp stands for the threshold when called from image2wbmp().
|
||||
* The third (quality) parameter for Wbmp and Xbm stands for the foreground color index when called
|
||||
* from imagey<type>().
|
||||
+ * The third (quality) parameter for GIF animation stands for colormap inclusion. 1==include
|
||||
+ * local/global colormap.
|
||||
+ * The fourth (LeftOfs) parameter for GIF animation begin stands for NETSCAPE2.0 Loop count extension.
|
||||
*/
|
||||
|
||||
if (argc < 2 && image_type == PHP_GDIMG_TYPE_XBM) {
|
||||
WRONG_PARAM_COUNT;
|
||||
}
|
||||
- if (argc < 1 || argc > 3 || zend_get_parameters_ex(argc, &imgind, &file, &quality) == FAILURE)
|
||||
+ if (argc < 1 || argc > 7 || zend_get_parameters_ex(argc, &imgind, &file, &quality, &lo, &to, &del, &dis) == FAILURE)
|
||||
{
|
||||
WRONG_PARAM_COUNT;
|
||||
}
|
||||
@@ -75,11 +81,29 @@
|
||||
if (argc > 1) {
|
||||
convert_to_string_ex(file);
|
||||
fn = Z_STRVAL_PP(file);
|
||||
- if (argc == 3) {
|
||||
- convert_to_long_ex(quality);
|
||||
- q = Z_LVAL_PP(quality);/* or colorindex for foreground of BW images (defaults to black) */
|
||||
- }
|
||||
}
|
||||
+ if (argc >= 3) {
|
||||
+ convert_to_long_ex(quality);
|
||||
+ q = Z_LVAL_PP(quality);/* or colorindex for foreground of BW images (defaults to black) */
|
||||
+ }
|
||||
+#ifdef HAVE_GD_GIF_ANIM
|
||||
+ if (argc >= 4) {
|
||||
+ convert_to_long_ex(lo);
|
||||
+ LeftOfs = Z_LVAL_PP(lo);
|
||||
+ }
|
||||
+ if (argc >= 5) {
|
||||
+ convert_to_long_ex(to);
|
||||
+ TopOfs = Z_LVAL_PP(to);
|
||||
+ }
|
||||
+ if (argc >= 6) {
|
||||
+ convert_to_long_ex(del);
|
||||
+ Delay = Z_LVAL_PP(del);
|
||||
+ }
|
||||
+ if (argc >= 7) {
|
||||
+ convert_to_long_ex(dis);
|
||||
+ Disposal = Z_LVAL_PP(dis);
|
||||
+ }
|
||||
+#endif /* HAVE_GD_GIF_ANIM */
|
||||
|
||||
if ((argc == 2) || (argc > 2 && Z_STRLEN_PP(file))) {
|
||||
if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC)) {
|
||||
@@ -87,7 +111,7 @@
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
- fp = VCWD_FOPEN(fn, "wb");
|
||||
+ fp = VCWD_FOPEN(fn, PHP_GDIMG_TYPE_GIFANIMADD == image_type ? "ab" : "wb");
|
||||
if (!fp) {
|
||||
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open '%s' for writing", fn);
|
||||
RETURN_FALSE;
|
||||
@@ -133,6 +157,14 @@
|
||||
(*func_p)(im, q, ctx);
|
||||
}
|
||||
break;
|
||||
+#ifdef HAVE_GD_GIF_ANIM
|
||||
+ case PHP_GDIMG_TYPE_GIFANIMBEGIN:
|
||||
+ (*func_p)(im, ctx, q, LeftOfs);
|
||||
+ break;
|
||||
+ case PHP_GDIMG_TYPE_GIFANIMADD:
|
||||
+ (*func_p)(im, ctx, q, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+ break;
|
||||
+#endif /* HAVE_GD_GIF_ANIM */
|
||||
default:
|
||||
(*func_p)(im, ctx);
|
||||
break;
|
||||
@@ -151,6 +183,75 @@
|
||||
|
||||
RETURN_TRUE;
|
||||
}
|
||||
+
|
||||
+#ifdef HAVE_GD_GIF_ANIM
|
||||
+/* {{{ proto int imagegifanimend([string filename])
|
||||
+ Write end mark to gif animation. */
|
||||
+PHP_FUNCTION(imagegifanimend)
|
||||
+{
|
||||
+ zval **file;
|
||||
+ char *fn = NULL;
|
||||
+ FILE *fp = NULL;
|
||||
+ int argc = ZEND_NUM_ARGS();
|
||||
+ gdIOCtx *ctx;
|
||||
+
|
||||
+ if (argc < 0 || argc > 1 || zend_get_parameters_ex(argc, &file) == FAILURE) {
|
||||
+ ZEND_WRONG_PARAM_COUNT();
|
||||
+ }
|
||||
+
|
||||
+ if (argc >= 1) {
|
||||
+ convert_to_string_ex(file);
|
||||
+ fn = Z_STRVAL_PP(file);
|
||||
+ }
|
||||
+
|
||||
+ if ((argc == 1) || (argc > 1 && Z_STRLEN_PP(file))) {
|
||||
+ if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC)) {
|
||||
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid filename '%s'", fn);
|
||||
+ RETURN_FALSE;
|
||||
+ }
|
||||
+
|
||||
+ fp = VCWD_FOPEN(fn, "ab");
|
||||
+ if (!fp) {
|
||||
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open '%s' for writing", fn);
|
||||
+ RETURN_FALSE;
|
||||
+ }
|
||||
+
|
||||
+ ctx = gdNewFileCtx(fp);
|
||||
+ } else {
|
||||
+ ctx = emalloc(sizeof(gdIOCtx));
|
||||
+ ctx->putC = _php_image_output_putc;
|
||||
+ ctx->putBuf = _php_image_output_putbuf;
|
||||
+#if HAVE_LIBGD204
|
||||
+ ctx->gd_free = _php_image_output_ctxfree;
|
||||
+#else
|
||||
+ ctx->free = _php_image_output_ctxfree;
|
||||
+#endif
|
||||
+
|
||||
+#if APACHE && defined(CHARSET_EBCDIC)
|
||||
+ /* XXX this is unlikely to work any more thies@thieso.net */
|
||||
+ /* This is a binary file already: avoid EBCDIC->ASCII conversion */
|
||||
+ ap_bsetflag(php3_rqst->connection->client, B_EBCDIC2ASCII, 0);
|
||||
+#endif
|
||||
+ }
|
||||
+
|
||||
+ /* This could be coded in here, as it only outputs ';' */
|
||||
+ gdImageGifAnimEndCtx(ctx);
|
||||
+
|
||||
+#if HAVE_LIBGD204
|
||||
+ ctx->gd_free(ctx);
|
||||
+#else
|
||||
+ ctx->free(ctx);
|
||||
+#endif
|
||||
+
|
||||
+ if(fp) {
|
||||
+ fflush(fp);
|
||||
+ fclose(fp);
|
||||
+ }
|
||||
+
|
||||
+ RETURN_TRUE;
|
||||
+}
|
||||
+/* }}} */
|
||||
+#endif /* HAVE_GD_GIF_ANIM */
|
||||
/* }}} */
|
||||
|
||||
/*
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
--- ext/gd/libgd/gd.h.orig Wed Apr 9 03:55:56 2003
|
||||
+++ ext/gd/libgd/gd.h Sat Jun 28 15:47:56 2003
|
||||
@@ -446,6 +446,30 @@
|
||||
gdImagePtr gdImageCreateFromGifCtx(gdIOCtxPtr in);
|
||||
gdImagePtr gdImageCreateFromGifSource(gdSourcePtr in);
|
||||
|
||||
+void gdImageLzw(gdImagePtr im, FILE *out);
|
||||
+void* gdImageLzwPtr(gdImagePtr im, int *size);
|
||||
+void gdImageLzwCtx(gdImagePtr im, gdIOCtxPtr out);
|
||||
+
|
||||
+void gdImageBigGif(gdImagePtr im, FILE *out);
|
||||
+void* gdImageBigGifPtr(gdImagePtr im, int *size);
|
||||
+void gdImageBigGifCtx(gdImagePtr im, gdIOCtxPtr out);
|
||||
+
|
||||
+void gdImageGifAnimBegin(gdImagePtr im, FILE *outFile, int GlobalCM, int Loops);
|
||||
+void gdImageGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void gdImageLzwAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void gdImageBigGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void gdImageGifAnimEnd(FILE *outFile);
|
||||
+void gdImageGifAnimBeginCtx(gdImagePtr im, gdIOCtx *out, int GlobalCM, int Loops);
|
||||
+void gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void gdImageLzwAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void gdImageBigGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void gdImageGifAnimEndCtx(gdIOCtx *out);
|
||||
+void *gdImageGifAnimBeginPtr(gdImagePtr im, int *size, int GlobalCM, int Loops);
|
||||
+void *gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void *gdImageLzwAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void *gdImageBigGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal);
|
||||
+void *gdImageGifAnimEndPtr(int *size);
|
||||
+
|
||||
/* A custom data sink. For backwards compatibility. Use
|
||||
gdIOCtx instead. */
|
||||
/* The sink function must return -1 on error, otherwise the number
|
||||
@@ -457,6 +481,11 @@
|
||||
} gdSink, *gdSinkPtr;
|
||||
|
||||
void gdImagePngToSink(gdImagePtr im, gdSinkPtr out);
|
||||
+
|
||||
+void gdImageGif (gdImagePtr im, FILE *out);
|
||||
+void* gdImageGifPtr (gdImagePtr im, int *size);
|
||||
+void gdImageGifCtx (gdImagePtr im, gdIOCtxPtr out);
|
||||
+void gdImageGifToSink (gdImagePtr im, gdSinkPtr out);
|
||||
|
||||
void gdImageGd(gdImagePtr im, FILE *out);
|
||||
void gdImageGd2(gdImagePtr im, FILE *out, int cs, int fmt);
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,73 +0,0 @@
|
|||
--- ext/gd/libgd/gd_gif_out.c.orig Sat Jun 28 15:47:56 2003
|
||||
+++ ext/gd/libgd/gd_gif_out.c Sat Jun 28 16:07:33 2003
|
||||
@@ -0,0 +1,70 @@
|
||||
+#include <stdio.h>
|
||||
+#include <math.h>
|
||||
+#include <string.h>
|
||||
+#include <stdlib.h>
|
||||
+#include "gd.h"
|
||||
+
|
||||
+/*
|
||||
+** Wrapper functions for GIF output.
|
||||
+*/
|
||||
+
|
||||
+void gdImageGifToSink(gdImagePtr im, gdSinkPtr outSink)
|
||||
+{
|
||||
+ gdIOCtx *out = gdNewSSCtx(NULL,outSink);
|
||||
+ gdImageGifCtx(im, out);
|
||||
+ out->gd_free(out);
|
||||
+}
|
||||
+
|
||||
+void gdImageGifCtx(gdImagePtr im, gdIOCtx *out)
|
||||
+{
|
||||
+#ifdef LZW_LICENCED
|
||||
+ gdImageLzwCtx(im, out);
|
||||
+#else
|
||||
+ gdImageBigGifCtx(im, out);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void gdImageGif(gdImagePtr im, FILE *outFile)
|
||||
+{
|
||||
+#ifdef LZW_LICENCED
|
||||
+ gdImageLzw(im, outFile);
|
||||
+#else
|
||||
+ gdImageBigGif(im, outFile);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void* gdImageGifPtr(gdImagePtr im, int *size)
|
||||
+{
|
||||
+#ifdef LZW_LICENCED
|
||||
+ return gdImageLzwPtr(im, size);
|
||||
+#else
|
||||
+ return gdImageBigGifPtr(im, size);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
|
||||
+{
|
||||
+#ifdef LZW_LICENCED
|
||||
+ gdImageLzwAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+#else
|
||||
+ gdImageBigGifAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void gdImageGifAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
|
||||
+{
|
||||
+#ifdef LZW_LICENCED
|
||||
+ gdImageLzwAnimAdd(im, outFile, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+#else
|
||||
+ gdImageBigGifAnimAdd(im, outFile, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void *gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
|
||||
+{
|
||||
+#ifdef LZW_LICENCED
|
||||
+ return gdImageLzwAnimAddPtr(im, size, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+#else
|
||||
+ return gdImageBigGifAnimAddPtr(im, size, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+#endif
|
||||
+}
|
||||
|
|
@ -1,939 +0,0 @@
|
|||
--- ext/gd/libgd/gd_lzw_out.c.orig Sat Jun 28 15:47:56 2003
|
||||
+++ ext/gd/libgd/gd_lzw_out.c Sat Jun 28 16:01:04 2003
|
||||
@@ -0,0 +1,936 @@
|
||||
+#ifdef HAVE_MALLOC_H
|
||||
+ #include <malloc.h>
|
||||
+#endif
|
||||
+#include <stdio.h>
|
||||
+#include <math.h>
|
||||
+#include <string.h>
|
||||
+#include <stdlib.h>
|
||||
+#include "gd.h"
|
||||
+
|
||||
+/* Code drawn from ppmtogif.c, from the pbmplus package
|
||||
+**
|
||||
+** Based on GIFENCOD by David Rowley <mgardi@watdscu.waterloo.edu>. A
|
||||
+** Lempel-Zim compression based on "compress".
|
||||
+**
|
||||
+** Modified by Marcel Wijkstra <wijkstra@fwi.uva.nl>
|
||||
+**
|
||||
+** Copyright (C) 1989 by Jef Poskanzer.
|
||||
+**
|
||||
+** Permission to use, copy, modify, and distribute this software and its
|
||||
+** documentation for any purpose and without fee is hereby granted, provided
|
||||
+** that the above copyright notice appear in all copies and that both that
|
||||
+** copyright notice and this permission notice appear in supporting
|
||||
+** documentation. This software is provided "as is" without express or
|
||||
+** implied warranty.
|
||||
+**
|
||||
+** The Graphics Interchange Format(c) is the Copyright property of
|
||||
+** CompuServe Incorporated. GIF(sm) is a Service Mark property of
|
||||
+** CompuServe Incorporated.
|
||||
+*/
|
||||
+
|
||||
+/*
|
||||
+ * a code_int must be able to hold 2**GIFBITS values of type int, and also -1
|
||||
+ */
|
||||
+typedef int code_int;
|
||||
+
|
||||
+#ifdef SIGNED_COMPARE_SLOW
|
||||
+typedef unsigned long int count_int;
|
||||
+typedef unsigned short int count_short;
|
||||
+#else /*SIGNED_COMPARE_SLOW*/
|
||||
+typedef long int count_int;
|
||||
+#endif /*SIGNED_COMPARE_SLOW*/
|
||||
+
|
||||
+static int colorstobpp(int colors);
|
||||
+static void BumpPixel (void);
|
||||
+static int GIFNextPixel (gdImagePtr im);
|
||||
+static void GIFEncode (gdIOCtx *fp, int GWidth, int GHeight, int GInterlace, int Background, int Transparent, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im);
|
||||
+static void GIFAnimEncode(gdIOCtx *fp, int IWidth, int IHeight, int LeftOfs, int TopOfs, int GInterlace, int Transparent, int Delay, int Disposal, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im);
|
||||
+/*static void Putword (int w, gdIOCtx *fp); */
|
||||
+static void compress (int init_bits, gdIOCtx *outfile, gdImagePtr im);
|
||||
+static void output (code_int code);
|
||||
+static void cl_block (void);
|
||||
+static void cl_hash (register count_int hsize);
|
||||
+static void char_init (void);
|
||||
+static void char_out (int c);
|
||||
+static void flush_char (void);
|
||||
+/* Allows for reuse */
|
||||
+static void init_statics(void);
|
||||
+
|
||||
+void gdImageLzwCtx(gdImagePtr im, gdIOCtx *out)
|
||||
+{
|
||||
+ int interlace, transparent, BitsPerPixel;
|
||||
+
|
||||
+ interlace = im->interlace;
|
||||
+ transparent = im->transparent;
|
||||
+
|
||||
+ BitsPerPixel = colorstobpp(im->colorsTotal);
|
||||
+ /* Clear any old values in statics strewn through the GIF code */
|
||||
+ init_statics();
|
||||
+ /* All set, let's do it. */
|
||||
+ GIFEncode(
|
||||
+ out, im->sx, im->sy, interlace, 0, transparent, BitsPerPixel,
|
||||
+ im->red, im->green, im->blue, im);
|
||||
+}
|
||||
+
|
||||
+void gdImageLzw(gdImagePtr im, FILE *outFile)
|
||||
+{
|
||||
+ gdIOCtx *out = gdNewFileCtx(outFile);
|
||||
+ gdImageLzwCtx(im, out);
|
||||
+ out->gd_free(out);
|
||||
+}
|
||||
+
|
||||
+void* gdImageLzwPtr(gdImagePtr im, int *size)
|
||||
+{
|
||||
+ void *rv;
|
||||
+ gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
|
||||
+ gdImageLzwCtx(im, out);
|
||||
+ rv = gdDPExtractData(out,size);
|
||||
+ out->gd_free(out);
|
||||
+ return rv;
|
||||
+}
|
||||
+
|
||||
+void gdImageLzwAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
|
||||
+{
|
||||
+ int interlace, transparent, BitsPerPixel;
|
||||
+
|
||||
+ interlace = im->interlace;
|
||||
+ transparent = im->transparent;
|
||||
+
|
||||
+ BitsPerPixel = colorstobpp(im->colorsTotal);
|
||||
+ /* Clear any old values in statics strewn through the GIF code */
|
||||
+ init_statics();
|
||||
+ /* All set, let's do it. */
|
||||
+ GIFAnimEncode(
|
||||
+ out, im->sx, im->sy, LeftOfs, TopOfs, interlace, transparent,
|
||||
+ Delay, Disposal, BitsPerPixel,
|
||||
+ LocalCM > 0 ? im->red : 0, im->green, im->blue, im);
|
||||
+}
|
||||
+
|
||||
+void gdImageLzwAnimAdd(gdImagePtr im, FILE *outFile, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
|
||||
+{
|
||||
+ gdIOCtx *out = gdNewFileCtx(outFile);
|
||||
+ gdImageLzwAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+ out->gd_free(out);
|
||||
+}
|
||||
+
|
||||
+void* gdImageLzwAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal)
|
||||
+{
|
||||
+ void *rv;
|
||||
+ gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
|
||||
+ gdImageLzwAnimAddCtx(im, out, LocalCM, LeftOfs, TopOfs, Delay, Disposal);
|
||||
+ rv = gdDPExtractData(out,size);
|
||||
+ out->gd_free(out);
|
||||
+ return rv;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
+static int
|
||||
+colorstobpp(int colors)
|
||||
+{
|
||||
+ int bpp = 0;
|
||||
+
|
||||
+ if ( colors <= 2 )
|
||||
+ bpp = 1;
|
||||
+ else if ( colors <= 4 )
|
||||
+ bpp = 2;
|
||||
+ else if ( colors <= 8 )
|
||||
+ bpp = 3;
|
||||
+ else if ( colors <= 16 )
|
||||
+ bpp = 4;
|
||||
+ else if ( colors <= 32 )
|
||||
+ bpp = 5;
|
||||
+ else if ( colors <= 64 )
|
||||
+ bpp = 6;
|
||||
+ else if ( colors <= 128 )
|
||||
+ bpp = 7;
|
||||
+ else if ( colors <= 256 )
|
||||
+ bpp = 8;
|
||||
+ return bpp;
|
||||
+ }
|
||||
+
|
||||
+/*****************************************************************************
|
||||
+ *
|
||||
+ * GIFENCODE.C - GIF Image compression interface
|
||||
+ *
|
||||
+ * GIFEncode( FName, GHeight, GWidth, GInterlace, Background, Transparent,
|
||||
+ * BitsPerPixel, Red, Green, Blue, gdImagePtr )
|
||||
+ *
|
||||
+ *****************************************************************************/
|
||||
+
|
||||
+#define TRUE 1
|
||||
+#define FALSE 0
|
||||
+
|
||||
+static int Width, Height;
|
||||
+static int curx, cury;
|
||||
+static long CountDown;
|
||||
+static int Pass = 0;
|
||||
+static int Interlace;
|
||||
+
|
||||
+/*
|
||||
+ * Bump the 'curx' and 'cury' to point to the next pixel
|
||||
+ */
|
||||
+static void
|
||||
+BumpPixel(void)
|
||||
+{
|
||||
+ /*
|
||||
+ * Bump the current X position
|
||||
+ */
|
||||
+ ++curx;
|
||||
+
|
||||
+ /*
|
||||
+ * If we are at the end of a scan line, set curx back to the beginning
|
||||
+ * If we are interlaced, bump the cury to the appropriate spot,
|
||||
+ * otherwise, just increment it.
|
||||
+ */
|
||||
+ if( curx == Width ) {
|
||||
+ curx = 0;
|
||||
+
|
||||
+ if( !Interlace )
|
||||
+ ++cury;
|
||||
+ else {
|
||||
+ switch( Pass ) {
|
||||
+
|
||||
+ case 0:
|
||||
+ cury += 8;
|
||||
+ if( cury >= Height ) {
|
||||
+ ++Pass;
|
||||
+ cury = 4;
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case 1:
|
||||
+ cury += 8;
|
||||
+ if( cury >= Height ) {
|
||||
+ ++Pass;
|
||||
+ cury = 2;
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case 2:
|
||||
+ cury += 4;
|
||||
+ if( cury >= Height ) {
|
||||
+ ++Pass;
|
||||
+ cury = 1;
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case 3:
|
||||
+ cury += 2;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Return the next pixel from the image
|
||||
+ */
|
||||
+static int
|
||||
+GIFNextPixel(gdImagePtr im)
|
||||
+{
|
||||
+ int r;
|
||||
+
|
||||
+ if( CountDown == 0 )
|
||||
+ return EOF;
|
||||
+
|
||||
+ --CountDown;
|
||||
+
|
||||
+ r = gdImageGetPixel(im, curx, cury);
|
||||
+
|
||||
+ BumpPixel();
|
||||
+
|
||||
+ return r;
|
||||
+}
|
||||
+
|
||||
+/* public */
|
||||
+
|
||||
+static void
|
||||
+GIFEncode(gdIOCtx *fp, int GWidth, int GHeight, int GInterlace, int Background, int Transparent, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im)
|
||||
+{
|
||||
+ int B;
|
||||
+ int RWidth, RHeight;
|
||||
+ int LeftOfs, TopOfs;
|
||||
+ int Resolution;
|
||||
+ int ColorMapSize;
|
||||
+ int InitCodeSize;
|
||||
+ int i;
|
||||
+
|
||||
+ Interlace = GInterlace;
|
||||
+
|
||||
+ ColorMapSize = 1 << BitsPerPixel;
|
||||
+
|
||||
+ RWidth = Width = GWidth;
|
||||
+ RHeight = Height = GHeight;
|
||||
+ LeftOfs = TopOfs = 0;
|
||||
+
|
||||
+ Resolution = BitsPerPixel;
|
||||
+
|
||||
+ /*
|
||||
+ * Calculate number of bits we are expecting
|
||||
+ */
|
||||
+ CountDown = (long)Width * (long)Height;
|
||||
+
|
||||
+ /*
|
||||
+ * Indicate which pass we are on (if interlace)
|
||||
+ */
|
||||
+ Pass = 0;
|
||||
+
|
||||
+ /*
|
||||
+ * The initial code size
|
||||
+ */
|
||||
+ if( BitsPerPixel <= 1 )
|
||||
+ InitCodeSize = 2;
|
||||
+ else
|
||||
+ InitCodeSize = BitsPerPixel;
|
||||
+
|
||||
+ /*
|
||||
+ * Set up the current x and y position
|
||||
+ */
|
||||
+ curx = cury = 0;
|
||||
+
|
||||
+ /*
|
||||
+ * Write the Magic header
|
||||
+ */
|
||||
+ gdPutBuf( Transparent < 0 ? "GIF87a" : "GIF89a", 6, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out the screen width and height
|
||||
+ */
|
||||
+ Putword( RWidth, fp );
|
||||
+ Putword( RHeight, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Indicate that there is a global colour map
|
||||
+ */
|
||||
+ B = 0x80; /* Yes, there is a color map */
|
||||
+
|
||||
+ /*
|
||||
+ * OR in the resolution
|
||||
+ */
|
||||
+ B |= (Resolution - 1) << 5;
|
||||
+
|
||||
+ /*
|
||||
+ * OR in the Bits per Pixel
|
||||
+ */
|
||||
+ B |= (BitsPerPixel - 1);
|
||||
+
|
||||
+ /*
|
||||
+ * Write it out
|
||||
+ */
|
||||
+ gdPutC( B, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out the Background colour
|
||||
+ */
|
||||
+ gdPutC( Background, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Byte of 0's (future expansion)
|
||||
+ */
|
||||
+ gdPutC( 0, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out the Global Colour Map
|
||||
+ */
|
||||
+ for( i=0; i<ColorMapSize; ++i ) {
|
||||
+ gdPutC( Red[i], fp );
|
||||
+ gdPutC( Green[i], fp );
|
||||
+ gdPutC( Blue[i], fp );
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * Write out extension for transparent colour index, if necessary.
|
||||
+ */
|
||||
+ if ( Transparent >= 0 ) {
|
||||
+ gdPutC( '!', fp );
|
||||
+ gdPutC( 0xf9, fp );
|
||||
+ gdPutC( 4, fp );
|
||||
+ gdPutC( 1, fp );
|
||||
+ gdPutC( 0, fp );
|
||||
+ gdPutC( 0, fp );
|
||||
+ gdPutC( (unsigned char) Transparent, fp );
|
||||
+ gdPutC( 0, fp );
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * Write an Image separator
|
||||
+ */
|
||||
+ gdPutC( ',', fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write the Image header
|
||||
+ */
|
||||
+
|
||||
+ Putword( LeftOfs, fp );
|
||||
+ Putword( TopOfs, fp );
|
||||
+ Putword( Width, fp );
|
||||
+ Putword( Height, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out whether or not the image is interlaced
|
||||
+ */
|
||||
+ if( Interlace )
|
||||
+ gdPutC( 0x40, fp );
|
||||
+ else
|
||||
+ gdPutC( 0x00, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out the initial code size
|
||||
+ */
|
||||
+ gdPutC( InitCodeSize, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Go and actually compress the data
|
||||
+ */
|
||||
+ compress( InitCodeSize+1, fp, im );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out a Zero-length packet (to end the series)
|
||||
+ */
|
||||
+ gdPutC( 0, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write the GIF file terminator
|
||||
+ */
|
||||
+ gdPutC( ';', fp );
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+GIFAnimEncode(gdIOCtx *fp, int IWidth, int IHeight, int LeftOfs, int TopOfs, int GInterlace, int Transparent, int Delay, int Disposal, int BitsPerPixel, int *Red, int *Green, int *Blue, gdImagePtr im)
|
||||
+{
|
||||
+ int ColorMapSize;
|
||||
+ int InitCodeSize;
|
||||
+ int i;
|
||||
+
|
||||
+ if (LeftOfs < 0) LeftOfs = 0;
|
||||
+ if (TopOfs < 0) TopOfs = 0;
|
||||
+ if (Delay < 0) Delay = 100;
|
||||
+ if (Disposal < 0) Disposal = 2;
|
||||
+
|
||||
+ Interlace = GInterlace;
|
||||
+
|
||||
+ ColorMapSize = 1 << BitsPerPixel;
|
||||
+
|
||||
+ Width = IWidth;
|
||||
+ Height = IHeight;
|
||||
+
|
||||
+ /*
|
||||
+ * Calculate number of bits we are expecting
|
||||
+ */
|
||||
+ CountDown = (long)Width * (long)Height;
|
||||
+
|
||||
+ /*
|
||||
+ * Indicate which pass we are on (if interlace)
|
||||
+ */
|
||||
+ Pass = 0;
|
||||
+
|
||||
+ /*
|
||||
+ * The initial code size
|
||||
+ */
|
||||
+ if( BitsPerPixel <= 1 )
|
||||
+ InitCodeSize = 2;
|
||||
+ else
|
||||
+ InitCodeSize = BitsPerPixel;
|
||||
+
|
||||
+ /*
|
||||
+ * Set up the current x and y position
|
||||
+ */
|
||||
+ curx = cury = 0;
|
||||
+
|
||||
+ /*
|
||||
+ * Write out extension for image animation and looping
|
||||
+ */
|
||||
+ gdPutC( '!', fp );
|
||||
+ gdPutC( 0xf9, fp );
|
||||
+ gdPutC( 4, fp );
|
||||
+ gdPutC( (Transparent >= 0 ? 1 : 0)
|
||||
+ | (Disposal << 2), fp );
|
||||
+ gdPutC( (unsigned char)(Delay & 255), fp );
|
||||
+ gdPutC( (unsigned char)((Delay >> 8) & 255), fp );
|
||||
+ gdPutC( (unsigned char) Transparent, fp );
|
||||
+ gdPutC( 0, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write an Image separator
|
||||
+ */
|
||||
+ gdPutC( ',', fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write the Image header
|
||||
+ */
|
||||
+
|
||||
+ Putword( LeftOfs, fp );
|
||||
+ Putword( TopOfs, fp );
|
||||
+ Putword( Width, fp );
|
||||
+ Putword( Height, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out whether or not the image is interlaced
|
||||
+ * and if it includes local colour map.
|
||||
+ */
|
||||
+ gdPutC( (Interlace ? 0x40 : 0)
|
||||
+ | (Red ? 0x80 : 0)
|
||||
+ | (Red ? BitsPerPixel - 1 : 0), fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out the Local Colour Map
|
||||
+ */
|
||||
+ if (Red)
|
||||
+ for( i=0; i<ColorMapSize; ++i ) {
|
||||
+ gdPutC( Red[i], fp );
|
||||
+ gdPutC( Green[i], fp );
|
||||
+ gdPutC( Blue[i], fp );
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * Write out the initial code size
|
||||
+ */
|
||||
+ gdPutC( InitCodeSize, fp );
|
||||
+
|
||||
+ /*
|
||||
+ * Go and actually compress the data
|
||||
+ */
|
||||
+ compress( InitCodeSize+1, fp, im );
|
||||
+
|
||||
+ /*
|
||||
+ * Write out a Zero-length packet (to end the series)
|
||||
+ */
|
||||
+ gdPutC( 0, fp );
|
||||
+}
|
||||
+
|
||||
+/* */
|
||||
+/* * Write out a word to the GIF file */
|
||||
+/* */
|
||||
+/*static void */
|
||||
+/*Putword(int w, FILE *fp) */
|
||||
+/*{ */
|
||||
+/* fputc( w & 0xff, fp ); */
|
||||
+/* fputc( (w / 256) & 0xff, fp ); */
|
||||
+/*} */
|
||||
+
|
||||
+
|
||||
+/***************************************************************************
|
||||
+ *
|
||||
+ * GIFCOMPR.C - GIF Image compression routines
|
||||
+ *
|
||||
+ * Lempel-Ziv compression based on 'compress'. GIF modifications by
|
||||
+ * David Rowley (mgardi@watdcsu.waterloo.edu)
|
||||
+ *
|
||||
+ ***************************************************************************/
|
||||
+
|
||||
+/*
|
||||
+ * General DEFINEs
|
||||
+ */
|
||||
+
|
||||
+#define GIFBITS 12
|
||||
+
|
||||
+#define HSIZE 5003 /* 80% occupancy */
|
||||
+
|
||||
+#ifdef NO_UCHAR
|
||||
+ typedef char char_type;
|
||||
+#else /*NO_UCHAR*/
|
||||
+ typedef unsigned char char_type;
|
||||
+#endif /*NO_UCHAR*/
|
||||
+
|
||||
+/*
|
||||
+ *
|
||||
+ * GIF Image compression - modified 'compress'
|
||||
+ *
|
||||
+ * Based on: compress.c - File compression ala IEEE Computer, June 1984.
|
||||
+ *
|
||||
+ * By Authors: Spencer W. Thomas (decvax!harpo!utah-cs!utah-gr!thomas)
|
||||
+ * Jim McKie (decvax!mcvax!jim)
|
||||
+ * Steve Davies (decvax!vax135!petsd!peora!srd)
|
||||
+ * Ken Turkowski (decvax!decwrl!turtlevax!ken)
|
||||
+ * James A. Woods (decvax!ihnp4!ames!jaw)
|
||||
+ * Joe Orost (decvax!vax135!petsd!joe)
|
||||
+ *
|
||||
+ */
|
||||
+#include <ctype.h>
|
||||
+
|
||||
+#define ARGVAL() (*++(*argv) || (--argc && *++argv))
|
||||
+
|
||||
+static int n_bits; /* number of bits/code */
|
||||
+static int maxbits = GIFBITS; /* user settable max # bits/code */
|
||||
+static code_int maxcode; /* maximum code, given n_bits */
|
||||
+static code_int maxmaxcode = (code_int)1 << GIFBITS; /* should NEVER generate this code */
|
||||
+#ifdef COMPATIBLE /* But wrong! */
|
||||
+# define MAXCODE(n_bits) ((code_int) 1 << (n_bits) - 1)
|
||||
+#else /*COMPATIBLE*/
|
||||
+# define MAXCODE(n_bits) (((code_int) 1 << (n_bits)) - 1)
|
||||
+#endif /*COMPATIBLE*/
|
||||
+
|
||||
+static count_int htab [HSIZE];
|
||||
+static unsigned short codetab [HSIZE];
|
||||
+#define HashTabOf(i) htab[i]
|
||||
+#define CodeTabOf(i) codetab[i]
|
||||
+
|
||||
+static code_int hsize = HSIZE; /* for dynamic table sizing */
|
||||
+
|
||||
+/*
|
||||
+ * To save much memory, we overlay the table used by compress() with those
|
||||
+ * used by decompress(). The tab_prefix table is the same size and type
|
||||
+ * as the codetab. The tab_suffix table needs 2**GIFBITS characters. We
|
||||
+ * get this from the beginning of htab. The output stack uses the rest
|
||||
+ * of htab, and contains characters. There is plenty of room for any
|
||||
+ * possible stack (stack used to be 8000 characters).
|
||||
+ */
|
||||
+
|
||||
+#define tab_prefixof(i) CodeTabOf(i)
|
||||
+#define tab_suffixof(i) ((char_type*)(htab))[i]
|
||||
+#define de_stack ((char_type*)&tab_suffixof((code_int)1<<GIFBITS))
|
||||
+
|
||||
+static code_int free_ent = 0; /* first unused entry */
|
||||
+
|
||||
+/*
|
||||
+ * block compression parameters -- after all codes are used up,
|
||||
+ * and compression rate changes, start over.
|
||||
+ */
|
||||
+static int clear_flg = 0;
|
||||
+
|
||||
+static int offset;
|
||||
+static long int in_count = 1; /* length of input */
|
||||
+static long int out_count = 0; /* # of codes output (for debugging) */
|
||||
+
|
||||
+/*
|
||||
+ * compress stdin to stdout
|
||||
+ *
|
||||
+ * Algorithm: use open addressing double hashing (no chaining) on the
|
||||
+ * prefix code / next character combination. We do a variant of Knuth's
|
||||
+ * algorithm D (vol. 3, sec. 6.4) along with G. Knott's relatively-prime
|
||||
+ * secondary probe. Here, the modular division first probe is gives way
|
||||
+ * to a faster exclusive-or manipulation. Also do block compression with
|
||||
+ * an adaptive reset, whereby the code table is cleared when the compression
|
||||
+ * ratio decreases, but after the table fills. The variable-length output
|
||||
+ * codes are re-sized at this point, and a special CLEAR code is generated
|
||||
+ * for the decompressor. Late addition: construct the table according to
|
||||
+ * file size for noticeable speed improvement on small files. Please direct
|
||||
+ * questions about this implementation to ames!jaw.
|
||||
+ */
|
||||
+
|
||||
+static int g_init_bits;
|
||||
+static gdIOCtx* g_outfile;
|
||||
+
|
||||
+static int ClearCode;
|
||||
+static int EOFCode;
|
||||
+
|
||||
+static void
|
||||
+compress(int init_bits, gdIOCtx *outfile, gdImagePtr im)
|
||||
+{
|
||||
+ register long fcode;
|
||||
+ register code_int i /* = 0 */;
|
||||
+ register int c;
|
||||
+ register code_int ent;
|
||||
+ register code_int disp;
|
||||
+ register code_int hsize_reg;
|
||||
+ register int hshift;
|
||||
+
|
||||
+ /*
|
||||
+ * Set up the globals: g_init_bits - initial number of bits
|
||||
+ * g_outfile - pointer to output file
|
||||
+ */
|
||||
+ g_init_bits = init_bits;
|
||||
+ g_outfile = outfile;
|
||||
+
|
||||
+ /*
|
||||
+ * Set up the necessary values
|
||||
+ */
|
||||
+ offset = 0;
|
||||
+ out_count = 0;
|
||||
+ clear_flg = 0;
|
||||
+ in_count = 1;
|
||||
+ maxcode = MAXCODE(n_bits = g_init_bits);
|
||||
+
|
||||
+ ClearCode = (1 << (init_bits - 1));
|
||||
+ EOFCode = ClearCode + 1;
|
||||
+ free_ent = ClearCode + 2;
|
||||
+
|
||||
+ char_init();
|
||||
+
|
||||
+ ent = GIFNextPixel( im );
|
||||
+
|
||||
+ hshift = 0;
|
||||
+ for ( fcode = (long) hsize; fcode < 65536L; fcode *= 2L )
|
||||
+ ++hshift;
|
||||
+ hshift = 8 - hshift; /* set hash code range bound */
|
||||
+
|
||||
+ hsize_reg = hsize;
|
||||
+ cl_hash( (count_int) hsize_reg); /* clear hash table */
|
||||
+
|
||||
+ output( (code_int)ClearCode );
|
||||
+
|
||||
+#ifdef SIGNED_COMPARE_SLOW
|
||||
+ while ( (c = GIFNextPixel( im )) != (unsigned) EOF ) {
|
||||
+#else /*SIGNED_COMPARE_SLOW*/
|
||||
+ while ( (c = GIFNextPixel( im )) != EOF ) { /* } */
|
||||
+#endif /*SIGNED_COMPARE_SLOW*/
|
||||
+
|
||||
+ ++in_count;
|
||||
+
|
||||
+ fcode = (long) (((long) c << maxbits) + ent);
|
||||
+ i = (((code_int)c << hshift) ^ ent); /* xor hashing */
|
||||
+
|
||||
+ if ( HashTabOf (i) == fcode ) {
|
||||
+ ent = CodeTabOf (i);
|
||||
+ continue;
|
||||
+ } else if ( (long)HashTabOf (i) < 0 ) /* empty slot */
|
||||
+ goto nomatch;
|
||||
+ disp = hsize_reg - i; /* secondary hash (after G. Knott) */
|
||||
+ if ( i == 0 )
|
||||
+ disp = 1;
|
||||
+probe:
|
||||
+ if ( (i -= disp) < 0 )
|
||||
+ i += hsize_reg;
|
||||
+
|
||||
+ if ( HashTabOf (i) == fcode ) {
|
||||
+ ent = CodeTabOf (i);
|
||||
+ continue;
|
||||
+ }
|
||||
+ if ( (long)HashTabOf (i) > 0 )
|
||||
+ goto probe;
|
||||
+nomatch:
|
||||
+ output ( (code_int) ent );
|
||||
+ ++out_count;
|
||||
+ ent = c;
|
||||
+#ifdef SIGNED_COMPARE_SLOW
|
||||
+ if ( (unsigned) free_ent < (unsigned) maxmaxcode) {
|
||||
+#else /*SIGNED_COMPARE_SLOW*/
|
||||
+ if ( free_ent < maxmaxcode ) { /* } */
|
||||
+#endif /*SIGNED_COMPARE_SLOW*/
|
||||
+ CodeTabOf (i) = free_ent++; /* code -> hashtable */
|
||||
+ HashTabOf (i) = fcode;
|
||||
+ } else
|
||||
+ cl_block();
|
||||
+ }
|
||||
+ /*
|
||||
+ * Put out the final code.
|
||||
+ */
|
||||
+ output( (code_int)ent );
|
||||
+ ++out_count;
|
||||
+ output( (code_int) EOFCode );
|
||||
+}
|
||||
+
|
||||
+/*****************************************************************
|
||||
+ * TAG( output )
|
||||
+ *
|
||||
+ * Output the given code.
|
||||
+ * Inputs:
|
||||
+ * code: A n_bits-bit integer. If == -1, then EOF. This assumes
|
||||
+ * that n_bits =< (long)wordsize - 1.
|
||||
+ * Outputs:
|
||||
+ * Outputs code to the file.
|
||||
+ * Assumptions:
|
||||
+ * Chars are 8 bits long.
|
||||
+ * Algorithm:
|
||||
+ * Maintain a GIFBITS character long buffer (so that 8 codes will
|
||||
+ * fit in it exactly). Use the VAX insv instruction to insert each
|
||||
+ * code in turn. When the buffer fills up empty it and start over.
|
||||
+ */
|
||||
+
|
||||
+static unsigned long cur_accum = 0;
|
||||
+static int cur_bits = 0;
|
||||
+
|
||||
+static unsigned long masks[] = { 0x0000, 0x0001, 0x0003, 0x0007, 0x000F,
|
||||
+ 0x001F, 0x003F, 0x007F, 0x00FF,
|
||||
+ 0x01FF, 0x03FF, 0x07FF, 0x0FFF,
|
||||
+ 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF };
|
||||
+
|
||||
+static void
|
||||
+output(code_int code)
|
||||
+{
|
||||
+ cur_accum &= masks[ cur_bits ];
|
||||
+
|
||||
+ if( cur_bits > 0 )
|
||||
+ cur_accum |= ((long)code << cur_bits);
|
||||
+ else
|
||||
+ cur_accum = code;
|
||||
+
|
||||
+ cur_bits += n_bits;
|
||||
+
|
||||
+ while( cur_bits >= 8 ) {
|
||||
+ char_out( (unsigned int)(cur_accum & 0xff) );
|
||||
+ cur_accum >>= 8;
|
||||
+ cur_bits -= 8;
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * If the next entry is going to be too big for the code size,
|
||||
+ * then increase it, if possible.
|
||||
+ */
|
||||
+ if ( free_ent > maxcode || clear_flg ) {
|
||||
+
|
||||
+ if( clear_flg ) {
|
||||
+
|
||||
+ maxcode = MAXCODE (n_bits = g_init_bits);
|
||||
+ clear_flg = 0;
|
||||
+
|
||||
+ } else {
|
||||
+
|
||||
+ ++n_bits;
|
||||
+ if ( n_bits == maxbits )
|
||||
+ maxcode = maxmaxcode;
|
||||
+ else
|
||||
+ maxcode = MAXCODE(n_bits);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if( code == EOFCode ) {
|
||||
+ /*
|
||||
+ * At EOF, write the rest of the buffer.
|
||||
+ */
|
||||
+ while( cur_bits > 0 ) {
|
||||
+ char_out( (unsigned int)(cur_accum & 0xff) );
|
||||
+ cur_accum >>= 8;
|
||||
+ cur_bits -= 8;
|
||||
+ }
|
||||
+
|
||||
+ flush_char();
|
||||
+
|
||||
+/* fflush( g_outfile ); */
|
||||
+/* */
|
||||
+/* if( ferror( g_outfile ) ) */
|
||||
+/* return; */
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Clear out the hash table
|
||||
+ */
|
||||
+static void
|
||||
+cl_block (void) /* table clear for block compress */
|
||||
+{
|
||||
+
|
||||
+ cl_hash ( (count_int) hsize );
|
||||
+ free_ent = ClearCode + 2;
|
||||
+ clear_flg = 1;
|
||||
+
|
||||
+ output( (code_int)ClearCode );
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+cl_hash(register count_int hsize) /* reset code table */
|
||||
+
|
||||
+{
|
||||
+
|
||||
+ register count_int *htab_p = htab+hsize;
|
||||
+
|
||||
+ register long i;
|
||||
+ register long m1 = -1;
|
||||
+
|
||||
+ i = hsize - 16;
|
||||
+ do { /* might use Sys V memset(3) here */
|
||||
+ *(htab_p-16) = m1;
|
||||
+ *(htab_p-15) = m1;
|
||||
+ *(htab_p-14) = m1;
|
||||
+ *(htab_p-13) = m1;
|
||||
+ *(htab_p-12) = m1;
|
||||
+ *(htab_p-11) = m1;
|
||||
+ *(htab_p-10) = m1;
|
||||
+ *(htab_p-9) = m1;
|
||||
+ *(htab_p-8) = m1;
|
||||
+ *(htab_p-7) = m1;
|
||||
+ *(htab_p-6) = m1;
|
||||
+ *(htab_p-5) = m1;
|
||||
+ *(htab_p-4) = m1;
|
||||
+ *(htab_p-3) = m1;
|
||||
+ *(htab_p-2) = m1;
|
||||
+ *(htab_p-1) = m1;
|
||||
+ htab_p -= 16;
|
||||
+ } while ((i -= 16) >= 0);
|
||||
+
|
||||
+ for ( i += 16; i > 0; --i )
|
||||
+ *--htab_p = m1;
|
||||
+}
|
||||
+
|
||||
+/******************************************************************************
|
||||
+ *
|
||||
+ * GIF Specific routines
|
||||
+ *
|
||||
+ ******************************************************************************/
|
||||
+
|
||||
+/*
|
||||
+ * Number of characters so far in this 'packet'
|
||||
+ */
|
||||
+static int a_count;
|
||||
+
|
||||
+/*
|
||||
+ * Set up the 'byte output' routine
|
||||
+ */
|
||||
+static void
|
||||
+char_init(void)
|
||||
+{
|
||||
+ a_count = 0;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Define the storage for the packet accumulator
|
||||
+ */
|
||||
+static char accum[ 256 ];
|
||||
+
|
||||
+/*
|
||||
+ * Add a character to the end of the current packet, and if it is 254
|
||||
+ * characters, flush the packet to disk.
|
||||
+ */
|
||||
+static void
|
||||
+char_out(int c)
|
||||
+{
|
||||
+ accum[ a_count++ ] = c;
|
||||
+ if( a_count >= 254 )
|
||||
+ flush_char();
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Flush the packet to disk, and reset the accumulator
|
||||
+ */
|
||||
+static void
|
||||
+flush_char(void)
|
||||
+{
|
||||
+ if( a_count > 0 ) {
|
||||
+ gdPutC( a_count, g_outfile );
|
||||
+ gdPutBuf( accum, a_count, g_outfile );
|
||||
+ a_count = 0;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void init_statics(void) {
|
||||
+ /* Some of these are properly initialized later. What I'm doing
|
||||
+ here is making sure code that depends on C's initialization
|
||||
+ of statics doesn't break when the code gets called more
|
||||
+ than once. */
|
||||
+ Width = 0;
|
||||
+ Height = 0;
|
||||
+ curx = 0;
|
||||
+ cury = 0;
|
||||
+ CountDown = 0;
|
||||
+ Pass = 0;
|
||||
+ Interlace = 0;
|
||||
+ a_count = 0;
|
||||
+ cur_accum = 0;
|
||||
+ cur_bits = 0;
|
||||
+ g_init_bits = 0;
|
||||
+ g_outfile = 0;
|
||||
+ ClearCode = 0;
|
||||
+ EOFCode = 0;
|
||||
+ free_ent = 0;
|
||||
+ clear_flg = 0;
|
||||
+ offset = 0;
|
||||
+ in_count = 1;
|
||||
+ out_count = 0;
|
||||
+ hsize = HSIZE;
|
||||
+ n_bits = 0;
|
||||
+ maxbits = GIFBITS;
|
||||
+ maxcode = 0;
|
||||
+ maxmaxcode = (code_int)1 << GIFBITS;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+/* +-------------------------------------------------------------------+ */
|
||||
+/* | Copyright 1990, 1991, 1993, David Koblas. (koblas@netcom.com) | */
|
||||
+/* | Permission to use, copy, modify, and distribute this software | */
|
||||
+/* | and its documentation for any purpose and without fee is hereby | */
|
||||
+/* | granted, provided that the above copyright notice appear in all | */
|
||||
+/* | copies and that both that copyright notice and this permission | */
|
||||
+/* | notice appear in supporting documentation. This software is | */
|
||||
+/* | provided "as is" without express or implied warranty. | */
|
||||
+/* +-------------------------------------------------------------------+ */
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
--- ext/gd/php_gd.h.orig Mon Mar 31 10:49:30 2003
|
||||
+++ ext/gd/php_gd.h Sat Jun 28 15:47:56 2003
|
||||
@@ -40,6 +40,8 @@
|
||||
#define PHP_GDIMG_TYPE_GD 8
|
||||
#define PHP_GDIMG_TYPE_GD2 9
|
||||
#define PHP_GDIMG_TYPE_GD2PART 10
|
||||
+#define PHP_GDIMG_TYPE_GIFANIMBEGIN 11
|
||||
+#define PHP_GDIMG_TYPE_GIFANIMADD 12
|
||||
|
||||
#ifdef PHP_WIN32
|
||||
#define PHP_GD_API __declspec(dllexport)
|
||||
@@ -137,6 +139,9 @@
|
||||
PHP_FUNCTION(imagefontheight);
|
||||
|
||||
PHP_FUNCTION(imagegif );
|
||||
+PHP_FUNCTION(imagegifanimbegin);
|
||||
+PHP_FUNCTION(imagegifanimadd);
|
||||
+PHP_FUNCTION(imagegifanimend);
|
||||
PHP_FUNCTION(imagejpeg );
|
||||
PHP_FUNCTION(imagepng);
|
||||
PHP_FUNCTION(imagewbmp);
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
--- main/php_config.h.in.orig Thu Jun 19 00:06:40 2003
|
||||
+++ main/php_config.h.in Sat Jun 28 15:47:56 2003
|
||||
@@ -1523,6 +1523,9 @@
|
||||
#undef HAVE_GD_GIF_CREATE
|
||||
|
||||
--- main/php_config.h.in.orig Mon Jul 12 16:30:37 2004
|
||||
+++ main/php_config.h.in Mon Jul 12 16:31:38 2004
|
||||
@@ -2362,6 +2362,9 @@
|
||||
/* */
|
||||
+#undef HAVE_GD_GIF_ANIM
|
||||
#undef SOLARIS_YP
|
||||
|
||||
+/* Include external shared modules configurations */
|
||||
+#include "ext/php_config.h"
|
||||
+
|
||||
+/* */
|
||||
#undef HAVE_GD_WBMP
|
||||
/* Whether sprintf is broken */
|
||||
#undef ZEND_BROKEN_SPRINTF
|
||||
|
||||
/* */
|
||||
|
|
|
|||
|
|
@ -1,18 +1,20 @@
|
|||
--- pear/scripts/pearcmd.php.orig Fri May 16 17:31:37 2003
|
||||
+++ pear/scripts/pearcmd.php Fri May 16 17:36:10 2003
|
||||
--- pear/scripts/pearcmd.php.orig Sun Jun 6 17:52:41 2004
|
||||
+++ pear/scripts/pearcmd.php Mon Jul 12 16:22:50 2004
|
||||
@@ -1,3 +1,4 @@
|
||||
+#!%%PREFIX%%/bin/php -n -dsafe_mode=0 -doutput_buffering=1
|
||||
+#!%%PREFIX%%/bin/php -n -q -dsafe_mode=0 -doutput_buffering=1
|
||||
<?php
|
||||
//
|
||||
// +----------------------------------------------------------------------+
|
||||
@@ -24,9 +25,7 @@
|
||||
@@ -24,9 +25,9 @@
|
||||
/**
|
||||
* @nodep Gtk
|
||||
*/
|
||||
-if ('@include_path@' != '@'.'include_path'.'@') {
|
||||
- ini_set('include_path', '@include_path@');
|
||||
-}
|
||||
+dl('pcre.so');
|
||||
+dl('xml.so');
|
||||
+ini_set('include_path', '%%PREFIX%%/share/pear:%%PREFIX%%/share/pear/bootstrap');
|
||||
ini_set('allow_url_fopen', true);
|
||||
set_time_limit(0);
|
||||
ob_implicit_flush(true);
|
||||
if (!ini_get('safe_mode')) {
|
||||
set_time_limit(0);
|
||||
|
|
|
|||
|
|
@ -1,19 +1,15 @@
|
|||
--- scripts/Makefile.frag.orig Mon Jun 28 10:41:39 2004
|
||||
+++ scripts/Makefile.frag Mon Jun 28 10:47:24 2004
|
||||
@@ -29,12 +29,15 @@
|
||||
main/ \
|
||||
main/streams/ \
|
||||
--- scripts/Makefile.frag.orig Mon Jul 12 19:30:23 2004
|
||||
+++ scripts/Makefile.frag Mon Jul 12 19:30:48 2004
|
||||
@@ -31,11 +31,7 @@
|
||||
regex/ \
|
||||
+ ext/gd/ \
|
||||
+ ext/gd/libgd/ \
|
||||
ext/libxml/ \
|
||||
ext/standard/ \
|
||||
ext/session/ \
|
||||
ext/xml/ \
|
||||
- ext/session/ \
|
||||
- ext/xml/ \
|
||||
- ext/xml/expat/ \
|
||||
ext/mbstring/ \
|
||||
+ ext/mbstring/libmbfl/ \
|
||||
+ ext/mbstring/libmbfl/mbfl/ \
|
||||
ext/sqlite/libsqlite/src/sqlite.h
|
||||
- ext/mbstring/ \
|
||||
- ext/sqlite/libsqlite/src/sqlite.h
|
||||
+ ext/spl/
|
||||
|
||||
install-headers:
|
||||
-@for i in $(HEADER_DIRS); do \
|
||||
|
|
|
|||
|
|
@ -1,19 +0,0 @@
|
|||
*****************************************************************************
|
||||
|
||||
You have installed the php5 package.
|
||||
|
||||
Have a look at the php5 port if you need additional extensions other than
|
||||
CTYPE, DOM, ICONV, PCRE, POSIX, SESSION, SIMPLEXML, SPL, SQLITE, TOKENIZER
|
||||
and XML.
|
||||
|
||||
You can find it at
|
||||
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/lang/php5.tar
|
||||
|
||||
Make sure index.php is part of your DirectoryIndex.
|
||||
|
||||
You should add the following to your Apache configuration file:
|
||||
|
||||
AddType application/x-httpd-php .php
|
||||
AddType application/x-httpd-php-source .phps
|
||||
|
||||
*****************************************************************************
|
||||
10
lang/php53/pkg-message.mod
Normal file
10
lang/php53/pkg-message.mod
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
***************************************************************
|
||||
|
||||
Make sure index.php is part of your DirectoryIndex.
|
||||
|
||||
You should add the following to your Apache configuration file:
|
||||
|
||||
AddType application/x-httpd-php .php
|
||||
AddType application/x-httpd-php-source .phps
|
||||
|
||||
***************************************************************
|
||||
8
lang/php53/pkg-message.pear
Normal file
8
lang/php53/pkg-message.pear
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
*********************************************************
|
||||
|
||||
To use PEAR you have to add the correct include path into
|
||||
your ${LOCALBASE}/etc/php.ini configuration file, like:
|
||||
|
||||
include_path = ".:${PREFIX}/share/pear"
|
||||
|
||||
*********************************************************
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
%%CLI%%%%PEAR%%bin/pear
|
||||
%%CLI%%bin/php
|
||||
bin/php-config
|
||||
bin/phpextdist
|
||||
bin/phpize
|
||||
etc/php.conf
|
||||
@exec touch %D/etc/php.ini
|
||||
@unexec [ -s %D/etc/php.ini ] || rm %D/etc/php.ini
|
||||
etc/php.ini-dist
|
||||
etc/php.ini-recommended
|
||||
include/php/TSRM/TSRM.h
|
||||
|
|
@ -67,45 +68,14 @@ include/php/Zend/zend_ts_hash.h
|
|||
include/php/Zend/zend_types.h
|
||||
include/php/Zend/zend_variables.h
|
||||
include/php/acconfig.h
|
||||
include/php/ext/gd/gdcache.h
|
||||
include/php/ext/gd/gdttf.h
|
||||
include/php/ext/gd/libgd/gd.h
|
||||
include/php/ext/gd/libgd/gd_io.h
|
||||
include/php/ext/gd/libgd/gdcache.h
|
||||
include/php/ext/gd/libgd/gdfontg.h
|
||||
include/php/ext/gd/libgd/gdfontl.h
|
||||
include/php/ext/gd/libgd/gdfontmb.h
|
||||
include/php/ext/gd/libgd/gdfonts.h
|
||||
include/php/ext/gd/libgd/gdfontt.h
|
||||
include/php/ext/gd/libgd/gdhelpers.h
|
||||
include/php/ext/gd/libgd/jisx0208.h
|
||||
include/php/ext/gd/libgd/wbmp.h
|
||||
include/php/ext/gd/php_gd.h
|
||||
include/php/ext/libxml/php_libxml.h
|
||||
include/php/ext/mbstring/mb_gpc.h
|
||||
include/php/ext/mbstring/mbstring.h
|
||||
include/php/ext/mbstring/php_mbregex.h
|
||||
include/php/ext/mbstring/php_unicode.h
|
||||
include/php/ext/mbstring/unicode_data.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfilter.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfilter_pass.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_allocators.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_consts.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_convert.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_defs.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_ident.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_language.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h
|
||||
include/php/ext/mbstring/libmbfl/mbfl/mbfl_string.h
|
||||
include/php/ext/session/mod_files.h
|
||||
include/php/ext/session/mod_mm.h
|
||||
include/php/ext/session/mod_user.h
|
||||
include/php/ext/session/php_session.h
|
||||
include/php/ext/sqlite/libsqlite/src/sqlite.h
|
||||
include/php/ext/spl/php_spl.h
|
||||
include/php/ext/spl/spl_array.h
|
||||
include/php/ext/spl/spl_directory.h
|
||||
include/php/ext/spl/spl_engine.h
|
||||
include/php/ext/spl/spl_functions.h
|
||||
include/php/ext/spl/spl_iterators.h
|
||||
include/php/ext/spl/spl_sxe.h
|
||||
include/php/ext/standard/base64.h
|
||||
include/php/ext/standard/basic_functions.h
|
||||
include/php/ext/standard/crc32.h
|
||||
|
|
@ -168,8 +138,8 @@ include/php/ext/standard/uniqid.h
|
|||
include/php/ext/standard/url.h
|
||||
include/php/ext/standard/url_scanner.h
|
||||
include/php/ext/standard/url_scanner_ex.h
|
||||
include/php/ext/xml/expat_compat.h
|
||||
include/php/ext/xml/php_xml.h
|
||||
@exec touch %D/include/php/ext/php_config.h
|
||||
@unexec [ -s %D/include/php/ext/php_config.h ] || rm %D/include/php/ext/php_config.h
|
||||
include/php/main/SAPI.h
|
||||
include/php/main/build-defs.h
|
||||
include/php/main/config.nw.h
|
||||
|
|
@ -226,65 +196,15 @@ lib/php/build/shtool
|
|||
%%SAPI_FILE%%
|
||||
%%APACHE%%@exec %D/sbin/apxs -e -a -n php5 %f
|
||||
%%APACHE%%@unexec %D/sbin/apxs -e -A -n php5 %f
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/Archive/Tar.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/System.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/Console/Getopt.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/OS/Guess.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Autoloader.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Builder.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Auth.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Build.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Common.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Config.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Install.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Mirror.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Package.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Registry.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Command/Remote.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Common.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Config.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Dependency.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/DependencyDB.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Downloader.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/ErrorStack.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Exception.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Frontend/CLI.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Installer.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Packager.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Registry.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/PEAR/Remote.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/XML/RPC.php
|
||||
%%CLI%%%%PEAR%%share/pear/bootstrap/XML/RPC/Server.php
|
||||
@dirrm include/php/TSRM
|
||||
@dirrm include/php/Zend
|
||||
@dirrm include/php/ext/gd/libgd
|
||||
@dirrm include/php/ext/gd
|
||||
@dirrm include/php/ext/libxml
|
||||
@dirrm include/php/ext/mbstring/libmbfl/mbfl
|
||||
@dirrm include/php/ext/mbstring/libmbfl
|
||||
@dirrm include/php/ext/mbstring
|
||||
@dirrm include/php/ext/session
|
||||
@dirrm include/php/ext/sqlite/libsqlite/src
|
||||
@dirrm include/php/ext/sqlite/libsqlite
|
||||
@dirrm include/php/ext/sqlite
|
||||
@dirrm include/php/ext/spl
|
||||
@dirrm include/php/ext/standard
|
||||
@dirrm include/php/ext/xml
|
||||
@dirrm include/php/ext
|
||||
@unexec rmdir %D/include/php/ext 2> /dev/null || true
|
||||
@dirrm include/php/main/streams
|
||||
@dirrm include/php/main
|
||||
@dirrm include/php/regex
|
||||
@dirrm include/php/
|
||||
@unexec rmdir %D/include/php 2> /dev/null || true
|
||||
@dirrm lib/php/build
|
||||
@unexec rmdir %D/lib/php 2> /dev/null || true
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/Archive
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/Console
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/OS
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/PEAR/Command
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/PEAR/Frontend
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/PEAR
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/XML/RPC
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap/XML
|
||||
%%CLI%%%%PEAR%%@dirrm share/pear/bootstrap
|
||||
%%CLI%%%%PEAR%%@unexec rmdir %D/share/pear 2> /dev/null || true
|
||||
|
|
|
|||
42
lang/php53/pkg-plist.pear
Normal file
42
lang/php53/pkg-plist.pear
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
bin/pear
|
||||
share/pear/bootstrap/Archive/Tar.php
|
||||
share/pear/bootstrap/PEAR.php
|
||||
share/pear/bootstrap/System.php
|
||||
share/pear/bootstrap/Console/Getopt.php
|
||||
share/pear/bootstrap/OS/Guess.php
|
||||
share/pear/bootstrap/PEAR/Autoloader.php
|
||||
share/pear/bootstrap/PEAR/Builder.php
|
||||
share/pear/bootstrap/PEAR/Command.php
|
||||
share/pear/bootstrap/PEAR/Command/Auth.php
|
||||
share/pear/bootstrap/PEAR/Command/Build.php
|
||||
share/pear/bootstrap/PEAR/Command/Common.php
|
||||
share/pear/bootstrap/PEAR/Command/Config.php
|
||||
share/pear/bootstrap/PEAR/Command/Install.php
|
||||
share/pear/bootstrap/PEAR/Command/Mirror.php
|
||||
share/pear/bootstrap/PEAR/Command/Package.php
|
||||
share/pear/bootstrap/PEAR/Command/Registry.php
|
||||
share/pear/bootstrap/PEAR/Command/Remote.php
|
||||
share/pear/bootstrap/PEAR/Common.php
|
||||
share/pear/bootstrap/PEAR/Config.php
|
||||
share/pear/bootstrap/PEAR/Dependency.php
|
||||
share/pear/bootstrap/PEAR/DependencyDB.php
|
||||
share/pear/bootstrap/PEAR/Downloader.php
|
||||
share/pear/bootstrap/PEAR/ErrorStack.php
|
||||
share/pear/bootstrap/PEAR/Exception.php
|
||||
share/pear/bootstrap/PEAR/Frontend/CLI.php
|
||||
share/pear/bootstrap/PEAR/Installer.php
|
||||
share/pear/bootstrap/PEAR/Packager.php
|
||||
share/pear/bootstrap/PEAR/Registry.php
|
||||
share/pear/bootstrap/PEAR/Remote.php
|
||||
share/pear/bootstrap/XML/RPC.php
|
||||
share/pear/bootstrap/XML/RPC/Server.php
|
||||
@dirrm share/pear/bootstrap/Archive
|
||||
@dirrm share/pear/bootstrap/Console
|
||||
@dirrm share/pear/bootstrap/OS
|
||||
@dirrm share/pear/bootstrap/PEAR/Command
|
||||
@dirrm share/pear/bootstrap/PEAR/Frontend
|
||||
@dirrm share/pear/bootstrap/PEAR
|
||||
@dirrm share/pear/bootstrap/XML/RPC
|
||||
@dirrm share/pear/bootstrap/XML
|
||||
@dirrm share/pear/bootstrap
|
||||
@unexec rmdir %D/share/pear 2> /dev/null || true
|
||||
|
|
@ -1,109 +0,0 @@
|
|||
#!/bin/sh
|
||||
# $FreeBSD$
|
||||
|
||||
if [ -f ${WRKDIR}/Makefile.inc ]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
tempfile=`/usr/bin/mktemp -t checklist`
|
||||
|
||||
if [ "${BATCH}" ]; then
|
||||
echo "${SEL_OPTIONS}" > $tempfile
|
||||
else
|
||||
if [ -f "${OPTION_FILE}" ]; then
|
||||
for i in `${CAT} ${OPTION_FILE}`
|
||||
do
|
||||
export $i
|
||||
done
|
||||
fi
|
||||
/usr/bin/dialog --title "configuration options" --clear --checklist "\n\
|
||||
Please select desired options:" -1 -1 16 \
|
||||
BCMATH "bc style precision math functions" ${WITH_BCMATH:-OFF} \
|
||||
BZIP2 "bzip2 library support" ${WITH_BZIP2:-OFF} \
|
||||
CALENDAR "calendar conversion support" ${WITH_CALENDAR:-OFF} \
|
||||
CDB "cdb database support (dba)" ${WITH_CDB:-OFF} \
|
||||
CRACK "crack support" ${WITH_CRACK:-OFF} \
|
||||
CTYPE "ctype functions" ${WITH_CTYPE:-OFF} \
|
||||
CURL "CURL support" ${WITH_CURL:-OFF} \
|
||||
DB4 "Berkeley DB4 support" ${WITH_DB4:-OFF} \
|
||||
DBASE "dBase library support" ${WITH_DBASE:-OFF} \
|
||||
DBX "dbx support" ${WITH_DBX:-OFF} \
|
||||
DIO "Direct I/O support" ${WITH_DIO:-OFF} \
|
||||
DOM "DOM support" ${WITH_DOM:-OFF} \
|
||||
EXIF "EXIF support" ${WITH_EXIF:-OFF} \
|
||||
FILEPRO "filePro support" ${WITH_FILEPRO:-OFF} \
|
||||
FTP "FTP support" ${WITH_FTP:-OFF} \
|
||||
GD "GD library support" ${WITH_GD:-OFF} \
|
||||
GDBM "GDBM database support (dba)" ${WITH_GDBM:-OFF} \
|
||||
GETTEXT "gettext library support" ${WITH_GETTEXT:-OFF} \
|
||||
GMP "GNU MP support" ${WITH_GMP:-OFF} \
|
||||
ICONV "iconv support" ${WITH_ICONV:-ON} \
|
||||
IMAP "IMAP support" ${WITH_IMAP:-OFF} \
|
||||
INIFILE "INI file support (dba)" ${WITH_INIFILE:-OFF} \
|
||||
INTERBASE "Interbase 6 database support (Firebird)" ${WITH_INTERBASE:-OFF} \
|
||||
MBSTRING "multibyte string support" ${WITH_MBSTRING:-OFF} \
|
||||
MCVE "MCVE support (implies OPENSSL)" ${WITH_MCVE:-OFF} \
|
||||
MCRYPT "Encryption support" ${WITH_MCRYPT:-OFF} \
|
||||
MHASH "Crypto-hashing support" ${WITH_MHASH:-OFF} \
|
||||
MING "ming shockwave flash support" ${WITH_MING:-OFF} \
|
||||
MNOGOSEARCH "mnoGoSearch support" ${WITH_MNOGOSEARCH:-OFF} \
|
||||
MSSQL "MS-SQL database support" ${WITH_MSSQL:-OFF} \
|
||||
MYSQL "MySQL database support" ${WITH_MYSQL:-OFF} \
|
||||
MYSQLI "MySQLi database support" ${WITH_MYSQLI:-OFF} \
|
||||
NCURSES "ncurses support (CLI only)" ${WITH_NCURSES:-OFF} \
|
||||
OPENLDAP "OpenLDAP support" ${WITH_OPENLDAP:-OFF} \
|
||||
OPENSSL "OpenSSL support" ${WITH_OPENSSL:-OFF} \
|
||||
ORACLE "Oracle support" ${WITH_ORACLE:-OFF} \
|
||||
PCNTL "pcntl support (CLI only)" ${WITH_PCNTL:-OFF} \
|
||||
PCRE "Perl Compatible Regular Expression support" ${WITH_PCRE:-OFF} \
|
||||
POSIX "POSIX-like functions" ${WITH_POSIX:-OFF} \
|
||||
POSTGRESQL "PostgreSQL database support" ${WITH_POSTGRESQL:-OFF} \
|
||||
PSPELL "pspell support" ${WITH_PSPELL:-OFF} \
|
||||
READLINE "readline support (CLI only)" ${WITH_READLINE:-OFF} \
|
||||
RECODE "recode support" ${WITH_RECODE:-OFF} \
|
||||
SESSION "session support" ${WITH_SESSION:-OFF} \
|
||||
SHMOP "shmop support" ${WITH_SHMOP:-OFF} \
|
||||
SIMPLEXML "simplexml support" ${WITH_SIMPLEXML:-OFF} \
|
||||
SNMP "SNMP support (implies OPENSSL)" ${WITH_SNMP:-OFF} \
|
||||
SOAP "SOAP support" ${WITH_SOAP:-OFF} \
|
||||
SOCKETS "sockets support" ${WITH_SOCKETS:-OFF} \
|
||||
SPL "Standard PHP Library support" ${WITH_SPL:-ON} \
|
||||
SQLITE "sqlite support" ${WITH_SQLITE:-OFF} \
|
||||
SYBASEDB "Sybase database support (DB-lib)" ${WITH_SYBASEDB:-OFF} \
|
||||
SYBASECT "Sybase database support (CT-lib)" ${WITH_SYBASECT:-OFF} \
|
||||
SYSVMSG "System V message support" ${WITH_SYSVMSG:-OFF} \
|
||||
SYSVSEM "System V semaphore support" ${WITH_SYSVSEM:-OFF} \
|
||||
SYSVSHM "System V shared memory support" ${WITH_SYSVSHM:-OFF} \
|
||||
TIDY "TIDY support" ${WITH_TIDY:-OFF} \
|
||||
TOKENIZER "tokenizer support" ${WITH_TOKENIZER:-OFF} \
|
||||
UNIXODBC "unixODBC support" ${WITH_UNIXODBC:-OFF} \
|
||||
WDDX "WDDX support (implies XML)" ${WITH_WDDX:-OFF} \
|
||||
XML "XML support" ${WITH_XML:-OFF} \
|
||||
XMLRPC "XMLRPC-EPI support (implies ICONV)" ${WITH_XMLRPC:-OFF} \
|
||||
XSL "XSL support" ${WITH_XSL:-OFF} \
|
||||
YP "YP/NIS support" ${WITH_YP:-OFF} \
|
||||
ZLIB "ZLIB support" ${WITH_ZLIB:-OFF} \
|
||||
2> $tempfile
|
||||
fi
|
||||
|
||||
retval=$?
|
||||
|
||||
if [ -s $tempfile ]; then
|
||||
set `${CAT} $tempfile | ${SED} 's|"||g'`
|
||||
fi
|
||||
rm -f $tempfile
|
||||
|
||||
case $retval in
|
||||
0) if [ -z "$*" ]; then
|
||||
echo "Nothing selected"
|
||||
fi
|
||||
;;
|
||||
1) echo "Cancel pressed."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
exec > ${WRKDIR}/Makefile.inc
|
||||
while [ $1 ]; do
|
||||
echo "WITH_$1=yes";
|
||||
shift
|
||||
done
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
WITH_BCMATH=OFF
|
||||
WITH_BZIP2=OFF
|
||||
WITH_CALENDAR=OFF
|
||||
WITH_CDB=OFF
|
||||
WITH_CRACK=OFF
|
||||
WITH_CTYPE=ON
|
||||
WITH_CURL=OFF
|
||||
WITH_DB4=OFF
|
||||
WITH_DBASE=OFF
|
||||
WITH_DBX=OFF
|
||||
WITH_DIO=OFF
|
||||
WITH_DOM=ON
|
||||
WITH_EXIF=OFF
|
||||
WITH_FILEPRO=OFF
|
||||
WITH_FTP=OFF
|
||||
WITH_GD=OFF
|
||||
WITH_GDBM=OFF
|
||||
WITH_GETTEXT=OFF
|
||||
WITH_GMP=OFF
|
||||
WITH_ICONV=ON
|
||||
WITH_IMAP=OFF
|
||||
WITH_INIFILE=OFF
|
||||
WITH_INTERBASE=OFF
|
||||
WITH_MBSTRING=OFF
|
||||
WITH_MCVE=OFF
|
||||
WITH_MCRYPT=OFF
|
||||
WITH_MHASH=OFF
|
||||
WITH_MING=OFF
|
||||
WITH_MNOGOSEARCH=OFF
|
||||
WITH_MSSQL=OFF
|
||||
WITH_MYSQL=OFF
|
||||
WITH_MYSQLI=OFF
|
||||
WITH_NCURSES=OFF
|
||||
WITH_OPENLDAP=OFF
|
||||
WITH_OPENSSL=OFF
|
||||
WITH_ORACLE=OFF
|
||||
WITH_PCNTL=OFF
|
||||
WITH_PCRE=ON
|
||||
WITH_POSIX=ON
|
||||
WITH_POSTGRESQL=OFF
|
||||
WITH_PSPELL=OFF
|
||||
WITH_READLINE=OFF
|
||||
WITH_RECODE=OFF
|
||||
WITH_SESSION=ON
|
||||
WITH_SHMOP=OFF
|
||||
WITH_SIMPLEXML=ON
|
||||
WITH_SNMP=OFF
|
||||
WITH_SOAP=OFF
|
||||
WITH_SOCKETS=OFF
|
||||
WITH_SPL=ON
|
||||
WITH_SQLITE=ON
|
||||
WITH_SYBASEDB=OFF
|
||||
WITH_SYBASECT=OFF
|
||||
WITH_SYSVMSG=OFF
|
||||
WITH_SYSVSEM=OFF
|
||||
WITH_SYSVSHM=OFF
|
||||
WITH_TIDY=OFF
|
||||
WITH_TOKENIZER=ON
|
||||
WITH_UNIXODBC=OFF
|
||||
WITH_WDDX=OFF
|
||||
WITH_XML=ON
|
||||
WITH_XMLRPC=OFF
|
||||
WITH_XSL=OFF
|
||||
WITH_YP=OFF
|
||||
WITH_ZLIB=ON
|
||||
|
|
@ -4,18 +4,16 @@
|
|||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# Instructions on how to enable preferred extensions can be found in the
|
||||
# Makefile of the master port (lang/php4).
|
||||
#
|
||||
|
||||
PORTEPOCH= 1
|
||||
CATEGORIES= www
|
||||
PKGNAMEPREFIX= mod_
|
||||
|
||||
MAINTAINER= sysadmin@alexdupre.com
|
||||
MAINTAINER= ale@FreeBSD.org
|
||||
COMMENT= PHP Apache Module
|
||||
|
||||
PKGMESSAGE= ${.CURDIR}/pkg-message
|
||||
MASTERDIR= ${.CURDIR}/../../lang/php4
|
||||
|
||||
WITHOUT_CLI= yes
|
||||
CONFLICTS= php4-4* php4-cli-4* php4-cgi-4*
|
||||
|
||||
.include "${MASTERDIR}/Makefile"
|
||||
|
|
|
|||
|
|
@ -1,18 +0,0 @@
|
|||
*****************************************************************************
|
||||
|
||||
You have installed the mod_php4 package.
|
||||
|
||||
Have a look at the mod_php4 port if you need additional extensions other than
|
||||
CTYPE, MYSQL, OVERLOAD, PCRE, POSIX, SESSION, TOKENIZER, XML and ZLIB.
|
||||
|
||||
You can find it at
|
||||
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/www/mod_php4.tar
|
||||
|
||||
Make sure index.php is part of your DirectoryIndex.
|
||||
|
||||
You should add the following to your Apache configuration file:
|
||||
|
||||
AddType application/x-httpd-php .php
|
||||
AddType application/x-httpd-php-source .phps
|
||||
|
||||
*****************************************************************************
|
||||
|
|
@ -4,18 +4,16 @@
|
|||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# Instructions on how to enable preferred extensions can be found in the
|
||||
# Makefile of the master port (lang/php5).
|
||||
#
|
||||
|
||||
PORTEPOCH= 1
|
||||
CATEGORIES= www
|
||||
PKGNAMEPREFIX= mod_
|
||||
|
||||
MAINTAINER= sysadmin@alexdupre.com
|
||||
MAINTAINER= ale@FreeBSD.org
|
||||
COMMENT= PHP Apache Module
|
||||
|
||||
PKGMESSAGE= ${.CURDIR}/pkg-message
|
||||
MASTERDIR= ${.CURDIR}/../../lang/php5
|
||||
|
||||
WITHOUT_CLI= yes
|
||||
CONFLICTS= php5-5* php5-cli-5* php5-cgi-5*
|
||||
|
||||
.include "${MASTERDIR}/Makefile"
|
||||
|
|
|
|||
|
|
@ -1,19 +0,0 @@
|
|||
*****************************************************************************
|
||||
|
||||
You have installed the mod_php5 package.
|
||||
|
||||
Have a look at the mod_php5 port if you need additional extensions other than
|
||||
CTYPE, DOM, ICONV, PCRE, POSIX, SESSION, SIMPLEXML, SPL, SQLITE, TOKENIZER
|
||||
and XML.
|
||||
|
||||
You can find it at
|
||||
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/www/mod_php5.tar
|
||||
|
||||
Make sure index.php is part of your DirectoryIndex.
|
||||
|
||||
You should add the following to your Apache configuration file:
|
||||
|
||||
AddType application/x-httpd-php .php
|
||||
AddType application/x-httpd-php-source .phps
|
||||
|
||||
*****************************************************************************
|
||||
|
|
@ -4,18 +4,15 @@
|
|||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# Instructions on how to enable preferred extensions can be found in the
|
||||
# Makefile of the master port (lang/php4).
|
||||
#
|
||||
|
||||
CATEGORIES= www
|
||||
PKGNAMESUFFIX= -cgi
|
||||
|
||||
MAINTAINER= sysadmin@alexdupre.com
|
||||
MAINTAINER= ale@FreeBSD.org
|
||||
COMMENT= PHP Common Gateway Interface
|
||||
|
||||
PKGMESSAGE= ${.CURDIR}/pkg-message
|
||||
MASTERDIR= ${.CURDIR}/../../lang/php4
|
||||
|
||||
WITHOUT_APACHE= yes
|
||||
WITHOUT_CLI= yes
|
||||
CONFLICTS= php4-4* php4-cli-4* mod_php4-4*
|
||||
|
||||
.include "${MASTERDIR}/Makefile"
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
*****************************************************************************
|
||||
|
||||
You have installed the php4-cgi package.
|
||||
|
||||
Have a look at the php4-cgi port if you need additional extensions other than
|
||||
CTYPE, MYSQL, OVERLOAD, PCRE, POSIX, SESSION, TOKENIZER, XML and ZLIB.
|
||||
|
||||
You can find it at
|
||||
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/www/php4-cgi.tar
|
||||
|
||||
*****************************************************************************
|
||||
|
|
@ -4,18 +4,15 @@
|
|||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# Instructions on how to enable preferred extensions can be found in the
|
||||
# Makefile of the master port (lang/php5).
|
||||
#
|
||||
|
||||
CATEGORIES= www
|
||||
PKGNAMESUFFIX= -cgi
|
||||
|
||||
MAINTAINER= sysadmin@alexdupre.com
|
||||
MAINTAINER= ale@FreeBSD.org
|
||||
COMMENT= PHP Common Gateway Interface
|
||||
|
||||
PKGMESSAGE= ${.CURDIR}/pkg-message
|
||||
MASTERDIR= ${.CURDIR}/../../lang/php5
|
||||
|
||||
WITHOUT_APACHE= yes
|
||||
WITHOUT_CLI= yes
|
||||
CONFLICTS= php5-5* php5-cli-5* mod_php5-5*
|
||||
|
||||
.include "${MASTERDIR}/Makefile"
|
||||
|
|
|
|||
|
|
@ -1,12 +0,0 @@
|
|||
*****************************************************************************
|
||||
|
||||
You have installed the php5-cgi package.
|
||||
|
||||
Have a look at the php5-cgi port if you need additional extensions other than
|
||||
CTYPE, DOM, ICONV, PCRE, POSIX, SESSION, SIMPLEXML, SPL, SQLITE, TOKENIZER
|
||||
and XML.
|
||||
|
||||
You can find it at
|
||||
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/www/php5-cgi.tar
|
||||
|
||||
*****************************************************************************
|
||||
Loading…
Add table
Reference in a new issue