Add the new modules utf8-ucs4-safe, utf16-ucs4-safe.
[gnulib.git] / MODULES.html.sh
1 #!/bin/sh
2 #
3 # Copyright (C) 2002-2007 Free Software Foundation, Inc.
4 #
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)
8 # any later version.
9 #
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.
14 #
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.
18 #
19
20 # Usage: MODULES.html.sh > MODULES.html
21
22 # Extend the PATH so that gnulib-tool is found.
23 PATH=`dirname "$0"`:$PATH; export PATH
24
25 POSIX2001_URL='http://www.opengroup.org/susv3'
26 case $USER in
27   bruno )
28     POSIX2001_URL='file:/packages/www/www.opengroup.org/susv3' ;;
29 esac
30
31 sed_lt='s,<,\&lt;,g'
32 sed_gt='s,>,\&gt;,g'
33 sed_escape_dot='s,\.,\\.,g'
34 sed_escape_slash='s,/,\\/,g'
35 trnl='\012'
36 sed_alt1='s,$,\\|,'
37 sed_alt2='s,^\\|,\\(,'
38 sed_alt3='s,\\|\\|$,\\),'
39 posix_headers=`echo '
40 aio
41 arpa/inet
42 assert
43 complex
44 cpio
45 ctype
46 dirent
47 dlfcn
48 errno
49 fcntl
50 fenv
51 float
52 fmtmsg
53 fnmatch
54 ftw
55 glob
56 grp
57 iconv
58 inttypes
59 iso646
60 langinfo
61 libgen
62 limits
63 locale
64 math
65 monetary
66 mqueue
67 ndbm
68 net/if
69 netdb
70 netinet/in
71 netinet/tcp
72 nl_types
73 poll
74 pthread
75 pwd
76 regex
77 sched
78 search
79 semaphore
80 setjmp
81 signal
82 spawn
83 stdarg
84 stdbool
85 stddef
86 stdint
87 stdio
88 stdlib
89 string
90 strings
91 stropts
92 sys/ipc
93 sys/mman
94 sys/msg
95 sys/resource
96 sys/select
97 sys/sem
98 sys/shm
99 sys/socket
100 sys/stat
101 sys/statvfs
102 sys/time
103 sys/timeb
104 sys/times
105 sys/types
106 sys/uio
107 sys/un
108 sys/utsname
109 sys/wait
110 syslog
111 tar
112 termios
113 tgmath
114 time
115 trace
116 ucontext
117 ulimit
118 unistd
119 utime
120 utmpx
121 wchar
122 wctype
123 wordexp
124 ' | sed -e "$sed_alt1" | tr -d "$trnl" | sed -e "$sed_alt2" -e "$sed_alt3"`
125 posix_functions=`echo '
126 FD_CLR
127 FD_ISSET
128 FD_SET
129 FD_ZERO
130 _Exit
131 _exit
132 _longjmp
133 _setjmp
134 _tolower
135 _toupper
136 a64l
137 abort
138 abs
139 accept
140 access
141 acos
142 acosf
143 acosh
144 acoshf
145 acoshl
146 acosl
147 aio_cancel
148 aio_error
149 aio_fsync
150 aio_read
151 aio_return
152 aio_suspend
153 aio_write
154 alarm
155 asctime
156 asctime_r
157 asin
158 asinf
159 asinh
160 asinhf
161 asinhl
162 asinl
163 assert
164 atan
165 atan2
166 atan2f
167 atan2l
168 atanf
169 atanh
170 atanhf
171 atanhl
172 atanl
173 atexit
174 atof
175 atoi
176 atol
177 atoll
178 basename
179 bcmp
180 bcopy
181 bind
182 bsd_signal
183 bsearch
184 btowc
185 bzero
186 cabs
187 cabsf
188 cabsl
189 cacos
190 cacosf
191 cacosh
192 cacoshf
193 cacoshl
194 cacosl
195 calloc
196 carg
197 cargf
198 cargl
199 casin
200 casinf
201 casinh
202 casinhf
203 casinhl
204 casinl
205 catan
206 catanf
207 catanh
208 catanhf
209 catanhl
210 catanl
211 catclose
212 catgets
213 catopen
214 cbrt
215 cbrtf
216 cbrtl
217 ccos
218 ccosf
219 ccosh
220 ccoshf
221 ccoshl
222 ccosl
223 ceil
224 ceilf
225 ceill
226 cexp
227 cexpf
228 cexpl
229 cfgetispeed
230 cfgetospeed
231 cfsetispeed
232 cfsetospeed
233 chdir
234 chmod
235 chown
236 cimag
237 cimagf
238 cimagl
239 clearerr
240 clock
241 clock_getcpuclockid
242 clock_getres
243 clock_gettime
244 clock_nanosleep
245 clock_settime
246 clog
247 clogf
248 clogl
249 close
250 closedir
251 closelog
252 confstr
253 conj
254 conjf
255 conjl
256 connect
257 contents
258 copysign
259 copysignf
260 copysignl
261 cos
262 cosf
263 cosh
264 coshf
265 coshl
266 cosl
267 cpow
268 cpowf
269 cpowl
270 cproj
271 cprojf
272 cprojl
273 creal
274 crealf
275 creall
276 creat
277 crypt
278 csin
279 csinf
280 csinh
281 csinhf
282 csinhl
283 csinl
284 csqrt
285 csqrtf
286 csqrtl
287 ctan
288 ctanf
289 ctanh
290 ctanhf
291 ctanhl
292 ctanl
293 ctermid
294 ctime
295 ctime_r
296 daylight
297 dbm_clearerr
298 dbm_close
299 dbm_delete
300 dbm_error
301 dbm_fetch
302 dbm_firstkey
303 dbm_nextkey
304 dbm_open
305 dbm_store
306 difftime
307 dirname
308 div
309 dlclose
310 dlerror
311 dlopen
312 dlsym
313 drand48
314 dup
315 dup2
316 ecvt
317 encrypt
318 endgrent
319 endhostent
320 endnetent
321 endprotoent
322 endpwent
323 endservent
324 endutxent
325 environ
326 erand48
327 erf
328 erfc
329 erfcf
330 erfcl
331 erff
332 erfl
333 errno
334 exec
335 execl
336 execle
337 execlp
338 execv
339 execve
340 execvp
341 exit
342 exp
343 exp2
344 exp2f
345 exp2l
346 expf
347 expl
348 expm1
349 expm1f
350 expm1l
351 fabs
352 fabsf
353 fabsl
354 fattach
355 fchdir
356 fchmod
357 fchown
358 fclose
359 fcntl
360 fcvt
361 fdatasync
362 fdetach
363 fdim
364 fdimf
365 fdiml
366 fdopen
367 feclearexcept
368 fegetenv
369 fegetexceptflag
370 fegetround
371 feholdexcept
372 feof
373 feraiseexcept
374 ferror
375 fesetenv
376 fesetexceptflag
377 fesetround
378 fetestexcept
379 feupdateenv
380 fflush
381 ffs
382 fgetc
383 fgetpos
384 fgets
385 fgetwc
386 fgetws
387 fileno
388 flockfile
389 floor
390 floorf
391 floorl
392 fma
393 fmaf
394 fmal
395 fmax
396 fmaxf
397 fmaxl
398 fmin
399 fminf
400 fminl
401 fmod
402 fmodf
403 fmodl
404 fmtmsg
405 fnmatch
406 fopen
407 fork
408 fpathconf
409 fpclassify
410 fprintf
411 fputc
412 fputs
413 fputwc
414 fputws
415 fread
416 free
417 freeaddrinfo
418 freopen
419 frexp
420 frexpf
421 frexpl
422 fscanf
423 fseek
424 fseeko
425 fsetpos
426 fstat
427 fstatvfs
428 fsync
429 ftell
430 ftello
431 ftime
432 ftok
433 ftruncate
434 ftrylockfile
435 ftw
436 funlockfile
437 fwide
438 fwprintf
439 fwrite
440 fwscanf
441 gai_strerror
442 gcvt
443 getaddrinfo
444 getc
445 getc_unlocked
446 getchar
447 getchar_unlocked
448 getcontext
449 getcwd
450 getdate
451 getegid
452 getenv
453 geteuid
454 getgid
455 getgrent
456 getgrgid
457 getgrgid_r
458 getgrnam
459 getgrnam_r
460 getgroups
461 gethostbyaddr
462 gethostbyname
463 gethostent
464 gethostid
465 gethostname
466 getitimer
467 getlogin
468 getlogin_r
469 getmsg
470 getnameinfo
471 getnetbyaddr
472 getnetbyname
473 getnetent
474 getopt
475 getpeername
476 getpgid
477 getpgrp
478 getpid
479 getpmsg
480 getppid
481 getpriority
482 getprotobyname
483 getprotobynumber
484 getprotoent
485 getpwent
486 getpwnam
487 getpwnam_r
488 getpwuid
489 getpwuid_r
490 getrlimit
491 getrusage
492 gets
493 getservbyname
494 getservbyport
495 getservent
496 getsid
497 getsockname
498 getsockopt
499 getsubopt
500 gettimeofday
501 getuid
502 getutxent
503 getutxid
504 getutxline
505 getwc
506 getwchar
507 getwd
508 glob
509 globfree
510 gmtime
511 gmtime_r
512 grantpt
513 h_errno
514 hcreate
515 hdestroy
516 hsearch
517 htonl
518 htons
519 hypot
520 hypotf
521 hypotl
522 iconv
523 iconv_close
524 iconv_open
525 if_freenameindex
526 if_indextoname
527 if_nameindex
528 if_nametoindex
529 ilogb
530 ilogbf
531 ilogbl
532 imaxabs
533 imaxdiv
534 index
535 inet_addr
536 inet_ntoa
537 inet_ntop
538 inet_pton
539 initstate
540 insque
541 ioctl
542 isalnum
543 isalpha
544 isascii
545 isastream
546 isatty
547 isblank
548 iscntrl
549 isdigit
550 isfinite
551 isgraph
552 isgreater
553 isgreaterequal
554 isinf
555 isless
556 islessequal
557 islessgreater
558 islower
559 isnan
560 isnormal
561 isprint
562 ispunct
563 isspace
564 isunordered
565 isupper
566 iswalnum
567 iswalpha
568 iswblank
569 iswcntrl
570 iswctype
571 iswdigit
572 iswgraph
573 iswlower
574 iswprint
575 iswpunct
576 iswspace
577 iswupper
578 iswxdigit
579 isxdigit
580 j0
581 j1
582 jn
583 jrand48
584 kill
585 killpg
586 l64a
587 labs
588 lchown
589 lcong48
590 ldexp
591 ldexpf
592 ldexpl
593 ldiv
594 lfind
595 lgamma
596 lgammaf
597 lgammal
598 link
599 lio_listio
600 listen
601 llabs
602 lldiv
603 llrint
604 llrintf
605 llrintl
606 llround
607 llroundf
608 llroundl
609 localeconv
610 localtime
611 localtime_r
612 lockf
613 log
614 log10
615 log10f
616 log10l
617 log1p
618 log1pf
619 log1pl
620 log2
621 log2f
622 log2l
623 logb
624 logbf
625 logbl
626 logf
627 logl
628 longjmp
629 lrand48
630 lrint
631 lrintf
632 lrintl
633 lround
634 lroundf
635 lroundl
636 lsearch
637 lseek
638 lstat
639 makecontext
640 malloc
641 mblen
642 mbrlen
643 mbrtowc
644 mbsinit
645 mbsrtowcs
646 mbstowcs
647 mbtowc
648 memccpy
649 memchr
650 memcmp
651 memcpy
652 memmove
653 memset
654 mkdir
655 mkfifo
656 mknod
657 mkstemp
658 mktemp
659 mktime
660 mlock
661 mlockall
662 mmap
663 modf
664 modff
665 modfl
666 mprotect
667 mq_close
668 mq_getattr
669 mq_notify
670 mq_open
671 mq_receive
672 mq_send
673 mq_setattr
674 mq_timedreceive
675 mq_timedsend
676 mq_unlink
677 mrand48
678 msgctl
679 msgget
680 msgrcv
681 msgsnd
682 msync
683 munlock
684 munlockall
685 munmap
686 nan
687 nanf
688 nanl
689 nanosleep
690 nearbyint
691 nearbyintf
692 nearbyintl
693 nextafter
694 nextafterf
695 nextafterl
696 nexttoward
697 nexttowardf
698 nexttowardl
699 nftw
700 nice
701 nl_langinfo
702 nrand48
703 ntohl
704 ntohs
705 open
706 opendir
707 openlog
708 optarg
709 pathconf
710 pause
711 pclose
712 perror
713 pipe
714 poll
715 popen
716 posix_fadvise
717 posix_fallocate
718 posix_madvise
719 posix_mem_offset
720 posix_memalign
721 posix_openpt
722 posix_spawn
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
735 posix_spawnattr_init
736 posix_spawnattr_setflags
737 posix_spawnattr_setpgroup
738 posix_spawnattr_setschedparam
739 posix_spawnattr_setschedpolicy
740 posix_spawnattr_setsigdefault
741 posix_spawnattr_setsigmask
742 posix_spawnp
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
764 posix_trace_clear
765 posix_trace_close
766 posix_trace_create
767 posix_trace_create_withlog
768 posix_trace_event
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
779 posix_trace_flush
780 posix_trace_get_attr
781 posix_trace_get_filter
782 posix_trace_get_status
783 posix_trace_getnext_event
784 posix_trace_open
785 posix_trace_rewind
786 posix_trace_set_filter
787 posix_trace_shutdown
788 posix_trace_start
789 posix_trace_stop
790 posix_trace_timedgetnext_event
791 posix_trace_trid_eventid_open
792 posix_trace_trygetnext_event
793 posix_typed_mem_get_info
794 posix_typed_mem_open
795 pow
796 powf
797 powl
798 pread
799 printf
800 pselect
801 pthread_atfork
802 pthread_attr_destroy
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
812 pthread_attr_init
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
823 pthread_barrier_init
824 pthread_barrier_wait
825 pthread_barrierattr_destroy
826 pthread_barrierattr_getpshared
827 pthread_barrierattr_init
828 pthread_barrierattr_setpshared
829 pthread_cancel
830 pthread_cleanup_pop
831 pthread_cleanup_push
832 pthread_cond_broadcast
833 pthread_cond_destroy
834 pthread_cond_init
835 pthread_cond_signal
836 pthread_cond_timedwait
837 pthread_cond_wait
838 pthread_condattr_destroy
839 pthread_condattr_getclock
840 pthread_condattr_getpshared
841 pthread_condattr_init
842 pthread_condattr_setclock
843 pthread_condattr_setpshared
844 pthread_create
845 pthread_detach
846 pthread_equal
847 pthread_exit
848 pthread_getconcurrency
849 pthread_getcpuclockid
850 pthread_getschedparam
851 pthread_getspecific
852 pthread_join
853 pthread_key_create
854 pthread_key_delete
855 pthread_kill
856 pthread_mutex_destroy
857 pthread_mutex_getprioceiling
858 pthread_mutex_init
859 pthread_mutex_lock
860 pthread_mutex_setprioceiling
861 pthread_mutex_timedlock
862 pthread_mutex_trylock
863 pthread_mutex_unlock
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
874 pthread_once
875 pthread_rwlock_destroy
876 pthread_rwlock_init
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
888 pthread_self
889 pthread_setcancelstate
890 pthread_setcanceltype
891 pthread_setconcurrency
892 pthread_setschedparam
893 pthread_setschedprio
894 pthread_setspecific
895 pthread_sigmask
896 pthread_spin_destroy
897 pthread_spin_init
898 pthread_spin_lock
899 pthread_spin_trylock
900 pthread_spin_unlock
901 pthread_testcancel
902 ptsname
903 putc
904 putc_unlocked
905 putchar
906 putchar_unlocked
907 putenv
908 putmsg
909 putpmsg
910 puts
911 pututxline
912 putwc
913 putwchar
914 pwrite
915 qsort
916 raise
917 rand
918 rand_r
919 random
920 read
921 readdir
922 readdir_r
923 readlink
924 readv
925 realloc
926 realpath
927 recv
928 recvfrom
929 recvmsg
930 regcomp
931 regerror
932 regexec
933 regfree
934 remainder
935 remainderf
936 remainderl
937 remove
938 remque
939 remquo
940 remquof
941 remquol
942 rename
943 rewind
944 rewinddir
945 rindex
946 rint
947 rintf
948 rintl
949 rmdir
950 round
951 roundf
952 roundl
953 scalb
954 scalbln
955 scalblnf
956 scalblnl
957 scalbn
958 scalbnf
959 scalbnl
960 scanf
961 sched_get_priority_max
962 sched_getparam
963 sched_getscheduler
964 sched_rr_get_interval
965 sched_setparam
966 sched_setscheduler
967 sched_yield
968 seed48
969 seekdir
970 select
971 sem_close
972 sem_destroy
973 sem_getvalue
974 sem_init
975 sem_open
976 sem_post
977 sem_timedwait
978 sem_trywait
979 sem_unlink
980 sem_wait
981 semctl
982 semget
983 semop
984 send
985 sendmsg
986 sendto
987 setbuf
988 setcontext
989 setegid
990 setenv
991 seteuid
992 setgid
993 setgrent
994 sethostent
995 setitimer
996 setjmp
997 setkey
998 setlocale
999 setlogmask
1000 setnetent
1001 setpgid
1002 setpgrp
1003 setpriority
1004 setprotoent
1005 setpwent
1006 setregid
1007 setreuid
1008 setrlimit
1009 setservent
1010 setsid
1011 setsockopt
1012 setstate
1013 setuid
1014 setutxent
1015 setvbuf
1016 shm_open
1017 shm_unlink
1018 shmat
1019 shmctl
1020 shmdt
1021 shmget
1022 shutdown
1023 sigaction
1024 sigaddset
1025 sigaltstack
1026 sigdelset
1027 sigemptyset
1028 sigfillset
1029 sighold
1030 sigignore
1031 siginterrupt
1032 sigismember
1033 siglongjmp
1034 signal
1035 signbit
1036 sigpause
1037 sigpending
1038 sigprocmask
1039 sigqueue
1040 sigrelse
1041 sigset
1042 sigsetjmp
1043 sigsuspend
1044 sigtimedwait
1045 sigwait
1046 sigwaitinfo
1047 sin
1048 sinf
1049 sinh
1050 sinhf
1051 sinhl
1052 sinl
1053 sleep
1054 snprintf
1055 sockatmark
1056 socket
1057 socketpair
1058 sprintf
1059 sqrt
1060 sqrtf
1061 sqrtl
1062 srand
1063 srand48
1064 srandom
1065 sscanf
1066 stat
1067 statvfs
1068 stdin
1069 strcasecmp
1070 strcat
1071 strchr
1072 strcmp
1073 strcoll
1074 strcpy
1075 strcspn
1076 strdup
1077 strerror
1078 strerror_r
1079 strfmon
1080 strftime
1081 strlen
1082 strncasecmp
1083 strncat
1084 strncmp
1085 strncpy
1086 strpbrk
1087 strptime
1088 strrchr
1089 strspn
1090 strstr
1091 strtod
1092 strtof
1093 strtoimax
1094 strtok
1095 strtok_r
1096 strtol
1097 strtold
1098 strtoll
1099 strtoul
1100 strtoull
1101 strtoumax
1102 strxfrm
1103 swab
1104 swapcontext
1105 swprintf
1106 swscanf
1107 symlink
1108 sync
1109 sysconf
1110 syslog
1111 system
1112 tan
1113 tanf
1114 tanh
1115 tanhf
1116 tanhl
1117 tanl
1118 tcdrain
1119 tcflow
1120 tcflush
1121 tcgetattr
1122 tcgetpgrp
1123 tcgetsid
1124 tcsendbreak
1125 tcsetattr
1126 tcsetpgrp
1127 tdelete
1128 telldir
1129 tempnam
1130 tfind
1131 tgamma
1132 tgammaf
1133 tgammal
1134 time
1135 timer_create
1136 timer_delete
1137 timer_getoverrun
1138 timer_settime
1139 times
1140 timezone
1141 tmpfile
1142 tmpnam
1143 toascii
1144 toc
1145 tolower
1146 toupper
1147 towctrans
1148 towlower
1149 towupper
1150 trunc
1151 truncate
1152 truncf
1153 truncl
1154 tsearch
1155 ttyname
1156 ttyname_r
1157 twalk
1158 tzname
1159 tzset
1160 ualarm
1161 ulimit
1162 umask
1163 uname
1164 ungetc
1165 ungetwc
1166 unlink
1167 unlockpt
1168 unsetenv
1169 usleep
1170 utime
1171 utimes
1172 va_arg
1173 va_copy
1174 va_end
1175 va_start
1176 vfork
1177 vfprintf
1178 vfscanf
1179 vfwprintf
1180 vfwscanf
1181 vprintf
1182 vscanf
1183 vsnprintf
1184 vsprintf
1185 vsscanf
1186 vswprintf
1187 vswscanf
1188 vwprintf
1189 vwscanf
1190 wait
1191 waitid
1192 waitpid
1193 wcrtomb
1194 wcscat
1195 wcschr
1196 wcscmp
1197 wcscoll
1198 wcscpy
1199 wcscspn
1200 wcsftime
1201 wcslen
1202 wcsncat
1203 wcsncmp
1204 wcsncpy
1205 wcspbrk
1206 wcsrchr
1207 wcsrtombs
1208 wcsspn
1209 wcsstr
1210 wcstod
1211 wcstof
1212 wcstoimax
1213 wcstok
1214 wcstol
1215 wcstold
1216 wcstoll
1217 wcstombs
1218 wcstoul
1219 wcstoull
1220 wcstoumax
1221 wcswcs
1222 wcswidth
1223 wcsxfrm
1224 wctob
1225 wctomb
1226 wctrans
1227 wctype
1228 wcwidth
1229 wmemchr
1230 wmemcmp
1231 wmemcpy
1232 wmemmove
1233 wmemset
1234 wordexp
1235 wordfree
1236 wprintf
1237 write
1238 writev
1239 wscanf
1240 y0
1241 y1
1242 yn
1243 ' | sed -e "$sed_alt1" | tr -d "$trnl" | sed -e "$sed_alt2" -e "$sed_alt3"`
1244
1245 indent=""
1246 seen_modules=
1247 seen_files=
1248
1249 # func_exit STATUS
1250 # exit with status
1251 func_exit ()
1252 {
1253   (exit $1); exit $1
1254 }
1255
1256 # func_tmpdir
1257 # creates a temporary directory.
1258 # Sets variable
1259 # - tmp             pathname of freshly created temporary directory
1260 func_tmpdir ()
1261 {
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.
1265   : ${TMPDIR=/tmp}
1266   {
1267     # Use the mktemp program if available. If not available, hide the error
1268     # message.
1269     tmp=`(umask 077 && mktemp -d "$TMPDIR/MDXXXXXX") 2>/dev/null` &&
1270     test -n "$tmp" && test -d "$tmp"
1271   } ||
1272   {
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
1277     # directory.
1278     tmp=$TMPDIR/MD$$-$RANDOM
1279     (umask 077 && mkdir "$tmp")
1280   } ||
1281   {
1282     echo "$0: cannot create a temporary directory in $TMPDIR" >&2
1283     func_exit 1
1284   }
1285 }
1286
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).
1292   func_append ()
1293   {
1294     eval "$1+=\"\$2\""
1295   }
1296 else
1297   func_append ()
1298   {
1299     eval "$1=\"\$$1\$2\""
1300   }
1301 fi
1302
1303 # func_echo line
1304 # outputs line with indentation.
1305 func_echo ()
1306 {
1307   echo "${indent}$*"
1308 }
1309
1310 # func_indent
1311 # increases the indentation.
1312 func_indent ()
1313 {
1314   indent="$indent  "
1315 }
1316
1317 # func_unindent
1318 # decreases the indentation.
1319 func_unindent ()
1320 {
1321   indent=`echo "$indent" | sed -e 's/  $//'`
1322 }
1323
1324 # func_begin tag [attribute...]
1325 # opens a HTML tag.
1326 func_begin ()
1327 {
1328   func_echo "<$*>"
1329   func_indent
1330 }
1331
1332 # func_end tag
1333 # closes a HTML tag.
1334 func_end ()
1335 {
1336   func_unindent
1337   func_echo "</$1>"
1338 }
1339
1340 # func_wrap tag [attribute...]
1341 # encloses $element in a HTML tag, without line breaks.
1342 func_wrap ()
1343 {
1344   element="<$*>${element}</$1>"
1345 }
1346
1347 # func_section_wrap sectiontag
1348 # encloses $element in a HTML tag referring to the given tag.
1349 func_section_wrap ()
1350 {
1351   if test -n "$in_toc"; then
1352     func_wrap A "HREF=\"#$1\""
1353   else
1354     func_wrap A "NAME=\"$1\""
1355   fi
1356 }
1357
1358 # func_begin_table
1359 func_begin_table ()
1360 {
1361   func_begin TABLE
1362   if test -z "$in_toc"; then
1363     func_begin TR
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>&nbsp;"
1369     func_end TR
1370     func_begin TR
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"
1376     func_end TR
1377   fi
1378 }
1379
1380 # func_module module
1381 func_module ()
1382 {
1383     sed_remove_trailing_empty_line='${
1384 /^$/d
1385 }'
1386
1387   if test -n "$in_toc"; then
1388
1389     func_begin TR "WIDTH=\"100%\""
1390
1391     element='<A HREF="#module='$1'">'$1'</A>'
1392     func_echo "<TD ALIGN=LEFT VALIGN=TOP WIDTH=\"20%\">$element"
1393
1394     element=`gnulib-tool --extract-description $1 \
1395              | sed -e "$sed_lt" -e "$sed_gt" -e "$sed_remove_trailing_empty_line" \
1396                    -e 's,^, ,' \
1397                    -e 's,\([^a-zA-Z]\)'"${posix_functions}"'(),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A>(),g' \
1398                    -e 's,^ ,,'`
1399     func_echo "<TD ALIGN=LEFT VALIGN=TOP WIDTH=\"80%\">$element"
1400
1401     func_end TR
1402
1403   else
1404
1405     func_begin TR
1406
1407     element='<A NAME="module='$1'"></A><A HREF="modules/'$1'">'$1'</A>'
1408     func_echo "<TD ALIGN=LEFT VALIGN=TOP>$element"
1409
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 &lt;'"${posix_headers}"'\.h&gt;$,#include \&lt;<A HREF="'"$POSIX2001_URL"'xbd/\1.h.html">\1.h</A>\&gt;,' \
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"
1419
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" \
1426              | sed -e '/^$/d' \
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"
1433
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"
1445
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"
1451
1452     func_end TR
1453
1454     func_append seen_modules " $1"
1455     func_append seen_files " $files"
1456   fi
1457 }
1458
1459 # func_end_table
1460 func_end_table ()
1461 {
1462   func_end TABLE
1463 }
1464
1465 # func_all_modules
1466 func_all_modules ()
1467 {
1468   element="Support for systems lacking ANSI C 89"
1469   func_section_wrap ansic_sup
1470   func_wrap H2
1471   func_echo "$element"
1472
1473   func_begin_table
1474   func_module exit
1475   func_module atexit
1476   func_module strtod
1477   func_module strtol
1478   func_module strtoul
1479   func_module memchr
1480   func_module memcmp
1481   func_module memcpy
1482   func_module memmove
1483   func_module memset
1484   func_module strcspn
1485   func_module strpbrk
1486   func_module strstr
1487   func_module strerror
1488   func_module mktime
1489   func_end_table
1490
1491   func_echo 'Most of these modules are not listed among dependencies below, for simplicity.'
1492
1493   element="Enhancements for ANSI C 89 functions"
1494   func_section_wrap ansic_enh
1495   func_wrap H2
1496   func_echo "$element"
1497
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
1501   func_wrap H3
1502   func_echo "$element"
1503
1504   func_begin_table
1505   func_module assert
1506   func_module verify
1507   func_end_table
1508
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
1512   func_wrap H3
1513   func_echo "$element"
1514
1515   func_begin_table
1516   func_module calloc
1517   func_module eealloc
1518   func_module free
1519   func_module malloc
1520   func_module realloc
1521   func_module pagealign_alloc
1522   func_end_table
1523
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
1527   func_wrap H3
1528   func_echo "$element"
1529
1530   func_begin_table
1531   func_module fprintftime
1532   func_module strftime
1533   func_end_table
1534
1535   element="Extra functions based on ANSI C 89"
1536   func_section_wrap ansic_ext
1537   func_wrap H2
1538   func_echo "$element"
1539
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
1543   func_wrap H3
1544   func_echo "$element"
1545
1546   func_begin_table
1547   func_module xsize
1548   func_module xalloc
1549   func_module xalloc-die
1550   func_module alloca
1551   func_module alloca-opt
1552   func_module allocsa
1553   func_module xallocsa
1554   func_end_table
1555
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
1559   func_wrap H3
1560   func_echo "$element"
1561
1562   func_begin_table
1563   func_module gcd
1564   func_module minmax
1565   func_end_table
1566
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
1570   func_wrap H3
1571   func_echo "$element"
1572
1573   func_begin_table
1574   func_module putenv
1575   func_module setenv
1576   func_module xsetenv
1577   func_end_table
1578
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
1582   func_wrap H3
1583   func_echo "$element"
1584
1585   func_begin_table
1586   func_module c-ctype
1587   func_end_table
1588
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
1592   func_wrap H3
1593   func_echo "$element"
1594
1595   func_begin_table
1596   func_module bcopy
1597   func_module memmem
1598   func_module mempcpy
1599   func_module memrchr
1600   func_module stpcpy
1601   func_module stpncpy
1602   func_module c-strcase
1603   func_module strcase
1604   func_module c-strcasestr
1605   func_module strcasestr
1606   func_module strchrnul
1607   func_module strdup
1608   func_module strnlen
1609   func_module strnlen1
1610   func_module strndup
1611   func_module strsep
1612   func_module c-strstr
1613   func_module trim
1614   #func_module fstrcmp
1615   func_module xstrndup
1616   func_end_table
1617
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
1621   func_wrap H3
1622   func_echo "$element"
1623
1624   func_begin_table
1625   func_module c-strtod
1626   func_module c-strtold
1627   func_module xstrtod
1628   func_module xstrtol
1629   func_module xstrtold
1630   func_end_table
1631
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
1635   func_wrap H3
1636   func_echo "$element"
1637
1638   func_begin_table
1639   func_module getdate
1640   func_module timegm
1641   func_module tzset
1642   func_end_table
1643
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
1647   func_wrap H3
1648   func_echo "$element"
1649
1650   func_begin_table
1651   func_module unlocked-io
1652   func_module fwriteerror
1653   func_module vasnprintf
1654   func_module vasprintf
1655   func_module xvasprintf
1656   func_end_table
1657
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
1661   func_wrap H3
1662   func_echo "$element"
1663
1664   func_begin_table
1665   func_module fatal-signal
1666   func_module raise
1667   func_end_table
1668
1669   element="Command-line arguments"
1670   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1671   func_section_wrap ansic_ext_argv
1672   func_wrap H3
1673   func_echo "$element"
1674
1675   func_begin_table
1676   func_module argmatch
1677   func_module version-etc
1678   func_module version-etc-fsf
1679   func_module long-options
1680   func_end_table
1681
1682   element="Container data structures"
1683   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1684   func_section_wrap ansic_ext_container
1685   func_wrap H3
1686   func_echo "$element"
1687
1688   func_begin_table
1689   func_module list
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
1698   func_module oset
1699   func_module array-oset
1700   func_module avltree-oset
1701   func_module rbtree-oset
1702   func_end_table
1703
1704   element="Cryptographic computations"
1705   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1706   func_section_wrap ansic_ext_crypto
1707   func_wrap H3
1708   func_echo "$element"
1709
1710   func_begin_table
1711   func_module md5
1712   func_module sha1
1713   func_end_table
1714
1715   element="Misc"
1716   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1717   func_section_wrap ansic_ext_misc
1718   func_wrap H3
1719   func_echo "$element"
1720
1721   func_begin_table
1722   func_module base64
1723   func_module check-version
1724   func_module diacrit
1725   func_module getline
1726   func_module getdelim
1727   func_module getnline
1728   func_module getndelim2
1729   func_module linebuffer
1730   func_module obstack
1731   func_module hash-pjw
1732   func_module hash
1733   func_module readline
1734   func_module readtokens
1735   func_module readtokens0
1736   func_module strverscmp
1737   func_end_table
1738
1739   element="Support for systems lacking ISO C 99"
1740   func_section_wrap isoc_sup
1741   func_wrap H2
1742   func_echo "$element"
1743
1744   element="Core language properties"
1745   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1746   func_section_wrap isoc_core_properties
1747   func_wrap H3
1748   func_echo "$element"
1749
1750   func_begin_table
1751   func_module flexmember
1752   func_module vararrays
1753   func_end_table
1754
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
1758   func_wrap H3
1759   func_echo "$element"
1760
1761   func_begin_table
1762   func_module size_max
1763   func_end_table
1764
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
1768   func_wrap H3
1769   func_echo "$element"
1770
1771   func_begin_table
1772   func_module stdarg
1773   func_end_table
1774
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
1778   func_wrap H3
1779   func_echo "$element"
1780
1781   func_begin_table
1782   func_module stdbool
1783   func_end_table
1784
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
1788   func_wrap H3
1789   func_echo "$element"
1790
1791   func_begin_table
1792   func_module stdint
1793   func_end_table
1794
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
1798   func_wrap H3
1799   func_echo "$element"
1800
1801   func_begin_table
1802   func_module snprintf
1803   func_module vsnprintf
1804   func_end_table
1805
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
1809   func_wrap H3
1810   func_echo "$element"
1811
1812   func_begin_table
1813   func_module strtoll
1814   func_module strtoull
1815   func_end_table
1816
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
1820   func_wrap H3
1821   func_echo "$element"
1822
1823   func_begin_table
1824   func_module strtoimax
1825   func_module strtoumax
1826   func_end_table
1827
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
1831   func_wrap H3
1832   func_echo "$element"
1833
1834   func_begin_table
1835   func_module wctype
1836   func_end_table
1837
1838   element="Mathematics <math.h>"
1839   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1840   func_section_wrap isoc_sup_math
1841   func_wrap H3
1842   func_echo "$element"
1843
1844   func_begin_table
1845   func_module mathl
1846   func_end_table
1847
1848   element="Enhancements for ISO C 99 functions"
1849   func_section_wrap isoc_enh
1850   func_wrap H2
1851   func_echo "$element"
1852
1853   func_begin_table
1854   func_end_table
1855
1856   element="Extra functions based on ISO C 99"
1857   func_section_wrap isoc_ext
1858   func_wrap H2
1859   func_echo "$element"
1860
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
1864   func_wrap H3
1865   func_echo "$element"
1866
1867   func_begin_table
1868   func_module intprops
1869   func_module inttostr
1870   func_module xstrtoimax
1871   func_module xstrtoumax
1872   func_end_table
1873
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
1877   func_wrap H3
1878   func_echo "$element"
1879
1880   func_begin_table
1881   func_module mbchar
1882   func_module mbiter
1883   func_module mbuiter
1884   func_module mbfile
1885   func_end_table
1886
1887   element="Support for systems lacking POSIX:2001"
1888   func_section_wrap posix_sup
1889   func_wrap H2
1890   func_echo "$element"
1891
1892   func_begin_table
1893   func_module chown
1894   func_module dup2
1895   func_module ftruncate
1896   func_module getaddrinfo
1897   func_module getcwd
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
1905   func_module mkdir
1906   func_module mkdtemp
1907   func_module mkstemp
1908   func_module poll
1909   func_module readlink
1910   func_module lstat
1911   func_module tempname
1912   func_module time_r
1913   func_module timespec
1914   func_module nanosleep
1915   func_module regex
1916   func_module rename
1917   func_module rmdir
1918   func_module sigprocmask
1919   func_module ssize_t
1920   func_module strtok_r
1921   func_module sys_stat
1922   func_module tsearch
1923   func_module unistd
1924   func_module utime
1925   func_module wcwidth
1926   func_end_table
1927
1928   element="Compatibility checks for POSIX:2001 functions"
1929   func_section_wrap posix_compat
1930   func_wrap H2
1931   func_echo "$element"
1932
1933   func_begin_table
1934   func_module d-ino
1935   func_module d-type
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
1942   func_end_table
1943
1944   element="Enhancements for POSIX:2001 functions"
1945   func_section_wrap posix_enh
1946   func_wrap H2
1947   func_echo "$element"
1948
1949   func_begin_table
1950   func_module dirname
1951   func_module getopt
1952   func_module unistd-safer
1953   func_module fnmatch
1954   func_module fnmatch-posix
1955   func_module fnmatch-gnu
1956   func_module glob
1957   func_module exclude
1958   func_end_table
1959
1960   element="Extra functions based on POSIX:2001"
1961   func_section_wrap posix_ext
1962   func_wrap H2
1963   func_echo "$element"
1964
1965   element="Numeric conversion functions"
1966   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1967   func_section_wrap posix_ext_conv
1968   func_wrap H3
1969   func_echo "$element"
1970
1971   func_begin_table
1972   func_module human
1973   func_end_table
1974
1975   element="File system functions"
1976   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1977   func_section_wrap posix_ext_filesys
1978   func_wrap H3
1979   func_echo "$element"
1980
1981   func_begin_table
1982   func_module acl
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
1989   func_module fsusage
1990   func_module dirfd
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
1997   func_module fts
1998   func_module fts-lgpl
1999   func_module isdir
2000   func_module lchmod
2001   func_module lchown
2002   func_module mkancesdirs
2003   func_module mkdir-p
2004   func_module modechange
2005   func_module mountlist
2006   func_module openat
2007   func_module pathname
2008   func_module pathmax
2009   func_module same
2010   func_module save-cwd
2011   func_module savedir
2012   func_module savewd
2013   func_module stat-time
2014   func_module tmpdir
2015   func_module unlinkdir
2016   func_module utimecmp
2017   func_module utimens
2018   func_module xgetcwd
2019   func_module xreadlink
2020   func_end_table
2021
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
2025   func_wrap H3
2026   func_echo "$element"
2027
2028   func_begin_table
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
2035   func_module isapipe
2036   func_end_table
2037
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
2041   func_wrap H3
2042   func_echo "$element"
2043
2044   func_begin_table
2045   func_module close-stream
2046   func_module closeout
2047   func_module fopen-safer
2048   func_module fpending
2049   func_module getpass
2050   func_module getpass-gnu
2051   func_module stdlib-safer
2052   func_module tmpfile-safer
2053   func_end_table
2054
2055   element="Users and groups"
2056   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2057   func_section_wrap posix_ext_uidgid
2058   func_wrap H3
2059   func_echo "$element"
2060
2061   func_begin_table
2062   func_module getugroups
2063   func_module group-member
2064   func_module idcache
2065   func_module userspec
2066   func_end_table
2067
2068   element="Date and time"
2069   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2070   func_section_wrap posix_ext_datetime
2071   func_wrap H3
2072   func_echo "$element"
2073
2074   func_begin_table
2075   func_module gettime
2076   func_module settime
2077   func_module posixtm
2078   func_module xnanosleep
2079   func_end_table
2080
2081   element="Networking functions"
2082   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2083   func_section_wrap posix_ext_net
2084   func_wrap H3
2085   func_echo "$element"
2086
2087   func_begin_table
2088   func_module xgethostname
2089   func_module canon-host
2090   func_end_table
2091
2092   element="Multithreading"
2093   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2094   func_section_wrap posix_ext_thread
2095   func_wrap H3
2096   func_echo "$element"
2097
2098   func_begin_table
2099   func_module lock
2100   func_module tls
2101   func_end_table
2102
2103   element="Internationalization functions"
2104   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2105   func_section_wrap posix_ext_i18n
2106   func_wrap H3
2107   func_echo "$element"
2108
2109   func_begin_table
2110   func_module gettext
2111   func_module gettext-h
2112   func_module iconv
2113   func_module striconv
2114   func_module xstriconv
2115   func_module iconvme
2116   func_module localcharset
2117   func_module hard-locale
2118   func_module mbswidth
2119   func_module memcasecmp
2120   func_module memcoll
2121   func_module xmemcoll
2122   func_module unicodeio
2123   func_module rpmatch
2124   func_module yesno
2125   func_module linebreak
2126   func_module bison-i18n
2127   func_end_table
2128
2129   element="Unicode string functions"
2130   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2131   func_section_wrap posix_ext_unicode
2132   func_wrap H3
2133   func_echo "$element"
2134
2135   func_begin_table
2136   func_module unitypes
2137   func_module ucs4-utf8
2138   func_module ucs4-utf16
2139   func_module utf8-ucs4
2140   func_module utf16-ucs4
2141   func_module utf8-ucs4-safe
2142   func_module utf16-ucs4-safe
2143   func_end_table
2144
2145   element="Executing programs"
2146   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2147   func_section_wrap posix_ext_exec
2148   func_wrap H3
2149   func_echo "$element"
2150
2151   func_begin_table
2152   func_module cloexec
2153   func_module findprog
2154   func_module wait-process
2155   func_module execute
2156   func_module pipe
2157   func_module sh-quote
2158   func_end_table
2159
2160   element="Java"
2161   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2162   func_section_wrap posix_ext_java
2163   func_wrap H3
2164   func_echo "$element"
2165
2166   func_begin_table
2167   func_module classpath
2168   func_module javacomp
2169   func_module javaexec
2170   func_module javaversion
2171   #func_module gcj
2172   func_end_table
2173
2174   element="C#"
2175   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2176   func_section_wrap posix_ext_csharp
2177   func_wrap H3
2178   func_echo "$element"
2179
2180   func_begin_table
2181   func_module csharpcomp
2182   func_module csharpexec
2183   func_end_table
2184
2185   element="Misc"
2186   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2187   func_section_wrap posix_ext_misc
2188   func_wrap H3
2189   func_echo "$element"
2190
2191   func_begin_table
2192   func_module argp
2193   func_module argz
2194   func_module byteswap
2195   func_module exitfail
2196   func_module c-stack
2197   func_module error
2198   func_module extensions
2199   func_module getdomainname
2200   func_module xgetdomainname
2201   func_module getloadavg
2202   func_module getpagesize
2203   func_module getusershell
2204   func_module physmem
2205   func_module posixver
2206   func_module progname
2207   func_module quotearg
2208   func_module quote
2209   func_module readutmp
2210   func_module sig2str
2211   func_module sysexits
2212   func_module verror
2213   func_module visibility
2214   func_end_table
2215
2216   element="Support for building libraries and executables"
2217   func_section_wrap build_lib
2218   func_wrap H2
2219   func_echo "$element"
2220
2221   func_begin_table
2222   func_module absolute-header
2223   func_module config-h
2224   func_module configmake
2225   func_module dummy
2226   func_module elisp-comp
2227   func_module ldd
2228   func_module lib-ignore
2229   func_module no-c++
2230   func_end_table
2231
2232   element="Support for building documentation"
2233   func_section_wrap build_doc
2234   func_wrap H2
2235   func_echo "$element"
2236
2237   func_begin_table
2238   func_module fdl
2239   func_module gendocs
2240   func_module gpl
2241   func_module lgpl
2242   func_module regexprops-generic
2243   func_end_table
2244
2245   element="Support for maintaining and release projects"
2246   func_section_wrap maintain
2247   func_wrap H2
2248   func_echo "$element"
2249
2250   func_begin_table
2251   func_module gnupload
2252   func_module maintainer-makefile
2253   func_end_table
2254
2255   element="Misc"
2256   func_section_wrap misc
2257   func_wrap H2
2258   func_echo "$element"
2259
2260   func_begin_table
2261   func_module host-os
2262   func_module perl
2263   func_module uptime
2264   func_end_table
2265 }
2266
2267
2268 func_tmpdir
2269 trap 'exit_status=$?
2270       if test "$signal" != 0; then
2271         echo "caught signal $signal" >&2
2272       fi
2273       rm -rf "$tmp"
2274       exit $exit_status' 0
2275 for signal in 1 2 3 13 15; do
2276   trap '{ signal='$signal'; func_exit 1; }' $signal
2277 done
2278 signal=0
2279
2280 echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">'
2281 func_begin HTML
2282
2283 func_begin HEAD
2284
2285 element="Gnulib Module List"
2286 func_wrap TITLE
2287 func_echo "$element"
2288
2289 modules=`gnulib-tool --list`
2290 modules=`for m in $modules; do printf "%s, " $m; done | sed -e 's/, $//'`
2291 func_echo '<META NAME="keywords" CONTENT="'"${modules}"'">'
2292
2293 func_end HEAD
2294
2295 func_begin BODY
2296
2297 element="Gnulib Module List"
2298 func_wrap H1
2299 func_echo "$element"
2300
2301 func_echo 'This is a list of the modules which make up gnulib, with dependencies.'
2302
2303 in_toc=yes
2304 func_all_modules
2305
2306 in_toc=
2307 func_all_modules
2308
2309
2310 gnulib-tool --list > "$tmp/all-modules"
2311 missed_modules=`for module in $seen_modules; do echo $module; done \
2312                   | LC_ALL=C sort -u \
2313                   | LC_ALL=C join -v 2 - "$tmp/all-modules"`
2314
2315 if test -n "$missed_modules"; then
2316
2317   element="Unclassified modules - please update MODULES.html.sh"
2318   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2319   func_wrap H2
2320   func_echo "$element"
2321
2322   func_begin_table
2323   for module in $missed_modules; do
2324     func_module $module
2325   done
2326   func_end_table
2327
2328 fi
2329
2330 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"
2331 missed_files=`for file in $seen_files; do echo $file; done \
2332                 | LC_ALL=C sort -u \
2333                 | LC_ALL=C join -v 2 - "$tmp/all-files"`
2334
2335 if test -n "$missed_files"; then
2336
2337   element="Lone files - please create new modules containing them"
2338   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2339   func_wrap H2
2340   func_echo "$element"
2341
2342   func_echo '<PRE>'
2343   echo "$missed_files" | sed -e 's,^\(.*\)$,<A HREF="\1">\1</A>,'
2344   echo '</PRE>'
2345
2346 fi
2347
2348 element="Future developments"
2349 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2350 func_wrap H2
2351 func_echo "$element"
2352
2353 func_echo 'Ideally a module could consist of:'
2354 func_begin UL
2355 func_echo '<LI>A header file: lib/<VAR>module</VAR>.h'
2356 func_echo '<LI>One or more implementation files: lib/<VAR>module</VAR>.c et al.'
2357 func_echo '<LI>One or more autoconf macro files: m4/<VAR>module</VAR>.m4 et al.'
2358 func_echo '<LI>A configure.ac fragment, Makefile.am fragment, dependency list: modules/<VAR>module</VAR>'
2359 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'
2360 func_echo '<LI>Some documentation'
2361 func_echo '<LI>A POT file and some PO files'
2362 func_end UL
2363
2364 func_echo '<HR>'
2365 func_echo 'Generated from <CODE>MODULES.html.sh</CODE> on '`LC_ALL=C date +"%e %B %Y"`.
2366
2367 func_end BODY
2368
2369 func_end HTML
2370
2371 rm -rf "$tmp"
2372 # Undo the effect of the previous 'trap' command.
2373 trap '' 0
2374 trap 'func_exit $?' 1 2 3 13 15
2375
2376 exit 0
2377
2378 # Local Variables:
2379 # indent-tabs-mode: nil
2380 # whitespace-check-buffer-indent: nil
2381 # End: