From 27cea50d4f6b6d5b98fb67dc81645d6eed7e9328 Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Mon, 24 Nov 2025 17:49:35 -0800 Subject: [PATCH] Configure: added option to configure position independent code flag. --- auto/help | 2 ++ auto/make | 5 +++-- auto/options | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/auto/help b/auto/help index 064a209b..7fb6f6e2 100644 --- a/auto/help +++ b/auto/help @@ -16,6 +16,8 @@ default: "$NJS_ADDRESS_SANITIZER" --cc=FILE sets C compiler filename, default: "$CC" --cc-opt=OPTIONS sets additional C compiler options, \ default: "$NJS_CC_OPT" + --pic=OPTION sets position independent code flag, \ +default: "$NJS_PIC" --debug=YES enables additional runtime checks, \ default: "$NJS_DEBUG" --debug-memory=YES enables memory alloc debug, \ diff --git a/auto/make b/auto/make index feffb69a..928d41d3 100644 --- a/auto/make +++ b/auto/make @@ -89,6 +89,7 @@ cat << END > $NJS_MAKEFILE NJS_CC = ${CC} NJS_STATIC_LINK = ${AR} -r -c NJS_LINK = ${CC} ${NJS_LD_OPT} +NJS_PIC = ${NJS_PIC} NJS_CFLAGS = ${NJS_CFLAGS} ${NJS_CC_OPT} ${CFLAGS} NJS_LIB_AUX_CFLAGS = ${NJS_LIB_AUX_CFLAGS} @@ -132,7 +133,7 @@ do cat << END >> $NJS_MAKEFILE $NJS_BUILD_DIR/$njs_obj: $njs_src - \$(NJS_CC) -c \$(NJS_LIB_INCS) \$(NJS_CFLAGS) \\ + \$(NJS_CC) -c \$(NJS_LIB_INCS) \$(NJS_PIC) \$(NJS_CFLAGS) \\ \$(NJS_LIB_AUX_CFLAGS) \\ -o $NJS_BUILD_DIR/$njs_obj \\ $njs_dep_flags \\ @@ -154,7 +155,7 @@ do cat << END >> $NJS_MAKEFILE $NJS_BUILD_DIR/$njs_obj: $njs_src - \$(NJS_CC) -c \$(NJS_LIB_INCS) \$(NJS_CFLAGS) \\ + \$(NJS_CC) -c \$(NJS_LIB_INCS) \$(NJS_PIC) \$(NJS_CFLAGS) \\ \$(NJS_LIB_AUX_CFLAGS) \\ -o $NJS_BUILD_DIR/$njs_obj \\ $njs_dep_flags \\ diff --git a/auto/options b/auto/options index 0a4dc6c7..d2fadbd0 100644 --- a/auto/options +++ b/auto/options @@ -5,6 +5,7 @@ NJS_CC_OPT=${NJS_CC_OPT:--O} NJS_LD_OPT=${NJS_CC_OPT:--O} +NJS_PIC=-fPIC NJS_DEBUG=NO NJS_DEBUG_MEMORY=NO @@ -40,6 +41,8 @@ do --ld-opt=*) NJS_LD_OPT="$value" ;; --ar=*) AR="$value" ;; + --pic=*) NJS_PIC="$value" ;; + --build-dir=*) NJS_BUILD_DIR="$value" ;; --address-sanitizer=*) NJS_ADDRESS_SANITIZER="$value" ;; -- 2.47.3