cc (cc.U):
This variable holds the name of a command to execute a C compiler which
can resolve multiple global references that happen to have the same
- name. Usual values are "cc", "Mcc", "cc -M", and "gcc".
+ name. Usual values are 'cc', 'Mcc', 'cc -M', and 'gcc'.
cccdlflags (dlsrc.U):
This variable contains any special flags that might need to be
- passed with cc -c to compile modules to be used to create a shared
+ passed with 'cc -c' to compile modules to be used to create a shared
library that will be used for dynamic loading. For hpux, this
should be +z. It is up to the makefile to use it.
This variable contains any special flags that might need to be
passed to $ld to create a shared library suitable for dynamic
loading. It is up to the makefile to use it. For hpux, it
- should be -b. For sunos 4.1, it is empty.
+ should be '-b'. For sunos 4.1, it is empty.
ldflags (ccflags.U):
This variable contains any additional C loader flags desired by
locincpth (ccflags.U):
This variable contains a list of additional directories to be
- searched by the compiler. The appropriate -I directives will
+ searched by the compiler. The appropriate '-I' directives will
be added to ccflags. This is intended to simplify setting
local directories from the Configure command line.
It's not much, but it parallels the loclibpth stuff in libpth.U.
make_set_make='#' # If your make program handles this for you,
make_set_make="MAKE=$make" # if it doesn't.
I used a comment character so that we can distinguish a
- 'set' value (from a previous config.sh or Configure -D option)
+ 'set' value (from a previous config.sh or Configure '-D' option)
from an uncomputed value.
mallocobj (mallocsrc.U):
whole thing is then lower-cased.
n (n.U):
- This variable contains the -n flag if that is what causes the echo
+ This variable contains the '-n' flag if that is what causes the echo
command to suppress newline. Otherwise it is null. Correct usage is
$echo $n "prompt for a question: $c".
/bin/sh, though it's possible that some systems will have /bin/ksh,
/bin/pdksh, /bin/ash, /bin/bash, or even something such as
D:/bin/sh.exe.
- This unit comes before Options.U, so you can't set sh with a -D
+ This unit comes before Options.U, so you can't set sh with a '-D'
option, though you can override this (and startsh)
- with -O -Dsh=/bin/whatever -Dstartsh=whatever
+ with '-O -Dsh=/bin/whatever -Dstartsh=whatever'
shar (Loc.U):
This variable is defined but not used by Configure.
(also known as shared objects) on the system. Usually set to 'so'.
sockethdr (d_socket.U):
- This variable has any cpp -I flags needed for socket support.
+ This variable has any cpp '-I' flags needed for socket support.
socketlib (d_socket.U):
This variable has the names of any libraries needed for socket support.
spitshell (spitshell.U):
This variable contains the command necessary to spit out a runnable
- shell on this system. It is either cat or a grep -v for # comments.
+ shell on this system. It is either cat or a grep '-v' for # comments.
split (models.U):
This variable contains a flag which will tell the C compiler and loader
specific to that particular port. See the port specific documentation
in such cases.
-=over 4
-
ENDOFTAIL
open(GLOS, "<$glossary") or die "Can't open $glossary: $!";
+%seen = ();
+$text = 0;
+$/ = '';
+
+sub process {
+ s/\A(\w*)\s+\(([\w.]+)\):\s*\n(\t?)/=item C<$1>\n\nFrom F<$2>:\n\n/m;
+ my $c = substr $1, 0, 1;
+ unless ($seen{$c}++) {
+ print CONFIG <<EOF if $text;
+=back
-my ($var,$unit,$indentpara);
-my $text = "";
-while (<GLOS>) {
- if (/^\s*(.*)\s*\(\s*(.+\.U)\s*\):\s*$/) {
- print CONFIG "\n=item $var\n\n$text\n" if $var and $text;
- ($var,$unit,$text) = ($1,$2,"");
- }
- else {
- # bite off exactly one tab-width
- s/^([ ]{8}|[ ]{0,7}\t)//;
-
- # indented stuff starts a separate paragraph
- if (/^\s/) {
- $text .= "\n" unless $indentpara;
- $indentpara = 1;
- }
- else {
- $text .= "\n" if $indentpara;
- $indentpara = 0;
- }
- $text .= $_;
- }
+EOF
+ print CONFIG <<EOF;
+=head2 $c
+
+=over
+
+EOF
+ $text = 1;
+ }
+ s/n't/n\00t/g; # leave can't, won't etc untouched
+ s/^\t\s+(.*)/\n\t$1\n/gm; # Indented lines ===> paragraphs
+ s/^(?<!\n\n)\t(.*)/$1/gm; # Not indented lines ===> text
+ s{([\'\"])(?=[^\'\"\s]*[./][^\'\"\s]*\1)([^\'\"\s]+)\1}(F<$2>)g; # '.o'
+ s{([\'\"])([^\'\"\s]+)\1}(C<$2>)g; # "date" command
+ s{\'([A-Za-z_\- *=/]+)\'}(C<$1>)g; # 'ln -s'
+ s{
+ (?<! [\w./<\'\"] ) # Only standalone file names
+ (?! e \. g \. ) # Not e.g.
+ (?! \. \. \. ) # Not ...
+ (?! \d ) # Not 5.004
+ ( [\w./]* [./] [\w./]* ) # Require . or / inside
+ (?<! \. (?= \s ) ) # Do not include trailing dot
+ (?! [\w/] ) # Include all of it
+ }
+ (F<$1>)xg; # /usr/local
+ s/((?<=\s)~\w*)/F<$1>/g; # ~name
+ s/(?<![.<\'\"])\b([A-Z_]{2,})\b(?![\'\"])/C<$1>/g; # UNISTD
+ s/(?<![.<\'\"])\b(?!the\b)(\w+)\s+macro\b/C<$1> macro/g; # FILE_cnt macro
+ s/n[\0]t/n't/g; # undo can't, won't damage
}
-print CONFIG "\n=item $var\n\n$text\n" if $var and $text;
+<GLOS>; # Skip the preamble
+while (<GLOS>) {
+ process;
+ print CONFIG;
+}
print CONFIG <<'ENDOFTAIL';