--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, \
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}
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 \\
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 \\
NJS_CC_OPT=${NJS_CC_OPT:--O}
NJS_LD_OPT=${NJS_CC_OPT:--O}
+NJS_PIC=-fPIC
NJS_DEBUG=NO
NJS_DEBUG_MEMORY=NO
--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" ;;