From: Bryan Duxbury Date: Wed, 25 Aug 2010 17:09:02 +0000 (+0000) Subject: THRIFT-854. php: Provide configure option and make rules to build/install php extension X-Git-Tag: 0.5.0~154 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=89200e1c9df54bd90a240a61849842e7584304e4;p=common%2Fthrift.git THRIFT-854. php: Provide configure option and make rules to build/install php extension This patch adds a make target in lib/php that builds the php extension. By default configure will attempt to build this, but it can be disabled with --without-php_extension. Patch: Anthony Molinaro git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@989226 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/bootstrap.sh b/bootstrap.sh index 74ecdb8d..52d5a517 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -20,6 +20,7 @@ # ./cleanup.sh +(cd lib/php/src/ext/thrift_protocol && phpize) autoscan || exit 1 aclocal -I ./aclocal || exit 1 diff --git a/configure.ac b/configure.ac index 822fd1a1..3175a7be 100644 --- a/configure.ac +++ b/configure.ac @@ -48,6 +48,13 @@ AC_ARG_VAR([PHP_PREFIX], [Prefix for installing PHP modules. Default = "/usr/lib/php"]) AS_IF([test "x$PHP_PREFIX" = x], [PHP_PREFIX="/usr/lib/php"]) +AC_ARG_VAR([PHP_CONFIG_PREFIX], + [Prefix for installing PHP extension module .ini file. + (Normal --prefix is ignored for PHP because PHP has + different conventions.) + Default = "/etc/php.d"]) +AS_IF([test "x$PHP_CONFIG_PREFIX" = x], [PHP_CONFIG_PREFIX="/etc/php.d"]) + AC_ARG_VAR([PERL_PREFIX], [Prefix for installing Perl modules. (Normal --prefix is ignored for Perl because Perl has different conventions.) @@ -137,6 +144,13 @@ if test "$with_php" = "yes"; then fi AM_CONDITIONAL(WITH_PHP, [test -n "$PHP"]) +AX_THRIFT_LIB(php_extension, [PHP_EXTENSION], yes) +if test "$with_php_extension" = "yes"; then + AC_PATH_PROG([PHP_CONFIG], [php-config]) + AC_CONFIG_SUBDIRS([lib/php/src/ext/thrift_protocol]) +fi +AM_CONDITIONAL(WITH_PHP_EXTENSION, [test -n "$PHP_CONFIG"]) + AX_THRIFT_LIB(ruby, [Ruby], yes) if test "$with_ruby" = "yes"; then AC_PATH_PROG([RUBY], [ruby]) diff --git a/lib/php/Makefile.am b/lib/php/Makefile.am index b8d7e930..02cd184b 100644 --- a/lib/php/Makefile.am +++ b/lib/php/Makefile.am @@ -17,17 +17,23 @@ # under the License. # +%.so: + cd src/ext/thrift_protocol/ \ + && $(MAKE) + +if WITH_PHP_EXTENSION +phpconfdir=$(PHP_CONFIG_PREFIX) +phpconf_DATA=thrift_protocol.ini + +phpmoduledir = `php-config --extension-dir` +phpmodule_SCRIPTS = src/ext/thrift_protocol/modules/thrift_protocol.so +endif + phpdir = $(PHP_PREFIX) php_DATA = \ src/autoload.php \ src/Thrift.php -phpextdir = $(phpdir)/ext/thrift_protocol -phpext_DATA = \ - src/ext/thrift_protocol/config.m4 \ - src/ext/thrift_protocol/php_thrift_protocol.cpp \ - src/ext/thrift_protocol/php_thrift_protocol.h - phpprotocoldir = $(phpdir)/protocol phpprotocol_DATA = \ src/protocol/TBinaryProtocol.php \ diff --git a/lib/php/thrift_protocol.ini b/lib/php/thrift_protocol.ini new file mode 100644 index 00000000..a260d83b --- /dev/null +++ b/lib/php/thrift_protocol.ini @@ -0,0 +1 @@ +extension=thrift_protocol.so