3 # Copyright (C) 2002-2006 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 2, or (at your option)
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, write to the Free Software
17 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 # Usage: MODULES.html.sh > MODULES.html
22 # Extend the PATH so that gnulib-tool is found.
23 PATH=`dirname "$0"`:$PATH; export PATH
25 POSIX2001_URL='http://www.opengroup.org/susv3'
28 POSIX2001_URL='file:/packages/www/www.opengroup.org/susv3' ;;
33 sed_escape_dot='s,\.,\\.,g'
34 sed_escape_slash='s,/,\\/,g'
37 sed_alt2='s,^\\|,\\(,'
38 sed_alt3='s,\\|\\|$,\\),'
124 ' | sed -e "$sed_alt1" | tr -d "$trnl" | sed -e "$sed_alt2" -e "$sed_alt3"`
125 posix_functions=`echo '
723 posix_spawn_file_actions_addclose
724 posix_spawn_file_actions_adddup2
725 posix_spawn_file_actions_addopen
726 posix_spawn_file_actions_destroy
727 posix_spawn_file_actions_init
728 posix_spawnattr_destroy
729 posix_spawnattr_getflags
730 posix_spawnattr_getpgroup
731 posix_spawnattr_getschedparam
732 posix_spawnattr_getschedpolicy
733 posix_spawnattr_getsigdefault
734 posix_spawnattr_getsigmask
736 posix_spawnattr_setflags
737 posix_spawnattr_setpgroup
738 posix_spawnattr_setschedparam
739 posix_spawnattr_setschedpolicy
740 posix_spawnattr_setsigdefault
741 posix_spawnattr_setsigmask
743 posix_trace_attr_destroy
744 posix_trace_attr_getclockres
745 posix_trace_attr_getcreatetime
746 posix_trace_attr_getgenversion
747 posix_trace_attr_getinherited
748 posix_trace_attr_getlogfullpolicy
749 posix_trace_attr_getlogsize
750 posix_trace_attr_getmaxdatasize
751 posix_trace_attr_getmaxsystemeventsize
752 posix_trace_attr_getmaxusereventsize
753 posix_trace_attr_getname
754 posix_trace_attr_getstreamfullpolicy
755 posix_trace_attr_getstreamsize
756 posix_trace_attr_init
757 posix_trace_attr_setinherited
758 posix_trace_attr_setlogfullpolicy
759 posix_trace_attr_setlogsize
760 posix_trace_attr_setmaxdatasize
761 posix_trace_attr_setname
762 posix_trace_attr_setstreamfullpolicy
763 posix_trace_attr_setstreamsize
767 posix_trace_create_withlog
769 posix_trace_eventid_equal
770 posix_trace_eventid_get_name
771 posix_trace_eventid_open
772 posix_trace_eventset_add
773 posix_trace_eventset_del
774 posix_trace_eventset_empty
775 posix_trace_eventset_fill
776 posix_trace_eventset_ismember
777 posix_trace_eventtypelist_getnext_id
778 posix_trace_eventtypelist_rewind
781 posix_trace_get_filter
782 posix_trace_get_status
783 posix_trace_getnext_event
786 posix_trace_set_filter
790 posix_trace_timedgetnext_event
791 posix_trace_trid_eventid_open
792 posix_trace_trygetnext_event
793 posix_typed_mem_get_info
803 pthread_attr_getdetachstate
804 pthread_attr_getguardsize
805 pthread_attr_getinheritsched
806 pthread_attr_getschedparam
807 pthread_attr_getschedpolicy
808 pthread_attr_getscope
809 pthread_attr_getstack
810 pthread_attr_getstackaddr
811 pthread_attr_getstacksize
813 pthread_attr_setdetachstate
814 pthread_attr_setguardsize
815 pthread_attr_setinheritsched
816 pthread_attr_setschedparam
817 pthread_attr_setschedpolicy
818 pthread_attr_setscope
819 pthread_attr_setstack
820 pthread_attr_setstackaddr
821 pthread_attr_setstacksize
822 pthread_barrier_destroy
825 pthread_barrierattr_destroy
826 pthread_barrierattr_getpshared
827 pthread_barrierattr_init
828 pthread_barrierattr_setpshared
832 pthread_cond_broadcast
836 pthread_cond_timedwait
838 pthread_condattr_destroy
839 pthread_condattr_getclock
840 pthread_condattr_getpshared
841 pthread_condattr_init
842 pthread_condattr_setclock
843 pthread_condattr_setpshared
848 pthread_getconcurrency
849 pthread_getcpuclockid
850 pthread_getschedparam
856 pthread_mutex_destroy
857 pthread_mutex_getprioceiling
860 pthread_mutex_setprioceiling
861 pthread_mutex_timedlock
862 pthread_mutex_trylock
864 pthread_mutexattr_destroy
865 pthread_mutexattr_getprioceiling
866 pthread_mutexattr_getprotocol
867 pthread_mutexattr_getpshared
868 pthread_mutexattr_gettype
869 pthread_mutexattr_init
870 pthread_mutexattr_setprioceiling
871 pthread_mutexattr_setprotocol
872 pthread_mutexattr_setpshared
873 pthread_mutexattr_settype
875 pthread_rwlock_destroy
877 pthread_rwlock_rdlock
878 pthread_rwlock_timedrdlock
879 pthread_rwlock_timedwrlock
880 pthread_rwlock_tryrdlock
881 pthread_rwlock_trywrlock
882 pthread_rwlock_unlock
883 pthread_rwlock_wrlock
884 pthread_rwlockattr_destroy
885 pthread_rwlockattr_getpshared
886 pthread_rwlockattr_init
887 pthread_rwlockattr_setpshared
889 pthread_setcancelstate
890 pthread_setcanceltype
891 pthread_setconcurrency
892 pthread_setschedparam
961 sched_get_priority_max
964 sched_rr_get_interval
1243 ' | sed -e "$sed_alt1" | tr -d "$trnl" | sed -e "$sed_alt2" -e "$sed_alt3"`
1257 # creates a temporary directory.
1259 # - tmp pathname of freshly created temporary directory
1262 # Use the environment variable TMPDIR, falling back to /tmp. This allows
1263 # users to specify a different temporary directory, for example, if their
1264 # /tmp is filled up or too small.
1267 # Use the mktemp program if available. If not available, hide the error
1269 tmp=`(umask 077 && mktemp -d "$TMPDIR/MDXXXXXX") 2>/dev/null` &&
1270 test -n "$tmp" && test -d "$tmp"
1273 # Use a simple mkdir command. It is guaranteed to fail if the directory
1274 # already exists. $RANDOM is bash specific and expands to empty in shells
1275 # other than bash, ksh and zsh. Its use does not increase security;
1276 # rather, it minimizes the probability of failure in a very cluttered /tmp
1278 tmp=$TMPDIR/MD$$-$RANDOM
1279 (umask 077 && mkdir "$tmp")
1282 echo "$0: cannot create a temporary directory in $TMPDIR" >&2
1287 # func_append var value
1288 # appends the given value to the shell variable var.
1289 if ( foo=bar; foo+=baz && test "$foo" = barbaz ) >/dev/null 2>&1; then
1290 # Use bash's += operator. It reduces complexity of appending repeatedly to
1291 # a single variable from O(n^2) to O(n).
1299 eval "$1=\"\$$1\$2\""
1304 # outputs line with indentation.
1311 # increases the indentation.
1318 # decreases the indentation.
1321 indent=`echo "$indent" | sed -e 's/ $//'`
1324 # func_begin tag [attribute...]
1333 # closes a HTML tag.
1340 # func_wrap tag [attribute...]
1341 # encloses $element in a HTML tag, without line breaks.
1344 element="<$*>${element}</$1>"
1347 # func_section_wrap sectiontag
1348 # encloses $element in a HTML tag referring to the given tag.
1349 func_section_wrap ()
1351 if test -n "$in_toc"; then
1352 func_wrap A "HREF=\"#$1\""
1354 func_wrap A "NAME=\"$1\""
1362 if test -z "$in_toc"; then
1364 func_echo "<TH ALIGN=LEFT>modules/"
1365 func_echo "<TH ALIGN=LEFT>lib/"
1366 func_echo "<TH ALIGN=LEFT>lib/"
1367 func_echo "<TH ALIGN=LEFT>m4/"
1368 func_echo "<TH ALIGN=LEFT> "
1371 func_echo "<TH ALIGN=LEFT>Module"
1372 func_echo "<TH ALIGN=LEFT>Header"
1373 func_echo "<TH ALIGN=LEFT>Implementation"
1374 func_echo "<TH ALIGN=LEFT>Autoconf macro"
1375 func_echo "<TH ALIGN=LEFT>Depends on"
1380 # func_module module
1383 sed_remove_trailing_empty_line='${
1387 if test -n "$in_toc"; then
1389 func_begin TR "WIDTH=\"100%\""
1391 element='<A HREF="#module='$1'">'$1'</A>'
1392 func_echo "<TD ALIGN=LEFT VALIGN=TOP WIDTH=\"20%\">$element"
1394 element=`gnulib-tool --extract-description $1 \
1395 | sed -e "$sed_lt" -e "$sed_gt" -e "$sed_remove_trailing_empty_line" \
1397 -e 's,\([^a-zA-Z]\)'"${posix_functions}"'(),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A>(),g' \
1399 func_echo "<TD ALIGN=LEFT VALIGN=TOP WIDTH=\"80%\">$element"
1407 element='<A NAME="module='$1'"></A><A HREF="modules/'$1'">'$1'</A>'
1408 func_echo "<TD ALIGN=LEFT VALIGN=TOP>$element"
1410 includes=`gnulib-tool --extract-include-directive $1`
1411 files=`gnulib-tool --extract-filelist $1`
1412 element=`echo "$includes" \
1413 | sed -e "$sed_lt" -e "$sed_gt" -e "$sed_remove_trailing_empty_line" \
1414 -e 's,^#include "\(.*\)"$,#include "<A HREF="lib/\1">\1</A>",' \
1415 -e 's,^#include <'"${posix_headers}"'\.h>$,#include \<<A HREF="'"$POSIX2001_URL"'xbd/\1.h.html">\1.h</A>\>,' \
1416 -e 's/$/<BR>/' | tr -d "$trnl" | sed -e 's/<BR>$//'`
1417 test -n "$element" || element='---'
1418 func_echo "<TD ALIGN=LEFT VALIGN=TOP>$element"
1420 sed_choose_unconditional_nonstandard_include='s,^#include "\(.*\)"$,\1,p'
1421 includefile=`echo "$includes" \
1422 | sed -n -e "$sed_choose_unconditional_nonstandard_include" \
1423 | sed -e "$sed_escape_dot" | tr -d "$trnl"`
1424 sed_choose_lib_files='s,^lib/\(.*\)$,\1,p'
1425 element=`echo "$files" \
1427 | sed -n -e "$sed_choose_lib_files" \
1428 | sed -e '/^'"${includefile}"'$/d' \
1429 -e 's,^\(.*\)$,<A HREF="lib/\1">\1</A>,' \
1430 -e 's/$/<BR>/' | tr -d "$trnl" | sed -e 's/<BR>$//'`
1431 test -n "$element" || element='---'
1432 func_echo "<TD ALIGN=LEFT VALIGN=TOP>$element"
1434 sed_choose_m4_files='s,^m4/\(.*\)$,\1,p'
1435 element=`(echo "$files" \
1436 | sed -e "$sed_remove_trailing_empty_line" \
1437 | sed -n -e "$sed_choose_m4_files" \
1438 | sed -e '/^onceonly/d' \
1439 -e 's,^\(.*\)$,<A HREF="m4/\1">\1</A>,'; \
1440 gnulib-tool --extract-autoconf-snippet $1 \
1441 | sed -e "$sed_remove_trailing_empty_line") \
1442 | sed -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 element=`gnulib-tool --extract-dependencies $1 \
1447 | sed -e "$sed_remove_trailing_empty_line" \
1448 -e 's/$/<BR>/' | tr -d "$trnl" | sed -e 's/<BR>$//'`
1449 test -n "$element" || element='---'
1450 func_echo "<TD ALIGN=LEFT VALIGN=TOP>$element"
1454 func_append seen_modules " $1"
1455 func_append seen_files " $files"
1468 element="Support for systems lacking ANSI C 89"
1469 func_section_wrap ansic_sup
1471 func_echo "$element"
1487 func_module strerror
1491 func_echo 'Most of these modules are not listed among dependencies below, for simplicity.'
1493 element="Enhancements for ANSI C 89 functions"
1494 func_section_wrap ansic_enh
1496 func_echo "$element"
1498 element="Diagnostics <assert.h>"
1499 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1500 func_section_wrap ansic_enh_assert_diagnostics
1502 func_echo "$element"
1509 element="Memory management functions <stdlib.h>"
1510 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1511 func_section_wrap ansic_enh_stdlib_memory
1513 func_echo "$element"
1521 func_module pagealign_alloc
1524 element="Date and time <time.h>"
1525 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1526 func_section_wrap ansic_enh_time_datetime
1528 func_echo "$element"
1531 func_module fprintftime
1532 func_module strftime
1535 element="Extra functions based on ANSI C 89"
1536 func_section_wrap ansic_ext
1538 func_echo "$element"
1540 element="Memory management functions <stdlib.h>"
1541 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1542 func_section_wrap ansic_ext_stdlib_memory
1544 func_echo "$element"
1549 func_module xalloc-die
1551 func_module alloca-opt
1553 func_module xallocsa
1556 element="Integer arithmetic functions <stdlib.h>"
1557 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1558 func_section_wrap ansic_ext_stdlib_arith
1560 func_echo "$element"
1567 element="Environment variables <stdlib.h>"
1568 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1569 func_section_wrap ansic_ext_stdlib_env
1571 func_echo "$element"
1579 element="Character handling <ctype.h>"
1580 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1581 func_section_wrap ansic_ext_ctype
1583 func_echo "$element"
1589 element="String handling <string.h>"
1590 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1591 func_section_wrap ansic_ext_string
1593 func_echo "$element"
1602 func_module c-strcase
1604 func_module c-strcasestr
1605 func_module strcasestr
1606 func_module strchrnul
1609 func_module strnlen1
1612 func_module c-strstr
1614 #func_module fstrcmp
1615 func_module xstrndup
1618 element="Numeric conversion functions <stdlib.h>"
1619 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1620 func_section_wrap ansic_ext_stdlib_conv
1622 func_echo "$element"
1625 func_module c-strtod
1626 func_module c-strtold
1629 func_module xstrtold
1632 element="Date and time <time.h>"
1633 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1634 func_section_wrap ansic_ext_time_datetime
1636 func_echo "$element"
1644 element="Input/Output <stdio.h>"
1645 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1646 func_section_wrap ansic_ext_stdio
1648 func_echo "$element"
1651 func_module unlocked-io
1652 func_module fwriteerror
1653 func_module vasnprintf
1654 func_module vasprintf
1655 func_module xvasprintf
1658 element="Signal handling <signal.h>"
1659 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1660 func_section_wrap ansic_ext_signal
1662 func_echo "$element"
1665 func_module fatal-signal
1669 element="Command-line arguments"
1670 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1671 func_section_wrap ansic_ext_argv
1673 func_echo "$element"
1676 func_module argmatch
1677 func_module version-etc
1678 func_module version-etc-fsf
1679 func_module long-options
1682 element="Container data structures"
1683 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1684 func_section_wrap ansic_ext_container
1686 func_echo "$element"
1690 func_module array-list
1691 func_module carray-list
1692 func_module linked-list
1693 func_module avltree-list
1694 func_module rbtree-list
1695 func_module linkedhash-list
1696 func_module avltreehash-list
1697 func_module rbtreehash-list
1699 func_module array-oset
1700 func_module avltree-oset
1701 func_module rbtree-oset
1704 element="Cryptographic computations"
1705 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1706 func_section_wrap ansic_ext_crypto
1708 func_echo "$element"
1716 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1717 func_section_wrap ansic_ext_misc
1719 func_echo "$element"
1723 func_module check-version
1726 func_module getdelim
1727 func_module getnline
1728 func_module getndelim2
1729 func_module linebuffer
1731 func_module hash-pjw
1733 func_module readline
1734 func_module readtokens
1735 func_module readtokens0
1736 func_module strverscmp
1739 element="Support for systems lacking ISO C 99"
1740 func_section_wrap isoc_sup
1742 func_echo "$element"
1744 element="Core language properties"
1745 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1746 func_section_wrap isoc_core_properties
1748 func_echo "$element"
1751 func_module flexmember
1752 func_module vararrays
1755 element="Sizes of integer types <limits.h>"
1756 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1757 func_section_wrap isoc_sup_limits
1759 func_echo "$element"
1762 func_module size_max
1765 element="Variable arguments <stdarg.h>"
1766 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1767 func_section_wrap isoc_sup_stdarg
1769 func_echo "$element"
1775 element="Boolean type and values <stdbool.h>"
1776 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1777 func_section_wrap isoc_sup_stdbool
1779 func_echo "$element"
1785 element="Integer types and values <stdint.h>"
1786 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1787 func_section_wrap isoc_sup_stdint
1789 func_echo "$element"
1795 element="Input/output <stdio.h>"
1796 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1797 func_section_wrap isoc_sup_stdio
1799 func_echo "$element"
1802 func_module snprintf
1803 func_module vsnprintf
1806 element="Numeric conversion functions <stdlib.h>"
1807 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1808 func_section_wrap isoc_sup_stdlib_conv
1810 func_echo "$element"
1814 func_module strtoull
1817 element="Functions for greatest-width integer types <inttypes.h>"
1818 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1819 func_section_wrap isoc_sup_inttypes
1821 func_echo "$element"
1824 func_module strtoimax
1825 func_module strtoumax
1828 element="Wide character classification and mapping utilities <wctype.h>"
1829 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1830 func_section_wrap isoc_sup_wctype
1832 func_echo "$element"
1838 element="Mathematics <math.h>"
1839 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1840 func_section_wrap isoc_sup_math
1842 func_echo "$element"
1848 element="Enhancements for ISO C 99 functions"
1849 func_section_wrap isoc_enh
1851 func_echo "$element"
1856 element="Extra functions based on ISO C 99"
1857 func_section_wrap isoc_ext
1859 func_echo "$element"
1861 element="Numeric conversion functions <stdlib.h>"
1862 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1863 func_section_wrap isoc_ext_stdlib_conv
1865 func_echo "$element"
1868 func_module intprops
1869 func_module inttostr
1870 func_module xstrtoimax
1871 func_module xstrtoumax
1874 element="Extended multibyte and wide character utilities <wchar.h>"
1875 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1876 func_section_wrap isoc_ext_wchar_mb
1878 func_echo "$element"
1887 element="Support for systems lacking POSIX:2001"
1888 func_section_wrap posix_sup
1890 func_echo "$element"
1895 func_module ftruncate
1896 func_module getaddrinfo
1898 func_module getgroups
1899 func_module gethostname
1900 func_module getlogin_r
1901 func_module getsubopt
1902 func_module gettimeofday
1903 func_module inet_ntop
1904 func_module inet_pton
1909 func_module readlink
1911 func_module tempname
1913 func_module timespec
1914 func_module nanosleep
1918 func_module sigprocmask
1920 func_module strtok_r
1921 func_module sys_stat
1928 element="Compatibility checks for POSIX:2001 functions"
1929 func_section_wrap posix_compat
1931 func_echo "$element"
1936 func_module link-follow
1937 func_module rename-dest-slash
1938 func_module rmdir-errno
1939 func_module unlink-busy
1940 func_module winsz-ioctl
1941 func_module winsz-termios
1944 element="Enhancements for POSIX:2001 functions"
1945 func_section_wrap posix_enh
1947 func_echo "$element"
1952 func_module unistd-safer
1954 func_module fnmatch-posix
1955 func_module fnmatch-gnu
1960 element="Extra functions based on POSIX:2001"
1961 func_section_wrap posix_ext
1963 func_echo "$element"
1965 element="Numeric conversion functions"
1966 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1967 func_section_wrap posix_ext_conv
1969 func_echo "$element"
1975 element="File system functions"
1976 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1977 func_section_wrap posix_ext_filesys
1979 func_echo "$element"
1983 func_module backupfile
1984 func_module canonicalize
1985 func_module canonicalize-lgpl
1986 func_module clean-temp
1987 func_module copy-file
1988 func_module cycle-check
1991 func_module double-slash-root
1992 func_module euidaccess
1993 func_module file-type
1994 func_module fileblocks
1995 func_module filemode
1996 func_module filenamecat
1998 func_module fts-lgpl
2002 func_module mkancesdirs
2004 func_module modechange
2005 func_module mountlist
2007 func_module pathname
2010 func_module save-cwd
2013 func_module stat-time
2015 func_module unlinkdir
2016 func_module utimecmp
2019 func_module xreadlink
2022 element="File descriptor based Input/Output"
2023 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2024 func_section_wrap posix_ext_filedesc
2026 func_echo "$element"
2029 func_module fcntl-safer
2030 func_module safe-read
2031 func_module safe-write
2032 func_module full-read
2033 func_module full-write
2034 func_module binary-io
2038 element="File stream based Input/Output"
2039 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2040 func_section_wrap posix_ext_filestream
2042 func_echo "$element"
2045 func_module close-stream
2046 func_module closeout
2047 func_module fopen-safer
2048 func_module fpending
2050 func_module getpass-gnu
2051 func_module stdlib-safer
2052 func_module tmpfile-safer
2055 element="Users and groups"
2056 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2057 func_section_wrap posix_ext_uidgid
2059 func_echo "$element"
2062 func_module getugroups
2063 func_module group-member
2065 func_module userspec
2068 element="Date and time"
2069 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2070 func_section_wrap posix_ext_datetime
2072 func_echo "$element"
2078 func_module xnanosleep
2081 element="Networking functions"
2082 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2083 func_section_wrap posix_ext_net
2085 func_echo "$element"
2088 func_module xgethostname
2089 func_module canon-host
2092 element="Multithreading"
2093 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2094 func_section_wrap posix_ext_thread
2096 func_echo "$element"
2103 element="Internationalization functions"
2104 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2105 func_section_wrap posix_ext_i18n
2107 func_echo "$element"
2111 func_module gettext-h
2113 func_module striconv
2114 func_module xstriconv
2116 func_module localcharset
2117 func_module hard-locale
2118 func_module mbswidth
2119 func_module memcasecmp
2121 func_module xmemcoll
2122 func_module unicodeio
2125 func_module ucs4-utf8
2126 func_module ucs4-utf16
2127 func_module utf8-ucs4
2128 func_module utf16-ucs4
2129 func_module linebreak
2130 func_module bison-i18n
2133 element="Executing programs"
2134 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2135 func_section_wrap posix_ext_exec
2137 func_echo "$element"
2141 func_module findprog
2142 func_module wait-process
2145 func_module sh-quote
2149 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2150 func_section_wrap posix_ext_java
2152 func_echo "$element"
2155 func_module classpath
2156 func_module javacomp
2157 func_module javaexec
2158 func_module javaversion
2163 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2164 func_section_wrap posix_ext_csharp
2166 func_echo "$element"
2169 func_module csharpcomp
2170 func_module csharpexec
2174 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2175 func_section_wrap posix_ext_misc
2177 func_echo "$element"
2182 func_module byteswap
2183 func_module exitfail
2186 func_module extensions
2187 func_module getdomainname
2188 func_module xgetdomainname
2189 func_module getloadavg
2190 func_module getpagesize
2191 func_module getusershell
2193 func_module posixver
2194 func_module progname
2195 func_module quotearg
2197 func_module readutmp
2199 func_module sysexits
2201 func_module visibility
2204 element="Support for building libraries and executables"
2205 func_section_wrap build_lib
2207 func_echo "$element"
2210 func_module absolute-header
2211 func_module config-h
2212 func_module configmake
2214 func_module elisp-comp
2216 func_module lib-ignore
2220 element="Support for building documentation"
2221 func_section_wrap build_doc
2223 func_echo "$element"
2230 func_module regexprops-generic
2233 element="Support for maintaining and release projects"
2234 func_section_wrap maintain
2236 func_echo "$element"
2239 func_module gnupload
2240 func_module maintainer-makefile
2244 func_section_wrap misc
2246 func_echo "$element"
2257 trap 'exit_status=$?
2258 if test "$signal" != 0; then
2259 echo "caught signal $signal" >&2
2262 exit $exit_status' 0
2263 for signal in 1 2 3 13 15; do
2264 trap '{ signal='$signal'; func_exit 1; }' $signal
2268 echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">'
2273 element="Gnulib Module List"
2275 func_echo "$element"
2277 modules=`gnulib-tool --list`
2278 modules=`for m in $modules; do printf "%s, " $m; done | sed -e 's/, $//'`
2279 func_echo '<META NAME="keywords" CONTENT="'"${modules}"'">'
2285 element="Gnulib Module List"
2287 func_echo "$element"
2289 func_echo 'This is a list of the modules which make up gnulib, with dependencies.'
2298 gnulib-tool --list > "$tmp/all-modules"
2299 missed_modules=`for module in $seen_modules; do echo $module; done \
2300 | LC_ALL=C sort -u \
2301 | LC_ALL=C join -v 2 - "$tmp/all-modules"`
2303 if test -n "$missed_modules"; then
2305 element="Unclassified modules - please update MODULES.html.sh"
2306 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2308 func_echo "$element"
2311 for module in $missed_modules; do
2318 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"
2319 missed_files=`for file in $seen_files; do echo $file; done \
2320 | LC_ALL=C sort -u \
2321 | LC_ALL=C join -v 2 - "$tmp/all-files"`
2323 if test -n "$missed_files"; then
2325 element="Lone files - please create new modules containing them"
2326 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2328 func_echo "$element"
2331 echo "$missed_files" | sed -e 's,^\(.*\)$,<A HREF="\1">\1</A>,'
2336 element="Future developments"
2337 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2339 func_echo "$element"
2341 func_echo 'Ideally a module could consist of:'
2343 func_echo '<LI>A header file: lib/<VAR>module</VAR>.h'
2344 func_echo '<LI>One or more implementation files: lib/<VAR>module</VAR>.c et al.'
2345 func_echo '<LI>One or more autoconf macro files: m4/<VAR>module</VAR>.m4 et al.'
2346 func_echo '<LI>A configure.ac fragment, Makefile.am fragment, dependency list: modules/<VAR>module</VAR>'
2347 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'
2348 func_echo '<LI>Some documentation'
2349 func_echo '<LI>A POT file and some PO files'
2353 func_echo 'Generated from <CODE>MODULES.html.sh</CODE> on '`LC_ALL=C date +"%e %B %Y"`.
2360 # Undo the effect of the previous 'trap' command.
2362 trap 'func_exit $?' 1 2 3 13 15
2367 # indent-tabs-mode: nil
2368 # whitespace-check-buffer-indent: nil