4406N/A#
4406N/A# CDDL HEADER START
4406N/A#
4406N/A# The contents of this file are subject to the terms of the
4406N/A# Common Development and Distribution License (the "License").
4406N/A# You may not use this file except in compliance with the License.
4406N/A#
4406N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4406N/A# or http://www.opensolaris.org/os/licensing.
4406N/A# See the License for the specific language governing permissions
4406N/A# and limitations under the License.
4406N/A#
4406N/A# When distributing Covered Code, include this CDDL HEADER in each
4406N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4406N/A# If applicable, add the following below this CDDL HEADER, with the
4406N/A# fields enclosed by brackets "[]" replaced with your own identifying
4406N/A# information: Portions Copyright [yyyy] [name of copyright owner]
4406N/A#
4406N/A# CDDL HEADER END
4406N/A#
4406N/A
4406N/A#
4406N/A# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
4406N/A#
4406N/A
4406N/A# This file specifies configure-line options to enable as many extensions as
4406N/A# possible, and specifies their dependencies and anything else that's required.
4406N/A
4406N/A# As of PHP 5.6.3:
4406N/A# The following "extensions" are always statically compiled into PHP:
4406N/A# Core date ereg pcre Reflection SPL standard
4406N/A# The following are statically compiled unless --disable-all is used:
4406N/A# ctype dom fileinfo filter hash iconv json libxml PDO pdo_sqlite Phar posix
4406N/A# session SimpleXML sqlite3 tokenizer xml xmlreader xmlwriter
4406N/A# The following is compiled as a shared extension unless --disable-all is used:
4406N/A# opcache
4406N/A
4406N/A# The PHP build system allows building binaries for CLI, CGI, FPM, and one SAPI,
4406N/A# at once.
4406N/A# More than one SAPI (e.g. Apache and NSAPI) is not allowed. Since the only
4406N/A# SAPI we deliver is Apache, only one build is necessary.
4406N/A
4406N/A# CLI and CGI are enabled by default.
4406N/A
4406N/ACONFIGURE_OPTIONS += --enable-fpm
4406N/A
4406N/A# Apache SAPI.
4406N/ACONFIGURE_OPTIONS += --with-apxs2=/usr/apache2/2.4/bin/apxs
4406N/A# Prevent gmake install telling apxs to modify httpd.conf, which doesn't exist.
4406N/ACOMPONENT_PRE_CONFIGURE_ACTION += \
4406N/A $(GSED) -i -e "s/-i -a -n php5/-i -n php5/" $(CONFIGURE_SCRIPT) ;
4406N/AREQUIRED_PACKAGES += web/server/apache-24
4406N/A
4406N/A
4406N/A# Sometimes extensions can't find necessary library headers. This is often
4406N/A# because Solaris has installed them in /usr/include/foo/bar.h instead of
4406N/A# directly at /usr/include/bar.h, in which case you must patch the config.m4.
4406N/A
4406N/A# Statically compiled (and non-default) extensions, with reasons:
4406N/ACONFIGURE_OPTIONS += --with-zlib # Dependency of mysqlnd, else link error
4406N/AREQUIRED_PACKAGES += library/zlib
4406N/A
4406N/A# Shared extensions (creates runtime-loadable modules, enable them in *.ini):
4406N/A
4406N/ACONFIGURE_OPTIONS += --with-mysql=shared,mysqlnd
4406N/ACONFIGURE_OPTIONS += --with-mysqli=shared,mysqlnd
4406N/ACONFIGURE_OPTIONS += --with-pdo-mysql=shared,mysqlnd
4406N/A# Note that using the MySQL Native Driver (mysqlnd), there is no dependency on
4406N/A# having MySQL installed locally.
4406N/ACONFIGURE_OPTIONS += --with-mysql-sock=/tmp/mysql.sock
4406N/A
4406N/ACONFIGURE_OPTIONS += --enable-bcmath=shared
4406N/A
4406N/ACONFIGURE_OPTIONS += --with-bz2=shared
4406N/AREQUIRED_PACKAGES += compress/bzip2
4406N/A
4406N/ACONFIGURE_OPTIONS += --enable-calendar=shared
4406N/A
4406N/ACONFIGURE_OPTIONS += --with-curl=shared
4406N/AREQUIRED_PACKAGES += web/curl
4406N/A
4406N/ACONFIGURE_OPTIONS += --enable-dba=shared
4406N/ACONFIGURE_OPTIONS += --with-db4 # Oracle Berkeley DB
4406N/ACONFIGURE_OPTIONS += --with-cdb # another database (internal support)
4406N/AREQUIRED_PACKAGES += database/berkeleydb-5
4406N/A
4406N/ACONFIGURE_OPTIONS += --with-enchant=shared
4406N/AREQUIRED_PACKAGES += library/spell-checking/enchant
4406N/A
4406N/ACONFIGURE_OPTIONS += --enable-exif=shared
4406N/A
4406N/ACONFIGURE_OPTIONS += --enable-ftp=shared
4406N/A
4406N/ACONFIGURE_OPTIONS += --with-gettext=shared
4406N/A
4406N/ACONFIGURE_OPTIONS += --with-gd=shared
4406N/ACONFIGURE_OPTIONS += --enable-gd-jis-conv
4406N/ACONFIGURE_OPTIONS += --enable-gd-native-ttf
4406N/A# libz and libpng are found without help.
4406N/A# libxpm, libjpeg, and freetype need help.
4406N/A# libvpx and t1lib don't exist on Solaris.
4406N/ACONFIGURE_OPTIONS += --with-freetype-dir=/usr
4406N/ACONFIGURE_OPTIONS += --with-xpm-dir=/usr
4406N/ACONFIGURE_OPTIONS += --with-jpeg-dir=/usr
4406N/AREQUIRED_PACKAGES += x11/library/libxpm
4406N/AREQUIRED_PACKAGES += system/library/freetype-2
4406N/AREQUIRED_PACKAGES += image/library/libjpeg
4406N/AREQUIRED_PACKAGES += image/library/libpng
4406N/AREQUIRED_PACKAGES += library/zlib
4406N/A
4406N/ACONFIGURE_OPTIONS += --with-gmp=shared # patched config.m4
4406N/AREQUIRED_PACKAGES += library/gmp
4406N/A
4406N/ACONFIGURE_OPTIONS += --enable-intl=shared
4406N/AREQUIRED_PACKAGES += library/icu
4406N/AREQUIRED_PACKAGES += system/library/math
4406N/ACONFIGURE_ENV += CXXFLAGS="$(CXXFLAGS)"
4406N/A# For intl, libtool(?) insists on passing "-lCrun -lCstd". These are
4406N/A# legacy Solaris/Studio C++ runtime and standard libraries, which is wrong.
4406N/A# Remove these flags by editing the generated Makefile after configure runs.
4406N/ACOMPONENT_POST_CONFIGURE_ACTION += \
4406N/A $(GSED) -i -e 's/-lCrun//g' -e 's/-lCstd//g' $(BUILD_DIR_64)/Makefile
4406N/A
4406N/ACONFIGURE_OPTIONS += --with-ldap=shared
4406N/A
4406N/ACONFIGURE_OPTIONS += --enable-mbstring=shared
4406N/A
4406N/ACONFIGURE_OPTIONS += --with-openssl=shared
4406N/ACONFIGURE_OPTIONS += --with-kerberos # WARNING! imap reads same flag!
4406N/AREQUIRED_PACKAGES += library/security/openssl
4406N/A
4406N/ACONFIGURE_OPTIONS += --enable-pcntl=shared
4406N/A
4406N/ACONFIGURE_OPTIONS += --with-readline=shared
4406N/AREQUIRED_PACKAGES += library/readline
4406N/AREQUIRED_PACKAGES += library/ncurses
4406N/A
4406N/ACONFIGURE_OPTIONS += --enable-shmop=shared
4406N/A
4406N/ACONFIGURE_OPTIONS += --with-snmp=shared
4406N/AREQUIRED_PACKAGES += system/management/snmp/net-snmp
4406N/A
4406N/ACONFIGURE_OPTIONS += --enable-soap=shared
4406N/A
4406N/ACONFIGURE_OPTIONS += --enable-sockets=shared
4406N/A
4406N/ACONFIGURE_OPTIONS += --enable-sysvsem=shared
4406N/A
4406N/ACONFIGURE_OPTIONS += --enable-sysvshm=shared
4406N/A
4406N/ACONFIGURE_OPTIONS += --enable-sysvmsg=shared
4406N/A
4406N/ACONFIGURE_OPTIONS += --with-tidy=shared
4406N/AREQUIRED_PACKAGES += text/tidy
4406N/A
4406N/ACONFIGURE_OPTIONS += --enable-wddx=shared
4406N/A
4406N/ACONFIGURE_OPTIONS += --with-xmlrpc=shared
4406N/A
4406N/ACONFIGURE_OPTIONS += --with-xsl=shared
4406N/AREQUIRED_PACKAGES += library/libxslt
4406N/A
4406N/ACONFIGURE_OPTIONS += --enable-zip=shared
4406N/A
4406N/A# Special cases
4406N/A
4406N/A# IMAP: commented out until IMAP library itself is approved
4406N/A#CONFIGURE_OPTIONS += --with-imap=shared,$(PHP_TOP_DIR)/uw-imap/build/$(MACH64)
4406N/A#CONFIGURE_OPTIONS += --with-imap-ssl=shared,/usr
4406N/A#CONFIGURE_OPTIONS += --with-kerberos # WARNING! openssl reads same flag!
4406N/A#COMPONENT_PRE_CONFIGURE_ACTION += (cd $(PHP_TOP_DIR)/uw-imap ; gmake build) ;
4406N/A
4406N/A# Enables emulation of the obsolete mhash extension by the hash extension.
4406N/ACONFIGURE_OPTIONS += --with-mhash
4406N/A
4406N/A# Use system PRCE library instead of default bundled one, on Solaris principles.
4406N/ACONFIGURE_OPTIONS += --with-pcre-dir=/usr
4406N/A
4406N/A# List of extensions not enabled, with reasons:
4406N/A# com_dotnet Windows-only
4406N/A# dbase removed from the PHP distribution into PECL
4406N/A# firebird/interbase depends on software that is not in Solaris
4406N/A# frontbase/fbsql depends on software that is not in Solaris
4406N/A# informix removed to PECL; depends on sw that is not in Solaris
4406N/A# mcrypt libmcrypt is being EOF'ed in Solaris
4406N/A# mssql depends on software that is not in Solaris (FreeTDS)
4406N/A# msql depends on software that is not in Solaris
4406N/A# postgresql/pgsql depends on software that is not in Solaris
4406N/A# pspell depends on software that is not in Solaris
4406N/A# recode depends on software that is not in Solaris
4406N/A# sybase depends on software that is not in Solaris
4406N/A
4406N/A# pdo_* except as noted depend on software that is not in Solaris
4406N/A
4406N/A# nsapi being evaluated
4406N/A# pdo_oci being evaluated
4406N/A# unixodbc, pdo_odbc being evaluated