X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=MODULES.html.sh;h=58c7a44ad5dc3ec26604e06f633924342d1d9ff8;hb=4d7fac84737242e8d36e45f2fad70b6ce384b0b9;hp=fcf11cf008f2b117e82a5d55f4056289f8dea630;hpb=89e15da69a6c83aef9b0f324286465af40560ad9;p=gnulib.git diff --git a/MODULES.html.sh b/MODULES.html.sh index fcf11cf00..58c7a44ad 100755 --- a/MODULES.html.sh +++ b/MODULES.html.sh @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2002-2005 Free Software Foundation, Inc. +# Copyright (C) 2002-2006 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -1243,8 +1243,62 @@ yn ' | sed -e "$sed_alt1" | tr -d "$trnl" | sed -e "$sed_alt2" -e "$sed_alt3"` indent="" -missed_modules=`gnulib-tool --list` -missed_files=`ls -d lib/* m4/* | sed -e /CVS/d -e /README/d -e /ChangeLog/d -e /Makefile/d -e /TODO/d -e '/~$/d'` +seen_modules= +seen_files= + +# func_exit STATUS +# exit with status +func_exit () +{ + (exit $1); exit $1 +} + +# func_tmpdir +# creates a temporary directory. +# Sets variable +# - tmp pathname of freshly created temporary directory +func_tmpdir () +{ + # Use the environment variable TMPDIR, falling back to /tmp. This allows + # users to specify a different temporary directory, for example, if their + # /tmp is filled up or too small. + : ${TMPDIR=/tmp} + { + # Use the mktemp program if available. If not available, hide the error + # message. + tmp=`(umask 077 && mktemp -d "$TMPDIR/MDXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" + } || + { + # Use a simple mkdir command. It is guaranteed to fail if the directory + # already exists. $RANDOM is bash specific and expands to empty in shells + # other than bash, ksh and zsh. Its use does not increase security; + # rather, it minimizes the probability of failure in a very cluttered /tmp + # directory. + tmp=$TMPDIR/MD$$-$RANDOM + (umask 077 && mkdir "$tmp") + } || + { + echo "$0: cannot create a temporary directory in $TMPDIR" >&2 + func_exit 1 + } +} + +# func_append var value +# appends the given value to the shell variable var. +if ( foo=bar; foo+=baz && test "$foo" = barbaz ) >/dev/null 2>&1; then + # Use bash's += operator. It reduces complexity of appending repeatedly to + # a single variable from O(n^2) to O(n). + func_append () + { + eval "$1+=\"\$2\"" + } +else + func_append () + { + eval "$1=\"\$$1\$2\"" + } +fi # func_echo line # outputs line with indentation. @@ -1337,7 +1391,11 @@ func_module () element=''$1'' func_echo "$element" - element=`gnulib-tool --extract-description $1 | sed -e "$sed_lt" -e "$sed_gt" -e "$sed_remove_trailing_empty_line" | sed -e 's,^, ,' | sed -e 's,\([^a-zA-Z]\)'"${posix_functions}"'(),\1\2(),g' | sed -e 's,^ ,,'` + element=`gnulib-tool --extract-description $1 \ + | sed -e "$sed_lt" -e "$sed_gt" -e "$sed_remove_trailing_empty_line" \ + -e 's,^, ,' \ + -e 's,\([^a-zA-Z]\)'"${posix_functions}"'(),\1\2(),g' \ + -e 's,^ ,,'` func_echo "$element" func_end TR @@ -1349,36 +1407,52 @@ func_module () element=''$1'' func_echo "$element" - element=`gnulib-tool --extract-include-directive $1 | sed -e "$sed_lt" -e "$sed_gt" -e "$sed_remove_trailing_empty_line" | sed -e 's,^#include "\(.*\)"$,#include "\1",' -e 's,^#include <'"${posix_headers}"'\.h>$,#include \<\1.h\>,' | sed -e 's/$/
/' | tr -d "$trnl" | sed -e 's/
$//'` + includes=`gnulib-tool --extract-include-directive $1` + files=`gnulib-tool --extract-filelist $1` + element=`echo "$includes" \ + | sed -e "$sed_lt" -e "$sed_gt" -e "$sed_remove_trailing_empty_line" \ + -e 's,^#include "\(.*\)"$,#include "\1",' \ + -e 's,^#include <'"${posix_headers}"'\.h>$,#include \<\1.h\>,' \ + -e 's/$/
/' | tr -d "$trnl" | sed -e 's/
$//'` test -n "$element" || element='---' func_echo "$element" sed_choose_unconditional_nonstandard_include='s,^#include "\(.*\)"$,\1,p' - includefile=`gnulib-tool --extract-include-directive $1 | sed -n -e "$sed_choose_unconditional_nonstandard_include" | sed -e "$sed_escape_dot" | tr -d "$trnl"` + includefile=`echo "$includes" \ + | sed -n -e "$sed_choose_unconditional_nonstandard_include" \ + | sed -e "$sed_escape_dot" | tr -d "$trnl"` sed_choose_lib_files='s,^lib/\(.*\)$,\1,p' - element=`gnulib-tool --extract-filelist $1 | sed -e '/^$/d' | sed -n -e "$sed_choose_lib_files" | sed -e '/^'"${includefile}"'$/d' | sed -e 's,^\(.*\)$,\1,' | sed -e 's/$/
/' | tr -d "$trnl" | sed -e 's/
$//'` + element=`echo "$files" \ + | sed -e '/^$/d' \ + | sed -n -e "$sed_choose_lib_files" \ + | sed -e '/^'"${includefile}"'$/d' \ + -e 's,^\(.*\)$,\1,' \ + -e 's/$/
/' | tr -d "$trnl" | sed -e 's/
$//'` test -n "$element" || element='---' func_echo "$element" sed_choose_m4_files='s,^m4/\(.*\)$,\1,p' - element=`(gnulib-tool --extract-filelist $1 | sed -e "$sed_remove_trailing_empty_line" | sed -n -e "$sed_choose_m4_files" | sed -e '/^onceonly/d' | sed -e 's,^\(.*\)$,\1,'; gnulib-tool --extract-autoconf-snippet $1 | sed -e "$sed_remove_trailing_empty_line") | sed -e 's/$/
/' | tr -d "$trnl" | sed -e 's/
$//'` + element=`(echo "$files" \ + | sed -e "$sed_remove_trailing_empty_line" \ + | sed -n -e "$sed_choose_m4_files" \ + | sed -e '/^onceonly/d' \ + -e 's,^\(.*\)$,\1,'; \ + gnulib-tool --extract-autoconf-snippet $1 \ + | sed -e "$sed_remove_trailing_empty_line") \ + | sed -e 's/$/
/' | tr -d "$trnl" | sed -e 's/
$//'` test -n "$element" || element='---' func_echo "$element" - element=`gnulib-tool --extract-dependencies $1 | sed -e "$sed_remove_trailing_empty_line" | sed -e 's/$/
/' | tr -d "$trnl" | sed -e 's/
$//'` + element=`gnulib-tool --extract-dependencies $1 \ + | sed -e "$sed_remove_trailing_empty_line" \ + -e 's/$/
/' | tr -d "$trnl" | sed -e 's/
$//'` test -n "$element" || element='---' func_echo "$element" func_end TR - missed_modules=`echo "$missed_modules" | sed -e '/^'"$1"'$/d'` - - files=`gnulib-tool --extract-filelist $1` - sed_removal_prefix='s,^,/^,' - sed_removal_suffix='s,$,\$/d,' - sed_remove_files=`echo '{'; for file in $files; do echo $file | sed -e "$sed_escape_dot" -e "$sed_escape_slash" | sed -e "$sed_removal_prefix" -e "$sed_removal_suffix"; done; echo '}'` - missed_files=`echo "$missed_files" | sed -e "$sed_remove_files"` - + func_append seen_modules " $1" + func_append seen_files " $files" fi } @@ -1397,9 +1471,6 @@ func_all_modules () func_echo "$element" func_begin_table - func_module c-bs-a - func_module assert - func_module dummy func_module exit func_module atexit func_module strtod @@ -1431,6 +1502,7 @@ func_all_modules () func_echo "$element" func_begin_table + func_module assert func_module verify func_end_table @@ -1456,6 +1528,7 @@ func_all_modules () func_echo "$element" func_begin_table + func_module fprintftime func_module strftime func_end_table @@ -1528,6 +1601,7 @@ func_all_modules () func_module stpncpy func_module c-strcase func_module strcase + func_module c-strcasestr func_module strcasestr func_module strchrnul func_module strdup @@ -1535,6 +1609,8 @@ func_all_modules () func_module strnlen1 func_module strndup func_module strsep + func_module c-strstr + func_module trim #func_module fstrcmp func_module xstrndup func_end_table @@ -1550,6 +1626,7 @@ func_all_modules () func_module c-strtold func_module xstrtod func_module xstrtol + func_module xstrtold func_end_table element="Date and time " @@ -1602,6 +1679,28 @@ func_all_modules () func_module long-options func_end_table + element="Container data structures" + element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"` + func_section_wrap ansic_ext_container + func_wrap H3 + func_echo "$element" + + func_begin_table + func_module list + func_module array-list + func_module carray-list + func_module linked-list + func_module avltree-list + func_module rbtree-list + func_module linkedhash-list + func_module avltreehash-list + func_module rbtreehash-list + func_module oset + func_module array-oset + func_module avltree-oset + func_module rbtree-oset + func_end_table + element="Cryptographic computations" element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"` func_section_wrap ansic_ext_crypto @@ -1642,14 +1741,15 @@ func_all_modules () func_wrap H2 func_echo "$element" - element="Keywords" + element="Core language properties" element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"` - func_section_wrap isoc_sup_keywords + func_section_wrap isoc_core_properties func_wrap H3 func_echo "$element" func_begin_table - func_module restrict + func_module flexmember + func_module vararrays func_end_table element="Sizes of integer types " @@ -1659,10 +1759,19 @@ func_all_modules () func_echo "$element" func_begin_table - func_module ullong_max func_module size_max func_end_table + element="Variable arguments " + element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"` + func_section_wrap isoc_sup_stdarg + func_wrap H3 + func_echo "$element" + + func_begin_table + func_module stdarg + func_end_table + element="Boolean type and values " element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"` func_section_wrap isoc_sup_stdbool @@ -1746,6 +1855,7 @@ func_all_modules () func_echo "$element" func_begin_table + func_module intprops func_module inttostr func_module xstrtoimax func_module xstrtoumax @@ -1781,21 +1891,44 @@ func_all_modules () func_module getsubopt func_module gettimeofday func_module inet_ntop + func_module inet_pton func_module mkdir - func_module mkstemp func_module mkdtemp + func_module mkstemp func_module poll func_module readlink func_module lstat + func_module tempname func_module time_r func_module timespec func_module nanosleep func_module regex func_module rename func_module rmdir + func_module sigprocmask func_module ssize_t func_module strtok_r + func_module sys_stat + func_module tsearch + func_module unistd func_module utime + func_module wcwidth + func_end_table + + element="Compatibility checks for POSIX:2001 functions" + func_section_wrap posix_compat + func_wrap H2 + func_echo "$element" + + func_begin_table + func_module d-ino + func_module d-type + func_module link-follow + func_module rename-dest-slash + func_module rmdir-errno + func_module unlink-busy + func_module winsz-ioctl + func_module winsz-termios func_end_table element="Enhancements for POSIX:2001 functions" @@ -1839,6 +1972,8 @@ func_all_modules () func_module acl func_module backupfile func_module canonicalize + func_module canonicalize-lgpl + func_module clean-temp func_module copy-file func_module cycle-check func_module fsusage @@ -1851,7 +1986,9 @@ func_all_modules () func_module fts func_module fts-lgpl func_module isdir + func_module lchmod func_module lchown + func_module mkancesdirs func_module mkdir-p func_module modechange func_module mountlist @@ -1860,7 +1997,9 @@ func_all_modules () func_module same func_module save-cwd func_module savedir + func_module savewd func_module stat-time + func_module tmpdir func_module unlinkdir func_module utimecmp func_module utimens @@ -1881,6 +2020,7 @@ func_all_modules () func_module full-read func_module full-write func_module binary-io + func_module isapipe func_end_table element="File stream based Input/Output" @@ -1890,11 +2030,14 @@ func_all_modules () func_echo "$element" func_begin_table - func_module fpending + func_module close-stream func_module closeout - func_module stdio-safer + func_module fopen-safer + func_module fpending func_module getpass func_module getpass-gnu + func_module stdlib-safer + func_module tmpfile-safer func_end_table element="Users and groups" @@ -1955,6 +2098,8 @@ func_all_modules () func_module gettext func_module gettext-h func_module iconv + func_module striconv + func_module xstriconv func_module iconvme func_module localcharset func_module hard-locale @@ -1970,6 +2115,7 @@ func_all_modules () func_module utf8-ucs4 func_module utf16-ucs4 func_module linebreak + func_module bison-i18n func_end_table element="Executing programs" @@ -1997,6 +2143,7 @@ func_all_modules () func_module classpath func_module javacomp func_module javaexec + func_module javaversion #func_module gcj func_end_table @@ -2038,10 +2185,71 @@ func_all_modules () func_module readutmp func_module sig2str func_module sysexits + func_module verror func_module visibility func_end_table -} + element="Support for building libraries and executables" + func_section_wrap build_lib + func_wrap H2 + func_echo "$element" + + func_begin_table + func_module config-h + func_module configmake + func_module dummy + func_module elisp-comp + func_module ldd + func_module lib-ignore + func_end_table + + element="Support for building documentation" + func_section_wrap build_doc + func_wrap H2 + func_echo "$element" + + func_begin_table + func_module fdl + func_module gendocs + func_module gpl + func_module lgpl + func_module regexprops-generic + func_end_table + + element="Support for maintaining and release projects" + func_section_wrap maintain + func_wrap H2 + func_echo "$element" + + func_begin_table + func_module gnupload + func_module maintainer-makefile + func_end_table + + element="Misc" + func_section_wrap misc + func_wrap H2 + func_echo "$element" + + func_begin_table + func_module host-os + func_module perl + func_module uptime + func_end_table +} + + +func_tmpdir +trap 'exit_status=$? + if test "$signal" != 0; then + echo "caught signal $signal" >&2 + fi + rm -rf "$tmp" + exit $exit_status' 0 +for signal in 1 2 3 13 15; do + trap '{ signal='$signal'; func_exit 1; }' $signal +done +signal=0 echo '' func_begin HTML @@ -2072,6 +2280,12 @@ func_all_modules in_toc= func_all_modules + +gnulib-tool --list > "$tmp/all-modules" +missed_modules=`for module in $seen_modules; do echo $module; done \ + | LC_ALL=C sort -u \ + | LC_ALL=C join -v 2 - "$tmp/all-modules"` + if test -n "$missed_modules"; then element="Unclassified modules - please update MODULES.html.sh" @@ -2087,6 +2301,11 @@ if test -n "$missed_modules"; then fi +LC_ALL=C ls -d lib/* m4/* | sed -e /CVS/d -e /README/d -e /ChangeLog/d -e /Makefile/d -e /TODO/d -e '/tags$/d' -e '/TAGS$/d' -e '/~$/d' > "$tmp/all-files" +missed_files=`for file in $seen_files; do echo $file; done \ + | LC_ALL=C sort -u \ + | LC_ALL=C join -v 2 - "$tmp/all-files"` + if test -n "$missed_files"; then element="Lone files - please create new modules containing them" @@ -2122,3 +2341,10 @@ func_echo 'Generated from MODULES.html.sh on '`LC_ALL=C date +"%e % func_end BODY func_end HTML + +rm -rf "$tmp" +# Undo the effect of the previous 'trap' command. +trap '' 0 +trap 'func_exit $?' 1 2 3 13 15 + +exit 0