components/php-5_3/php-nsapi/Makefile
author Craig Mohrman <craig.mohrman@oracle.com>
Thu, 23 Apr 2015 09:28:44 -0700
branchs11-update
changeset 4173 8d9bea4f92c7
parent 3996 20c0f21bbe1e
permissions -rw-r--r--
20854739 the phps do not build on s12-71 20460992 PHP should have some master test results to compare against

#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
#

include ../../../make-rules/shared-macros.mk

COMPONENT_NAME=		php
COMPONENT_VERSION=	5.3.29
COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.bz2
COMPONENT_ARCHIVE_HASH= \
    sha256:c4e1cf6972b2a9c7f2777a18497d83bf713cdbecabb65d3ff62ba441aebb0091
COMPONENT_ARCHIVE_URL=	http://us.php.net/get/$(COMPONENT_ARCHIVE)/from/this/mirror
COMPONENT_PROJECT_URL=	http://www.php.net/

#
# webserver7-spi only for php NSAPI
#
COMPONENT_NAME_1=	webserver7-spi
#COMPONENT_VERSION_1=	NONE
COMPONENT_SRC_1=	$(COMPONENT_NAME_1)
COMPONENT_ARCHIVE_1=	$(COMPONENT_NAME_1).tar.bz2
COMPONENT_ARCHIVE_HASH_1= \
    sha256:9739fe99ed270955546313322775940c6b7e8eb802707d248342406ebe5b1c97
#
# The Netscape server?
# Came from Sun's Netscape (web stack) group originally?
COMPONENT_ARCHIVE_URL_1= $(EXTERNAL_ARCHIVE_MIRROR)/$(COMPONENT_ARCHIVE_1)

PATCH_DIR = ../php-sapi/patches

include ../php-sapi/php.mk

include $(WS_MAKE_RULES)/prep.mk
include $(WS_MAKE_RULES)/configure.mk
include $(WS_MAKE_RULES)/ips.mk

include ../common.mk

COMPONENT_POST_UNPACK_ACTION += && ( \
	set -e; \
	$(RM) -r $(COMPONENT_DIR)/$(COMPONENT_SRC_1); \
	cd $(COMPONENT_DIR); \
	$(UNPACK) $(UNPACK_ARGS) ./$(COMPONENT_ARCHIVE_1); \
	)

CONFIGURE_OPTIONS  += \
	--disable-all \
	$(COMMON_CONFIG_OPTIONS) \
	--with-config-file-path=$(CONF_DIR) \
	--with-config-file-scan-dir=$(CONF_DIR)/conf.d \
	--disable-cgi \
	--disable-fastcgi \
	--enable-discard-path \
	--enable-maintainer-zts \
	--enable-ftp=shared \
	--enable-pdo=shared \
	--with-bz2=shared \
	--with-curl=shared \
	--with-gd=shared \
	--with-gettext=shared \
	--with-iconv=shared \
	--with-imap=shared,$(IMAP_DIR) \
	--with-imap-ssl=shared,/usr \
	--with-ldap=shared \
	--with-mysql=shared,mysqlnd \
	--with-mysql-sock=/tmp/mysql.sock \
	--with-mysqli=shared,mysqlnd \
	--with-nsapi=$(COMPONENT_DIR)/webserver7-spi \
	--with-openssl=shared \
	--with-pear=$(PEAR_DIR) \
	--with-pdo-mysql=shared,mysqlnd \
	--with-pdo-sqlite=shared \
	--with-snmp=shared,/usr \
	--with-sqlite3=shared \
	--with-tidy=shared,/usr

CONFIGURE_ENV += $(ZTS_CONF_ENVLINE)

COMPONENT_POST_BUILD_ACTION = ( \
	set -e; \
	cat $(BUILD_DIR_32)/scripts/phpize | \
	 sed -e "s,^\#!/bin/sh,\#!$(CONFIG_SHELL)," | \
	 sed -e "s%^prefix=.*%prefix=$(BUILD_DIR_32)%" | \
	 sed -e "s%^includedir=.*%includedir=$(BUILD_DIR_32)%" | \
	 sed -e "s%^phpdir=.*%phpdir=$(BUILD_DIR_32)%"  | \
	 sed -e "s%phpdir/phpize.m4%phpdir/scripts/phpize.m4%" | \
	 sed -e 's%cd "$$phpdir" && cp $$FILES_BUILD "$$builddir"/build%cd "$$phpdir/build" \&\& cp $$FILES_BUILD "$$builddir"/build%' \
	 > phpize-proto.zts ; \
	chmod 755 phpize-proto.zts )

ADD_NSAPI_MODULE_SUPPORT = ( \
	set -e; \
	$(MKDIR) $(PROTO_DIR)/$(TOP_DIR)/nsapi/; \
	$(CP) $(BUILD_DIR_32)/libs/libphp5.so \
		$(PROTO_DIR)/$(TOP_DIR)/nsapi/libphp5.so; \
	)

FIX_CONFIG_FILES = ( \
	set -e; \
	cd $(COMPONENT_DIR); \
	$(GSED) -e "s@extension_dir = \(.*\)@extension_dir=$(PHP_ROOT_ZTS_EXT)@"< ../php-sapi/build/prototype/$(MACH)/$(CONFDIR)/php.ini > php.ini; \
	$(MKDIR) $(PROTO_DIR)/$(NSAPI_CONFDIR); \
	$(INSTALL) -m 644 php.ini $(PROTO_DIR)/$(NSAPI_CONFDIR); \
	)

COMPONENT_INSTALL_TARGETS = libphp5.la install-modules

COMPONENT_POST_INSTALL_ACTION = ( \
	set -e; \
	$(ADD_NSAPI_MODULE_SUPPORT); \
	$(FIX_CONFIG_FILES); \
	)

CLEAN_PATHS += webserver7-spi phpize-proto.zts php.ini

# Test results not quite stable but good enough for human eyes
$(SKIP_TEST_AT_TOP_LEVEL)

configure:	$(CONFIGURE_32)

build:		$(BUILD_32)

install:	$(INSTALL_32)

# These test and compare results are not quite stable enough
# to use in automated testing but good enough to eye 
# ball and get a sense that php is working correctly.
# Individual tests can be run afterwards.
# Several random tests may PASS/FAIL on each run thus invalidating
# test and compare results.
# To use the master test result file do:
# $ gmake build
# $ gmake -i -k test
# because very likely the comparison phase will fail.

# test failures; keep going
COMPONENT_TEST_ARGS += -k -i

# different results for different architectures
COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-$(MACH$(BITS)).master

test:		$(TEST_32)

# php-sapi does the publish
publish:	install