External Go app request processing.

This commit is contained in:
Max Romanov
2017-06-23 19:20:08 +03:00
parent 5a43bd0bfd
commit 4a1b59c27a
26 changed files with 2334 additions and 1 deletions

25
auto/modules/go/conf Normal file
View File

@@ -0,0 +1,25 @@
# Copyright (C) Max Romanov
# Copyright (C) NGINX, Inc.
NXT_GO_VERSION="`${NXT_GO} version`"
GOPATH=`pwd` CGO_CPPFLAGS="-DNXT_CONFIGURE" "${NXT_GO}" build -o build/nxt_go_gen.a --buildmode=c-archive nginext
if [ "$?" -ne 0 ]; then
$echo
$echo $0: error: no go found.
$echo
exit 1;
fi
$echo " + go version: ${NXT_GO_VERSION}"
NXT_GO_MODULE_SRCS=" \
src/nxt_go.c \
"
NXT_MODULES_INIT="$NXT_MODULES_INIT nxt_go_module_init"
NXT_MODULES_SRCS="$NXT_MODULES_SRCS $NXT_GO_MODULE_SRCS"

24
auto/modules/go/make Normal file
View File

@@ -0,0 +1,24 @@
# Copyright (C) Max Romanov
# Copyright (C) NGINX, Inc.
$echo >> $NXT_MAKEFILE
$echo >> $NXT_MAKEFILE
# The go module object files.
for nxt_src in $NXT_GO_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_LIB_AUX_CFLAGS \\
-o $NXT_BUILD_DIR/$nxt_obj \\
$nxt_src
END
done