/[gentoo-x86]/eclass/php-common-r1.eclass
Gentoo

Contents of /eclass/php-common-r1.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (show annotations) (download)
Wed Jan 4 09:22:48 2006 UTC (8 years, 8 months ago) by chtekk
Branch: MAIN
Changes since 1.4: +18 -2 lines
Update the PHP packages, sync with overlay.

1 # Copyright 1999-2005 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/eclass/php-common-r1.eclass,v 1.4 2005/11/01 10:04:13 chtekk Exp $
4
5 # ########################################################################
6 #
7 # eclass/php-common-r1.eclass
8 # Contains common functions which are shared between the
9 # PHP4 and PHP5 packages
10 #
11 # USE THIS ECLASS FOR THE "CONSOLIDATED" PACKAGES
12 #
13 # Based on robbat2's work on the php4 sapi eclass
14 # Based on stuart's work on the php5 sapi eclass
15 #
16 # Maintainer:
17 # php-bugs@gentoo.org
18 #
19 # ########################################################################
20
21 # ########################################################################
22 # CFLAG SANITY
23 # ########################################################################
24
25 php_check_cflags() {
26 # filter the following from C[XX]FLAGS regardless, as apache won't be
27 # supporting LFS until 2.2 is released and in the tree. Fixes bug #24373.
28 filter-flags "-D_FILE_OFFSET_BITS=64"
29 filter-flags "-D_FILE_OFFSET_BITS=32"
30 filter-flags "-D_LARGEFILE_SOURCE=1"
31 filter-flags "-D_LARGEFILE_SOURCE"
32
33 #fixes bug #14067
34 # changed order to run it in reverse for bug #32022 and #12021
35 replace-flags "-march=k6-3" "-march=i586"
36 replace-flags "-march=k6-2" "-march=i586"
37 replace-flags "-march=k6" "-march=i586"
38 }
39
40 # ########################################################################
41 # IMAP SUPPORT
42 # ########################################################################
43
44 php_check_imap() {
45 if ! useq imap ; then
46 return
47 fi
48
49 if useq ssl ; then
50 if ! built_with_use virtual/imap-c-client ssl ; then
51 eerror
52 eerror "IMAP+SSL requested, but your IMAP libraries are built without SSL!"
53 eerror
54 die "Please recompile IMAP libraries w/ SSL support enabled"
55 fi
56 fi
57 }
58
59 # ########################################################################
60 # JAVA EXTENSION SUPPORT
61 #
62 # The bundled java extension is unique to PHP4 at the time of writing, but
63 # there is now the PHP-Java-Bridge that works under both PHP4 and PHP5.
64 # ########################################################################
65
66 php_check_java() {
67 if ! useq java-internal ; then
68 return 1
69 fi
70
71 JDKHOME="`java-config --jdk-home`"
72 NOJDKERROR="You need to use java-config to set your JVM to a JDK!"
73 if [ -z "${JDKHOME}" ] || [ ! -d "${JDKHOME}" ]; then
74 eerror "${NOJDKERROR}"
75 die "${NOJDKERROR}"
76 fi
77
78 # stuart@gentoo.org - 2003/05/18
79 # Kaffe JVM is not a drop-in replacement for the Sun JDK at this time
80 if echo ${JDKHOME} | grep kaffe > /dev/null 2>&1 ; then
81 eerror
82 eerror "PHP will not build using the Kaffe Java Virtual Machine."
83 eerror "Please change your JVM to either Blackdown or Sun's."
84 eerror
85 eerror "To build PHP without Java support, please re-run this emerge"
86 eerror "and place the line:"
87 eerror " USE='-java-internal'"
88 eerror "in front of your emerge command; e.g."
89 eerror " USE='-java-internal' emerge =dev-lang/php-4*"
90 eerror
91 eerror "or edit your USE flags in /etc/make.conf"
92 die "Kaffe JVM not supported"
93 fi
94
95 JDKVER=$(java-config --java-version 2>&1 | awk '/^java version/ { print $3 }' | xargs )
96 einfo "Active JDK version: ${JDKVER}"
97 case "${JDKVER}" in
98 1.4.*) ;;
99 1.5.*) ewarn "Java 1.5 is NOT supported at this time, and might not work." ;;
100 *) eerror "A Java 1.4 JDK is required for Java support in PHP." ; die ;;
101 esac
102 }
103
104 php_install_java() {
105 if ! useq java-internal ; then
106 return 1
107 fi
108
109 # we put these into /usr/lib so that they cannot conflict with
110 # other versions of PHP (e.g. PHP 4 & PHP 5)
111 insinto ${PHPEXTDIR}
112 einfo "Installing JAR for PHP"
113 doins ext/java/php_java.jar
114
115 einfo "Installing Java test page"
116 newins ext/java/except.php java-test.php
117
118 einfo "Installing Java extension for PHP"
119 doins modules/java.so
120
121 dosym ${PHPEXTDIR}/java.so ${PHPEXTDIR}/libphp_java.so
122 }
123
124 php_install_java_inifile() {
125 if ! useq java-internal ; then
126 return 1
127 fi
128
129 JAVA_LIBRARY="`grep -- '-DJAVALIB' Makefile | sed -e 's,.\+-DJAVALIB=\"\([^"]*\)\".*$,\1,g;'| sort | uniq `"
130
131 echo "extension = java.so" >> "${D}/${PHP_EXT_INI_DIR}/java.ini"
132 echo "java.library = ${JAVA_LIBRARY}" >> "${D}/${PHP_EXT_INI_DIR}/java.ini"
133 echo "java.class.path = ${PHPEXTDIR}/php_java.jar" >> "${D}/${PHP_EXT_INI_DIR}/java.ini"
134 echo "java.library.path = ${PHPEXTDIR}" >> "${D}/${PHP_EXT_INI_DIR}/java.ini"
135
136 dosym "${PHP_EXT_INI_DIR}/java.ini" "${PHP_EXT_INI_DIR_ACTIVE}/java.ini"
137 }
138
139 # ########################################################################
140 # MTA SUPPORT
141 # ########################################################################
142
143 php_check_mta() {
144 [ -x "${ROOT}/usr/sbin/sendmail" ] || die "You need a virtual/mta that provides /usr/sbin/sendmail!"
145 }
146
147 # ########################################################################
148 # ORACLE SUPPORT
149 # ########################################################################
150
151 php_check_oracle_all() {
152 if useq oci8 && [ -z "${ORACLE_HOME}" ]; then
153 eerror
154 eerror "You must have the ORACLE_HOME variable in your environment!"
155 eerror
156 die "Oracle configuration incorrect; user error"
157 fi
158
159 if useq oci8 || useq oracle7 ; then
160 if has_version 'dev-db/oracle-instantclient-basic' ; then
161 ewarn "Please ensure you have a full install of the Oracle client."
162 ewarn "dev-db/oracle-instantclient* is NOT sufficient."
163 fi
164 fi
165 }
166
167 php_check_oracle_8() {
168 if useq oci8 && [ -z "${ORACLE_HOME}" ]; then
169 eerror
170 eerror "You must have the ORACLE_HOME variable in your environment!"
171 eerror
172 die "Oracle configuration incorrect; user error"
173 fi
174
175 if useq oci8 ; then
176 if has_version 'dev-db/oracle-instantclient-basic' ; then
177 ewarn "Please ensure you have a full install of the Oracle client."
178 ewarn "dev-db/oracle-instantclient* is NOT sufficient."
179 fi
180 fi
181 }
182
183 # ########################################################################
184 # END OF ECLASS
185 # ########################################################################

  ViewVC Help
Powered by ViewVC 1.1.20