diff options
author | Max Romanov <max.romanov@nginx.com> | 2017-06-23 19:20:08 +0300 |
---|---|---|
committer | Max Romanov <max.romanov@nginx.com> | 2017-06-23 19:20:08 +0300 |
commit | 5a43bd0bfd1eaa60dede7beb3206a53e8d008fa4 (patch) | |
tree | 1b5fed79ddee1a884e117c7710593a3dfe298d94 /auto | |
parent | fa6582d9ad581451c8406ec2022b5df23676d0bb (diff) | |
download | unit-5a43bd0bfd1eaa60dede7beb3206a53e8d008fa4.tar.gz unit-5a43bd0bfd1eaa60dede7beb3206a53e8d008fa4.tar.bz2 |
PHP app request processing.
Diffstat (limited to 'auto')
-rw-r--r-- | auto/make | 4 | ||||
-rw-r--r-- | auto/modules/conf | 4 | ||||
-rw-r--r-- | auto/modules/php/conf | 43 | ||||
-rw-r--r-- | auto/modules/php/make | 24 | ||||
-rw-r--r-- | auto/options | 5 |
5 files changed, 80 insertions, 0 deletions
@@ -231,6 +231,10 @@ if [ $NXT_PYTHON_MODULE != NO ]; then . auto/modules/python/make fi +if [ $NXT_PHP_MODULE != NO ]; then + . auto/modules/php/make +fi + # Makefile. # *.dSYM is MacOSX Clang debug information. diff --git a/auto/modules/conf b/auto/modules/conf index f060bdeb..f73be1e6 100644 --- a/auto/modules/conf +++ b/auto/modules/conf @@ -11,6 +11,10 @@ if [ $NXT_PYTHON_MODULE != NO ]; then . auto/modules/python/conf fi +if [ $NXT_PHP_MODULE != NO ]; then + . auto/modules/php/conf +fi + NXT_MODULES_SRC=$NXT_BUILD_DIR/nxt_modules.c diff --git a/auto/modules/php/conf b/auto/modules/php/conf new file mode 100644 index 00000000..9eef65fb --- /dev/null +++ b/auto/modules/php/conf @@ -0,0 +1,43 @@ + +# Copyright (C) Max Romanov +# Copyright (C) NGINX, Inc. + + +NXT_PHP_CONFIG="${NXT_PHP}-config" +NXT_PHP_VERSION="`${NXT_PHP_CONFIG} --version`" +NXT_PHP_INCLUDE="`${NXT_PHP_CONFIG} --includes`" +NXT_PHP_LIB="-lphp${NXT_PHP_VERSION%%.*}" +NXT_PHP_LIBS="`${NXT_PHP_CONFIG} --ldflags`" + +nxt_feature="PHP" +nxt_feature_name=NXT_HAVE_PHP +nxt_feature_run=no +nxt_feature_incs="${NXT_PHP_INCLUDE}" +nxt_feature_libs="${NXT_PHP_LIB} ${NXT_PHP_LIBS}" +nxt_feature_test="#include <php.h> + #include <php_main.h> + + int main() { + php_request_startup(); + return 0; + }" + +. auto/feature + +if [ $nxt_found = no ]; then + $echo + $echo $0: error: no php found. + $echo + exit 1; +fi + +$echo " + php version: ${NXT_PHP_VERSION}" + +NXT_PHP_MODULE_SRCS=" \ + src/nxt_php_sapi.c \ +" + +NXT_MODULES_INIT="$NXT_MODULES_INIT nxt_php_sapi_init" +NXT_MODULES_SRCS="$NXT_MODULES_SRCS $NXT_PHP_MODULE_SRCS" + +NXT_LIB_AUX_LIBS="$NXT_LIB_AUX_LIBS $NXT_PHP_LIB $NXT_PHP_LIBS" diff --git a/auto/modules/php/make b/auto/modules/php/make new file mode 100644 index 00000000..f4bd7f97 --- /dev/null +++ b/auto/modules/php/make @@ -0,0 +1,24 @@ + +# Copyright (C) Max Romanov +# Copyright (C) NGINX, Inc. + + +$echo >> $NXT_MAKEFILE +$echo >> $NXT_MAKEFILE + + +# The php module object files. + +for nxt_src in $NXT_PHP_MODULE_SRCS +do + nxt_obj=`$echo $nxt_src | sed -e "s/\.c$/\.o/"` + cat << END >> $NXT_MAKEFILE + +$NXT_BUILD_DIR/$nxt_obj: $nxt_src + \$(CC) -c \$(CFLAGS) \$(NXT_INCS) $NXT_PHP_INCLUDE \\ + $NXT_LIB_AUX_CFLAGS \\ + -o $NXT_BUILD_DIR/$nxt_obj \\ + $nxt_src +END + +done diff --git a/auto/options b/auto/options index e4b4d72d..36215198 100644 --- a/auto/options +++ b/auto/options @@ -44,6 +44,8 @@ NXT_LIB_UNIT_TEST=NO NXT_PYTHON=python NXT_PYTHON_MODULE=NO +NXT_PHP=php +NXT_PHP_MODULE=NO for nxt_option do @@ -93,6 +95,9 @@ do --with-python=*) NXT_PYTHON="$value" ;; --with-python_module) NXT_PYTHON_MODULE=YES ;; + --with-php=*) NXT_PHP="$value" ;; + --with-php_module) NXT_PHP_MODULE=YES ;; + *) $echo $echo "$0: error: invalid option \"$nxt_option\"". |