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