904N/A#
904N/A# CDDL HEADER START
904N/A#
904N/A# The contents of this file are subject to the terms of the
904N/A# Common Development and Distribution License (the "License").
904N/A# You may not use this file except in compliance with the License.
904N/A#
904N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
904N/A# or http://www.opensolaris.org/os/licensing.
904N/A# See the License for the specific language governing permissions
904N/A# and limitations under the License.
904N/A#
904N/A# When distributing Covered Code, include this CDDL HEADER in each
904N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
904N/A# If applicable, add the following below this CDDL HEADER, with the
904N/A# fields enclosed by brackets "[]" replaced with your own identifying
904N/A# information: Portions Copyright [yyyy] [name of copyright owner]
904N/A#
904N/A# CDDL HEADER END
904N/A#
3777N/A# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
904N/A#
904N/Ainclude ../../make-rules/shared-macros.mk
3522N/A
3777N/ATPNO_PHP_5_3= 21389
3661N/ATPNO_PHP_APC= 17127
3661N/ATPNO_PHP_IDN= 17128
3661N/ATPNO_PHP_MEMCACHE= 17130
3522N/ATPNO_PHP_SUHOSIN= 17559
3661N/ATPNO_PHP_TCPWRAP= 17132
3661N/ATPNO_PHP_XDEBUG= 17133
3661N/ATPNO_PHP_ZENDOPCACHE= 14926
3522N/A
3996N/Ainclude $(WS_MAKE_RULES)/ips.mk
904N/A
904N/A##
904N/A## This Makefile for local usage only.
904N/A## The full build will NOT execute this Makefile.
904N/A##
904N/A
904N/A# PHP 5.3
904N/A#
904N/A# Build ordering:
904N/A# 1) imap -> install
904N/A# 2) php-sapi -> install
904N/A# 3) php-nsapi -> install
904N/A# 3) php-cgi -> install
904N/A# 4) php-sapi -> publish (packages sapi, nsapi, cgi in 1 package)
904N/A# 5) APC-zts -> install
904N/A# 6) APC -> publish (packages APC-zts, APC in 1 package)
904N/A# 5) idn-zts -> install
904N/A# 6) idn -> publish (packages idn-zts, idn in 1 package)
904N/A# 5) memcache-zts -> install
904N/A# 6) memcache -> publish (packages memcache-zts, memcache in 1 pack)
904N/A# 5) suhosin-zts -> install
904N/A# 6) suhosin -> publish (packages suhosin-zts, suhosin in 1 package)
904N/A# 5) tcpwrap-zts -> install
904N/A# 6) tcpwrap -> publish (packages tcpwrap-zts, tcpwrap in 1 package)
904N/A# 5) xdebug-zts -> install
904N/A# 6) xdebug -> publish (packages xdebug-zts, xdebug in 1 package)
904N/A#
904N/A# The numbers indicate parallelism possible in the build.
904N/A# The other way to build this would be:
904N/A# 1) imap -> build
904N/A# 2) php-sapi -> install
904N/A# 3) php-nsapi -> install
904N/A# 4) all others -> install (in parallel)
904N/A# 5) all -> publish (in parallel)
904N/A# So after imap, php-sapi, php-nsapi build serially in that order
904N/A# then it doesn't matter.
904N/A
904N/A# PHP is built 3 ways:
904N/A# php-sapi - Server API
904N/A# php-cgi - CGI
904N/A# php-nsapi - Netscape Server API
904N/A# This is the Netscape group (aka webstack group)
904N/A# that Sun purchased from AOL long ago.
904N/A# I believe this Netscape server is still alive
904N/A# and offered by Oracle.
904N/A# These PHP's are built from the same source, patched the same way,
904N/A# but configured differently.
904N/A
904N/A# More relevant to the full USERLAND build is the dependency tree
904N/A# for say starting the build down in an extension module:
904N/A# To publish the APC extension:
904N/A# 1) build imap
904N/A# 2) install php-sapi
904N/A# 3) install APC
904N/A# 4) install php-nsapi
904N/A# 5) install APC-zts
904N/A# 6) publish APC
904N/A
904N/A# SFW build of php
904N/A# 1) build_imap - Because php needs headers and libc-client.a
904N/A# Must be built first.
904N/A# 2) build_modphp5 - php SAPI
904N/A# $(PHP_DIR)/libs/libphp5.so
904N/A# $(PHP_DIR)/config.status
904N/A# $(PHP_DIR)/configure
904N/A# unroll php archive
904N/A# patch
904N/A# ./buildconf
904N/A# edit configure
904N/A# copy php source tree for php_fast/cgi build
904N/A# unroll webserver7-spi
904N/A# [Sun Java System Web Server 7 (formerly known
904N/A# as Sun ONE/iPlanet Enterprise Server)]
904N/A# [now Oracle iPlanet Web Server 7]
904N/A# copy php source tree for php_nsapi build
904N/A# $(PHP_NSAPI)/configure
904N/A# [stuff...]
904N/A# ./configure
904N/A# 3) build_cgi - php cgi/fastcgi
904N/A# 4) build_nsapi - php nsapi (netscape SAPI - old sun webserver product)
904N/A# (still applicable)
904N/A# I think so - http://blogs.oracle.com/natarajan/entry/php_plug_in_for_oracle
904N/A# (now known as Oracle iPlanet Web Server 7)
904N/A#
904N/A# 5) install_php - this is called AFTER php builds and installs
904N/A# cd $(PHP_DIR); make install
904N/A# cd $(PHP_NSAPI); make libphp5.la install-modules
904N/A# ./install-php5
904N/A# don't need fix_bin_scripts()
904N/A# [paths already correct and some things don't exist.]
904N/A# looks like i DO NEED the pear patches
904N/A
1273N/ACOMPONENT_NAME= php
3777N/ACOMPONENT_VERSION= 5.3.29
904N/ACOMPONENT_PROJECT_URL= http://www.php.net/
1273N/ACOMPONENT_BUGDB= utility/php
904N/A
904N/APKG_PROTO_DIRS += APC/build/prototype/$(MACH)
904N/APKG_PROTO_DIRS += APC-zts/build/prototype/$(MACH)
904N/APKG_PROTO_DIRS += idn/build/prototype/$(MACH)
904N/APKG_PROTO_DIRS += idn-zts/build/prototype/$(MACH)
904N/APKG_PROTO_DIRS += memcache/build/prototype/$(MACH)
904N/APKG_PROTO_DIRS += memcache-zts/build/prototype/$(MACH)
904N/APKG_PROTO_DIRS += php-cgi/build/prototype/$(MACH)
904N/APKG_PROTO_DIRS += php-nsapi/build/prototype/$(MACH)
904N/APKG_PROTO_DIRS += php-sapi/build/prototype/$(MACH)
904N/APKG_PROTO_DIRS += suhosin/build/prototype/$(MACH)
904N/APKG_PROTO_DIRS += suhosin-zts/build/prototype/$(MACH)
904N/APKG_PROTO_DIRS += tcpwrap/build/prototype/$(MACH)
904N/APKG_PROTO_DIRS += tcpwrap-zts/build/prototype/$(MACH)
904N/APKG_PROTO_DIRS += xdebug/build/prototype/$(MACH)
904N/APKG_PROTO_DIRS += xdebug-zts/build/prototype/$(MACH)
2429N/APKG_PROTO_DIRS += zendopcache/build/prototype/$(MACH)
2429N/APKG_PROTO_DIRS += zendopcache-zts/build/prototype/$(MACH)
904N/A
904N/A# for now, everything with a Makefile should be built
904N/ASUBDIRS = $(shell echo */Makefile | sed -e 's;/Makefile;;g')
904N/A
904N/A.PHONY: $(SUBDIRS)
904N/A
904N/Adownload: TARGET = download
904N/Aprep: TARGET = prep
904N/Ainstall: TARGET = install
904N/Aclean: TARGET = clean
904N/Aclobber: TARGET = clobber
904N/Atest: TARGET = test
904N/Apublish: TARGET = publish
904N/A
904N/Abuild: install
904N/A
904N/A.DEFAULT: publish
904N/A
904N/Adownload prep install test publish: $(SUBDIRS)
904N/A
904N/Aclean: $(SUBDIRS)
904N/A $(RM) -r $(BUILD_DIR)
904N/A
904N/Aclobber: $(SUBDIRS) clean
904N/A
904N/A$(SUBDIRS): FORCE
904N/A @cd $@ && echo "$(TARGET) $@" && $(MAKE) $(TARGET)
904N/A
904N/A# declare module dependencies
904N/AAPC: php-sapi
904N/AAPC-zts: php-sapi php-nsapi
904N/Aidn: php-sapi
904N/Aidn-zts: php-sapi php-nsapi
904N/Amemcache: php-sapi
904N/Amemcache-zts: php-sapi php-nsapi
904N/Aphp-cgi: php-sapi
904N/Aphp-nsapi: php-sapi
904N/Aphp-sapi: imap
904N/Asuhosin: php-sapi
904N/Asuhosin-zts: php-sapi php-nsapi
904N/Atcpwrap: php-sapi
904N/Atcpwrap-zts: php-sapi php-nsapi
904N/Axdebug: php-sapi
904N/Axdebug-zts: php-sapi php-nsapi
2429N/Azendopcache: php-sapi
2429N/Azendopcache-zts: php-sapi php-nsapi
904N/A
904N/AFORCE:
3996N/AREQUIRED_PACKAGES += compress/bzip2
3996N/AREQUIRED_PACKAGES += database/mysql-51/library
3996N/AREQUIRED_PACKAGES += image/library/libjpeg
3996N/AREQUIRED_PACKAGES += image/library/libpng
3996N/AREQUIRED_PACKAGES += library/libidn
3996N/AREQUIRED_PACKAGES += library/libtool/libltdl
3996N/AREQUIRED_PACKAGES += library/libxml2
3996N/AREQUIRED_PACKAGES += library/libxslt
3996N/AREQUIRED_PACKAGES += library/security/openssl
3996N/AREQUIRED_PACKAGES += library/zlib
3996N/AREQUIRED_PACKAGES += shell/bash
3996N/AREQUIRED_PACKAGES += shell/ksh93
3996N/AREQUIRED_PACKAGES += system/library
3996N/AREQUIRED_PACKAGES += system/library/freetype-2
3996N/AREQUIRED_PACKAGES += system/library/math
3996N/AREQUIRED_PACKAGES += system/library/security/libmcrypt
3996N/AREQUIRED_PACKAGES += system/linker
3996N/AREQUIRED_PACKAGES += system/management/snmp/net-snmp
3996N/AREQUIRED_PACKAGES += text/tidy
3996N/AREQUIRED_PACKAGES += web/curl
3996N/AREQUIRED_PACKAGES += x11/library/libx11
3996N/AREQUIRED_PACKAGES += x11/library/libxpm