diff options
Diffstat (limited to 'lang/php4/Makefile')
-rw-r--r-- | lang/php4/Makefile | 556 |
1 files changed, 556 insertions, 0 deletions
diff --git a/lang/php4/Makefile b/lang/php4/Makefile new file mode 100644 index 000000000000..f4bbd0450363 --- /dev/null +++ b/lang/php4/Makefile @@ -0,0 +1,556 @@ +# New ports collection makefile for: php4 +# Date created: Tue Feb 18 11:17:13 CET 2003 +# Whom: Alex Dupre <sysadmin@alexdupre.com> +# +# $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, PCRE, POSIX, SESSION, +# TOKENIZER, XML and ZLIB. This behaviour can be changed overriding the +# PHP_OPTIONS variable (e.g. PHP_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 ~/php_options (the +# location is overridable by the OPTION_FILE variable). You may find an +# example in scripts/php_options (interactive mode only). +# + +PORTNAME= php4 +PORTVERSION= 4.3.2.r4 +CATEGORIES?= lang devel www +MASTER_SITES= http://downloads.php.net/jani/ \ + http://www.gufi.org/~alex/php/ +.if defined(WITHOUT_CLI) +PKGNAMEPREFIX= mod_ +.endif +.if defined(WITHOUT_APACHE) +PKGNAMESUFFIX= -cli +.endif +DISTNAME= php-${PORTVERSION:S/.r/RC/} + +MAINTAINER?= sysadmin@alexdupre.com +COMMENT= PHP Scripting Language (Apache Module and CLI) +.if defined(WITHOUT_APACHE) +COMMENT= PHP Command Line Interpreter +.endif +.if defined(WITHOUT_CLI) +COMMENT= PHP Apache Module +.endif + +USE_BZIP2= yes +USE_SUBMAKE= yes +GNU_CONFIGURE= yes +USE_BISON= yes +USE_LIBTOOL= yes + +CONFIGURE_ARGS= --enable-versioning \ + --enable-memory-limit \ + --with-layout=GNU \ + --with-zlib-dir=/usr \ + --disable-all + +EXT_DIR= 20020429 +SAPI_FILE= "" + +.if defined(WITHOUT_APACHE) +CONFLICTS= php4-4* mod_php4-4* +.endif + +.if defined(WITHOUT_CLI) +CONFLICTS= php4-4* php4-cli-4* +CONFIGURE_ARGS+=--disable-cli +PLIST_SUB+= CLI="@comment " +.else +MAN1= php.1 +PLIST_SUB+= CLI="" +.endif + +CONFLICTS?= php4-cli-4* mod_php4-4* + +ALL_OPTIONS= BCMATH BZIP2 CALENDAR CRACK CTYPE CURL DBASE DBX DOMXML \ + DOMXSLT EXIF FILEPRO FTP GD GDBM GETTEXT GMP HYPERWAVE ICONV \ + IMAP INTERBASE MBSTRING MCAL MCVE MCRYPT MHASH MIME MING MYSQL \ + NCURSES OPENLDAP OPENSSL PCNTL PCRE PDFLIB POSIX POSTGRESQL \ + PSPELL READLINE RECODE SESSION SHMOP SNMP SOCKETS SYBASEDB \ + SYBASECT 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 + +PBDIR= ${PREFIX}/share/pear/boot + +.include <bsd.port.pre.mk> + +.if ${OSVERSION} < 400014 +CONFIGURE_ARGS+=--disable-ipv6 +.endif + +.if !defined(WITHOUT_APACHE) +.if exists(${LOCALBASE}/include/apache2/apr.h) +WITH_APACHE2= yes +.endif + +APXS?= ${LOCALBASE}/sbin/apxs + +.if defined(WITH_APACHE2) +APACHE_PORT?= ${PORTSDIR}/www/apache2 +CONFIGURE_ARGS+=--with-apxs2=${APXS} +SAPI_FILE= libexec/apache2/libphp4.so +.else +APACHE_PORT?= ${PORTSDIR}/www/apache13 +CONFIGURE_ARGS+=--with-apxs=${APXS} +SAPI_FILE= libexec/apache/libphp4.so +.endif + +BUILD_DEPENDS+= ${APXS}:${APACHE_PORT} +RUN_DEPENDS+= ${APXS}:${APACHE_PORT} + +PLIST_SUB+= APACHE="" +.else +PLIST_SUB+= APACHE="@comment " +.endif + +PLIST_SUB+= SAPI_FILE=${SAPI_FILE} \ + EXT_DIR=${EXT_DIR} + +WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work +OPTION_FILE?= ${HOME}/php_options + +PHP_OPTIONS?= CTYPE MYSQL PCRE POSIX SESSION TOKENIZER XML ZLIB + +.for opt in ${ALL_OPTIONS} +.if defined(WITH_${opt}) +SEL_OPTIONS+= ${opt} +.endif +.endfor +.for opt in ${PHP_OPTIONS} +.if !defined(WITHOUT_${opt}) +SEL_OPTIONS+= ${opt} +.endif +SCRIPTS_ENV+= WITH_${opt}=ON +.endfor + +SCRIPTS_ENV+= SEL_OPTIONS="${SEL_OPTIONS}" \ + OPTION_FILE="${OPTION_FILE}" \ + WRKDIR="${WRKDIR}" \ + CAT="${CAT}" \ + SED="${SED}" + +.ifmake describe +WITH_MYSQL= yes +WITH_XML= yes +.endif + +.if exists(${WRKDIR}/Makefile.inc) +.include "${WRKDIR}/Makefile.inc" +.endif + +.if defined(WITH_DOMXSLT) +WITH_DOMXML= yes +.endif + +.if defined(WITH_XMLRPC) || defined(WITH_XSLT) +WITH_ICONV_DEP= yes +.endif + +.if defined(WITH_SNMP) || defined(WITH_POSTGRESQL) +WITH_OPENSSL_DEP= yes +.endif + +.if defined(WITH_WDDX) || defined(WITH_XMLRPC) || defined(WITH_XSLT) +WITH_XML_DEP= yes +.endif + +.if defined(WITH_BCMATH) +CONFIGURE_ARGS+=--enable-bcmath +.endif + +.if defined(WITH_BZIP2) +.if exists(/usr/bin/bzip2) +BZIP2BASE= /usr +.else +BZIP2BASE= ${LOCALBASE} +LIB_DEPENDS+= bz2.1:${PORTSDIR}/archivers/bzip2 +.endif +CONFIGURE_ARGS+=--with-bz2=${BZIP2BASE} +.endif + +.if defined(WITH_CALENDAR) +CONFIGURE_ARGS+=--enable-calendar +.endif + +.if defined(WITH_CRACK) +BUILD_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.2:${PORTSDIR}/ftp/curl +CONFIGURE_ARGS+=--with-curl=${LOCALBASE} +.endif + +.if defined(WITH_DBASE) +CONFIGURE_ARGS+=--enable-dbase +.endif + +.if defined(WITH_DBX) +CONFIGURE_ARGS+=--enable-dbx +.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.1:${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_FTP) +CONFIGURE_ARGS+=--enable-ftp +.endif + +.if defined(WITH_GD) +LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2 +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-jpeg-dir=${LOCALBASE} \ + --with-png-dir=${LOCALBASE} +.if !defined(WITHOUT_X11) +LIB_DEPENDS+= Xpm.4:${PORTSDIR}/x11/XFree86-4-libraries +CONFIGURE_ARGS+=--with-xpm-dir=${LOCALBASE} +.endif +.endif + +.if defined(WITH_GDBM) +LIB_DEPENDS+= gdbm.3:${PORTSDIR}/databases/gdbm +CONFIGURE_ARGS+=--enable-dba --with-gdbm=${LOCALBASE} +.endif + +.if defined(WITH_GETTEXT) +LIB_DEPENDS+= intl.4:${PORTSDIR}/devel/gettext +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) +LIB_DEPENDS+= iconv.3:${PORTSDIR}/converters/libiconv +.endif + +.if defined(WITH_ICONV) +CONFIGURE_ARGS+=--with-iconv=${LOCALBASE} +.endif + +.if defined(WITH_IMAP) +LIB_DEPENDS+= c-client4.8:${PORTSDIR}/mail/cclient +CONFIGURE_ARGS+=--with-imap=${LOCALBASE} --with-imap-ssl=${LOCALBASE} +.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 --enable-mbregex +.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 +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_MYSQL) +.if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.10) +LIB_DEPENDS+= mysqlclient.10:${PORTSDIR}/databases/mysql323-client +.else +.if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.14) +LIB_DEPENDS+= mysqlclient.14:${PORTSDIR}/databases/mysql41-client +.else +LIB_DEPENDS+= mysqlclient.12:${PORTSDIR}/databases/mysql40-client +.endif +.endif +CONFIGURE_ARGS+=--with-mysql=${LOCALBASE} +.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_OPENLDAP) +.if exists(${LOCALBASE}/lib/libldap.so.1) +LIB_DEPENDS+= ldap.1:${PORTSDIR}/net/openldap12 +.else +LIB_DEPENDS+= ldap.2:${PORTSDIR}/net/openldap21 +.endif +CONFIGURE_ARGS+=--with-ldap=${LOCALBASE} +.endif + +.if defined(WITH_OPENSSL) || defined(WITH_OPENSSL_DEP) +.if exists(${LOCALBASE}/lib/libcrypto.so.3) +OPENSSLBASE= ${LOCALBASE} +LIB_DEPENDS+= crypto.3:${PORTSDIR}/security/openssl +.else +OPENSSLBASE= /usr +.endif +.endif + +.if defined(WITH_OPENSSL) +CONFIGURE_ARGS+=--with-openssl=${OPENSSLBASE} +.endif + +.if defined(WITH_PCNTL) +CONFIGURE_ARGS+=--enable-pcntl +.endif + +.if defined(WITH_PCRE) +CONFIGURE_ARGS+=--with-pcre-regex=yes +.endif + +.if defined(WITH_PDFLIB) +LIB_DEPENDS+= pdf.5:${PORTSDIR}/print/pdflib +CONFIGURE_ARGS+=--with-pdflib=${LOCALBASE} +.endif + +.if defined(WITH_POSIX) +CONFIGURE_ARGS+=--enable-posix +.endif + +.if defined(WITH_POSTGRESQL) +LIB_DEPENDS+= pq.3:${PORTSDIR}/databases/postgresql7 +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_SNMP) +LIB_DEPENDS+= snmp.4:${PORTSDIR}/net/net-snmp4 +CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} --enable-ucd-snmp-hack +.endif + +.if defined(WITH_SOCKETS) +CONFIGURE_ARGS+=--enable-sockets +.endif + +.if defined(WITH_SYBASEDB) +LIB_DEPENDS+= sybdb.3:${PORTSDIR}/databases/freetds +CONFIGURE_ARGS+=--with-sybase=${LOCALBASE} +.endif + +.if defined(WITH_SYBASECT) +LIB_DEPENDS+= ct.1:${PORTSDIR}/databases/freetds +CONFIGURE_ARGS+=--with-sybase-ct=${LOCALBASE} +.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.4:${PORTSDIR}/textproc/expat2 +.endif + +.if defined(WITH_XML) +CONFIGURE_ARGS+=--enable-xml --with-expat-dir=${LOCALBASE} +.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-0.10:${PORTSDIR}/devel/zziplib +CONFIGURE_ARGS+=--with-zip=${LOCALBASE} +.endif + +.if defined(WITH_ZLIB) +CONFIGURE_ARGS+=--with-zlib=yes +.endif + +pre-patch: + @${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure.php + +post-patch: + @${SED} "s|%%PREFIX%%|${PREFIX}|g" \ + ${WRKSRC}/pear/scripts/pearcmd.php > ${WRKSRC}/pear/scripts/pear + +pre-configure: +.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(WITHOUT_CLI) && defined(WITHOUT_APACHE) + @${ECHO_CMD} "You cannot define WITHOUT_CLI *and* WITHOUT_APACHE!" + @${FALSE} +.endif +.if !defined(WITHOUT_CLI) && !defined(WITHOUT_APACHE) + @${ECHO_CMD} "" + @${ECHO_CMD} "You may use the following build options:" + @${ECHO_CMD} "" +.if !defined(WITHOUT_CLI) && !defined(WITHOUT_APACHE) + @${ECHO_CMD} " WITHOUT_CLI=yes Disable Command Line Interpreter" + @${ECHO_CMD} " WITHOUT_APACHE=yes Disable Apache Module" +.endif + @${ECHO_CMD} "" +.endif + +post-build: + @${ECHO_CMD} "" + @${ECHO_CMD} "You may run the tests from the PHP test framework." + @${ECHO_CMD} "You can do this by typing 'make test' now." + @${ECHO_CMD} "" + +test: all + @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} \ + ${MAKEFILE} ${MAKE_ARGS} ${.TARGET}) + +post-install: +.if !defined(WITHOUT_CLI) + @${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 + @${TOUCH} ${PREFIX}/lib/php/${EXT_DIR}/.php +.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} "*****************************************************************************" +.endif + +.include <bsd.port.post.mk> |