freebsd-ports/lang/php55/Makefile.ext
Mathieu Arnold d78beb132c Move MySQL support from bsd.databases.mk to Uses/mysql.mk.
Also, USE_MYSQL can't happen after bsd.port.pre.mk because it is a USES.

PR:		208971
Submitted by:	mat
Exp-run by:	antoine
With hat:	portmgr
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D5951
2016-04-25 16:17:31 +00:00

601 lines
12 KiB
Makefile

COMMENT= The ${PHP_MODNAME} shared extension for php
USE_PHP= yes
USE_PHPEXT= yes
PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
PHP_DEFAULT= 5.5
IGNORE_WITH_PHP= 56 70
EXTSUBDIR= ${DISTNAME}/ext/${PHP_MODNAME}
WRKSRC= ${WRKDIR}/${EXTSUBDIR}
PATCHDIR= ${.CURDIR}/files
PLIST= ${NONEXISTENT}
EXTRACT_AFTER_ARGS?= ${EXTSUBDIR}
.if ${PHP_MODNAME} == "bcmath"
CONFIGURE_ARGS+=--enable-bcmath
PHP_HEADER_DIRS=libbcmath libbcmath/src
.endif
.if ${PHP_MODNAME} == "bz2"
CONFIGURE_ARGS+=--with-bz2=/usr
.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+= libcurl.so:ftp/curl
CONFIGURE_ARGS+=--with-curl=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "dba"
CONFIGURE_ARGS+=--enable-dba
OPTIONS_DEFINE= CDB DB4 GDBM QDBM TOKYO INIFILE FLATFILE
OPTIONS_DEFAULT=CDB INIFILE FLATFILE
CDB_DESC= cdb database support
DB4_DESC= Berkeley DB4 support
GDBM_DESC= GDBM database support
QDBM_DESC= QDBM database support
TOKYO_DESC= Tokyo Cabinet database support
INIFILE_DESC= INI file support
FLATFILE_DESC= flatfile support
PHP_HEADER_DIRS= libcdb libflatfile libinifile
.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} == "fileinfo"
CONFIGURE_ARGS+=--enable-fileinfo \
--with-pcre-dir=${LOCALBASE}
PHP_HEADER_DIRS= libmagic
.endif
.if ${PHP_MODNAME} == "filter"
CONFIGURE_ARGS+=--enable-filter \
--with-pcre-dir=${LOCALBASE}
.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= libfreetype.so:print/freetype2 \
libpng.so:graphics/png
USES+= 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 VPX
OPTIONS_DEFAULT=T1LIB TRUETYPE X11
T1LIB_DESC= Include T1lib support
TRUETYPE_DESC= Enable TrueType string function
JIS_DESC= Enable JIS-mapped Japanese font support
X11_DESC= Enable XPM support
VPX_DESC= Enable VP8 codec support
PHP_HEADER_DIRS=libgd
.endif
.if ${PHP_MODNAME} == "gettext"
CONFIGURE_ARGS+=--with-gettext=${LOCALBASE}
USES+= gettext
.endif
.if ${PHP_MODNAME} == "gmp"
LIB_DEPENDS+= libgmp.so:math/gmp
CONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "hash"
CONFIGURE_ARGS+=--enable-hash \
--with-mhash
.endif
.if ${PHP_MODNAME} == "iconv"
CONFIGURE_ARGS+=--with-iconv=${LOCALBASE}
USES+= iconv:translit
.endif
.if ${PHP_MODNAME} == "imap"
OPTIONS_DEFINE= PANDA
PANDA_DESC= Uses the forked panda-cclient instead of the original cclient
CONFIGURE_ARGS+=--with-imap=${LOCALBASE} \
--with-pcre-dir=${LOCALBASE} \
--with-imap-ssl=${OPENSSLBASE}
LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
USE_OPENSSL= yes
.endif
.if ${PHP_MODNAME} == "interbase"
CONFIGURE_ARGS+=--with-interbase=${LOCALBASE}
USES+= firebird
.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=${LOCALBASE}
. endif
.endif
.if ${PHP_MODNAME} == "mbstring"
CONFIGURE_ARGS+=--enable-mbstring \
--with-pcre-dir=${LOCALBASE}
OPTIONS_DEFINE= REGEX
OPTIONS_DEFAULT=REGEX
REGEX_DESC= Enable multibyte regex support
PHP_HEADER_DIRS=libmbfl libmbfl/filters libmbfl/mbfl libmbfl/nls
.endif
.if ${PHP_MODNAME} == "mcrypt"
LIB_DEPENDS+= libltdl.so:devel/libltdl \
libmcrypt.so:security/libmcrypt
CONFIGURE_ARGS+=--with-mcrypt=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "mssql"
LIB_DEPENDS+= libsybdb.so:databases/freetds
CONFIGURE_ARGS+=--with-mssql=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "mysql"
OPTIONS_DEFINE= MYSQLND
OPTIONS_DEFAULT=MYSQLND
MYSQLND_DESC= Use MySQL Native Driver
.endif
.if ${PHP_MODNAME} == "mysqli"
OPTIONS_DEFINE= MYSQLND
OPTIONS_DEFAULT=MYSQLND
MYSQLND_DESC= Use MySQL Native Driver
.endif
.if ${PHP_MODNAME} == "odbc"
LIB_DEPENDS+= libodbc.so:databases/unixODBC
CONFIGURE_ARGS+=--enable-odbc \
--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} == "opcache"
CONFIGURE_ARGS+=--enable-opcache
.endif
.if ${PHP_MODNAME} == "pcntl"
CONFIGURE_ARGS+=--enable-pcntl
.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= Enable Microsoft SQL Server support
.endif
.if ${PHP_MODNAME} == "pdo_firebird"
CONFIGURE_ARGS+=--with-pdo-firebird=${LOCALBASE}
USE_PHP= pdo
USE_PHP_BUILD= yes
USES+= firebird
.endif
.if ${PHP_MODNAME} == "pdo_mysql"
OPTIONS_DEFINE= MYSQLND
OPTIONS_DEFAULT=MYSQLND
MYSQLND_DESC= Use MySQL Native Driver
USE_PHP= pdo
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "pdo_odbc"
LIB_DEPENDS+= libodbc.so:databases/unixODBC
CONFIGURE_ARGS+=--with-pdo-odbc=unixODBC,${LOCALBASE}
USE_PHP= pdo
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "pdo_pgsql"
USES+= pgsql
CONFIGURE_ARGS+=--with-pdo-pgsql=${LOCALBASE}
USE_PHP= pdo
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "pdo_sqlite"
USES+= sqlite
CONFIGURE_ARGS+=--with-pdo-sqlite=${LOCALBASE}
USE_PHP= pdo
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "pgsql"
USES+= pgsql
CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "phar"
CONFIGURE_ARGS+=--enable-phar \
--with-pcre-dir=${LOCALBASE}
USE_PHP= hash
USE_PHP_BUILD= yes
.endif
.if ${PHP_MODNAME} == "posix"
CONFIGURE_ARGS+=--enable-posix
.endif
.if ${PHP_MODNAME} == "pspell"
LIB_DEPENDS+= libaspell.so: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
USES+= readline
.endif
.if ${PHP_MODNAME} == "recode"
LIB_DEPENDS+= librecode.so: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-pcre-dir=${LOCALBASE} \
--with-libxml-dir=${LOCALBASE}
USES+= pkgconfig
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "snmp"
CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} \
--with-openssl-dir=${OPENSSLBASE}
CONFIGURE_ENV+= ac_cv_buggy_snprint_value="no"
LIB_DEPENDS+= libnetsnmp.so: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} == "sockets"
CONFIGURE_ARGS+=--enable-sockets
.endif
.if ${PHP_MODNAME} == "sqlite3"
USES+= sqlite
CONFIGURE_ARGS+=--with-sqlite3=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "sybase_ct"
LIB_DEPENDS+= libct.so: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+= libtidy.so: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} \
--with-iconv-dir=${LOCALBASE}
USES+= iconv:translit
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 \
--with-pcre-dir=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "zlib"
CONFIGURE_ARGS+=--with-zlib=/usr
.endif
.include <bsd.port.options.mk>
.if ${PHP_MODNAME} == "dba"
. if empty(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+= libgdbm.so:databases/gdbm
CONFIGURE_ARGS+=--with-gdbm=${LOCALBASE}
. endif
. if ${PORT_OPTIONS:MQDBM}
LIB_DEPENDS+= libqdbm.so:databases/qdbm
CONFIGURE_ARGS+=--with-qdbm=${LOCALBASE}
. endif
. if ${PORT_OPTIONS:MTOKYO}
LIB_DEPENDS+= libtokyocabinet.so:databases/tokyocabinet
CONFIGURE_ARGS+=--with-tcadb=${LOCALBASE}
. endif
. if empty(PORT_OPTIONS:MINIFILE)
CONFIGURE_ARGS+=--disable-inifile
. endif
. if empty(PORT_OPTIONS:MFLATFILE)
CONFIGURE_ARGS+=--disable-flatfile
. endif
.endif
.if ${PHP_MODNAME} == "mysql"
. if ${PORT_OPTIONS:MMYSQLND}
CONFIGURE_ARGS+=--with-mysql=mysqlnd
. else
CONFIGURE_ARGS+=--with-mysql=${LOCALBASE} \
--with-zlib-dir=/usr
USES+= mysql
. endif
.endif
.if ${PHP_MODNAME} == "mysqli"
. if ${PORT_OPTIONS:MMYSQLND}
CONFIGURE_ARGS+=--with-mysqli=mysqlnd
. else
CONFIGURE_ARGS+=--with-mysqli=${LOCALBASE}/bin/mysql_config
USES+= mysql
. endif
.endif
.if ${PHP_MODNAME} == "pdo_mysql"
. if ${PORT_OPTIONS:MMYSQLND}
CONFIGURE_ARGS+=--with-pdo-mysql=mysqlnd
USE_PHP+= mysql
. else
CONFIGURE_ARGS+=--with-pdo-mysql=${LOCALBASE} \
--with-zlib-dir=/usr
USES+= mysql
. endif
.endif
.include <bsd.port.pre.mk>
.if ${PHP_MODNAME} == "gd"
. if ${PORT_OPTIONS:MT1LIB}
LIB_DEPENDS+= libt1.so: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
. if ${PORT_OPTIONS:MX11}
USE_XORG= xpm
CONFIGURE_ARGS+=--with-xpm-dir=${LOCALBASE}
. endif
. if ${PORT_OPTIONS:MVPX}
LIB_DEPENDS+= libvpx.so:multimedia/libvpx
CONFIGURE_ARGS+=--with-vpx-dir=${LOCALBASE}
. endif
.endif
.if ${PHP_MODNAME} == "imap"
. if ${PORT_OPTIONS:MPANDA}
LIB_DEPENDS+= libc-client4.so.10:mail/panda-cclient
. else
LIB_DEPENDS+= libc-client4.so.9:mail/cclient
. endif
.endif
.if ${PHP_MODNAME} == "mbstring"
. if ${PORT_OPTIONS:MREGEX}
LIB_DEPENDS+= libonig.so:devel/oniguruma5
CONFIGURE_ARGS+=--with-onig=${LOCALBASE}
. else
CONFIGURE_ARGS+=--disable-mbregex
. endif
.endif
.if ${PHP_MODNAME} == "openssl" || ${PHP_MODNAME} == "sqlite3"
post-extract:
@${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
.endif
.if ${PHP_MODNAME} == "pdo_dblib"
. if ${PORT_OPTIONS:MMSSQL}
LIB_DEPENDS+= libsybdb.so:databases/freetds
. else
LIB_DEPENDS+= libct.so:databases/freetds
. 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