Unit application library.

Library now used in all language modules.
Old 'nxt_app_*' code removed.

See src/test/nxt_unit_app_test.c for usage sample.
This commit is contained in:
Max Romanov
2018-08-06 17:27:33 +03:00
parent b6ce2da65c
commit 1bb22d1e92
54 changed files with 6685 additions and 4469 deletions

View File

@@ -54,6 +54,18 @@ done
$echo >> $NXT_MAKEFILE
$echo "NXT_LIB_UNIT_OBJS = \\" >> $NXT_MAKEFILE
$echo " $NXT_BUILD_DIR/src/nxt_lvlhsh.o \\" >> $NXT_MAKEFILE
$echo " $NXT_BUILD_DIR/src/nxt_murmur_hash.o \\" >> $NXT_MAKEFILE
for nxt_src in $NXT_LIB_UNIT_SRCS
do
nxt_obj=${nxt_src%.c}.o
$echo " $NXT_BUILD_DIR/$nxt_obj \\" >> $NXT_MAKEFILE
done
$echo >> $NXT_MAKEFILE
# Shared and static library.
@@ -70,12 +82,17 @@ $NXT_BUILD_DIR/$NXT_LIB_STATIC: \$(NXT_LIB_OBJS)
$NXT_STATIC_LINK $NXT_BUILD_DIR/$NXT_LIB_STATIC \\
\$(NXT_LIB_OBJS)
$NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC: \$(NXT_LIB_UNIT_OBJS)
$NXT_STATIC_LINK $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \\
\$(NXT_LIB_UNIT_OBJS)
END
# Object files.
for nxt_src in $NXT_LIB_SRCS $NXT_TEST_SRCS
for nxt_src in $NXT_LIB_SRCS $NXT_TEST_SRCS $NXT_LIB_UNIT_SRCS \
src/test/nxt_unit_app_test.c
do
nxt_obj=${nxt_src%.c}.o
nxt_dep=${nxt_src%.c}.dep
@@ -129,6 +146,13 @@ $NXT_BUILD_DIR/utf8_file_name_test: $NXT_LIB_UTF8_FILE_NAME_TEST_SRCS \\
$NXT_BUILD_DIR/$NXT_LIB_STATIC \\
$NXT_LD_OPT $NXT_LIBM $NXT_LIBS
$NXT_BUILD_DIR/unit_app_test: $NXT_BUILD_DIR/src/test/nxt_unit_app_test.o \\
$NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC
\$(NXT_EXEC_LINK) -o $NXT_BUILD_DIR/unit_app_test \\
\$(CFLAGS) $NXT_BUILD_DIR/src/test/nxt_unit_app_test.o \\
$NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \\
$NXT_LD_OPT $NXT_LIBM $NXT_LIBS $NXT_LIB_AUX_LIBS
END
@@ -241,7 +265,8 @@ cat << END > Makefile
include $NXT_MAKEFILE
.PHONY: tests
tests: $NXT_BUILD_DIR/tests $NXT_BUILD_DIR/utf8_file_name_test
tests: $NXT_BUILD_DIR/tests $NXT_BUILD_DIR/utf8_file_name_test \\
$NXT_BUILD_DIR/unit_app_test
.PHONY: clean
clean:

View File

@@ -106,6 +106,7 @@ ${NXT_GO}-install: ${NXT_GO}-install-build
${NXT_GO}-install-src:
install -d \$(DESTDIR)\$(NXT_GO_DST)/src/nginx/unit
install -p -m644 ./src/*.h ./build/*.h ./src/go/unit/* \
./src/nxt_unit.c ./src/nxt_lvlhsh.c ./src/nxt_murmur_hash.c \
\$(DESTDIR)\$(NXT_GO_DST)/src/nginx/unit/
${NXT_GO}-install-build: ${NXT_GO}-install-src

View File

@@ -155,7 +155,7 @@ NXT_PERL_MODULE_SRCS=" \
# The Perl module object files.
nxt_objs=
nxt_objs=$NXT_BUILD_DIR/src/nxt_unit.o
for nxt_src in $NXT_PERL_MODULE_SRCS; do

View File

@@ -167,7 +167,7 @@ NXT_PHP_MODULE_SRCS=" \
# The php module object files.
nxt_objs=
nxt_objs=$NXT_BUILD_DIR/src/nxt_unit.o
for nxt_src in $NXT_PHP_MODULE_SRCS; do

View File

@@ -137,7 +137,7 @@ NXT_PYTHON_MODULE_SRCS=" \
# The python module object files.
nxt_objs=
nxt_objs=$NXT_BUILD_DIR/src/nxt_unit.o
for nxt_src in $NXT_PYTHON_MODULE_SRCS; do

View File

@@ -129,7 +129,7 @@ NXT_RUBY_MODULE_SRCS=" \
# The Ruby module object files.
nxt_objs=
nxt_objs=$NXT_BUILD_DIR/src/nxt_unit.o
for nxt_src in $NXT_RUBY_MODULE_SRCS; do

View File

@@ -35,6 +35,8 @@ case "$NXT_SYSTEM" in
NXT_LIB_SHARED="libnxt.so"
NXT_LIB_SHARED_LOCAL="$NXT_BUILD_DIR/libnxt.so"
NXT_LIB_UNIT_STATIC="libunit.a"
NXT_LIBM="-lm"
NXT_LIBS="$NXT_LIBRT $NXT_LIBDL $NXT_PTHREAD"
;;
@@ -57,6 +59,8 @@ case "$NXT_SYSTEM" in
NXT_LIB_SHARED="libnxt.so"
NXT_LIB_SHARED_LOCAL="$NXT_BUILD_DIR/libnxt.so"
NXT_LIB_UNIT_STATIC="libunit.a"
NXT_LIBM="-lm"
NXT_LIBS="$NXT_LIBRT $NXT_PTHREAD"
;;
@@ -86,6 +90,8 @@ case "$NXT_SYSTEM" in
NXT_LIB_SHARED="libnxt.so"
NXT_LIB_SHARED_LOCAL="$NXT_BUILD_DIR/libnxt.so"
NXT_LIB_UNIT_STATIC="libunit.a"
NXT_EXEC_LINK="\$(CC)"
NXT_SHARED_LOCAL_EXEC_LINK=
@@ -113,6 +119,8 @@ case "$NXT_SYSTEM" in
NXT_LIB_SHARED="libnxt.dylib"
NXT_LIB_SHARED_LOCAL="$NXT_BUILD_DIR/libnxt.dylib"
NXT_LIB_UNIT_STATIC="libunit.a"
# MacOSX libm.dylib is a symlink to libSystem.dylib.
NXT_LIBM=
NXT_LIBS=
@@ -135,6 +143,8 @@ case "$NXT_SYSTEM" in
NXT_LIB_SHARED="libnxt.so"
NXT_LIB_SHARED_LOCAL="$NXT_BUILD_DIR/libnxt.so"
NXT_LIB_UNIT_STATIC="libunit.a"
NXT_LIBM="-lm"
NXT_LIBS="$NXT_LIBRT $NXT_PTHREAD"
;;
@@ -155,6 +165,8 @@ case "$NXT_SYSTEM" in
NXT_LIB_SHARED="libnxt.so"
NXT_LIB_SHARED_LOCAL="$NXT_BUILD_DIR/libnxt.so"
NXT_LIB_UNIT_STATIC="libunit.a"
NXT_LIBM="-lm"
NXT_LIBS="$NXT_PTHREAD"
;;
@@ -175,6 +187,8 @@ case "$NXT_SYSTEM" in
NXT_LIB_SHARED="libnxt.so"
NXT_LIB_SHARED_LOCAL="$NXT_BUILD_DIR/libnxt.so"
NXT_LIB_UNIT_STATIC="libunit.a"
NXT_LIBM="-lm"
NXT_LIBS="$NXT_LIBRT $NXT_PTHREAD"
;;
@@ -194,6 +208,8 @@ case "$NXT_SYSTEM" in
NXT_LIB_SHARED="libnxt.so"
NXT_LIB_SHARED_LOCAL="$NXT_BUILD_DIR/libnxt.so"
NXT_LIB_UNIT_STATIC="libunit.a"
NXT_LIBM="-lm"
NXT_LIBS="$NXT_PTHREAD"
;;
@@ -213,6 +229,8 @@ case "$NXT_SYSTEM" in
NXT_LIB_SHARED="libnxt.so"
NXT_LIB_SHARED_LOCAL="$NXT_BUILD_DIR/libnxt.so"
NXT_LIB_UNIT_STATIC="libunit.a"
NXT_LIBM="-lm"
NXT_LIBS="$NXT_PTHREAD $NXT_LIBHG"
;;
@@ -232,6 +250,8 @@ case "$NXT_SYSTEM" in
NXT_LIB_SHARED="libnxt.so"
NXT_LIB_SHARED_LOCAL="$NXT_BUILD_DIR/libnxt.so"
NXT_LIB_UNIT_STATIC="libunit.a"
NXT_LIBM="-lm"
NXT_LIBS="$NXT_PTHREAD"
;;
@@ -250,6 +270,8 @@ case "$NXT_SYSTEM" in
NXT_LIB_SHARED="libnxt.so"
NXT_LIB_SHARED_LOCAL="$NXT_BUILD_DIR/libnxt.so"
NXT_LIB_UNIT_STATIC="libunit.a"
NXT_LIBM="-lm"
NXT_LIBS="$NXT_LIBRT $NXT_LIBDL $NXT_PTHREAD"
;;

View File

@@ -102,6 +102,8 @@ NXT_LIB_SRC0=" \
src/nxt_mem_pool_cleanup.c \
"
NXT_LIB_UNIT_SRCS="src/nxt_unit.c"
NXT_LIB_SSLTLS_DEPS="src/nxt_ssltls.h"
NXT_LIB_SSLTLS_SRCS="src/nxt_ssltls.c"