1 # |
|
2 # CDDL HEADER START |
|
3 # |
|
4 # The contents of this file are subject to the terms of the |
|
5 # Common Development and Distribution License (the "License"). |
|
6 # You may not use this file except in compliance with the License. |
|
7 # |
|
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
|
9 # or http://www.opensolaris.org/os/licensing. |
|
10 # See the License for the specific language governing permissions |
|
11 # and limitations under the License. |
|
12 # |
|
13 # When distributing Covered Code, include this CDDL HEADER in each |
|
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
|
15 # If applicable, add the following below this CDDL HEADER, with the |
|
16 # fields enclosed by brackets "[]" replaced with your own identifying |
|
17 # information: Portions Copyright [yyyy] [name of copyright owner] |
|
18 # |
|
19 # CDDL HEADER END |
|
20 # |
|
21 # Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. |
|
22 # |
|
23 |
|
24 PHP_REL= 5.2 |
|
25 |
|
26 TOP_DIR=/usr/php/$(PHP_REL) |
|
27 CONF_DIR=/etc/php/$(PHP_REL) |
|
28 ZTS_MODULES_DIR=$(TOP_DIR)/zts-modules |
|
29 |
|
30 APACHE_VERSION_DIR=2.2 |
|
31 APACHE_DIR_PREFIX=apache2/$(APACHE_VERSION_DIR) |
|
32 APACHE_USR_PREFIX=/usr/$(APACHE_DIR_PREFIX) |
|
33 APACHE_VAR_PREFIX=/var/$(APACHE_DIR_PREFIX) |
|
34 APACHE_ETC_PREFIX=/etc/$(APACHE_DIR_PREFIX) |
|
35 APACHE2_SAMPLES_CONFDIR=$(APACHE_ETC_PREFIX)/samples-conf.d |
|
36 APACHE2_CONFDIR=$(APACHE_ETC_PREFIX)/conf.d |
|
37 APACHE2_PHP=$(APACHE2_CONFDIR)/php |
|
38 APACHE2_EXTDIR=$(APACHE_USR_PREFIX)/libexec |
|
39 PHP_ROOT=/usr/php/$(PHP_REL) |
|
40 PHP_BIN=$(PHP_ROOT)/bin |
|
41 PHP_LIB=$(PHP_ROOT)/lib |
|
42 PHP_ROOT_EXT=$(PHP_ROOT)/modules |
|
43 PHP_ROOT_ZTS_EXT=$(PHP_ROOT)/zts-modules |
|
44 EXTDIR=$(TOP_DIR)/modules |
|
45 CONFDIR=/etc/php/$(PHP_REL) |
|
46 MODULES_CONFDIR=$(CONFDIR)/conf.d |
|
47 NSAPI_CONFDIR=/etc/php/$(PHP_REL)/nsapi |
|
48 ZTS_MODULES_CONFDIR=$(CONFDIR)/zts-conf.d |
|
49 COPYRIGHT_TMPL=$(COMPONENT_DIR)/../Solaris/copyright.tmpl |
|
50 DOCDIR=$(PHP_ROOT)/doc |
|
51 SCRIPTS_DIR=$(PHP_ROOT)/samples/scripts |
|
52 |
|
53 IMAP_DIR = $(COMPONENT_DIR)/../imap/build/$(MACH32) |
|
54 IMAP_CLIENT_DIR = $(IMAP_DIR)/c-client |
|
55 MODULES_DIR = $(TOP_DIR)/modules |
|
56 MODULES_CONF_DIR=$(CONF_DIR)/conf.d |
|
57 MYSQL_DIR = /usr/mysql/5.5 |
|
58 MYSQL_LIBDIR=/usr/mysql/5.5/lib |
|
59 PHP_SAPI_BUILD = $(COMPONENT_DIR)/../php-sapi/build/$(MACH32) |
|
60 PEAR_DIR=/var/php/$(PHP_REL)/pear |
|
61 |
|
62 |
|
63 COMMON_CONFIG_OPTIONS= \ |
|
64 --bindir=$(TOP_DIR)/bin \ |
|
65 --datadir=$(TOP_DIR)/share \ |
|
66 --disable-dbase \ |
|
67 --disable-debug \ |
|
68 --disable-dmalloc \ |
|
69 --disable-inline-optimization \ |
|
70 --disable-libgcc \ |
|
71 --disable-libtool-lock \ |
|
72 --disable-rpath \ |
|
73 --disable-static \ |
|
74 --enable-bcmath \ |
|
75 --enable-calendar \ |
|
76 --enable-ctype \ |
|
77 --enable-cli \ |
|
78 --enable-dom \ |
|
79 --enable-dtrace \ |
|
80 --enable-exif \ |
|
81 --enable-flatfile \ |
|
82 --enable-filter \ |
|
83 --enable-gd-jis-conv \ |
|
84 --enable-gd-native-ttf \ |
|
85 --enable-hash \ |
|
86 --enable-inifile \ |
|
87 --enable-ipv6 \ |
|
88 --enable-json \ |
|
89 --enable-magic-quotes \ |
|
90 --enable-mbregex \ |
|
91 --enable-mbstring \ |
|
92 --enable-mod-charset \ |
|
93 --enable-pcntl \ |
|
94 --enable-posix \ |
|
95 --enable-reflection \ |
|
96 --with-libxml-dir=/usr \ |
|
97 --enable-libxml \ |
|
98 --enable-sqlite-utf8 \ |
|
99 --enable-session \ |
|
100 --enable-shared \ |
|
101 --enable-shmop \ |
|
102 --enable-short-tags \ |
|
103 --enable-simplexml \ |
|
104 --enable-soap \ |
|
105 --enable-sockets \ |
|
106 --enable-spl \ |
|
107 --enable-sysvmsg \ |
|
108 --enable-sysvsem \ |
|
109 --enable-sysvshm \ |
|
110 --enable-tokenizer \ |
|
111 --enable-xml \ |
|
112 --enable-xmlreader \ |
|
113 --enable-xmlwriter \ |
|
114 --enable-zend-multibyte \ |
|
115 --enable-zip \ |
|
116 --exec-prefix=$(TOP_DIR) \ |
|
117 --includedir=$(TOP_DIR)/include \ |
|
118 --libdir=$(TOP_DIR)/lib \ |
|
119 --libexecdir=$(TOP_DIR)/modules \ |
|
120 --mandir=$(TOP_DIR)/man \ |
|
121 --oldincludedir=$(TOP_DIR)/share \ |
|
122 --prefix=$(TOP_DIR) \ |
|
123 --sbindir=$(TOP_DIR)/sbin \ |
|
124 --sysconfdir=$(CONF_DIR) \ |
|
125 --with-cdb \ |
|
126 --with-exec-dir=$(TOP_DIR)/bin \ |
|
127 --with-freetype-dir=/usr/sfw \ |
|
128 --with-jpeg-dir=/usr \ |
|
129 --with-kerberos \ |
|
130 --with-layout=PHP \ |
|
131 --with-mcrypt=shared,/usr \ |
|
132 --with-pcre-dir=/usr \ |
|
133 --with-pcre-regex \ |
|
134 --with-png-dir=/usr \ |
|
135 --with-xmlrpc \ |
|
136 --with-xpm-dir=/usr/X11 \ |
|
137 --with-xsl \ |
|
138 --with-zlib \ |
|
139 --with-zend-vm=CALL \ |
|
140 --without-dbm \ |
|
141 --without-t1lib |
|
142 |
|
143 |
|
144 studio_C99MODE = $(studio_99_ENABLE) |
|
145 studio_cplusplus_C99MODE = $(studio_cplusplus_C99_ENABLE) |
|
146 CPPFLAGS += -D_POSIX_PTHREAD_SEMANTICS |
|
147 CPPFLAGS += $(CPP_LARGEFILES) |
|
148 CPPFLAGS += -I../CPPFLAGSTEST |
|
149 LIBS = -lsocket -lnsl -ldl -lposix4 |
|
150 LD = $(CXX) $(studio_NORUNPATH) |
|
151 LDFLAGS += -L$(MYSQL_LIBDIR) -lrt -L$(IMAP_CLIENT_DIR) |
|
152 |
|
153 ASLR_MODE = $(ASLR_ENABLE) |
|
154 |
|
155 CONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)" |
|
156 CONFIGURE_OPTIONS += CPPFLAGS="$(CPPFLAGS)" |
|
157 CONFIGURE_OPTIONS += LD="$(LD)" |
|
158 CONFIGURE_OPTIONS += LDFLAGS="$(LDFLAGS)" |
|
159 CONFIGURE_OPTIONS += PATH="$(PATH):/usr/sbin" |
|
160 |
|
161 CONF_ENVLINE += \ |
|
162 LIBS="$(LIBS)" \ |
|
163 EXTENSION_DIR=$(MODULES_DIR) \ |
|
164 PHP_PEAR_CACHE_DIR=/var/cache/php-pear \ |
|
165 PHP_PEAR_DOWNLOAD_DIR=/var/tmp/pear/cache \ |
|
166 PHP_PEAR_EXTENSION_DIR=/var/php/$(PHP_REL)/modules \ |
|
167 PHP_PEAR_INSTALL_DIR=/var/php/$(PHP_REL)/pear \ |
|
168 PHP_PEAR_SIG_BIN=/usr/gnu/bin/gpg \ |
|
169 DESTDIR=$(PROTO_DIR) \ |
|
170 INSTALL_ROOT=$(PROTO_DIR) \ |
|
171 INSTALL=$(INSTALL) |
|
172 |
|
173 PHP_ZTS_CFLAGS=-mt -D_REENTRANT |
|
174 ZTS_MODULES_CONF_DIR=$(CONF_DIR)/zts-conf.d |
|
175 |
|
176 |
|
177 ZTS_CONF_ENVLINE= \ |
|
178 CC=$(CC) \ |
|
179 CXX=$(CXX) \ |
|
180 CPPFLAGS="-I../CPPFLAGSTEST -D_POSIX_PTHREAD_SEMANTICS" \ |
|
181 CFLAGS="$(CFLAGS) $(PHP_ZTS_CFLAGS)" \ |
|
182 LDFLAGS="-L$(MYSQL_LIBDIR) -lrt" \ |
|
183 LIBS="$(LIBS)" \ |
|
184 EXTENSION_DIR=$(ZTS_MODULES_DIR) \ |
|
185 DESTDIR=$(PROTO_DIR) \ |
|
186 INSTALL_ROOT=$(PROTO_DIR) \ |
|
187 INSTALL=$(INSTALL) |
|
188 |
|
189 ENVLINE= \ |
|
190 $(CONF_ENVLINE) |
|
191 |
|
192 ZTS_ENVLINE= \ |
|
193 $(ZTS_CONF_ENVLINE) |
|
194 |
|
195 COMPONENT_BUILD_ENV += PATH="$(PATH):/usr/sbin" |
|
196 COMPONENT_INSTALL_ENV += $(CONFIGURE_ENV) |
|
197 |
|
198 COMPONENT_TEST_ENV += $(CONFIGURE_ENV) |
|
199 COMPONENT_TEST_TARGETS = test |
|
200 # Turns off question at the end of the test run. |
|
201 COMPONENT_TEST_ENV += NO_INTERACTION=1 |
|
202 |
|
203 # We provide an .ini file for some extensions. |
|
204 # Extensions without .ini's get handled below. |
|
205 FIX_CONFIG_FILES = ( \ |
|
206 set -e; \ |
|
207 $(MKDIR) $(COMPONENT_DIR)/tmp; \ |
|
208 cd $(COMPONENT_DIR)/tmp; \ |
|
209 $(MKDIR) $(PROTO_DIR)/$(MODULES_CONFDIR); \ |
|
210 $(MKDIR) $(PROTO_DIR)/$(ZTS_MODULES_CONFDIR); \ |
|
211 for conffile in ../config/*.ini; do \ |
|
212 ext=$${conffile\#\#*/}; \ |
|
213 $(INSTALL) -m 644 $${conffile} \ |
|
214 $(PROTO_DIR)/$(MODULES_CONFDIR)/$${ext}; \ |
|
215 $(GSED) -e "s@zend_extension=$(PHP_ROOT_EXT)@zend_extension=$(PHP_ROOT_ZTS_EXT)@" < $${conffile} > tmp; \ |
|
216 $(INSTALL) -m 644 tmp \ |
|
217 $(PROTO_DIR)/$(ZTS_MODULES_CONFDIR)/$${ext}; \ |
|
218 done; \ |
|
219 ) |
|
220 |
|
221 |
|
222 # Prepare configuration files for each extension |
|
223 # By default, disable following 3rd party extensions: |
|
224 # xdebug suhosin |
|
225 FIX_CONFIG_FILES_2 = ( \ |
|
226 set -e; \ |
|
227 $(MKDIR) $(COMPONENT_DIR)/tmp; \ |
|
228 cd $(COMPONENT_DIR)/tmp; \ |
|
229 $(MKDIR) $(PROTO_DIR)/$(MODULES_CONFDIR); \ |
|
230 $(MKDIR) $(PROTO_DIR)/$(ZTS_MODULES_CONFDIR); \ |
|
231 for module in $(PROTO_DIR)/$(EXTDIR)/*.so; do \ |
|
232 module=$${module%.so}; \ |
|
233 ext=$${module\#\#*/}; \ |
|
234 echo "extension=$${ext}.so" > $${ext}.ini; \ |
|
235 $(INSTALL) -m 644 $${ext}.ini \ |
|
236 $(PROTO_DIR)/$(MODULES_CONFDIR)/$${ext}.ini; \ |
|
237 $(INSTALL) -m 644 $${ext}.ini \ |
|
238 $(PROTO_DIR)/$(ZTS_MODULES_CONFDIR)/$${ext}.ini; \ |
|
239 done; \ |
|
240 ) |
|