3 # Copyright (C) 2002-2005 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/onlinepubs/007904975/'
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
1242 ' | sed -e "$sed_alt1" | tr -d "$trnl" | sed -e "$sed_alt2" -e "$sed_alt3"`
1245 missed_modules=`gnulib-tool --list`
1246 missed_files=`ls -d lib/* m4/* | sed -e /CVS/d -e /README/d -e /ChangeLog/d -e /Makefile/d -e /TODO/d -e '/~$/d'`
1249 # outputs line with indentation.
1256 # increases the indentation.
1263 # decreases the indentation.
1266 indent=`echo "$indent" | sed -e 's/ $//'`
1269 # func_begin tag [attribute...]
1278 # closes a HTML tag.
1285 # func_wrap tag [attribute...]
1286 # encloses $element in a HTML tag, without line breaks.
1289 element="<$*>${element}</$1>"
1292 # func_section_wrap sectiontag
1293 # encloses $element in a HTML tag referring to the given tag.
1294 func_section_wrap ()
1296 if test -n "$in_toc"; then
1297 func_wrap A "HREF=\"#$1\""
1299 func_wrap A "NAME=\"$1\""
1307 if test -z "$in_toc"; then
1309 func_echo "<TH ALIGN=LEFT>modules/"
1310 func_echo "<TH ALIGN=LEFT>lib/"
1311 func_echo "<TH ALIGN=LEFT>lib/"
1312 func_echo "<TH ALIGN=LEFT>m4/"
1313 func_echo "<TH ALIGN=LEFT> "
1316 func_echo "<TH ALIGN=LEFT>Module"
1317 func_echo "<TH ALIGN=LEFT>Header"
1318 func_echo "<TH ALIGN=LEFT>Implementation"
1319 func_echo "<TH ALIGN=LEFT>Autoconf macro"
1320 func_echo "<TH ALIGN=LEFT>Depends on"
1325 # func_module module
1328 sed_remove_trailing_empty_line='${
1332 if test -n "$in_toc"; then
1334 func_begin TR "WIDTH=\"100%\""
1336 element='<A HREF="#module='$1'">'$1'</A>'
1337 func_echo "<TD ALIGN=LEFT VALIGN=TOP WIDTH=\"20%\">$element"
1339 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<A HREF="'"$POSIX2001_URL"'functions/\2.html">\2</A>(),g' | sed -e 's,^ ,,'`
1340 func_echo "<TD ALIGN=LEFT VALIGN=TOP WIDTH=\"80%\">$element"
1348 element='<A NAME="module='$1'"></A><A HREF="modules/'$1'">'$1'</A>'
1349 func_echo "<TD ALIGN=LEFT VALIGN=TOP>$element"
1351 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 "<A HREF="lib/\1">\1</A>",' -e 's,^#include <'"${posix_headers}"'\.h>$,#include \<<A HREF="'"$POSIX2001_URL"'basedefs/\1.h.html">\1.h</A>\>,' | sed -e 's/$/<BR>/' | tr -d "$trnl" | sed -e 's/<BR>$//'`
1352 test -n "$element" || element='---'
1353 func_echo "<TD ALIGN=LEFT VALIGN=TOP>$element"
1355 sed_choose_unconditional_nonstandard_include='s,^#include "\(.*\)"$,\1,p'
1356 includefile=`gnulib-tool --extract-include-directive $1 | sed -n -e "$sed_choose_unconditional_nonstandard_include" | sed -e "$sed_escape_dot" | tr -d "$trnl"`
1357 sed_choose_lib_files='s,^lib/\(.*\)$,\1,p'
1358 element=`gnulib-tool --extract-filelist $1 | sed -e '/^$/d' | sed -n -e "$sed_choose_lib_files" | sed -e '/^'"${includefile}"'$/d' | sed -e 's,^\(.*\)$,<A HREF="lib/\1">\1</A>,' | sed -e 's/$/<BR>/' | tr -d "$trnl" | sed -e 's/<BR>$//'`
1359 test -n "$element" || element='---'
1360 func_echo "<TD ALIGN=LEFT VALIGN=TOP>$element"
1362 sed_choose_m4_files='s,^m4/\(.*\)$,\1,p'
1363 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,^\(.*\)$,<A HREF="m4/\1">\1</A>,'; gnulib-tool --extract-autoconf-snippet $1 | sed -e "$sed_remove_trailing_empty_line") | sed -e 's/$/<BR>/' | tr -d "$trnl" | sed -e 's/<BR>$//'`
1364 test -n "$element" || element='---'
1365 func_echo "<TD ALIGN=LEFT VALIGN=TOP>$element"
1367 element=`gnulib-tool --extract-dependencies $1 | sed -e "$sed_remove_trailing_empty_line" | sed -e 's/$/<BR>/' | tr -d "$trnl" | sed -e 's/<BR>$//'`
1368 test -n "$element" || element='---'
1369 func_echo "<TD ALIGN=LEFT VALIGN=TOP>$element"
1373 missed_modules=`echo "$missed_modules" | sed -e '/^'"$1"'$/d'`
1375 files=`gnulib-tool --extract-filelist $1`
1376 sed_removal_prefix='s,^,/^,'
1377 sed_removal_suffix='s,$,\$/d,'
1378 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 '}'`
1379 missed_files=`echo "$missed_files" | sed -e "$sed_remove_files"`
1393 element="Support for systems lacking ANSI C 89"
1394 func_section_wrap ansic_sup
1396 func_echo "$element"
1415 func_module strerror
1419 func_echo 'Most of these modules are not listed among dependencies below, for simplicity.'
1421 element="Enhancements for ANSI C 89 functions"
1422 func_section_wrap ansic_enh
1424 func_echo "$element"
1426 element="Memory management functions <stdlib.h>"
1427 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1428 func_section_wrap ansic_enh_stdlib_memory
1430 func_echo "$element"
1438 func_module pagealign_alloc
1441 element="Date and time <time.h>"
1442 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1443 func_section_wrap ansic_enh_time_datetime
1445 func_echo "$element"
1448 func_module strftime
1451 element="Extra functions based on ANSI C 89"
1452 func_section_wrap ansic_ext
1454 func_echo "$element"
1456 element="Memory management functions <stdlib.h>"
1457 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1458 func_section_wrap ansic_ext_stdlib_memory
1460 func_echo "$element"
1465 func_module xalloc-die
1467 func_module alloca-opt
1469 func_module xallocsa
1472 element="Integer arithmetic functions <stdlib.h>"
1473 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1474 func_section_wrap ansic_ext_stdlib_arith
1476 func_echo "$element"
1483 element="Environment variables <stdlib.h>"
1484 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1485 func_section_wrap ansic_ext_stdlib_env
1487 func_echo "$element"
1495 element="Character handling <ctype.h>"
1496 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1497 func_section_wrap ansic_ext_ctype
1499 func_echo "$element"
1505 element="String handling <string.h>"
1506 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1507 func_section_wrap ansic_ext_string
1509 func_echo "$element"
1519 func_module strchrnul
1524 #func_module fstrcmp
1525 func_module xstrndup
1528 element="Numeric conversion functions <stdlib.h>"
1529 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1530 func_section_wrap ansic_ext_stdlib_conv
1532 func_echo "$element"
1535 func_module c-strtod
1536 func_module c-strtold
1541 element="Date and time <time.h>"
1542 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1543 func_section_wrap ansic_ext_time_datetime
1545 func_echo "$element"
1553 element="Input/Output <stdio.h>"
1554 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1555 func_section_wrap ansic_ext_stdio
1557 func_echo "$element"
1560 func_module unlocked-io
1561 func_module fwriteerror
1562 func_module vasnprintf
1563 func_module vasprintf
1564 func_module xvasprintf
1567 element="Signal handling <signal.h>"
1568 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1569 func_section_wrap ansic_ext_signal
1571 func_echo "$element"
1574 func_module fatal-signal
1578 element="Command-line arguments"
1579 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1580 func_section_wrap ansic_ext_argv
1582 func_echo "$element"
1585 func_module argmatch
1586 func_module version-etc
1587 func_module version-etc-fsf
1588 func_module long-options
1591 element="Cryptographic computations"
1592 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1593 func_section_wrap ansic_ext_crypto
1595 func_echo "$element"
1603 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1604 func_section_wrap ansic_ext_misc
1606 func_echo "$element"
1612 func_module getnline
1613 func_module getndelim2
1614 func_module linebuffer
1616 func_module hash-pjw
1618 func_module readtokens
1619 func_module readtokens0
1620 func_module strverscmp
1623 element="Support for systems lacking ISO C 99"
1624 func_section_wrap isoc_sup
1626 func_echo "$element"
1629 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1630 func_section_wrap isoc_sup_keywords
1632 func_echo "$element"
1635 func_module restrict
1638 element="Sizes of integer types <limits.h>"
1639 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1640 func_section_wrap isoc_sup_limits
1642 func_echo "$element"
1645 func_module ullong_max
1648 element="Boolean type and values <stdbool.h>"
1649 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1650 func_section_wrap isoc_sup_stdbool
1652 func_echo "$element"
1658 element="Integer types and values <stdint.h>"
1659 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1660 func_section_wrap isoc_sup_stdint
1662 func_echo "$element"
1668 element="Input/output <stdio.h>"
1669 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1670 func_section_wrap isoc_sup_stdio
1672 func_echo "$element"
1675 func_module snprintf
1676 func_module vsnprintf
1679 element="Numeric conversion functions <stdlib.h>"
1680 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1681 func_section_wrap isoc_sup_stdlib_conv
1683 func_echo "$element"
1687 func_module strtoull
1690 element="Functions for greatest-width integer types <inttypes.h>"
1691 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1692 func_section_wrap isoc_sup_inttypes
1694 func_echo "$element"
1697 func_module strtoimax
1698 func_module strtoumax
1701 element="Mathematics <math.h>"
1702 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1703 func_section_wrap isoc_sup_math
1705 func_echo "$element"
1711 element="Enhancements for ISO C 99 functions"
1712 func_section_wrap isoc_enh
1714 func_echo "$element"
1719 element="Extra functions based on ISO C 99"
1720 func_section_wrap isoc_ext
1722 func_echo "$element"
1724 element="Numeric conversion functions <stdlib.h>"
1725 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1726 func_section_wrap isoc_ext_stdlib_conv
1728 func_echo "$element"
1731 func_module inttostr
1732 func_module xstrtoimax
1733 func_module xstrtoumax
1736 element="Support for systems lacking POSIX:2001"
1737 func_section_wrap posix_sup
1739 func_echo "$element"
1744 func_module ftruncate
1745 func_module getaddrinfo
1747 func_module getgroups
1748 func_module gethostname
1749 func_module getlogin_r
1750 func_module getsubopt
1751 func_module gettimeofday
1752 func_module inet_ntop
1757 func_module readlink
1760 func_module timespec
1761 func_module nanosleep
1765 func_module strtok_r
1769 element="Enhancements for POSIX:2001 functions"
1770 func_section_wrap posix_enh
1772 func_echo "$element"
1777 func_module unistd-safer
1779 func_module fnmatch-posix
1780 func_module fnmatch-gnu
1785 element="Extra functions based on POSIX:2001"
1786 func_section_wrap posix_ext
1788 func_echo "$element"
1790 element="Numeric conversion functions"
1791 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1792 func_section_wrap posix_ext_conv
1794 func_echo "$element"
1800 element="File system functions"
1801 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1802 func_section_wrap posix_ext_filesys
1804 func_echo "$element"
1808 func_module backupfile
1809 func_module canonicalize
1810 func_module copy-file
1811 func_module cycle-check
1814 func_module euidaccess
1815 func_module file-type
1816 func_module fileblocks
1817 func_module filemode
1818 func_module filenamecat
1820 func_module fts-lgpl
1824 func_module modechange
1825 func_module mountlist
1826 func_module pathname
1829 func_module save-cwd
1831 func_module unlinkdir
1832 func_module utimecmp
1835 func_module xreadlink
1838 element="File descriptor based Input/Output"
1839 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1840 func_section_wrap posix_ext_filedesc
1842 func_echo "$element"
1845 func_module safe-read
1846 func_module safe-write
1847 func_module full-read
1848 func_module full-write
1849 func_module binary-io
1852 element="File stream based Input/Output"
1853 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1854 func_section_wrap posix_ext_filestream
1856 func_echo "$element"
1859 func_module fpending
1860 func_module closeout
1861 func_module stdio-safer
1863 func_module getpass-gnu
1866 element="Users and groups"
1867 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1868 func_section_wrap posix_ext_uidgid
1870 func_echo "$element"
1873 func_module getugroups
1874 func_module group-member
1876 func_module userspec
1879 element="Date and time"
1880 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1881 func_section_wrap posix_ext_datetime
1883 func_echo "$element"
1889 func_module xnanosleep
1892 element="Networking functions"
1893 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1894 func_section_wrap posix_ext_net
1896 func_echo "$element"
1899 func_module xgethostname
1900 func_module canon-host
1903 element="Internationalization functions"
1904 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1905 func_section_wrap posix_ext_i18n
1907 func_echo "$element"
1911 func_module gettext-h
1914 func_module localcharset
1915 func_module hard-locale
1916 func_module mbswidth
1917 func_module memcasecmp
1919 func_module xmemcoll
1920 func_module unicodeio
1923 func_module ucs4-utf8
1924 func_module ucs4-utf16
1925 func_module utf8-ucs4
1926 func_module utf16-ucs4
1927 func_module linebreak
1930 element="Executing programs"
1931 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1932 func_section_wrap posix_ext_exec
1934 func_echo "$element"
1938 func_module findprog
1939 func_module wait-process
1942 func_module sh-quote
1946 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1947 func_section_wrap posix_ext_java
1949 func_echo "$element"
1952 func_module classpath
1953 func_module javacomp
1954 func_module javaexec
1959 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1960 func_section_wrap posix_ext_csharp
1962 func_echo "$element"
1965 func_module csharpcomp
1966 func_module csharpexec
1970 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1971 func_section_wrap posix_ext_misc
1973 func_echo "$element"
1978 func_module byteswap
1979 func_module exitfail
1982 func_module extensions
1983 func_module getdomainname
1984 func_module xgetdomainname
1985 func_module getloadavg
1986 func_module getpagesize
1987 func_module getusershell
1989 func_module posixver
1990 func_module progname
1991 func_module quotearg
1993 func_module readutmp
1995 func_module sysexits
2000 echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">'
2005 element="Gnulib Module List"
2007 func_echo "$element"
2009 modules=`gnulib-tool --list`
2010 modules=`for m in $modules; do printf "%s, " $m; done | sed -e 's/, $//'`
2011 func_echo '<META NAME="keywords" CONTENT="'"${modules}"'">'
2017 element="Gnulib Module List"
2019 func_echo "$element"
2021 func_echo 'This is a list of the modules which make up gnulib, with dependencies.'
2029 if test -n "$missed_modules"; then
2031 element="Unclassified modules - please update MODULES.html.sh"
2032 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2034 func_echo "$element"
2037 for module in $missed_modules; do
2044 if test -n "$missed_files"; then
2046 element="Lone files - please create new modules containing them"
2047 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2049 func_echo "$element"
2052 echo "$missed_files" | sed -e 's,^\(.*\)$,<A HREF="\1">\1</A>,'
2057 element="Future developments"
2058 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2060 func_echo "$element"
2062 func_echo 'Ideally a module could consist of:'
2064 func_echo '<LI>A header file: lib/<VAR>module</VAR>.h'
2065 func_echo '<LI>One or more implementation files: lib/<VAR>module</VAR>.c et al.'
2066 func_echo '<LI>One or more autoconf macro files: m4/<VAR>module</VAR>.m4 et al.'
2067 func_echo '<LI>A configure.ac fragment, Makefile.am fragment, dependency list: modules/<VAR>module</VAR>'
2068 func_echo '<LI>Some documentation'
2069 func_echo '<LI>A POT file and some PO files'
2070 func_echo '<LI>A testsuite'
2074 func_echo 'Generated from <CODE>MODULES.html.sh</CODE> on '`LC_ALL=C date +"%e %B %Y"`.