]> git.kaiwu.me - njs.git/commitdiff
Added arguments validation for configure script.
authorDmitry Volyntsev <xeioex@nginx.com>
Tue, 5 Nov 2019 17:49:57 +0000 (20:49 +0300)
committerDmitry Volyntsev <xeioex@nginx.com>
Tue, 5 Nov 2019 17:49:57 +0000 (20:49 +0300)
auto/help [new file with mode: 0644]
auto/make
auto/options [new file with mode: 0644]
auto/summary [new file with mode: 0644]
configure

diff --git a/auto/help b/auto/help
new file mode 100644 (file)
index 0000000..56de865
--- /dev/null
+++ b/auto/help
@@ -0,0 +1,15 @@
+
+# Copyright (C) Igor Sysoev
+# Copyright (C) NGINX, Inc.
+
+
+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"
+
+END
index 744980d989702b3c1cc755499f6e61f5e84aa2d5..249f59faea6c1de4c42828a636e33b47faf0f405 100644 (file)
--- a/auto/make
+++ b/auto/make
@@ -15,8 +15,9 @@ cat << END > $NJS_MAKEFILE
 # This file is auto-generated by configure
 
 NJS_CC = ${CC}
-NJS_AR = ${AR}
-NJS_CFLAGS = ${NJS_CFLAGS} ${CFLAGS}
+NJS_STATIC_LINK = ${AR} -r -c
+NJS_LINK = ${CC} ${NJS_LD_OPT}
+NJS_CFLAGS = ${NJS_CFLAGS} ${NJS_CC_OPT} ${CFLAGS}
 
 default: $NJS_DEFAULT_TARGET
 END
@@ -58,7 +59,7 @@ $NJS_BUILD_DIR/libnjs.a:   \\
        $NJS_BUILD_DIR/njs_auto_config.h \\
        \$(NJS_LIB_OBJS)
 
-       \$(NJS_AR) -r -c $NJS_BUILD_DIR/libnjs.a \\
+       \$(NJS_STATIC_LINK) $NJS_BUILD_DIR/libnjs.a \\
                \$(NJS_LIB_OBJS)
 
 END
@@ -98,7 +99,7 @@ cat << END >> $NJS_MAKEFILE
 $NJS_BUILD_DIR/njs: \\
        $NJS_BUILD_DIR/libnjs.a \\
        src/njs_shell.c
-       \$(NJS_CC) -o $NJS_BUILD_DIR/njs \$(NJS_CFLAGS) \\
+       \$(NJS_LINK) -o $NJS_BUILD_DIR/njs \$(NJS_CFLAGS) \\
                $NJS_LIB_AUX_CFLAGS \$(NJS_LIB_INCS) -Injs \\
                src/njs_shell.c \\
                $NJS_BUILD_DIR/libnjs.a \\
diff --git a/auto/options b/auto/options
new file mode 100644 (file)
index 0000000..48aec16
--- /dev/null
@@ -0,0 +1,41 @@
+
+# Copyright (C) Igor Sysoev
+# Copyright (C) NGINX, Inc.
+
+
+NJS_CONFIGURE_OPTIONS=
+NJS_CC_OPT=${NJS_CC_OPT:--O}
+NJS_LD_OPT=${NJS_CC_OPT:--O}
+
+for njs_option
+do
+    case "$njs_option" in
+        -*=*) value=`echo "$njs_option" | sed -e 's/[-_a-zA-Z0-9]*=//'`      ;;
+           *) value="" ;;
+    esac
+
+    case "$njs_option" in
+        --cc=*)                          CC="$value"                         ;;
+        --cc-opt=*)                      NJS_CC_OPT="$value"                 ;;
+        --ld-opt=*)                      NJS_LD_OPT="$value"                 ;;
+        --ar=*)                          AR="$value"                         ;;
+
+        --help)
+            . auto/help
+            exit 0
+        ;;
+
+        *)
+            echo
+            echo $0: error: invalid option \"$njs_option\".
+            echo Run \"$0 --help\" to see available options.
+            echo
+            exit 1
+        ;;
+    esac
+
+    njs_opt=`echo $njs_option | sed -e "s/\(--[^=]*=\)\(.* .*\)/\1'\2'/"`
+
+    NJS_CONFIGURE_OPTIONS="$NJS_CONFIGURE_OPTIONS $njs_opt"
+
+done
diff --git a/auto/summary b/auto/summary
new file mode 100644 (file)
index 0000000..9399ed9
--- /dev/null
@@ -0,0 +1,25 @@
+
+# Copyright (C) Igor Sysoev
+# Copyright (C) NGINX, Inc.
+
+
+echo
+echo "NJS configuration summary:"
+echo
+echo " + using CC: \"$CC\""
+echo " + using CFLAGS: \"$NJS_CFLAGS $NJS_CC_OPT $CFLAGS\""
+echo
+echo " + using PCRE library: $NJS_PCRE_LIB"
+
+if [ $NJS_HAVE_READLINE = YES ]; then
+  echo " + using readline library: $NJS_READLINE_LIB"
+fi
+
+echo
+echo " njs build dir: $NJS_BUILD_DIR"
+
+if [ $NJS_HAVE_READLINE = YES ]; then
+  echo " njs CLI: $NJS_BUILD_DIR/njs"
+fi
+
+echo
index 18b2cfe32cf750275eb8e2eea914bf730447b73c..9276a29b05314b8ba247b329a06d3f15902c4614 100755 (executable)
--- a/configure
+++ b/configure
@@ -24,8 +24,6 @@ NJS_TEST_LIBS=${NJS_TEST_LIBS=}
 CC=${CC:-cc}
 AR=${AR:-ar}
 NJS_CFLAGS=${NJS_CFLAGS=}
-NJS_CC_OPT=${NJS_CC_OPT:--O}
-NJS_LD_OPT=${NJS_CC_OPT:--O}
 
 NJS_BUILD_DIR=${NJS_BUILD_DIR:-build}
 
@@ -47,6 +45,7 @@ END
 NJS_LIBRT=
 
 . auto/os
+. auto/options
 . auto/cc
 . auto/clang
 . auto/time
@@ -65,3 +64,5 @@ NJS_LIB_AUX_LIBS="$NJS_PCRE_LIB"
 . auto/make
 
 . auto/expect
+
+. auto/summary