Welcome! Log In Create A New Profile

Advanced

[njs] Added extra configure options for debug builds.

Dmitry Volyntsev
November 13, 2019 11:34AM
details: https://hg.nginx.org/njs/rev/077e125e31c1
branches:
changeset: 1236:077e125e31c1
user: Dmitry Volyntsev <xeioex@nginx.com>
date: Wed Nov 13 18:27:06 2019 +0300
description:
Added extra configure options for debug builds.

diffstat:

auto/cc | 20 ++++++++++++++++++++
auto/help | 14 ++++++++++----
auto/options | 9 ++++++++-
3 files changed, 38 insertions(+), 5 deletions(-)

diffs (102 lines):

diff -r 96d99066e8e5 -r 077e125e31c1 auto/cc
--- a/auto/cc Wed Nov 13 15:31:41 2019 +0300
+++ b/auto/cc Wed Nov 13 18:27:06 2019 +0300
@@ -99,6 +99,11 @@ case $NJS_CC_NAME in

# Debug.
NJS_CFLAGS="$NJS_CFLAGS -g"
+
+ if [ "$NJS_ADDRESS_SANITIZER" = "YES" ]; then
+ NJS_CFLAGS="$NJS_CFLAGS -fsanitize=address"
+ NJS_CFLAGS="$NJS_CFLAGS -fno-omit-frame-pointer"
+ fi
;;

clang)
@@ -135,6 +140,12 @@ case $NJS_CC_NAME in
# error on PowerPC Clang.
NJS_CFLAGS="$NJS_CFLAGS -g"
fi
+
+ if [ "$NJS_ADDRESS_SANITIZER" = "YES" ]; then
+ NJS_CFLAGS="$NJS_CFLAGS -fsanitize=address"
+ NJS_CFLAGS="$NJS_CFLAGS -fno-omit-frame-pointer"
+ NJS_CFLAGS="$NJS_CFLAGS -fsanitize-address-use-after-scope"
+ fi
;;

SunC)
@@ -147,6 +158,10 @@ case $NJS_CC_NAME in
NJS_CFLAGS="$NJS_CFLAGS -errwarn=%all"
# Debug.
NJS_CFLAGS="$NJS_CFLAGS -g"
+
+ if [ "$NJS_ADDRESS_SANITIZER" = "YES" ]; then
+ echo " - Address sanitizer is not supported by $NJS_CC_NAME"
+ fi
;;

*)
@@ -154,5 +169,10 @@ case $NJS_CC_NAME in

esac

+if [ "$NJS_DEBUG" = "YES" ]; then
+ njs_define=NJS_DEBUG . auto/define
+ njs_define=NJS_DEBUG_MEMORY . auto/define
+fi
+
# Stop on error exit status again.
set -e
diff -r 96d99066e8e5 -r 077e125e31c1 auto/help
--- a/auto/help Wed Nov 13 15:31:41 2019 +0300
+++ b/auto/help Wed Nov 13 18:27:06 2019 +0300
@@ -7,9 +7,15 @@ cat << END

./configure options:

- --cc=FILE set C compiler filename, default: "$CC"
- --cc-opt=OPTIONS set additional C compiler options
- --ld-opt=OPTIONS set additional linker options
- --ar=FILE set static linking program, default: "$AR"
+ --cc=FILE set C compiler filename, default: "$CC"
+ --cc-opt=OPTIONS set additional C compiler options, \
+default: "$NJS_CC_OPT"
+ --ld-opt=OPTIONS set additional linker options, \
+default: "$NJS_LD_OPT"
+ --ar=FILE set static linking program, default: "$AR"

+ --debug=YES enables additional runtime checks, \
+default: "$NJS_DEBUG"
+ --address-sanitizer=YES enables build with address sanitizer, \
+default: "$NJS_ADDRESS_SANITIZER"
END
diff -r 96d99066e8e5 -r 077e125e31c1 auto/options
--- a/auto/options Wed Nov 13 15:31:41 2019 +0300
+++ b/auto/options Wed Nov 13 18:27:06 2019 +0300
@@ -3,10 +3,14 @@
# Copyright (C) NGINX, Inc.


-NJS_CONFIGURE_OPTIONS=
NJS_CC_OPT=${NJS_CC_OPT:--O}
NJS_LD_OPT=${NJS_CC_OPT:--O}

+NJS_DEBUG=NO
+NJS_ADDRESS_SANITIZER=NO
+
+NJS_CONFIGURE_OPTIONS=
+
for njs_option
do
case "$njs_option" in
@@ -20,6 +24,9 @@ do
--ld-opt=*) NJS_LD_OPT="$value" ;;
--ar=*) AR="$value" ;;

+ --debug=*) NJS_DEBUG="$value" ;;
+ --address-sanitizer=*) NJS_ADDRESS_SANITIZER="$value" ;;
+
--help)
. auto/help
exit 0
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[njs] Added extra configure options for debug builds.

Dmitry Volyntsev 272 November 13, 2019 11:34AM



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

Online Users

Guests: 310
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready