Welcome! Log In Create A New Profile

Advanced

[njs] Introduced libqjs.a.

Anonymous User
September 03, 2024 09:00PM
details: https://github.com/nginx/njs/commit/82c5b5ad5ceff3f9f7d0cf62bf6cc74cac2c454d
branches: master
commit: 82c5b5ad5ceff3f9f7d0cf62bf6cc74cac2c454d
user: Dmitry Volyntsev <xeioex@nginx.com>
date: Tue, 23 Jul 2024 18:37:33 -0700
description:
Introduced libqjs.a.


---
auto/make | 48 ++++++++++++++++++++++++++++++++++++++++++------
auto/qjs_module | 2 +-
auto/qjs_modules | 20 ++++++++------------
auto/sources | 8 ++++----
4 files changed, 55 insertions(+), 23 deletions(-)

diff --git a/auto/make b/auto/make
index 4a77335b..cc3b022b 100644
--- a/auto/make
+++ b/auto/make
@@ -40,11 +40,9 @@ cat << END >> $njs_modules_c

END

-if [ $NJS_HAVE_QUICKJS = YES ]; then
-
qjs_modules_c=$NJS_BUILD_DIR/qjs_modules.c

-NJS_LIB_SRCS="$NJS_LIB_SRCS $qjs_modules_c"
+QJS_LIB_SRCS="$QJS_LIB_SRCS $qjs_modules_c"

cat << END > $qjs_modules_c

@@ -70,13 +68,20 @@ cat << END >> $qjs_modules_c
};

END
-fi

njs_incs=`echo $NJS_LIB_INCS \
| sed -e "s# *\([^ ]*\)#$njs_regex_cont-I\1#g"`
njs_objs=`echo $NJS_LIB_SRCS \
| sed -e "s# *\([^ ]*\.\)c#$NJS_BUILD_DIR/\1o$njs_regex_cont#g"`

+qjs_objs=`echo $QJS_LIB_SRCS \
+ | sed -e "s# *\([^ ]*\.\)c#$NJS_BUILD_DIR/\1o$njs_regex_cont#g"`
+
+QJS_LIB=""
+if [ $NJS_HAVE_QUICKJS = YES ]; then
+ QJS_LIB="$NJS_BUILD_DIR/libqjs.a"
+fi
+
cat << END > $NJS_MAKEFILE

# This file is auto-generated by configure
@@ -96,8 +101,10 @@ default: njs

NJS_LIB_INCS = $njs_incs
NJS_LIB_OBJS = $njs_objs
+QJS_LIB_OBJS = $qjs_objs

libnjs: $NJS_BUILD_DIR/libnjs.a pc
+libqjs: $NJS_BUILD_DIR/libqjs.a

$NJS_BUILD_DIR/libnjs.a: \\
$NJS_BUILD_DIR/njs_auto_config.h \\
@@ -105,6 +112,13 @@ $NJS_BUILD_DIR/libnjs.a: \\

\$(NJS_STATIC_LINK) $NJS_BUILD_DIR/libnjs.a \\
\$(NJS_LIB_OBJS)
+
+$NJS_BUILD_DIR/libqjs.a: \\
+ $NJS_BUILD_DIR/njs_auto_config.h \\
+ \$(QJS_LIB_OBJS)
+
+ \$(NJS_STATIC_LINK) $NJS_BUILD_DIR/libqjs.a \\
+ \$(QJS_LIB_OBJS)
END

# object files.
@@ -131,17 +145,39 @@ END

done

+for njs_src in $QJS_LIB_SRCS
+do
+ njs_obj="${njs_src%.c}.o"
+ njs_dep="${njs_src%.c}.dep"
+ njs_dep_flags=`njs_gen_dep_flags $njs_dep $njs_obj`
+ njs_dep_post=`njs_gen_dep_post $njs_dep $njs_obj`
+ cat << END >> $NJS_MAKEFILE
+
+$NJS_BUILD_DIR/$njs_obj: $njs_src
+ \$(NJS_CC) -c \$(NJS_LIB_INCS) \$(NJS_CFLAGS) \\
+ \$(NJS_LIB_AUX_CFLAGS) \\
+ -o $NJS_BUILD_DIR/$njs_obj \\
+ $njs_dep_flags \\
+ $njs_src
+ $njs_dep_post
+
+-include $NJS_BUILD_DIR/$njs_dep
+
+END
+
+done
+
# njs cli.

cat << END >> $NJS_MAKEFILE

$NJS_BUILD_DIR/njs: \\
- $NJS_BUILD_DIR/libnjs.a \\
+ $NJS_BUILD_DIR/libnjs.a $QJS_LIB \\
external/njs_shell.c
\$(NJS_LINK) -o $NJS_BUILD_DIR/njs \$(NJS_LIB_INCS) \\
\$(NJS_CFLAGS) \$(NJS_LIB_AUX_CFLAGS)\\
external/njs_shell.c \\
- $NJS_BUILD_DIR/libnjs.a \\
+ $NJS_BUILD_DIR/libnjs.a $QJS_LIB \\
$NJS_LD_OPT -lm $NJS_LIBS $NJS_LIB_AUX_LIBS $NJS_READLINE_LIB

END
diff --git a/auto/qjs_module b/auto/qjs_module
index 38270481..baf9d792 100644
--- a/auto/qjs_module
+++ b/auto/qjs_module
@@ -2,5 +2,5 @@
# Copyright (C) F5, Inc

QJS_LIB_MODULES="$QJS_LIB_MODULES $njs_module_name"
-NJS_LIB_SRCS="$NJS_LIB_SRCS $njs_module_srcs"
+QJS_LIB_SRCS="$QJS_LIB_SRCS $njs_module_srcs"
NJS_LIB_INCS="$NJS_LIB_INCS $njs_module_incs"
diff --git a/auto/qjs_modules b/auto/qjs_modules
index 9dde2efd..0216d376 100644
--- a/auto/qjs_modules
+++ b/auto/qjs_modules
@@ -1,20 +1,16 @@
# Copyright (C) Dmitry Volyntsev
# Copyright (C) F5, Inc

-if [ $NJS_HAVE_QUICKJS = YES ]; then
+njs_module_name=qjs_buffer_module
+njs_module_incs=
+njs_module_srcs=src/qjs_buffer.c

- njs_module_name=qjs_buffer_module
+. auto/qjs_module
+
+if [ $NJS_ZLIB = YES -a $NJS_HAVE_ZLIB = YES ]; then
+ njs_module_name=qjs_zlib_module
njs_module_incs=
- njs_module_srcs=src/qjs_buffer.c
+ njs_module_srcs=external/qjs_zlib_module.c

. auto/qjs_module
-
- if [ $NJS_ZLIB = YES -a $NJS_HAVE_ZLIB = YES ]; then
- njs_module_name=qjs_zlib_module
- njs_module_incs=
- njs_module_srcs=external/qjs_zlib_module.c
-
- . auto/qjs_module
- fi
-
fi
diff --git a/auto/sources b/auto/sources
index ae208293..9b33eead 100644
--- a/auto/sources
+++ b/auto/sources
@@ -52,6 +52,10 @@ NJS_LIB_SRCS=" \
src/njs_builtin.c \
"

+QJS_LIB_SRCS=" \
+ src/qjs.c \
+"
+
NJS_LIB_TEST_SRCS=" \
src/test/lvlhsh_unit_test.c \
src/test/random_unit_test.c \
@@ -72,10 +76,6 @@ if [ "$NJS_HAVE_LIBBFD" = "YES" -a "$NJS_HAVE_DL_ITERATE_PHDR" = "YES" ]; then
NJS_LIB_SRCS="$NJS_LIB_SRCS src/njs_addr2line.c"
fi

-if [ "$NJS_HAVE_QUICKJS" = "YES" ]; then
- NJS_LIB_SRCS="$NJS_LIB_SRCS src/qjs.c"
-fi
-
NJS_TS_SRCS=$(find ts/ -name "*.d.ts" -o -name "*.json")

NJS_TEST_TS_SRCS=$(find test/ts/ -name "*.ts" -o -name "*.json")
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
https://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[njs] Introduced libqjs.a.

Anonymous User 107 September 03, 2024 09:00PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 200
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready