* lib/string_.h: If the gnulib module XYZ is not present, undefine
[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 exit
1494   func_module atexit
1495   func_module strtod
1496   func_module strtol
1497   func_module strtoul
1498   func_module memchr
1499   func_module memcmp
1500   func_module memcpy
1501   func_module memmove
1502   func_module memset
1503   func_module strcspn
1504   func_module strpbrk
1505   func_module strstr
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="Memory management functions <stdlib.h>"
1529   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1530   func_section_wrap ansic_enh_stdlib_memory
1531   func_wrap H3
1532   func_echo "$element"
1533
1534   func_begin_table
1535   func_module calloc
1536   func_module eealloc
1537   func_module free
1538   func_module malloc
1539   func_module realloc
1540   func_module pagealign_alloc
1541   func_end_table
1542
1543   element="Sorting functions <stdlib.h>"
1544   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1545   func_section_wrap ansic_enh_stdlib_sorting
1546   func_wrap H3
1547   func_echo "$element"
1548
1549   func_begin_table
1550   func_module mpsort
1551   func_end_table
1552
1553   element="Date and time <time.h>"
1554   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1555   func_section_wrap ansic_enh_time_datetime
1556   func_wrap H3
1557   func_echo "$element"
1558
1559   func_begin_table
1560   func_module fprintftime
1561   func_module strftime
1562   func_end_table
1563
1564   element="Extra functions based on ANSI C 89"
1565   func_section_wrap ansic_ext
1566   func_wrap H2
1567   func_echo "$element"
1568
1569   element="Memory management functions <stdlib.h>"
1570   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1571   func_section_wrap ansic_ext_stdlib_memory
1572   func_wrap H3
1573   func_echo "$element"
1574
1575   func_begin_table
1576   func_module xsize
1577   func_module xalloc
1578   func_module xalloc-die
1579   func_module alloca
1580   func_module alloca-opt
1581   func_module allocsa
1582   func_module xallocsa
1583   func_end_table
1584
1585   element="Integer arithmetic functions <stdlib.h>"
1586   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1587   func_section_wrap ansic_ext_stdlib_arith
1588   func_wrap H3
1589   func_echo "$element"
1590
1591   func_begin_table
1592   func_module gcd
1593   func_module minmax
1594   func_end_table
1595
1596   element="Environment variables <stdlib.h>"
1597   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1598   func_section_wrap ansic_ext_stdlib_env
1599   func_wrap H3
1600   func_echo "$element"
1601
1602   func_begin_table
1603   func_module putenv
1604   func_module setenv
1605   func_module xsetenv
1606   func_end_table
1607
1608   element="Character handling <ctype.h>"
1609   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1610   func_section_wrap ansic_ext_ctype
1611   func_wrap H3
1612   func_echo "$element"
1613
1614   func_begin_table
1615   func_module c-ctype
1616   func_end_table
1617
1618   element="String handling <string.h>"
1619   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1620   func_section_wrap ansic_ext_string
1621   func_wrap H3
1622   func_echo "$element"
1623
1624   func_begin_table
1625   func_module bcopy
1626   func_module memmem
1627   func_module mempcpy
1628   func_module memrchr
1629   func_module stpcpy
1630   func_module stpncpy
1631   func_module c-strcase
1632   func_module strcase
1633   func_module c-strcaseeq
1634   func_module c-strcasestr
1635   func_module strcasestr
1636   func_module strchrnul
1637   func_module strdup
1638   func_module streq
1639   func_module strnlen
1640   func_module strnlen1
1641   func_module strndup
1642   func_module strsep
1643   func_module c-strstr
1644   func_module trim
1645   #func_module fstrcmp
1646   func_module xstrndup
1647   func_end_table
1648
1649   element="Numeric conversion functions <stdlib.h>"
1650   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1651   func_section_wrap ansic_ext_stdlib_conv
1652   func_wrap H3
1653   func_echo "$element"
1654
1655   func_begin_table
1656   func_module c-strtod
1657   func_module c-strtold
1658   func_module xstrtod
1659   func_module xstrtol
1660   func_module xstrtold
1661   func_end_table
1662
1663   element="Date and time <time.h>"
1664   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1665   func_section_wrap ansic_ext_time_datetime
1666   func_wrap H3
1667   func_echo "$element"
1668
1669   func_begin_table
1670   func_module getdate
1671   func_module timegm
1672   func_module tzset
1673   func_end_table
1674
1675   element="Input/Output <stdio.h>"
1676   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1677   func_section_wrap ansic_ext_stdio
1678   func_wrap H3
1679   func_echo "$element"
1680
1681   func_begin_table
1682   func_module unlocked-io
1683   func_module fwriteerror
1684   func_module vasnprintf
1685   func_module vasprintf
1686   func_module xvasprintf
1687   func_end_table
1688
1689   element="Signal handling <signal.h>"
1690   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1691   func_section_wrap ansic_ext_signal
1692   func_wrap H3
1693   func_echo "$element"
1694
1695   func_begin_table
1696   func_module fatal-signal
1697   func_module raise
1698   func_end_table
1699
1700   element="Command-line arguments"
1701   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1702   func_section_wrap ansic_ext_argv
1703   func_wrap H3
1704   func_echo "$element"
1705
1706   func_begin_table
1707   func_module argmatch
1708   func_module version-etc
1709   func_module version-etc-fsf
1710   func_module long-options
1711   func_end_table
1712
1713   element="Container data structures"
1714   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1715   func_section_wrap ansic_ext_container
1716   func_wrap H3
1717   func_echo "$element"
1718
1719   func_begin_table
1720   func_module list
1721   func_module array-list
1722   func_module carray-list
1723   func_module linked-list
1724   func_module avltree-list
1725   func_module rbtree-list
1726   func_module linkedhash-list
1727   func_module avltreehash-list
1728   func_module rbtreehash-list
1729   func_module oset
1730   func_module array-oset
1731   func_module avltree-oset
1732   func_module rbtree-oset
1733   func_end_table
1734
1735   element="Cryptographic computations"
1736   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1737   func_section_wrap ansic_ext_crypto
1738   func_wrap H3
1739   func_echo "$element"
1740
1741   func_begin_table
1742   func_module md5
1743   func_module sha1
1744   func_end_table
1745
1746   element="Misc"
1747   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1748   func_section_wrap ansic_ext_misc
1749   func_wrap H3
1750   func_echo "$element"
1751
1752   func_begin_table
1753   func_module base64
1754   func_module check-version
1755   func_module diacrit
1756   func_module getline
1757   func_module getdelim
1758   func_module getnline
1759   func_module getndelim2
1760   func_module linebuffer
1761   func_module obstack
1762   func_module hash-pjw
1763   func_module hash
1764   func_module readline
1765   func_module readtokens
1766   func_module readtokens0
1767   func_module strverscmp
1768   func_end_table
1769
1770   element="Support for systems lacking ISO C 99"
1771   func_section_wrap isoc_sup
1772   func_wrap H2
1773   func_echo "$element"
1774
1775   element="Core language properties"
1776   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1777   func_section_wrap isoc_core_properties
1778   func_wrap H3
1779   func_echo "$element"
1780
1781   func_begin_table
1782   func_module flexmember
1783   func_module vararrays
1784   func_end_table
1785
1786   element="Sizes of integer types <limits.h>"
1787   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1788   func_section_wrap isoc_sup_limits
1789   func_wrap H3
1790   func_echo "$element"
1791
1792   func_begin_table
1793   func_module size_max
1794   func_end_table
1795
1796   element="Variable arguments <stdarg.h>"
1797   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1798   func_section_wrap isoc_sup_stdarg
1799   func_wrap H3
1800   func_echo "$element"
1801
1802   func_begin_table
1803   func_module stdarg
1804   func_end_table
1805
1806   element="Boolean type and values <stdbool.h>"
1807   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1808   func_section_wrap isoc_sup_stdbool
1809   func_wrap H3
1810   func_echo "$element"
1811
1812   func_begin_table
1813   func_module stdbool
1814   func_end_table
1815
1816   element="Integer types and values <stdint.h>"
1817   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1818   func_section_wrap isoc_sup_stdint
1819   func_wrap H3
1820   func_echo "$element"
1821
1822   func_begin_table
1823   func_module stdint
1824   func_end_table
1825
1826   element="Input/output <stdio.h>"
1827   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1828   func_section_wrap isoc_sup_stdio
1829   func_wrap H3
1830   func_echo "$element"
1831
1832   func_begin_table
1833   func_module snprintf
1834   func_module vsnprintf
1835   func_end_table
1836
1837   element="Numeric conversion functions <stdlib.h>"
1838   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1839   func_section_wrap isoc_sup_stdlib_conv
1840   func_wrap H3
1841   func_echo "$element"
1842
1843   func_begin_table
1844   func_module strtoll
1845   func_module strtoull
1846   func_end_table
1847
1848   element="Functions for greatest-width integer types <inttypes.h>"
1849   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1850   func_section_wrap isoc_sup_inttypes
1851   func_wrap H3
1852   func_echo "$element"
1853
1854   func_begin_table
1855   func_module strtoimax
1856   func_module strtoumax
1857   func_end_table
1858
1859   element="Extended multibyte and wide character utilities <wchar.h>"
1860   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1861   func_section_wrap isoc_sup_wchar
1862   func_wrap H3
1863   func_echo "$element"
1864
1865   func_begin_table
1866   func_module wchar
1867   func_end_table
1868
1869   element="Wide character classification and mapping utilities <wctype.h>"
1870   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1871   func_section_wrap isoc_sup_wctype
1872   func_wrap H3
1873   func_echo "$element"
1874
1875   func_begin_table
1876   func_module wctype
1877   func_end_table
1878
1879   element="Mathematics <math.h>"
1880   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1881   func_section_wrap isoc_sup_math
1882   func_wrap H3
1883   func_echo "$element"
1884
1885   func_begin_table
1886   func_module mathl
1887   func_end_table
1888
1889   element="Enhancements for ISO C 99 functions"
1890   func_section_wrap isoc_enh
1891   func_wrap H2
1892   func_echo "$element"
1893
1894   func_begin_table
1895   func_end_table
1896
1897   element="Extra functions based on ISO C 99"
1898   func_section_wrap isoc_ext
1899   func_wrap H2
1900   func_echo "$element"
1901
1902   element="Numeric conversion functions <stdlib.h>"
1903   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1904   func_section_wrap isoc_ext_stdlib_conv
1905   func_wrap H3
1906   func_echo "$element"
1907
1908   func_begin_table
1909   func_module intprops
1910   func_module inttostr
1911   func_module xstrtoimax
1912   func_module xstrtoumax
1913   func_end_table
1914
1915   element="Extended multibyte and wide character utilities <wchar.h>"
1916   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
1917   func_section_wrap isoc_ext_wchar_mb
1918   func_wrap H3
1919   func_echo "$element"
1920
1921   func_begin_table
1922   func_module mbchar
1923   func_module mbiter
1924   func_module mbuiter
1925   func_module mbfile
1926   func_end_table
1927
1928   element="Support for systems lacking POSIX:2001"
1929   func_section_wrap posix_sup
1930   func_wrap H2
1931   func_echo "$element"
1932
1933   func_begin_table
1934   func_module chown
1935   func_module dup2
1936   func_module fchdir
1937   func_module ftruncate
1938   func_module getaddrinfo
1939   func_module getcwd
1940   func_module getgroups
1941   func_module gethostname
1942   func_module getlogin_r
1943   func_module getsubopt
1944   func_module gettimeofday
1945   func_module inet_ntop
1946   func_module inet_pton
1947   func_module mkdir
1948   func_module mkdtemp
1949   func_module mkstemp
1950   func_module poll
1951   func_module readlink
1952   func_module lstat
1953   func_module tempname
1954   func_module time_r
1955   func_module timespec
1956   func_module nanosleep
1957   func_module regex
1958   func_module rename
1959   func_module rmdir
1960   func_module sigprocmask
1961   func_module ssize_t
1962   func_module strptime
1963   func_module strtok_r
1964   func_module sys_stat
1965   func_module sys_time
1966   func_module tsearch
1967   func_module unistd
1968   func_module utime
1969   func_module wcwidth
1970   func_end_table
1971
1972   element="Compatibility checks for POSIX:2001 functions"
1973   func_section_wrap posix_compat
1974   func_wrap H2
1975   func_echo "$element"
1976
1977   func_begin_table
1978   func_module d-ino
1979   func_module d-type
1980   func_module link-follow
1981   func_module rename-dest-slash
1982   func_module rmdir-errno
1983   func_module unlink-busy
1984   func_module winsz-ioctl
1985   func_module winsz-termios
1986   func_end_table
1987
1988   element="Enhancements for POSIX:2001 functions"
1989   func_section_wrap posix_enh
1990   func_wrap H2
1991   func_echo "$element"
1992
1993   func_begin_table
1994   func_module dirname
1995   func_module getopt
1996   func_module unistd-safer
1997   func_module fnmatch
1998   func_module fnmatch-posix
1999   func_module fnmatch-gnu
2000   func_module glob
2001   func_module exclude
2002   func_end_table
2003
2004   element="Extra functions based on POSIX:2001"
2005   func_section_wrap posix_ext
2006   func_wrap H2
2007   func_echo "$element"
2008
2009   element="Numeric conversion functions"
2010   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2011   func_section_wrap posix_ext_conv
2012   func_wrap H3
2013   func_echo "$element"
2014
2015   func_begin_table
2016   func_module human
2017   func_end_table
2018
2019   element="File system functions"
2020   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2021   func_section_wrap posix_ext_filesys
2022   func_wrap H3
2023   func_echo "$element"
2024
2025   func_begin_table
2026   func_module acl
2027   func_module backupfile
2028   func_module canonicalize
2029   func_module canonicalize-lgpl
2030   func_module clean-temp
2031   func_module copy-file
2032   func_module cycle-check
2033   func_module fsusage
2034   func_module dirfd
2035   func_module double-slash-root
2036   func_module euidaccess
2037   func_module file-type
2038   func_module fileblocks
2039   func_module filemode
2040   func_module filenamecat
2041   func_module fts
2042   func_module fts-lgpl
2043   func_module isdir
2044   func_module lchmod
2045   func_module lchown
2046   func_module mkancesdirs
2047   func_module mkdir-p
2048   func_module modechange
2049   func_module mountlist
2050   func_module openat
2051   func_module pathname
2052   func_module pathmax
2053   func_module same
2054   func_module save-cwd
2055   func_module savedir
2056   func_module savewd
2057   func_module stat-time
2058   func_module tmpdir
2059   func_module unlinkdir
2060   func_module utimecmp
2061   func_module utimens
2062   func_module xgetcwd
2063   func_module xreadlink
2064   func_end_table
2065
2066   element="File descriptor based Input/Output"
2067   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2068   func_section_wrap posix_ext_filedesc
2069   func_wrap H3
2070   func_echo "$element"
2071
2072   func_begin_table
2073   func_module fcntl-safer
2074   func_module safe-read
2075   func_module safe-write
2076   func_module full-read
2077   func_module full-write
2078   func_module binary-io
2079   func_module isapipe
2080   func_end_table
2081
2082   element="File stream based Input/Output"
2083   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2084   func_section_wrap posix_ext_filestream
2085   func_wrap H3
2086   func_echo "$element"
2087
2088   func_begin_table
2089   func_module close-stream
2090   func_module closeout
2091   func_module fopen-safer
2092   func_module fpending
2093   func_module getpass
2094   func_module getpass-gnu
2095   func_module stdlib-safer
2096   func_module tmpfile-safer
2097   func_end_table
2098
2099   element="Users and groups"
2100   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2101   func_section_wrap posix_ext_uidgid
2102   func_wrap H3
2103   func_echo "$element"
2104
2105   func_begin_table
2106   func_module getugroups
2107   func_module group-member
2108   func_module idcache
2109   func_module userspec
2110   func_end_table
2111
2112   element="Date and time"
2113   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2114   func_section_wrap posix_ext_datetime
2115   func_wrap H3
2116   func_echo "$element"
2117
2118   func_begin_table
2119   func_module gettime
2120   func_module settime
2121   func_module posixtm
2122   func_module xnanosleep
2123   func_end_table
2124
2125   element="Networking functions"
2126   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2127   func_section_wrap posix_ext_net
2128   func_wrap H3
2129   func_echo "$element"
2130
2131   func_begin_table
2132   func_module xgethostname
2133   func_module canon-host
2134   func_end_table
2135
2136   element="Multithreading"
2137   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2138   func_section_wrap posix_ext_thread
2139   func_wrap H3
2140   func_echo "$element"
2141
2142   func_begin_table
2143   func_module lock
2144   func_module tls
2145   func_end_table
2146
2147   element="Internationalization functions"
2148   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2149   func_section_wrap posix_ext_i18n
2150   func_wrap H3
2151   func_echo "$element"
2152
2153   func_begin_table
2154   func_module gettext
2155   func_module gettext-h
2156   func_module iconv
2157   func_module striconv
2158   func_module xstriconv
2159   func_module striconveh
2160   func_module striconveha
2161   func_module iconvme
2162   func_module localcharset
2163   func_module hard-locale
2164   func_module mbswidth
2165   func_module memcasecmp
2166   func_module memcoll
2167   func_module xmemcoll
2168   func_module unicodeio
2169   func_module rpmatch
2170   func_module yesno
2171   func_module linebreak
2172   func_module bison-i18n
2173   func_end_table
2174
2175   element="Unicode string functions"
2176   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2177   func_section_wrap posix_ext_unicode
2178   func_wrap H3
2179   func_echo "$element"
2180
2181   func_begin_table
2182   func_module unitypes
2183   func_module ucs4-utf8
2184   func_module ucs4-utf16
2185   func_module utf8-ucs4
2186   func_module utf16-ucs4
2187   func_module utf8-ucs4-safe
2188   func_module utf16-ucs4-safe
2189   func_module unistr/base
2190   func_module unistr/u8-to-u16
2191   func_module unistr/u8-to-u32
2192   func_module unistr/u16-to-u8
2193   func_module unistr/u16-to-u32
2194   func_module unistr/u32-to-u8
2195   func_module unistr/u32-to-u16
2196   func_module unistr/u8-check
2197   func_module unistr/u16-check
2198   func_module unistr/u32-check
2199   func_module unistr/u8-chr
2200   func_module unistr/u16-chr
2201   func_module unistr/u32-chr
2202   func_module unistr/u8-cmp
2203   func_module unistr/u16-cmp
2204   func_module unistr/u32-cmp
2205   func_module unistr/u8-cpy
2206   func_module unistr/u16-cpy
2207   func_module unistr/u32-cpy
2208   func_module unistr/u8-cpy-alloc
2209   func_module unistr/u16-cpy-alloc
2210   func_module unistr/u32-cpy-alloc
2211   func_module unistr/u8-endswith
2212   func_module unistr/u16-endswith
2213   func_module unistr/u32-endswith
2214   func_module unistr/u8-mblen
2215   func_module unistr/u16-mblen
2216   func_module unistr/u32-mblen
2217   func_module unistr/u8-mbtouc
2218   func_module unistr/u16-mbtouc
2219   func_module unistr/u32-mbtouc
2220   func_module unistr/u8-mbtouc-safe
2221   func_module unistr/u16-mbtouc-safe
2222   func_module unistr/u32-mbtouc-safe
2223   func_module unistr/u8-move
2224   func_module unistr/u16-move
2225   func_module unistr/u32-move
2226   func_module unistr/u8-next
2227   func_module unistr/u16-next
2228   func_module unistr/u32-next
2229   func_module unistr/u8-prev
2230   func_module unistr/u16-prev
2231   func_module unistr/u32-prev
2232   func_module unistr/u8-set
2233   func_module unistr/u16-set
2234   func_module unistr/u32-set
2235   func_module unistr/u8-startswith
2236   func_module unistr/u16-startswith
2237   func_module unistr/u32-startswith
2238   func_module unistr/u8-stpcpy
2239   func_module unistr/u16-stpcpy
2240   func_module unistr/u32-stpcpy
2241   func_module unistr/u8-stpncpy
2242   func_module unistr/u16-stpncpy
2243   func_module unistr/u32-stpncpy
2244   func_module unistr/u8-strcat
2245   func_module unistr/u16-strcat
2246   func_module unistr/u32-strcat
2247   func_module unistr/u8-strchr
2248   func_module unistr/u16-strchr
2249   func_module unistr/u32-strchr
2250   func_module unistr/u8-strcmp
2251   func_module unistr/u16-strcmp
2252   func_module unistr/u32-strcmp
2253   func_module unistr/u8-strcpy
2254   func_module unistr/u16-strcpy
2255   func_module unistr/u32-strcpy
2256   func_module unistr/u8-strcspn
2257   func_module unistr/u16-strcspn
2258   func_module unistr/u32-strcspn
2259   func_module unistr/u8-strdup
2260   func_module unistr/u16-strdup
2261   func_module unistr/u32-strdup
2262   func_module unistr/u8-strlen
2263   func_module unistr/u16-strlen
2264   func_module unistr/u32-strlen
2265   func_module unistr/u8-strmblen
2266   func_module unistr/u16-strmblen
2267   func_module unistr/u32-strmblen
2268   func_module unistr/u8-strmbtouc
2269   func_module unistr/u16-strmbtouc
2270   func_module unistr/u32-strmbtouc
2271   func_module unistr/u8-strncat
2272   func_module unistr/u16-strncat
2273   func_module unistr/u32-strncat
2274   func_module unistr/u8-strncmp
2275   func_module unistr/u16-strncmp
2276   func_module unistr/u32-strncmp
2277   func_module unistr/u8-strncpy
2278   func_module unistr/u16-strncpy
2279   func_module unistr/u32-strncpy
2280   func_module unistr/u8-strnlen
2281   func_module unistr/u16-strnlen
2282   func_module unistr/u32-strnlen
2283   func_module unistr/u8-strpbrk
2284   func_module unistr/u16-strpbrk
2285   func_module unistr/u32-strpbrk
2286   func_module unistr/u8-strrchr
2287   func_module unistr/u16-strrchr
2288   func_module unistr/u32-strrchr
2289   func_module unistr/u8-strspn
2290   func_module unistr/u16-strspn
2291   func_module unistr/u32-strspn
2292   func_module unistr/u8-strstr
2293   func_module unistr/u16-strstr
2294   func_module unistr/u32-strstr
2295   func_module unistr/u8-strtok
2296   func_module unistr/u16-strtok
2297   func_module unistr/u32-strtok
2298   func_module unistr/u8-uctomb
2299   func_module unistr/u16-uctomb
2300   func_module unistr/u32-uctomb
2301   func_module uniconv/base
2302   func_module uniconv/u8-conv-from-enc
2303   func_module uniconv/u16-conv-from-enc
2304   func_module uniconv/u32-conv-from-enc
2305   func_module uniconv/u8-strconv-from-enc
2306   func_module uniconv/u16-strconv-from-enc
2307   func_module uniconv/u32-strconv-from-enc
2308   func_module uniconv/u8-strconv-to-enc
2309   func_module uniconv/u16-strconv-to-enc
2310   func_module uniconv/u32-strconv-to-enc
2311   func_module uniconv/u8-strconv-from-locale
2312   func_module uniconv/u16-strconv-from-locale
2313   func_module uniconv/u32-strconv-from-locale
2314   func_module uniconv/u8-strconv-to-locale
2315   func_module uniconv/u16-strconv-to-locale
2316   func_module uniconv/u32-strconv-to-locale
2317   func_end_table
2318
2319   element="Executing programs"
2320   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2321   func_section_wrap posix_ext_exec
2322   func_wrap H3
2323   func_echo "$element"
2324
2325   func_begin_table
2326   func_module cloexec
2327   func_module findprog
2328   func_module wait-process
2329   func_module execute
2330   func_module pipe
2331   func_module sh-quote
2332   func_end_table
2333
2334   element="Java"
2335   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2336   func_section_wrap posix_ext_java
2337   func_wrap H3
2338   func_echo "$element"
2339
2340   func_begin_table
2341   func_module classpath
2342   func_module javacomp
2343   func_module javaexec
2344   func_module javaversion
2345   #func_module gcj
2346   func_end_table
2347
2348   element="C#"
2349   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2350   func_section_wrap posix_ext_csharp
2351   func_wrap H3
2352   func_echo "$element"
2353
2354   func_begin_table
2355   func_module csharpcomp
2356   func_module csharpexec
2357   func_end_table
2358
2359   element="Misc"
2360   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2361   func_section_wrap posix_ext_misc
2362   func_wrap H3
2363   func_echo "$element"
2364
2365   func_begin_table
2366   func_module argp
2367   func_module argz
2368   func_module byteswap
2369   func_module exitfail
2370   func_module c-stack
2371   func_module error
2372   func_module extensions
2373   func_module getdomainname
2374   func_module xgetdomainname
2375   func_module getloadavg
2376   func_module getpagesize
2377   func_module getusershell
2378   func_module physmem
2379   func_module posixver
2380   func_module progname
2381   func_module quotearg
2382   func_module quote
2383   func_module readutmp
2384   func_module sig2str
2385   func_module sysexits
2386   func_module verror
2387   func_module visibility
2388   func_end_table
2389
2390   element="Support for building libraries and executables"
2391   func_section_wrap build_lib
2392   func_wrap H2
2393   func_echo "$element"
2394
2395   func_begin_table
2396   func_module absolute-header
2397   func_module config-h
2398   func_module configmake
2399   func_module dummy
2400   func_module elisp-comp
2401   func_module ldd
2402   func_module lib-ignore
2403   func_module no-c++
2404   func_end_table
2405
2406   element="Support for building documentation"
2407   func_section_wrap build_doc
2408   func_wrap H2
2409   func_echo "$element"
2410
2411   func_begin_table
2412   func_module fdl
2413   func_module gendocs
2414   func_module gpl
2415   func_module lgpl
2416   func_module regexprops-generic
2417   func_end_table
2418
2419   element="Support for maintaining and release projects"
2420   func_section_wrap maintain
2421   func_wrap H2
2422   func_echo "$element"
2423
2424   func_begin_table
2425   func_module gnupload
2426   func_module maintainer-makefile
2427   func_end_table
2428
2429   element="Misc"
2430   func_section_wrap misc
2431   func_wrap H2
2432   func_echo "$element"
2433
2434   func_begin_table
2435   func_module host-os
2436   func_module perl
2437   func_module uptime
2438   func_end_table
2439 }
2440
2441
2442 func_tmpdir
2443 trap 'exit_status=$?
2444       if test "$signal" != 0; then
2445         echo "caught signal $signal" >&2
2446       fi
2447       rm -rf "$tmp"
2448       exit $exit_status' 0
2449 for signal in 1 2 3 13 15; do
2450   trap '{ signal='$signal'; func_exit 1; }' $signal
2451 done
2452 signal=0
2453
2454 echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">'
2455 func_begin HTML
2456
2457 func_begin HEAD
2458
2459 element="Gnulib Module List"
2460 func_wrap TITLE
2461 func_echo "$element"
2462
2463 modules=`gnulib-tool --list`
2464 modules=`for m in $modules; do printf "%s, " $m; done | sed -e 's/, $//'`
2465 func_echo '<META NAME="keywords" CONTENT="'"${modules}"'">'
2466
2467 func_end HEAD
2468
2469 func_begin BODY
2470
2471 element="Gnulib Module List"
2472 func_wrap H1
2473 func_echo "$element"
2474
2475 func_echo 'This is a list of the modules which make up gnulib, with dependencies.'
2476
2477 in_toc=yes
2478 func_all_modules
2479
2480 in_toc=
2481 func_all_modules
2482
2483
2484 gnulib-tool --list > "$tmp/all-modules"
2485 missed_modules=`for module in $seen_modules; do echo $module; done \
2486                   | LC_ALL=C sort -u \
2487                   | LC_ALL=C join -v 2 - "$tmp/all-modules"`
2488
2489 if test -n "$missed_modules"; then
2490
2491   element="Unclassified modules - please update MODULES.html.sh"
2492   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2493   func_wrap H2
2494   func_echo "$element"
2495
2496   func_begin_table
2497   for module in $missed_modules; do
2498     func_module $module
2499   done
2500   func_end_table
2501
2502 fi
2503
2504 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"
2505 missed_files=`for file in $seen_files; do echo $file; done \
2506                 | LC_ALL=C sort -u \
2507                 | LC_ALL=C join -v 2 - "$tmp/all-files"`
2508
2509 if test -n "$missed_files"; then
2510
2511   element="Lone files - please create new modules containing them"
2512   element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2513   func_wrap H2
2514   func_echo "$element"
2515
2516   func_echo '<PRE>'
2517   echo "$missed_files" | sed -e 's,^\(.*\)$,<A HREF="'$repo_url_prefix'\1'$repo_url_suffix_repl'">\1</A>,'
2518   echo '</PRE>'
2519
2520 fi
2521
2522 element="Future developments"
2523 element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
2524 func_wrap H2
2525 func_echo "$element"
2526
2527 func_echo 'Ideally a module could consist of:'
2528 func_begin UL
2529 func_echo '<LI>A header file: lib/<VAR>module</VAR>.h'
2530 func_echo '<LI>One or more implementation files: lib/<VAR>module</VAR>.c et al.'
2531 func_echo '<LI>One or more autoconf macro files: m4/<VAR>module</VAR>.m4 et al.'
2532 func_echo '<LI>A configure.ac fragment, Makefile.am fragment, dependency list: modules/<VAR>module</VAR>'
2533 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'
2534 func_echo '<LI>Some documentation'
2535 func_echo '<LI>A POT file and some PO files'
2536 func_end UL
2537
2538 func_echo '<HR>'
2539 func_echo 'Generated from <CODE>MODULES.html.sh</CODE> on '`LC_ALL=C date +"%e %B %Y"`.
2540
2541 func_end BODY
2542
2543 func_end HTML
2544
2545 rm -rf "$tmp"
2546 # Undo the effect of the previous 'trap' command.
2547 trap '' 0
2548 trap 'func_exit $?' 1 2 3 13 15
2549
2550 exit 0
2551
2552 # Local Variables:
2553 # indent-tabs-mode: nil
2554 # whitespace-check-buffer-indent: nil
2555 # End: