pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/mk Moved the help system into its own subdirectory. Ex...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/9a3ebe67a24e
branches:  trunk
changeset: 520579:9a3ebe67a24e
user:      rillig <rillig%pkgsrc.org@localhost>
date:      Mon Oct 23 14:40:14 2006 +0000

description:
Moved the help system into its own subdirectory. Extracted the AWK
program into its own file, since that way, one can add comments to the
code.

For convenience, keyword search is case insensitive.

diffstat:

 mk/bsd.pkg.help.mk |  90 ------------------------------------------------------
 mk/bsd.pkg.mk      |   4 +-
 mk/help/help.awk   |  73 +++++++++++++++++++++++++++++++++++++++++++
 mk/help/help.mk    |  38 ++++++++++++++++++++++
 4 files changed, 113 insertions(+), 92 deletions(-)

diffs (229 lines):

diff -r 878a410cf3b2 -r 9a3ebe67a24e mk/bsd.pkg.help.mk
--- a/mk/bsd.pkg.help.mk        Mon Oct 23 14:38:14 2006 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-# $NetBSD: bsd.pkg.help.mk,v 1.5 2006/10/01 14:52:32 rillig Exp $
-#
-
-# This is the integrated pkgsrc online help system. To query for the
-# meaning of a variable, run "make help TOPIC=VARNAME". All variables from
-# certain pkgsrc Makefile fragments that have inline comments are eligible
-# for querying.
-
-.if !defined(_PKGSRC_HELP_MK)
-_PKGSRC_HELP_MK=       # defined
-
-_HELP_FILES=           # empty
-_HELP_FILES+=          mk/*.mk
-_HELP_FILES+=          mk/*/*.mk
-
-_HELP_AWK= \
-       BEGIN {                                                         \
-               no = 0; yes = 1;                                        \
-               hline = "===============";                              \
-               hline = hline hline hline hline hline;                  \
-               found = no; var = no; comment = no; n = 0;              \
-               rcsid = "";                                             \
-               last_line_was_rcsid = no;                               \
-               last_line_was_empty = yes;                              \
-       }                                                               \
-       /./ {                                                           \
-               if ($$0 ~ /^\\#.*\$$.*\$$$$/) {                         \
-                       rcsid = $$0;                                    \
-                       last_line_was_rcsid = yes;                      \
-               } else {                                                \
-                       if (!(last_line_was_rcsid && $$0 == "\#")) {    \
-                               lines[n++] = $$0;                       \
-                       }                                               \
-                       last_line_was_rcsid = no;                       \
-               }                                                       \
-       }                                                               \
-       ($$1 == VARNAME"?=") || ($$1 == "\#"VARNAME"=")                 \
-       || ($$1 == "\#" && last_line_was_empty &&                       \
-           ($$2 == VARNAME || $$2 == VARNAME":")) {                    \
-               var = 1;                                                \
-       }                                                               \
-       /^\#/ {                                                         \
-               comment = 1;                                            \
-       }                                                               \
-       /^$$/ {                                                         \
-               if (var && comment) {                                   \
-                       found = yes;                                    \
-                       print hline;                                    \
-                       if (rcsid != "") { print rcsid; print "\#"; }   \
-                       for (i = 0; i < n; i++) { print lines[i]; }     \
-               }                                                       \
-               var = no; comment = no; n = 0;                          \
-       }                                                               \
-       /./ {                                                           \
-               last_line_was_empty = no;                               \
-       }                                                               \
-       /^\\#$$/ || /^$$/ {                                             \
-               last_line_was_empty = yes;                              \
-       }                                                               \
-       END {                                                           \
-               if (found) {                                            \
-                       print hline;                                    \
-               } else {                                                \
-                       print "No help found for " VARNAME ".";         \
-               }                                                       \
-       }
-
-.if !defined(TOPIC) && defined(VARNAME)
-TOPIC=         ${VARNAME}
-.endif
-.if !defined(TOPIC) && defined(topic)
-TOPIC=         ${topic}
-.endif
-
-.PHONY: help
-help:
-.if !defined(TOPIC)
-       @${PRINTF} "usage: %s help topic=<topic>\\n" ${MAKE:Q}
-       @${PRINTF} "\\n"
-       @${PRINTF} "\\t<topic> may be a variable name or a make target,\\n"
-       @${PRINTF} "\\tfor example CONFIGURE_DIRS or patch.\\n"
-       @${PRINTF} "\\n"
-.else
-       ${_PKG_SILENT}${_PKG_DEBUG} set -e;                             \
-       cd ${PKGSRCDIR};                                                \
-       { for i in ${_HELP_FILES}; do ${CAT} "$$i"; ${ECHO} ""; done; } \
-       | ${AWK} -v VARNAME=${TOPIC} '${_HELP_AWK}'
-.endif
-
-.endif
diff -r 878a410cf3b2 -r 9a3ebe67a24e mk/bsd.pkg.mk
--- a/mk/bsd.pkg.mk     Mon Oct 23 14:38:14 2006 +0000
+++ b/mk/bsd.pkg.mk     Mon Oct 23 14:40:14 2006 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: bsd.pkg.mk,v 1.1891 2006/10/22 07:20:06 rillig Exp $
+#      $NetBSD: bsd.pkg.mk,v 1.1892 2006/10/23 14:40:14 rillig Exp $
 #
 # This file is in the public domain.
 #
@@ -946,5 +946,5 @@
 .include "${PKGSRCDIR}/mk/bsd.pkg.debug.mk"
 .endif
 .if make(help)
-.include "${PKGSRCDIR}/mk/bsd.pkg.help.mk"
+.include "${PKGSRCDIR}/mk/help/help.mk"
 .endif
diff -r 878a410cf3b2 -r 9a3ebe67a24e mk/help/help.awk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/mk/help/help.awk  Mon Oct 23 14:40:14 2006 +0000
@@ -0,0 +1,73 @@
+# $NetBSD: help.awk,v 1.1 2006/10/23 14:40:15 rillig Exp $
+#
+
+BEGIN {
+       no = 0; yes = 1;
+       hline = "===============";
+       hline = hline hline hline hline hline;
+       found = no; var = no; comment = no; n = 0;
+       rcsid = "";
+       last_line_was_rcsid = no;
+       last_line_was_empty = yes;
+       topic = ENVIRON["TOPIC"];
+       uctopic = toupper(topic);
+}
+
+/.*/ {
+       if ($0 ~ /^#.*\$.*\$$/) {
+               rcsid = $0;
+               last_line_was_rcsid = yes;
+       } else {
+               if (last_line_was_rcsid && $0 == "#") {
+                       # Skip this line
+               } else if ($0 == "") {
+                       # Skip completely empty lines, too.
+               } else {
+                       lines[n++] = $0;
+               }
+               last_line_was_rcsid = no;
+       }
+}
+
+/./ {
+       # When looking for "configure", catch lines that contain
+       # "configure" and "CONFIGURE", but not "Configure".
+       w1 = ($1 == tolower($1)) ? toupper($1) : $1;
+       w2 = ($2 == tolower($2)) ? toupper($2) : $2;
+
+       if ((w1 == uctopic"?=") ||
+           (w1 == "#"uctopic"=") ||
+           (w1 == "#" && last_line_was_empty &&
+            (w2 == uctopic || w2 == uctopic":"))) {
+               var = 1;
+       }
+}
+
+/^#/ {
+       comment = 1;
+}
+
+/^$/ {
+       if (var && comment) {
+               found = yes;
+               print hline;
+               if (rcsid != "") { print rcsid; print "#"; }
+               for (i = 0; i < n; i++) { print lines[i]; }
+       }
+       var = no; comment = no; n = 0;
+}
+
+/./ {
+       last_line_was_empty = no;
+}
+/^#$/ || /^$/ {
+       last_line_was_empty = yes;
+}
+
+END {
+       if (found) {
+               print hline;
+       } else {
+               print "No help found for "topic".";
+       }
+}
diff -r 878a410cf3b2 -r 9a3ebe67a24e mk/help/help.mk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/mk/help/help.mk   Mon Oct 23 14:40:14 2006 +0000
@@ -0,0 +1,38 @@
+# $NetBSD: help.mk,v 1.1 2006/10/23 14:40:15 rillig Exp $
+#
+
+# This is the integrated pkgsrc online help system. To query for the
+# meaning of a variable, run "make help TOPIC=VARNAME". All variables from
+# certain pkgsrc Makefile fragments that have inline comments are eligible
+# for querying.
+
+.if !defined(_PKGSRC_HELP_MK)
+_PKGSRC_HELP_MK=       # defined
+
+_HELP_FILES=           mk/*.mk mk/*/*.mk
+
+.if defined(VARNAME)
+TOPIC?=                ${VARNAME}
+.endif
+.if defined(topic)
+TOPIC?=                ${topic}
+.endif
+
+.PHONY: help
+help:
+.if !defined(TOPIC)
+       @${PRINTF} "usage: %s help topic=<topic>\\n" ${MAKE:Q}
+       @${PRINTF} "\\n"
+       @${PRINTF} "\\t<topic> may be a variable name or a make target,\\n"
+       @${PRINTF} "\\tfor example CONFIGURE_DIRS or patch. For convenience,\\n"
+       @${PRINTF} "\\tyou don't need to use uppercase letters when typing\\n"
+       @${PRINTF} "\\tvariable names.\\n"
+       @${PRINTF} "\\n"
+.else
+       ${_PKG_SILENT}${_PKG_DEBUG} set -e;                             \
+       cd ${PKGSRCDIR};                                                \
+       { for i in ${_HELP_FILES}; do ${CAT} "$$i"; ${ECHO} ""; done; } \
+       | env TOPIC=${TOPIC:Q} ${AWK} -f ${PKGSRCDIR}/mk/help/help.awk
+.endif
+
+.endif



Home | Main Index | Thread Index | Old Index