freebsd-ports/lang/php52/Makefile.ext
John Marino 5511fddafd lang/php5*: Fix spl/simplexml modules (4 ports)
The simplexml module uses spl which uses pcre (php53,54,55).  For php52,
the fix is applied directly to spl.  In any case, the bundled PCRE is not
used, so it needs to be able to find the external pcre library and related
headers.  Unfortunately, there is no include for ${LOCALBASE}/include
directory.  This commit adds to fix simplexml (or spl) module build.

Approved by:	portmgr (bapt)
2013-09-13 21:31:47 +00:00

635 lines
12 KiB
Text

COMMENT= The ${PHP_MODNAME} shared extension for php
USE_PHP= yes
USE_PHPEXT= yes
PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
DEFAULT_PHP_VER=52
IGNORE_WITH_PHP=4 5
EXTSUBDIR= ${DISTNAME}/ext/${PHP_MODNAME}
WRKSRC= ${WRKDIR}/${EXTSUBDIR}
PATCHDIR= ${.CURDIR}/files
PLIST= ${NONEXISTENT}
#EXTRACT_AFTER_ARGS?= | ${TAR} -xf - ${EXTSUBDIR}
PATCH_WRKSRC= ${WRKDIR}/${DISTNAME}
PATCH_DIST_STRIP+= -p1
.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:${PORTSDIR}/ftp/curl
CONFIGURE_ARGS+=--with-curl=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "dba"
CONFIGURE_ARGS+=--enable-dba
OPTIONS_DEFINE= CDB DB4 INIFILE FLATFILE
OPTIONS_DEFAULT= CDB INIFILE FLATFILE
OPTIONS_RADIO= DBM
OPTIONS_RADIO_DBM= GDBM QDBM
CDB_DESC= cdb database support
DB4_DESC= Berkeley DB4 support
GDBM_DESC= GDBM database support
QDBM_DESC= QDBM database support
INIFILE_DESC= INI file support
FLATFILE_DESC= flatfile support
PHP_HEADER_DIRS= libcdb libflatfile libinifile
.endif
.if ${PHP_MODNAME} == "dbase"
CONFIGURE_ARGS+=--enable-dbase
.endif
.if ${PHP_MODNAME} == "dom"
CONFIGURE_ARGS+=--enable-dom \
--with-libxml-dir=${LOCALBASE}
USE_GNOME= libxml2
USE_PHP= spl
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "exif"
CONFIGURE_ARGS+=--enable-exif
.endif
.if ${PHP_MODNAME} == "filter"
CONFIGURE_ARGS+=--enable-filter \
--with-pcre-dir=${LOCALBASE}
USE_PHP= pcre
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "ftp"
CONFIGURE_ARGS+=--enable-ftp \
--with-openssl-dir=${OPENSSLBASE}
LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
USE_OPENSSL= yes
.endif
.if ${PHP_MODNAME} == "gd"
LIB_DEPENDS= freetype.9:${PORTSDIR}/print/freetype2 \
png15:${PORTSDIR}/graphics/png \
jpeg.11:${PORTSDIR}/graphics/jpeg
CONFIGURE_ARGS+=--with-gd \
--with-freetype-dir=${LOCALBASE} \
--with-jpeg-dir=${LOCALBASE} \
--with-png-dir=${LOCALBASE} \
--with-zlib-dir=/usr
OPTIONS_DEFINE= T1LIB TRUETYPE JIS X11
OPTIONS_DEFAULT= T1LIB TRUETYPE X11
T1LIB_DESC= Include T1lib support
TRUETYPE_DESC= TrueType string function
JIS_DESC= JIS-mapped Japanese font support
PHP_HEADER_DIRS=libgd
.endif
.if ${PHP_MODNAME} == "gettext"
CONFIGURE_ARGS+=--with-gettext=${LOCALBASE}
USES+= gettext
.endif
.if ${PHP_MODNAME} == "gmp"
LIB_DEPENDS+= gmp.10:${PORTSDIR}/math/gmp
CONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "hash"
CONFIGURE_ARGS+=--enable-hash
.endif
.if ${PHP_MODNAME} == "iconv"
CONFIGURE_ARGS+=--with-iconv
USES+= iconv
.endif
.if ${PHP_MODNAME} == "imap"
OPTIONS_DEFINE= SSL
OPTIONS_DEFAULT= SSL
LIB_DEPENDS+= c-client4.9:${PORTSDIR}/mail/cclient
CONFIGURE_ARGS+=--with-imap=${LOCALBASE}
USE_OPENSSL= yes
.endif
.if ${PHP_MODNAME} == "interbase"
CONFIGURE_ARGS+=--with-interbase=${LOCALBASE}
USE_FIREBIRD= yes
.endif
.if ${PHP_MODNAME} == "json"
CONFIGURE_ARGS+=--enable-json
.endif
.if ${PHP_MODNAME} == "ldap"
CONFIGURE_ARGS+=--with-ldap=${LOCALBASE}
USE_OPENLDAP= yes
. ifdef(WANT_OPENLDAP_SASL)
CONFIGURE_ARGS+=--with-ldap-sasl
. endif
.endif
.if ${PHP_MODNAME} == "mbstring"
CONFIGURE_ARGS+=--enable-mbstring
OPTIONS_DEFINE= REGEX
OPTIONS_DEFAULT= REGEX
REGEX_DESC= multibyte regex support
PHP_HEADER_DIRS=libmbfl libmbfl/filters libmbfl/mbfl libmbfl/nls oniguruma
.endif
.if ${PHP_MODNAME} == "mcrypt"
LIB_DEPENDS+= mcrypt.8:${PORTSDIR}/security/libmcrypt
CONFIGURE_ARGS+=--with-mcrypt=${LOCALBASE}
USE_AUTOTOOLS= libltdl
.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.5:${PORTSDIR}/graphics/ming
CONFIGURE_ARGS+=--with-ming=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "mssql"
LIB_DEPENDS+= sybdb.5:${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
USE_PHP= spl
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "ncurses"
CONFIGURE_ARGS+=--with-ncurses=/usr
.endif
.if ${PHP_MODNAME} == "oci8"
BUILD_DEPENDS+= ${LOCALBASE}/oracle8-client/lib/libclntsh.a:${PORTSDIR}/databases/oracle8-client
RUN_DEPENDS+= ${BUILD_DEPENDS}
CONFIGURE_ARGS+=--with-oci8=${LOCALBASE}/oracle8-client
.endif
.if ${PHP_MODNAME} == "odbc"
LIB_DEPENDS+= odbc.2:${PORTSDIR}/databases/unixODBC
CONFIGURE_ARGS+=--with-unixODBC=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "openssl"
CONFIGURE_ARGS+=--with-openssl=${OPENSSLBASE}
LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
USE_OPENSSL= yes
.endif
.if ${PHP_MODNAME} == "pcntl"
CONFIGURE_ARGS+=--enable-pcntl
.endif
.if ${PHP_MODNAME} == "pcre"
OPTIONS_DEFINE= BUNDLE_PCRE
BUNDLED_PCRE_DESC= Select if you use apache 2.0.x
.endif
.if ${PHP_MODNAME} == "pdo"
CONFIGURE_ARGS+=--enable-pdo
.endif
.if ${PHP_MODNAME} == "pdo_dblib"
CONFIGURE_ARGS+=--with-pdo-dblib=${LOCALBASE}
USE_PHP= pdo
USE_PHP_BUILD= yes
OPTIONS_DEFINE= MSSQL
MSSQL_DESC= Microsoft SQL Server support
.endif
.if ${PHP_MODNAME} == "pdo_firebird"
CONFIGURE_ARGS+=--with-pdo-firebird=${LOCALBASE}
USE_PHP= pdo
USE_PHP_BUILD= yes
USE_FIREBIRD= yes
.endif
.if ${PHP_MODNAME} == "pdo_mysql"
CONFIGURE_ARGS+=--with-pdo-mysql=${LOCALBASE} \
--with-zlib-dir=/usr
USE_MYSQL= yes
USE_PHP= pdo
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "pdo_oci"
BUILD_DEPENDS+= ${LOCALBASE}/oracle8-client/lib/libclntsh.a:${PORTSDIR}/databases/oracle8-client
RUN_DEPENDS+= ${BUILD_DEPENDS}
CONFIGURE_ARGS+=--with-pdo-oci=${LOCALBASE}/oracle8-client
USE_PHP= pdo
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "pdo_odbc"
LIB_DEPENDS+= odbc.2:${PORTSDIR}/databases/unixODBC
CONFIGURE_ARGS+=--with-pdo-odbc=unixODBC,${LOCALBASE}
USE_PHP= pdo
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "pdo_pgsql"
USE_PGSQL= yes
CONFIGURE_ARGS+=--with-pdo-pgsql=${LOCALBASE}
USE_PHP= pdo
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "pdo_sqlite"
. if defined(WITH_SQLITE_PORT)
USE_SQLITE= yes
CONFIGURE_ARGS+=--with-pdo-sqlite=${LOCALBASE}
. else
CONFIGURE_ARGS+=--with-pdo-sqlite
. endif
USE_PHP= pdo
USE_PHP_BUILD= yes
PHP_HEADER_DIRS=sqlite/src
.endif
.if ${PHP_MODNAME} == "pgsql"
USE_PGSQL= yes
CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "posix"
CONFIGURE_ARGS+=--enable-posix
.endif
.if ${PHP_MODNAME} == "pspell"
LIB_DEPENDS+= aspell.16:${PORTSDIR}/textproc/aspell
CONFIGURE_ARGS+=--with-pspell=${LOCALBASE}
# Ugly hack to load session before psell to avoid crashes
USE_PHP= session
USE_PHP_BUILD= yes
.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}
USES+= pkgconfig
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "snmp"
CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} \
--with-openssl-dir=${OPENSSLBASE} \
--enable-ucd-snmp-hack
LIB_DEPENDS+= netsnmp.30:${PORTSDIR}/net-mgmt/net-snmp
LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
USE_OPENSSL= yes
.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} == "spl"
CONFIGURE_ARGS+=--enable-spl \
--with-libxml-dir=${LOCALBASE}
CFLAGS+= -I${LOCALBASE}/include
USE_GNOME= libxml2
USE_PHP= pcre simplexml
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
USE_PHP= spl
USE_PHP_BUILD= yes
OPTIONS_DEFINE= UTF8
.endif
.if ${PHP_MODNAME} == "sybase_ct"
LIB_DEPENDS+= ct.4:${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 \
--with-libxml-dir=${LOCALBASE}
USE_GNOME= libxml2
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} == "xmlreader"
CONFIGURE_ARGS+=--enable-xmlreader \
--with-libxml-dir=${LOCALBASE}
USE_GNOME= libxml2
USE_PHP= dom
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "xmlrpc"
CONFIGURE_ARGS+=--with-xmlrpc \
--with-libxml-dir=${LOCALBASE}
USES+= iconv
USE_GNOME= libxml2
PHP_HEADER_DIRS=libxmlrpc
USE_PHP= xml
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "xmlwriter"
CONFIGURE_ARGS+=--enable-xmlwriter \
--with-libxml-dir=${LOCALBASE}
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "xsl"
CONFIGURE_ARGS+=--with-xsl=${LOCALBASE}
USE_GNOME= libxslt
USE_PHP= dom xml
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "zip"
CONFIGURE_ARGS+=--enable-zip \
--with-zlib-dir=/usr
.endif
.if ${PHP_MODNAME} == "zlib"
CONFIGURE_ARGS+=--with-zlib=/usr
.endif
.include <bsd.port.pre.mk>
.if ${PHP_MODNAME} == "dba"
. if ! ${PORT_OPTIONS:MCDB}
CONFIGURE_ARGS+=--without-cdb
. endif
. if ${PORT_OPTIONS:MDB4}
CONFIGURE_ARGS+=--with-db4=${LOCALBASE}
USE_BDB= 40+
WITH_BDB_HIGHEST= yes
. endif
. if ${PORT_OPTIONS:MGDBM}
LIB_DEPENDS+= gdbm.4:${PORTSDIR}/databases/gdbm
CONFIGURE_ARGS+=--with-gdbm=${LOCALBASE}
. endif
. if ${PORT_OPTIONS:MQDBM}
LIB_DEPENDS+= qdbm.14:${PORTSDIR}/databases/qdbm
CONFIGURE_ARGS+=--with-qdbm=${LOCALBASE}
. endif
. if ! ${PORT_OPTIONS:MINIFILE}
CONFIGURE_ARGS+=--disable-inifile
. endif
. if ! ${PORT_OPTIONS:MFLATFILE}
CONFIGURE_ARGS+=--disable-flatfile
. endif
.endif
.if ${PHP_MODNAME} == "gd"
. if ${PORT_OPTIONS:MX11}
USE_XORG= xpm
CONFIGURE_ARGS+=--with-xpm-dir=${LOCALBASE}
. endif
. if ${PORT_OPTIONS:MT1LIB}
LIB_DEPENDS+= t1.5:${PORTSDIR}/devel/t1lib
CONFIGURE_ARGS+=--with-t1lib=${LOCALBASE}
. endif
. if ${PORT_OPTIONS:MTRUETYPE}
CONFIGURE_ARGS+=--enable-gd-native-ttf
. endif
. if ${PORT_OPTIONS:MJIS}
CONFIGURE_ARGS+=--enable-gd-jis-conv
. endif
.endif
.if ${PHP_MODNAME} == "imap"
. if ${PORT_OPTIONS:MSSL}
CONFIGURE_ARGS+=--with-imap-ssl=${OPENSSLBASE}
LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
. endif
.endif
.if ${PHP_MODNAME} == "mbstring"
. if ! ${PORT_OPTIONS:MREGEX}
CONFIGURE_ARGS+=--disable-mbregex
. endif
.endif
.if ${PHP_MODNAME} == "openssl"
post-extract:
@${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
.endif
.if ${PHP_MODNAME} == "oci8" || ${PHP_MODNAME} == "pdo_oci"
pre-configure:
@cd ${WRKSRC}; \
for lib in ${LOCALBASE}/oracle8-client/lib/libclntsh /usr/lib/libpthread; do \
/usr/bin/ar x $${lib}.a; \
done; \
/usr/bin/ar rcs liboci8.a *.o
.endif
.if ${PHP_MODNAME} == "pcre"
. if ${PORT_OPTIONS:MBUNDLED_PCRE}
CONFIGURE_ARGS+=--with-pcre-regex=yes
PHP_HEADER_DIRS=pcrelib
. else
LIB_DEPENDS+= pcre.3:${PORTSDIR}/devel/pcre
CONFIGURE_ARGS+=--with-pcre-regex=${LOCALBASE}
. endif
post-extract:
@${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
.endif
.if ${PHP_MODNAME} == "pdo_dblib"
.if ${PORT_OPTIONS:MMSSQL}
LIB_DEPENDS+= sybdb.5:${PORTSDIR}/databases/freetds-msdblib
.else
LIB_DEPENDS+= ct.4:${PORTSDIR}/databases/freetds
.endif
.endif
.if ${PHP_MODNAME} == "sqlite"
. if ${PORT_OPTIONS:MUTF8}
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