3 # Copyright (C) 2002-2008 Free Software Foundation, Inc.
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 3 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program. If not, see <http://www.gnu.org/licenses/>.
19 # Usage: MODULES.html.sh [--cvs-urls|--git-urls] > MODULES.html
21 # Extend the PATH so that gnulib-tool is found.
22 PATH=`dirname "$0"`:$PATH; export PATH
24 POSIX2001_URL='http://www.opengroup.org/susv3'
27 POSIX2001_URL='file:/packages/www/www.opengroup.org/susv3' ;;
35 # Generate URLs to the official gnulib CVS repository.
36 repo_url_prefix='http://cvs.sv.gnu.org/viewcvs/*checkout*/gnulib/'
37 repo_url_suffix='?root=gnulib&content-type=text/plain'
40 # Generate URLs to the official gnulib git repository.
41 repo_url_prefix='http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f='
46 # For sed replacements: Escape the '&'.
47 repo_url_suffix_repl=`echo "$repo_url_suffix" | sed -e 's,[&],\\\&,'`
51 sed_escape_dot='s,\.,\\.,g'
52 sed_escape_slash='s,/,\\/,g'
55 sed_alt2='s,^\\|,\\(,'
56 sed_alt3='s,\\|\\|$,\\),'
142 ' | sed -e "$sed_alt1" | tr -d "$trnl" | sed -e "$sed_alt2" -e "$sed_alt3"`
143 posix_functions=`echo '
739 posix_spawn_file_actions_addclose
740 posix_spawn_file_actions_adddup2
741 posix_spawn_file_actions_addopen
742 posix_spawn_file_actions_destroy
743 posix_spawn_file_actions_init
744 posix_spawnattr_destroy
745 posix_spawnattr_getflags
746 posix_spawnattr_getpgroup
747 posix_spawnattr_getschedparam
748 posix_spawnattr_getschedpolicy
749 posix_spawnattr_getsigdefault
750 posix_spawnattr_getsigmask
752 posix_spawnattr_setflags
753 posix_spawnattr_setpgroup
754 posix_spawnattr_setschedparam
755 posix_spawnattr_setschedpolicy
756 posix_spawnattr_setsigdefault
757 posix_spawnattr_setsigmask
759 posix_trace_attr_destroy
760 posix_trace_attr_getclockres
761 posix_trace_attr_getcreatetime
762 posix_trace_attr_getgenversion
763 posix_trace_attr_getinherited
764 posix_trace_attr_getlogfullpolicy
765 posix_trace_attr_getlogsize
766 posix_trace_attr_getmaxdatasize
767 posix_trace_attr_getmaxsystemeventsize
768 posix_trace_attr_getmaxusereventsize
769 posix_trace_attr_getname
770 posix_trace_attr_getstreamfullpolicy
771 posix_trace_attr_getstreamsize
772 posix_trace_attr_init
773 posix_trace_attr_setinherited
774 posix_trace_attr_setlogfullpolicy
775 posix_trace_attr_setlogsize
776 posix_trace_attr_setmaxdatasize
777 posix_trace_attr_setname
778 posix_trace_attr_setstreamfullpolicy
779 posix_trace_attr_setstreamsize
783 posix_trace_create_withlog
785 posix_trace_eventid_equal
786 posix_trace_eventid_get_name
787 posix_trace_eventid_open
788 posix_trace_eventset_add
789 posix_trace_eventset_del
790 posix_trace_eventset_empty
791 posix_trace_eventset_fill
792 posix_trace_eventset_ismember
793 posix_trace_eventtypelist_getnext_id
794 posix_trace_eventtypelist_rewind
797 posix_trace_get_filter
798 posix_trace_get_status
799 posix_trace_getnext_event
802 posix_trace_set_filter
806 posix_trace_timedgetnext_event
807 posix_trace_trid_eventid_open
808 posix_trace_trygetnext_event
809 posix_typed_mem_get_info
819 pthread_attr_getdetachstate
820 pthread_attr_getguardsize
821 pthread_attr_getinheritsched
822 pthread_attr_getschedparam
823 pthread_attr_getschedpolicy
824 pthread_attr_getscope
825 pthread_attr_getstack
826 pthread_attr_getstackaddr
827 pthread_attr_getstacksize
829 pthread_attr_setdetachstate
830 pthread_attr_setguardsize
831 pthread_attr_setinheritsched
832 pthread_attr_setschedparam
833 pthread_attr_setschedpolicy
834 pthread_attr_setscope
835 pthread_attr_setstack
836 pthread_attr_setstackaddr
837 pthread_attr_setstacksize
838 pthread_barrier_destroy
841 pthread_barrierattr_destroy
842 pthread_barrierattr_getpshared
843 pthread_barrierattr_init
844 pthread_barrierattr_setpshared
848 pthread_cond_broadcast
852 pthread_cond_timedwait
854 pthread_condattr_destroy
855 pthread_condattr_getclock
856 pthread_condattr_getpshared
857 pthread_condattr_init
858 pthread_condattr_setclock
859 pthread_condattr_setpshared
864 pthread_getconcurrency
865 pthread_getcpuclockid
866 pthread_getschedparam
872 pthread_mutex_destroy
873 pthread_mutex_getprioceiling
876 pthread_mutex_setprioceiling
877 pthread_mutex_timedlock
878 pthread_mutex_trylock
880 pthread_mutexattr_destroy
881 pthread_mutexattr_getprioceiling
882 pthread_mutexattr_getprotocol
883 pthread_mutexattr_getpshared
884 pthread_mutexattr_gettype
885 pthread_mutexattr_init
886 pthread_mutexattr_setprioceiling
887 pthread_mutexattr_setprotocol
888 pthread_mutexattr_setpshared
889 pthread_mutexattr_settype
891 pthread_rwlock_destroy
893 pthread_rwlock_rdlock
894 pthread_rwlock_timedrdlock
895 pthread_rwlock_timedwrlock
896 pthread_rwlock_tryrdlock
897 pthread_rwlock_trywrlock
898 pthread_rwlock_unlock
899 pthread_rwlock_wrlock
900 pthread_rwlockattr_destroy
901 pthread_rwlockattr_getpshared
902 pthread_rwlockattr_init
903 pthread_rwlockattr_setpshared
905 pthread_setcancelstate
906 pthread_setcanceltype
907 pthread_setconcurrency
908 pthread_setschedparam
977 sched_get_priority_max
980 sched_rr_get_interval
1258 ' | sed -e "$sed_alt1" | tr -d "$trnl" | sed -e "$sed_alt2" -e "$sed_alt3"`
1272 # creates a temporary directory.
1274 # - tmp pathname of freshly created temporary directory
1277 # Use the environment variable TMPDIR, falling back to /tmp. This allows
1278 # users to specify a different temporary directory, for example, if their
1279 # /tmp is filled up or too small.
1282 # Use the mktemp program if available. If not available, hide the error
1284 tmp=`(umask 077 && mktemp -d "$TMPDIR/MDXXXXXX") 2>/dev/null` &&
1285 test -n "$tmp" && test -d "$tmp"
1288 # Use a simple mkdir command. It is guaranteed to fail if the directory
1289 # already exists. $RANDOM is bash specific and expands to empty in shells
1290 # other than bash, ksh and zsh. Its use does not increase security;
1291 # rather, it minimizes the probability of failure in a very cluttered /tmp
1293 tmp=$TMPDIR/MD$$-$RANDOM
1294 (umask 077 && mkdir "$tmp")
1297 echo "$0: cannot create a temporary directory in $TMPDIR" >&2
1302 # func_append var value
1303 # appends the given value to the shell variable var.
1304 if ( foo=bar; foo+=baz && test "$foo" = barbaz ) >/dev/null 2>&1; then
1305 # Use bash's += operator. It reduces complexity of appending repeatedly to
1306 # a single variable from O(n^2) to O(n).
1314 eval "$1=\"\$$1\$2\""
1319 # outputs line with indentation.
1326 # increases the indentation.
1333 # decreases the indentation.
1336 indent=`echo "$indent" | sed -e 's/ $//'`
1339 # func_begin tag [attribute...]
1348 # closes a HTML tag.
1355 # func_wrap tag [attribute...]
1356 # encloses $element in a HTML tag, without line breaks.
1359 element="<$*>${element}</$1>"
1362 # func_section_wrap sectiontag
1363 # encloses $element in a HTML tag referring to the given tag.
1364 func_section_wrap ()
1366 if test -n "$in_toc"; then
1367 func_wrap A "HREF=\"#$1\""
1369 func_wrap A "NAME=\"$1\""
1377 if test -z "$in_toc"; then
1379 func_echo "<TH ALIGN=LEFT>modules/"
1380 func_echo "<TH ALIGN=LEFT>lib/"
1381 func_echo "<TH ALIGN=LEFT>lib/"
1382 func_echo "<TH ALIGN=LEFT>m4/"
1383 func_echo "<TH ALIGN=LEFT> "
1386 func_echo "<TH ALIGN=LEFT>Module"
1387 func_echo "<TH ALIGN=LEFT>Header"
1388 func_echo "<TH ALIGN=LEFT>Implementation"
1389 func_echo "<TH ALIGN=LEFT>Autoconf macro"
1390 func_echo "<TH ALIGN=LEFT>Depends on"
1395 # func_module module
1398 sed_remove_trailing_empty_line='${
1402 if test -n "$in_toc"; then
1404 func_begin TR "WIDTH=\"100%\""
1406 element='<A HREF="#module='$1'">'$1'</A>'
1407 func_echo "<TD ALIGN=LEFT VALIGN=TOP WIDTH=\"20%\">$element"
1409 # Rendering the description:
1410 # - Change the symbol() syntax as suitable for documentation, removing the
1411 # parentheses (as per GNU standards, section "GNU Manuals").
1412 # - Flag the remaining symbol() constructs as errors.
1413 # - Change 'xxx' to <CODE>xxx</CODE>.
1414 element=`gnulib-tool --extract-description $1 \
1415 | sed -e "$sed_lt" -e "$sed_gt" -e "$sed_remove_trailing_empty_line" \
1416 -e 's,^, ,' -e 's,$, ,' \
1417 -e 's,\([^a-zA-Z_]\)'"${posix_functions}"'() \(function\|macro\),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A> \3,g' \
1418 -e 's,\([^a-zA-Z_]\)'"${posix_functions}"' \(function\|macro\),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A> \3,g' \
1419 -e 's,\([^a-zA-Z_]\)'"${posix_functions}"'(),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A> <SPAN STYLE="color:#FF0000;">what?? If you mean a function\, please say so.</SPAN>,g' \
1420 -e 's,\([^a-zA-Z_]\)\([a-zA-Z_][a-zA-Z0-9_]*\)() \(function\|macro\),\1\2 \3,g' \
1421 -e 's,\([^a-zA-Z_]\)\([a-zA-Z_][a-zA-Z0-9_]*\)(),\1\2 <SPAN STYLE="color:#FF0000;">what?? If you mean a function\, please say so.</SPAN>,g' \
1422 -e 's, '"'"'\([a-zA-Z0-9_ -]*\)'"'"'\([^a-zA-Z0-9_]\), <CODE>\1</CODE>\2,g' \
1423 -e 's,^ ,,' -e 's, $,,'`
1424 func_echo "<TD ALIGN=LEFT VALIGN=TOP WIDTH=\"80%\">$element"
1432 element='<A NAME="module='$1'"></A><A HREF="'$repo_url_prefix'modules/'$1$repo_url_suffix'">'$1'</A>'
1433 func_echo "<TD ALIGN=LEFT VALIGN=TOP>$element"
1435 includes=`gnulib-tool --extract-include-directive $1`
1436 files=`gnulib-tool --extract-filelist $1 \
1437 | grep -v '^m4/gnulib-common\.m4$'`
1438 element=`echo "$includes" \
1439 | sed -e "$sed_lt" -e "$sed_gt" -e "$sed_remove_trailing_empty_line" \
1440 -e 's,^#include "\(.*\)"$,#include "<A HREF="'$repo_url_prefix'lib/\1'$repo_url_suffix_repl'">\1</A>",' \
1441 -e 's,^#include <'"${posix_headers}"'\.h>$,#include \<<A HREF="'"$POSIX2001_URL"'xbd/\1.h.html">\1.h</A>\>,' \
1442 -e 's/$/<BR>/' | tr -d "$trnl" | sed -e 's/<BR>$//'`
1443 test -n "$element" || element='---'
1444 func_echo "<TD ALIGN=LEFT VALIGN=TOP>$element"
1446 sed_choose_unconditional_nonstandard_include='s,^#include "\(.*\)"$,\1,p'
1447 includefile=`echo "$includes" \
1448 | sed -n -e "$sed_choose_unconditional_nonstandard_include" \
1449 | sed -e "$sed_escape_dot" | tr -d "$trnl"`
1450 sed_choose_lib_files='s,^lib/\(.*\)$,\1,p'
1451 element=`echo "$files" \
1453 | sed -n -e "$sed_choose_lib_files" \
1454 | sed -e '\|^'"${includefile}"'$|d' \
1455 -e 's,^\(.*\)$,<A HREF="'$repo_url_prefix'lib/\1'$repo_url_suffix_repl'">\1</A>,' \
1456 -e 's/$/<BR>/' | tr -d "$trnl" | sed -e 's/<BR>$//'`
1457 test -n "$element" || element='---'
1458 func_echo "<TD ALIGN=LEFT VALIGN=TOP>$element"
1460 sed_choose_m4_files='s,^m4/\(.*\)$,\1,p'
1461 element=`(echo "$files" \
1462 | sed -e "$sed_remove_trailing_empty_line" \
1463 | sed -n -e "$sed_choose_m4_files" \
1464 | sed -e '/^onceonly/d' \
1465 -e 's,^\(.*\)$,<A HREF="'$repo_url_prefix'm4/\1'$repo_url_suffix_repl'">\1</A>,'; \
1466 gnulib-tool --extract-autoconf-snippet $1 \
1467 | sed -e "$sed_remove_trailing_empty_line") \
1468 | sed -e 's/$/<BR>/' | tr -d "$trnl" | sed -e 's/<BR>$//'`
1469 test -n "$element" || element='---'
1470 func_echo "<TD ALIGN=LEFT VALIGN=TOP>$element"
1472 element=`gnulib-tool --extract-dependencies $1 \
1473 | sed -e "$sed_remove_trailing_empty_line" \
1474 -e 's/$/<BR>/' | tr -d "$trnl" | sed -e 's/<BR>$//'`
1475 test -n "$element" || element='---'
1476 func_echo "<TD ALIGN=LEFT VALIGN=TOP>$element"
1480 func_append seen_modules " $1"
1481 func_append seen_files " $files"
1494 element="Support for systems lacking ANSI C 89"
1495 func_section_wrap ansic_sup
1497 func_echo "$element"
1513 func_module strerror
1517 func_echo 'Most of these modules are not listed among dependencies below, for simplicity.'
1519 element="Enhancements for ANSI C 89 functions"
1520 func_section_wrap ansic_enh
1522 func_echo "$element"
1524 element="Diagnostics <assert.h>"
1525 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1526 func_section_wrap ansic_enh_assert_diagnostics
1528 func_echo "$element"
1535 element="Mathematics <math.h>"
1536 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1537 func_section_wrap ansic_enh_math
1539 func_echo "$element"
1545 element="Input/output <stdio.h>"
1546 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1547 func_section_wrap ansic_enh_stdio
1549 func_echo "$element"
1557 element="Memory management functions <stdlib.h>"
1558 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1559 func_section_wrap ansic_enh_stdlib_memory
1561 func_echo "$element"
1569 func_module pagealign_alloc
1572 element="Sorting functions <stdlib.h>"
1573 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1574 func_section_wrap ansic_enh_stdlib_sorting
1576 func_echo "$element"
1582 element="Date and time <time.h>"
1583 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1584 func_section_wrap ansic_enh_time_datetime
1586 func_echo "$element"
1589 func_module fprintftime
1590 func_module strftime
1593 element="Extra functions based on ANSI C 89"
1594 func_section_wrap ansic_ext
1596 func_echo "$element"
1598 element="Memory management functions <stdlib.h>"
1599 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1600 func_section_wrap ansic_ext_stdlib_memory
1602 func_echo "$element"
1607 func_module xalloc-die
1609 func_module alloca-opt
1611 func_module xmalloca
1614 element="Integer arithmetic functions <stdlib.h>"
1615 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1616 func_section_wrap ansic_ext_stdlib_arith
1618 func_echo "$element"
1621 func_module count-one-bits
1626 element="Environment variables <stdlib.h>"
1627 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1628 func_section_wrap ansic_ext_stdlib_env
1630 func_echo "$element"
1638 element="Character handling <ctype.h>"
1639 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1640 func_section_wrap ansic_ext_ctype
1642 func_echo "$element"
1648 element="String handling <string.h>"
1649 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1650 func_section_wrap ansic_ext_string
1652 func_echo "$element"
1657 func_module memmem-simple
1662 func_module c-strcase
1664 func_module c-strcaseeq
1665 func_module c-strcasestr
1666 func_module strcasestr
1667 func_module strcasestr-simple
1668 func_module strchrnul
1672 func_module strnlen1
1676 func_module c-strstr
1679 func_module xstrndup
1682 element="Mathematics <math.h>"
1683 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1684 func_section_wrap ansic_ext_math
1686 func_echo "$element"
1689 func_module printf-frexp
1692 element="Numeric conversion functions <stdlib.h>"
1693 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1694 func_section_wrap ansic_ext_stdlib_conv
1696 func_echo "$element"
1699 func_module c-strtod
1700 func_module c-strtold
1703 func_module xstrtold
1706 element="Date and time <time.h>"
1707 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1708 func_section_wrap ansic_ext_time_datetime
1710 func_echo "$element"
1718 element="Input/Output <stdio.h>"
1719 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1720 func_section_wrap ansic_ext_stdio
1722 func_echo "$element"
1725 func_module unlocked-io
1726 func_module fwriteerror
1727 func_module vasnprintf
1728 func_module vasprintf
1729 func_module xvasprintf
1732 element="Signal handling <signal.h>"
1733 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1734 func_section_wrap ansic_ext_signal
1736 func_echo "$element"
1739 func_module fatal-signal
1743 element="Command-line arguments"
1744 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1745 func_section_wrap ansic_ext_argv
1747 func_echo "$element"
1750 func_module argmatch
1751 func_module version-etc
1752 func_module version-etc-fsf
1753 func_module long-options
1756 element="Container data structures"
1757 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1758 func_section_wrap ansic_ext_container
1760 func_echo "$element"
1764 func_module array-list
1765 func_module carray-list
1766 func_module linked-list
1767 func_module avltree-list
1768 func_module rbtree-list
1769 func_module linkedhash-list
1770 func_module avltreehash-list
1771 func_module rbtreehash-list
1774 func_module array-oset
1775 func_module avltree-oset
1776 func_module rbtree-oset
1779 element="Cryptographic computations (low-level)"
1780 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1781 func_section_wrap ansic_ext_crypto
1783 func_echo "$element"
1786 func_module crypto/arcfour
1787 func_module crypto/arctwo
1788 func_module crypto/des
1789 func_module crypto/hmac-md5
1790 func_module crypto/hmac-sha1
1791 func_module crypto/md2
1792 func_module crypto/md4
1793 func_module crypto/md5
1794 func_module crypto/rijndael
1795 func_module crypto/sha1
1798 element="Cryptographic computations (high-level)"
1799 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1800 func_section_wrap ansic_ext_crypto2
1802 func_echo "$element"
1805 func_module crypto/gc
1806 func_module crypto/gc-arcfour
1807 func_module crypto/gc-arctwo
1808 func_module crypto/gc-des
1809 func_module crypto/gc-hmac-md5
1810 func_module crypto/gc-hmac-sha1
1811 func_module crypto/gc-md2
1812 func_module crypto/gc-md4
1813 func_module crypto/gc-md5
1814 func_module crypto/gc-pbkdf2-sha1
1815 func_module crypto/gc-random
1816 func_module crypto/gc-rijndael
1817 func_module crypto/gc-sha1
1821 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1822 func_section_wrap ansic_ext_misc
1824 func_echo "$element"
1828 func_module check-version
1833 func_module getdelim
1834 func_module getnline
1835 func_module getndelim2
1836 func_module linebuffer
1839 func_module hash-pjw
1841 func_module readline
1842 func_module readtokens
1843 func_module readtokens0
1844 func_module strverscmp
1847 element="Support for systems lacking ISO C 99"
1848 func_section_wrap isoc_sup
1850 func_echo "$element"
1852 element="Core language properties"
1853 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1854 func_section_wrap isoc_core_properties
1856 func_echo "$element"
1859 func_module flexmember
1862 func_module vararrays
1865 element="Sizes of integer types <limits.h>"
1866 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1867 func_section_wrap isoc_sup_limits
1869 func_echo "$element"
1872 func_module size_max
1875 element="Variable arguments <stdarg.h>"
1876 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1877 func_section_wrap isoc_sup_stdarg
1879 func_echo "$element"
1885 element="Boolean type and values <stdbool.h>"
1886 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1887 func_section_wrap isoc_sup_stdbool
1889 func_echo "$element"
1895 element="Integer types and values <stdint.h>"
1896 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1897 func_section_wrap isoc_sup_stdint
1899 func_echo "$element"
1905 element="Input/output <stdio.h>"
1906 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1907 func_section_wrap isoc_sup_stdio
1909 func_echo "$element"
1913 func_module snprintf
1914 func_module vsnprintf
1917 element="Numeric conversion functions <stdlib.h>"
1918 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1919 func_section_wrap isoc_sup_stdlib_conv
1921 func_echo "$element"
1925 func_module strtoull
1928 element="Functions for greatest-width integer types <inttypes.h>"
1929 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1930 func_section_wrap isoc_sup_inttypes
1932 func_echo "$element"
1937 func_module inttypes
1938 func_module strtoimax
1939 func_module strtoumax
1942 element="Extended multibyte and wide character utilities <wchar.h>"
1943 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1944 func_section_wrap isoc_sup_wchar
1946 func_echo "$element"
1952 element="Wide character classification and mapping utilities <wctype.h>"
1953 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1954 func_section_wrap isoc_sup_wctype
1956 func_echo "$element"
1962 element="Characteristics of floating types <float.h>"
1963 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1964 func_section_wrap isoc_sup_float
1966 func_echo "$element"
1972 element="Mathematics <math.h>"
1973 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1974 func_section_wrap isoc_sup_math
1976 func_echo "$element"
1985 func_module frexpl-nolibm
1986 func_module isfinite
1987 func_module isnanf-nolibm
1988 func_module isnand-nolibm
1990 func_module isnanl-nolibm
2003 element="Enhancements for ISO C 99 functions"
2004 func_section_wrap isoc_enh
2006 func_echo "$element"
2008 element="Input/output <stdio.h>"
2009 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2010 func_section_wrap isoc_enh_stdio
2012 func_echo "$element"
2015 func_module printf-safe
2018 element="Extra functions based on ISO C 99"
2019 func_section_wrap isoc_ext
2021 func_echo "$element"
2023 element="Mathematics <math.h>"
2024 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2025 func_section_wrap isoc_ext_math
2027 func_echo "$element"
2030 func_module printf-frexpl
2033 element="Numeric conversion functions <stdlib.h>"
2034 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2035 func_section_wrap isoc_ext_stdlib_conv
2037 func_echo "$element"
2040 func_module intprops
2041 func_module inttostr
2042 func_module xstrtoimax
2043 func_module xstrtoumax
2046 element="Extended multibyte and wide character utilities <wchar.h>"
2047 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2048 func_section_wrap isoc_ext_wchar_mb
2050 func_echo "$element"
2059 element="Support for systems lacking POSIX:2001"
2060 func_section_wrap posix_sup
2062 func_echo "$element"
2065 func_module arpa_inet
2066 func_module calloc-posix
2072 func_module fprintf-posix
2078 func_module ftruncate
2079 func_module getaddrinfo
2081 func_module getgroups
2082 func_module gethostname
2083 func_module getlogin_r
2084 func_module getsubopt
2085 func_module gettimeofday
2086 func_module iconv_open
2087 func_module inet_ntop
2088 func_module inet_pton
2092 func_module malloc-posix
2096 func_module netinet_in
2099 func_module printf-posix
2100 func_module readlink
2101 func_module realloc-posix
2104 func_module snprintf-posix
2105 func_module sprintf-posix
2107 func_module tempname
2110 func_module timespec
2111 func_module nanosleep
2116 func_module sigprocmask
2119 func_module strptime
2120 func_module strtok_r
2121 func_module sys_select
2122 func_module sys_socket
2123 func_module sys_stat
2124 func_module sys_time
2128 func_module vasnprintf-posix
2129 func_module vasprintf-posix
2130 func_module vfprintf-posix
2131 func_module vprintf-posix
2132 func_module vsnprintf-posix
2133 func_module vsprintf-posix
2137 element="Compatibility checks for POSIX:2001 functions"
2138 func_section_wrap posix_compat
2140 func_echo "$element"
2143 func_module clock-time
2146 func_module link-follow
2147 func_module rename-dest-slash
2148 func_module rmdir-errno
2149 func_module unlink-busy
2150 func_module winsz-ioctl
2151 func_module winsz-termios
2154 element="Enhancements for POSIX:2001 functions"
2155 func_section_wrap posix_enh
2157 func_echo "$element"
2160 func_module chdir-long
2163 func_module unistd-safer
2165 func_module fnmatch-posix
2166 func_module fnmatch-gnu
2171 element="Extra functions based on POSIX:2001"
2172 func_section_wrap posix_ext
2174 func_echo "$element"
2176 element="Numeric conversion functions"
2177 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2178 func_section_wrap posix_ext_conv
2180 func_echo "$element"
2186 element="File system functions"
2187 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2188 func_section_wrap posix_ext_filesys
2190 func_echo "$element"
2194 func_module areadlink
2195 func_module areadlink-with-size
2196 func_module backupfile
2197 func_module canonicalize
2198 func_module canonicalize-lgpl
2199 func_module chdir-safer
2200 func_module clean-temp
2201 func_module copy-file
2204 func_module double-slash-root
2205 func_module euidaccess
2206 func_module file-type
2207 func_module fileblocks
2208 func_module filemode
2209 func_module filename
2210 func_module filenamecat
2212 func_module fts-lgpl
2216 func_module mkancesdirs
2218 func_module modechange
2219 func_module mountlist
2222 func_module read-file
2224 func_module save-cwd
2227 func_module stat-time
2229 func_module unlinkdir
2230 func_module utimecmp
2232 func_module write-any-file
2234 func_module xreadlink
2237 element="File system as inode set"
2238 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2239 func_section_wrap posix_ext_inodeset
2241 func_echo "$element"
2244 func_module cycle-check
2246 func_module file-set
2247 func_module hash-triple
2249 func_module same-inode
2252 element="File descriptor based Input/Output"
2253 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2254 func_section_wrap posix_ext_filedesc
2256 func_echo "$element"
2259 func_module fcntl-safer
2260 func_module safe-read
2261 func_module safe-write
2262 func_module full-read
2263 func_module full-write
2264 func_module binary-io
2268 element="File stream based Input/Output"
2269 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2270 func_section_wrap posix_ext_filestream
2272 func_echo "$element"
2275 func_module close-stream
2277 func_module closeout
2278 func_module fbufmode
2279 func_module fopen-safer
2280 func_module fpending
2282 func_module freadable
2283 func_module freadahead
2284 func_module freading
2285 func_module freadptr
2286 func_module freadseek
2287 func_module fwritable
2288 func_module fwriting
2290 func_module getpass-gnu
2291 func_module stdlib-safer
2292 func_module tmpfile-safer
2295 element="Users and groups"
2296 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2297 func_section_wrap posix_ext_uidgid
2299 func_echo "$element"
2302 func_module getugroups
2303 func_module group-member
2305 func_module userspec
2308 element="Date and time"
2309 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2310 func_section_wrap posix_ext_datetime
2312 func_echo "$element"
2315 func_module gethrxtime
2319 func_module xnanosleep
2322 element="Networking functions"
2323 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2324 func_section_wrap posix_ext_net
2326 func_echo "$element"
2329 func_module xgethostname
2330 func_module canon-host
2333 element="Multithreading"
2334 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2335 func_section_wrap posix_ext_thread
2337 func_echo "$element"
2345 element="Internationalization functions"
2346 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2347 func_section_wrap posix_ext_i18n
2349 func_echo "$element"
2353 func_module gettext-h
2355 func_module striconv
2356 func_module xstriconv
2357 func_module striconveh
2358 func_module striconveha
2359 func_module localcharset
2360 func_module hard-locale
2361 func_module localename
2367 func_module mbscasecmp
2368 func_module mbsncasecmp
2369 func_module mbspcasecmp
2370 func_module mbscasestr
2375 func_module mbstok_r
2376 func_module mbswidth
2377 func_module memcasecmp
2379 func_module xmemcoll
2380 func_module unicodeio
2383 func_module linebreak
2384 func_module bison-i18n
2387 element="Unicode string functions"
2388 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2389 func_section_wrap posix_ext_unicode
2391 func_echo "$element"
2394 func_module unitypes
2395 func_module ucs4-utf8
2396 func_module ucs4-utf16
2397 func_module utf8-ucs4-unsafe
2398 func_module utf16-ucs4-unsafe
2399 func_module utf8-ucs4
2400 func_module utf16-ucs4
2401 func_module unistr/base
2402 func_module unistr/u8-to-u16
2403 func_module unistr/u8-to-u32
2404 func_module unistr/u16-to-u8
2405 func_module unistr/u16-to-u32
2406 func_module unistr/u32-to-u8
2407 func_module unistr/u32-to-u16
2408 func_module unistr/u8-check
2409 func_module unistr/u16-check
2410 func_module unistr/u32-check
2411 func_module unistr/u8-chr
2412 func_module unistr/u16-chr
2413 func_module unistr/u32-chr
2414 func_module unistr/u8-cmp
2415 func_module unistr/u16-cmp
2416 func_module unistr/u32-cmp
2417 func_module unistr/u8-cpy
2418 func_module unistr/u16-cpy
2419 func_module unistr/u32-cpy
2420 func_module unistr/u8-cpy-alloc
2421 func_module unistr/u16-cpy-alloc
2422 func_module unistr/u32-cpy-alloc
2423 func_module unistr/u8-endswith
2424 func_module unistr/u16-endswith
2425 func_module unistr/u32-endswith
2426 func_module unistr/u8-mblen
2427 func_module unistr/u16-mblen
2428 func_module unistr/u32-mblen
2429 func_module unistr/u8-mbsnlen
2430 func_module unistr/u16-mbsnlen
2431 func_module unistr/u32-mbsnlen
2432 func_module unistr/u8-mbtouc-unsafe
2433 func_module unistr/u16-mbtouc-unsafe
2434 func_module unistr/u32-mbtouc-unsafe
2435 func_module unistr/u8-mbtouc
2436 func_module unistr/u16-mbtouc
2437 func_module unistr/u32-mbtouc
2438 func_module unistr/u8-mbtoucr
2439 func_module unistr/u16-mbtoucr
2440 func_module unistr/u32-mbtoucr
2441 func_module unistr/u8-move
2442 func_module unistr/u16-move
2443 func_module unistr/u32-move
2444 func_module unistr/u8-next
2445 func_module unistr/u16-next
2446 func_module unistr/u32-next
2447 func_module unistr/u8-prev
2448 func_module unistr/u16-prev
2449 func_module unistr/u32-prev
2450 func_module unistr/u8-set
2451 func_module unistr/u16-set
2452 func_module unistr/u32-set
2453 func_module unistr/u8-startswith
2454 func_module unistr/u16-startswith
2455 func_module unistr/u32-startswith
2456 func_module unistr/u8-stpcpy
2457 func_module unistr/u16-stpcpy
2458 func_module unistr/u32-stpcpy
2459 func_module unistr/u8-stpncpy
2460 func_module unistr/u16-stpncpy
2461 func_module unistr/u32-stpncpy
2462 func_module unistr/u8-strcat
2463 func_module unistr/u16-strcat
2464 func_module unistr/u32-strcat
2465 func_module unistr/u8-strchr
2466 func_module unistr/u16-strchr
2467 func_module unistr/u32-strchr
2468 func_module unistr/u8-strcmp
2469 func_module unistr/u16-strcmp
2470 func_module unistr/u32-strcmp
2471 func_module unistr/u8-strcpy
2472 func_module unistr/u16-strcpy
2473 func_module unistr/u32-strcpy
2474 func_module unistr/u8-strcspn
2475 func_module unistr/u16-strcspn
2476 func_module unistr/u32-strcspn
2477 func_module unistr/u8-strdup
2478 func_module unistr/u16-strdup
2479 func_module unistr/u32-strdup
2480 func_module unistr/u8-strlen
2481 func_module unistr/u16-strlen
2482 func_module unistr/u32-strlen
2483 func_module unistr/u8-strmblen
2484 func_module unistr/u16-strmblen
2485 func_module unistr/u32-strmblen
2486 func_module unistr/u8-strmbtouc
2487 func_module unistr/u16-strmbtouc
2488 func_module unistr/u32-strmbtouc
2489 func_module unistr/u8-strncat
2490 func_module unistr/u16-strncat
2491 func_module unistr/u32-strncat
2492 func_module unistr/u8-strncmp
2493 func_module unistr/u16-strncmp
2494 func_module unistr/u32-strncmp
2495 func_module unistr/u8-strncpy
2496 func_module unistr/u16-strncpy
2497 func_module unistr/u32-strncpy
2498 func_module unistr/u8-strnlen
2499 func_module unistr/u16-strnlen
2500 func_module unistr/u32-strnlen
2501 func_module unistr/u8-strpbrk
2502 func_module unistr/u16-strpbrk
2503 func_module unistr/u32-strpbrk
2504 func_module unistr/u8-strrchr
2505 func_module unistr/u16-strrchr
2506 func_module unistr/u32-strrchr
2507 func_module unistr/u8-strspn
2508 func_module unistr/u16-strspn
2509 func_module unistr/u32-strspn
2510 func_module unistr/u8-strstr
2511 func_module unistr/u16-strstr
2512 func_module unistr/u32-strstr
2513 func_module unistr/u8-strtok
2514 func_module unistr/u16-strtok
2515 func_module unistr/u32-strtok
2516 func_module unistr/u8-uctomb
2517 func_module unistr/u16-uctomb
2518 func_module unistr/u32-uctomb
2519 func_module uniconv/base
2520 func_module uniconv/u8-conv-from-enc
2521 func_module uniconv/u16-conv-from-enc
2522 func_module uniconv/u32-conv-from-enc
2523 func_module uniconv/u8-conv-to-enc
2524 func_module uniconv/u16-conv-to-enc
2525 func_module uniconv/u32-conv-to-enc
2526 func_module uniconv/u8-strconv-from-enc
2527 func_module uniconv/u16-strconv-from-enc
2528 func_module uniconv/u32-strconv-from-enc
2529 func_module uniconv/u8-strconv-to-enc
2530 func_module uniconv/u16-strconv-to-enc
2531 func_module uniconv/u32-strconv-to-enc
2532 func_module uniconv/u8-strconv-from-locale
2533 func_module uniconv/u16-strconv-from-locale
2534 func_module uniconv/u32-strconv-from-locale
2535 func_module uniconv/u8-strconv-to-locale
2536 func_module uniconv/u16-strconv-to-locale
2537 func_module uniconv/u32-strconv-to-locale
2538 func_module unistdio/base
2539 func_module unistdio/u-printf-args
2540 func_module unistdio/ulc-asnprintf
2541 func_module unistdio/ulc-asprintf
2542 func_module unistdio/ulc-fprintf
2543 func_module unistdio/ulc-printf-parse
2544 func_module unistdio/ulc-snprintf
2545 func_module unistdio/ulc-sprintf
2546 func_module unistdio/ulc-vasnprintf
2547 func_module unistdio/ulc-vasprintf
2548 func_module unistdio/ulc-vfprintf
2549 func_module unistdio/ulc-vsnprintf
2550 func_module unistdio/ulc-vsprintf
2551 func_module unistdio/u8-asnprintf
2552 func_module unistdio/u8-asprintf
2553 func_module unistdio/u8-printf-parse
2554 func_module unistdio/u8-snprintf
2555 func_module unistdio/u8-sprintf
2556 func_module unistdio/u8-vasnprintf
2557 func_module unistdio/u8-vasprintf
2558 func_module unistdio/u8-vsnprintf
2559 func_module unistdio/u8-vsprintf
2560 func_module unistdio/u8-u8-asnprintf
2561 func_module unistdio/u8-u8-asprintf
2562 func_module unistdio/u8-u8-snprintf
2563 func_module unistdio/u8-u8-sprintf
2564 func_module unistdio/u8-u8-vasnprintf
2565 func_module unistdio/u8-u8-vasprintf
2566 func_module unistdio/u8-u8-vsnprintf
2567 func_module unistdio/u8-u8-vsprintf
2568 func_module unistdio/u16-asnprintf
2569 func_module unistdio/u16-asprintf
2570 func_module unistdio/u16-printf-parse
2571 func_module unistdio/u16-snprintf
2572 func_module unistdio/u16-sprintf
2573 func_module unistdio/u16-vasnprintf
2574 func_module unistdio/u16-vasprintf
2575 func_module unistdio/u16-vsnprintf
2576 func_module unistdio/u16-vsprintf
2577 func_module unistdio/u16-u16-asnprintf
2578 func_module unistdio/u16-u16-asprintf
2579 func_module unistdio/u16-u16-snprintf
2580 func_module unistdio/u16-u16-sprintf
2581 func_module unistdio/u16-u16-vasnprintf
2582 func_module unistdio/u16-u16-vasprintf
2583 func_module unistdio/u16-u16-vsnprintf
2584 func_module unistdio/u16-u16-vsprintf
2585 func_module unistdio/u32-asnprintf
2586 func_module unistdio/u32-asprintf
2587 func_module unistdio/u32-printf-parse
2588 func_module unistdio/u32-snprintf
2589 func_module unistdio/u32-sprintf
2590 func_module unistdio/u32-vasnprintf
2591 func_module unistdio/u32-vasprintf
2592 func_module unistdio/u32-vsnprintf
2593 func_module unistdio/u32-vsprintf
2594 func_module unistdio/u32-u32-asnprintf
2595 func_module unistdio/u32-u32-asprintf
2596 func_module unistdio/u32-u32-snprintf
2597 func_module unistdio/u32-u32-sprintf
2598 func_module unistdio/u32-u32-vasnprintf
2599 func_module unistdio/u32-u32-vasprintf
2600 func_module unistdio/u32-u32-vsnprintf
2601 func_module unistdio/u32-u32-vsprintf
2602 func_module uniname/base
2603 func_module uniname/uniname
2604 func_module uniwidth/base
2605 func_module uniwidth/u8-strwidth
2606 func_module uniwidth/u8-width
2607 func_module uniwidth/u16-strwidth
2608 func_module uniwidth/u16-width
2609 func_module uniwidth/u32-strwidth
2610 func_module uniwidth/u32-width
2611 func_module uniwidth/width
2614 element="Executing programs"
2615 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2616 func_section_wrap posix_ext_exec
2618 func_echo "$element"
2622 func_module findprog
2623 func_module wait-process
2626 func_module sh-quote
2630 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2631 func_section_wrap posix_ext_java
2633 func_echo "$element"
2636 func_module classpath
2637 func_module javacomp-script
2638 func_module javacomp
2639 func_module javaexec-script
2640 func_module javaexec
2641 func_module javaversion
2646 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2647 func_section_wrap posix_ext_csharp
2649 func_echo "$element"
2652 func_module csharpcomp-script
2653 func_module csharpcomp
2654 func_module csharpexec-script
2655 func_module csharpexec
2659 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2660 func_section_wrap posix_ext_misc
2662 func_echo "$element"
2667 func_module byteswap
2668 func_module exitfail
2671 func_module extensions
2672 func_module getdomainname
2673 func_module xgetdomainname
2674 func_module getloadavg
2675 func_module getpagesize
2676 func_module getusershell
2678 func_module posixver
2679 func_module progname
2680 func_module quotearg
2682 func_module readutmp
2684 func_module sysexits
2686 func_module visibility
2689 element="Support for building libraries and executables"
2690 func_section_wrap build_lib
2692 func_echo "$element"
2695 func_module absolute-header
2696 func_module config-h
2697 func_module configmake
2699 func_module elisp-comp
2701 func_module include_next
2703 func_module lib-ignore
2704 func_module link-warning
2706 func_module relocatable-lib
2707 func_module relocatable-lib-lgpl
2708 func_module relocatable-prog
2709 func_module relocatable-prog-wrapper
2710 func_module relocatable-script
2713 element="Support for building documentation"
2714 func_section_wrap build_doc
2716 func_echo "$element"
2723 func_module lgpl-2.1
2724 func_module regexprops-generic
2727 element="Support for maintaining and releasing projects"
2728 func_section_wrap maintain
2730 func_echo "$element"
2733 func_module announce-gen
2734 func_module autobuild
2735 func_module git-version-gen
2736 func_module gitlog-to-changelog
2737 func_module gnupload
2738 func_module maintainer-makefile
2739 func_module useless-if-before-free
2740 func_module vc-list-files
2744 func_section_wrap misc
2746 func_echo "$element"
2749 func_module gnu-make
2752 func_module posix-shell
2759 trap 'exit_status=$?
2760 if test "$signal" != 0; then
2761 echo "caught signal $signal" >&2
2764 exit $exit_status' 0
2765 for signal in 1 2 3 13 15; do
2766 trap '{ signal='$signal'; func_exit 1; }' $signal
2770 echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">'
2775 element="Gnulib Module List"
2777 func_echo "$element"
2779 modules=`gnulib-tool --list`
2780 modules=`for m in $modules; do printf "%s, " $m; done | sed -e 's/, $//'`
2781 func_echo '<META NAME="keywords" CONTENT="'"${modules}"'">'
2787 element="Gnulib Module List"
2789 func_echo "$element"
2791 func_echo 'This is a list of the modules which make up gnulib, with dependencies.'
2800 gnulib-tool --list > "$tmp/all-modules"
2801 missed_modules=`for module in $seen_modules; do echo $module; done \
2802 | LC_ALL=C sort -u \
2803 | LC_ALL=C join -v 2 - "$tmp/all-modules"`
2805 if test -n "$missed_modules"; then
2807 element="Unclassified modules - please update MODULES.html.sh"
2808 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2810 func_echo "$element"
2813 for module in $missed_modules; do
2820 { find lib -type f -print; find m4 -type f -print; } | LC_ALL=C sort | sed -e '/\/\./d' -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"
2821 missed_files=`for file in $seen_files; do echo $file; done \
2822 | LC_ALL=C sort -u \
2823 | LC_ALL=C join -v 2 - "$tmp/all-files"`
2825 if test -n "$missed_files"; then
2827 element="Lone files - please create new modules containing them"
2828 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2830 func_echo "$element"
2833 echo "$missed_files" | sed -e 's,^\(.*\)$,<A HREF="'$repo_url_prefix'\1'$repo_url_suffix_repl'">\1</A>,'
2838 element="Future developments"
2839 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2841 func_echo "$element"
2843 func_echo 'Ideally a module could consist of:'
2845 func_echo '<LI>A header file: lib/<VAR>module</VAR>.h'
2846 func_echo '<LI>One or more implementation files: lib/<VAR>module</VAR>.c et al.'
2847 func_echo '<LI>One or more autoconf macro files: m4/<VAR>module</VAR>.m4 et al.'
2848 func_echo '<LI>A configure.ac fragment, Makefile.am fragment, dependency list: modules/<VAR>module</VAR>'
2849 func_echo '<LI>A testsuite: source files in tests/ and metainformation (a configure.ac fragment, Makefile.am fragment, dependency list) in modules/<VAR>module</VAR>-tests'
2850 func_echo '<LI>Some documentation'
2851 func_echo '<LI>A POT file and some PO files'
2855 func_echo 'Generated from <CODE>MODULES.html.sh</CODE> on '`LC_ALL=C date +"%e %B %Y"`.
2862 # Undo the effect of the previous 'trap' command.
2864 trap 'func_exit $?' 1 2 3 13 15
2869 # indent-tabs-mode: nil
2870 # whitespace-check-buffer-indent: nil