COMMENT= The ${PHP_MODNAME} shared extension for php USES+= php:ext PHP_MODNAME= ${PKGNAMESUFFIX:S/-//} PHP_DEFAULT= 7.0 IGNORE_WITH_PHP= 55 56 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} == "intl" CONFIGURE_ARGS+=--with-intl=${LOCALBASE} LIB_DEPENDS= libicui18n.so:devel/icu .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} == "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 USES+= localbase .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:build OPTIONS_DEFINE= MSSQL MSSQL_DESC= Enable Microsoft SQL Server support .endif .if ${PHP_MODNAME} == "pdo_firebird" CONFIGURE_ARGS+=--with-pdo-firebird=${LOCALBASE} USES+= firebird USE_PHP= pdo:build .endif .if ${PHP_MODNAME} == "pdo_odbc" LIB_DEPENDS+= libodbc.so:databases/unixODBC CONFIGURE_ARGS+=--with-pdo-odbc=unixODBC,${LOCALBASE} USE_PHP= pdo:build .endif .if ${PHP_MODNAME} == "pdo_mysql" OPTIONS_DEFINE= MYSQLND OPTIONS_DEFAULT=MYSQLND MYSQLND_DESC= Use MySQL Native Driver USE_PHP= pdo:build .endif .if ${PHP_MODNAME} == "pdo_pgsql" USES+= pgsql CONFIGURE_ARGS+=--with-pdo-pgsql=${LOCALBASE} USE_PHP= pdo:build .endif .if ${PHP_MODNAME} == "pdo_sqlite" USES+= sqlite CONFIGURE_ARGS+=--with-pdo-sqlite=${LOCALBASE} USE_PHP= pdo:build .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:build .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:build .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:build .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:build session:build .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:build .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:build .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:build xml:build .endif .if ${PHP_MODNAME} == "zip" LIB_DEPENDS+= libzip.so:archivers/libzip CONFIGURE_ARGS+=--enable-zip \ --with-zlib-dir=/usr \ --with-pcre-dir=${LOCALBASE} \ --with-libzip=${LOCALBASE} .endif .if ${PHP_MODNAME} == "zlib" CONFIGURE_ARGS+=--with-zlib=/usr .endif .include .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} == "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 . else CONFIGURE_ARGS+=--with-pdo-mysql=${LOCALBASE} \ --with-zlib-dir=/usr USES+= mysql . endif .endif .include .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