[PATCH] Configure: build C++ test module using C++ compiler
Piotr Sikora
piotr.sikora at frickle.com
Thu May 2 21:33:21 UTC 2024
# HG changeset patch
# User Piotr Sikora <piotr at aviatrix.com>
# Date 1714589815 0
# Wed May 01 18:56:55 2024 +0000
# Node ID 787e1adea9aa7f681884657f119e864af0be3e0d
# Parent 49dce50fad40bf09db81ca2a35983ecd7b740e43
Configure: build C++ test module using C++ compiler.
This fixes build when using C compiler that doesn't support C++.
Signed-off-by: Piotr Sikora <piotr at aviatrix.com>
diff -r 49dce50fad40 -r 787e1adea9aa auto/cc/conf
--- a/auto/cc/conf Tue Apr 16 18:29:59 2024 +0400
+++ b/auto/cc/conf Wed May 01 18:56:55 2024 +0000
@@ -142,6 +142,7 @@
fi
CFLAGS="$CFLAGS $NGX_CC_OPT"
+CXXFLAGS="$CXXFLAGS $NGX_CXX_OPT"
NGX_TEST_LD_OPT="$NGX_LD_OPT"
if [ "$NGX_PLATFORM" != win32 ]; then
diff -r 49dce50fad40 -r 787e1adea9aa auto/make
--- a/auto/make Tue Apr 16 18:29:59 2024 +0400
+++ b/auto/make Wed May 01 18:56:55 2024 +0000
@@ -23,6 +23,8 @@
CC = $CC
CFLAGS = $CFLAGS
+CXX = $CXX
+CXXFLAGS = $CXXFLAGS
CPP = $CPP
LINK = $LINK
@@ -384,22 +386,36 @@
if test -n "$MISC_SRCS"; then
ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)"
+ ngx_cxx="\$(CXX) $ngx_compile_opt \$(CXXFLAGS) $ngx_use_pch \$(ALL_INCS)"
- for ngx_src in $MISC_SRCS
+ for ngx_source in $MISC_SRCS
do
- ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"`
+ ngx_src=`echo $ngx_source | sed -e "s/\//$ngx_regex_dirsep/g"`
ngx_obj=`echo $ngx_src \
| sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \
-e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \
-e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \
-e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"`
- cat << END >> $NGX_MAKEFILE
+ if [ $ngx_source = src/misc/ngx_cpp_test_module.cpp ]; then
+
+ cat << END >> $NGX_MAKEFILE
+
+$ngx_obj: \$(CORE_DEPS) $ngx_cont$ngx_src
+ $ngx_cxx$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
+
+END
+
+ else
+
+ cat << END >> $NGX_MAKEFILE
$ngx_obj: \$(CORE_DEPS) $ngx_cont$ngx_src
$ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
END
+
+ fi
done
fi
diff -r 49dce50fad40 -r 787e1adea9aa auto/options
--- a/auto/options Tue Apr 16 18:29:59 2024 +0400
+++ b/auto/options Wed May 01 18:56:55 2024 +0000
@@ -18,11 +18,13 @@
NGX_BUILD=
CC=${CC:-cc}
+CXX=${CXX:-c++}
CPP=
NGX_OBJS=objs
NGX_DEBUG=NO
NGX_CC_OPT=
+NGX_CXX_OPT=
NGX_LD_OPT=
CPU=NO
@@ -358,8 +360,10 @@
--with-compat) NGX_COMPAT=YES ;;
--with-cc=*) CC="$value" ;;
+ --with-cxx=*) CXX="$value" ;;
--with-cpp=*) CPP="$value" ;;
--with-cc-opt=*) NGX_CC_OPT="$value" ;;
+ --with-cxx-opt=*) NGX_CXX_OPT="$value" ;;
--with-ld-opt=*) NGX_LD_OPT="$value" ;;
--with-cpu-opt=*) CPU="$value" ;;
--with-debug) NGX_DEBUG=YES ;;
@@ -578,8 +582,10 @@
--with-compat dynamic modules compatibility
--with-cc=PATH set C compiler pathname
+ --with-cxx=PATH set C++ compiler pathname
--with-cpp=PATH set C preprocessor pathname
--with-cc-opt=OPTIONS set additional C compiler options
+ --with-cxx-opt=OPTIONS set additional C++ compiler options
--with-ld-opt=OPTIONS set additional linker options
--with-cpu-opt=CPU build for the specified CPU, valid values:
pentium, pentiumpro, pentium3, pentium4,
More information about the nginx-devel
mailing list