+2008-12-10 Bruno Haible <bruno@clisp.org>
+
+ Change MODULES.html to refer to POSIX:2008 where possible.
+ * MODULES.html.sh (POSIX2008_URL): New variable.
+ (posix_headers): Remove sys/timeb, ucontext.
+ (posix2001_headers): New variable.
+ (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
+ ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
+ index, makecontext, mktemp, pthread_attr_getstackaddr,
+ pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
+ ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
+ (posix2001_functions): New variable.
+ (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
+ otherwise.
+
2008-12-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
add missing include to parse-duration.c
PATH=`dirname "$0"`:$PATH; export PATH
POSIX2001_URL='http://www.opengroup.org/susv3'
-case $USER in
- bruno )
- POSIX2001_URL='file:/packages/www/www.opengroup.org/susv3' ;;
-esac
+POSIX2008_URL='http://www.opengroup.org/onlinepubs/9699919799'
repo_url_prefix=
repo_url_suffix=
sys/stat
sys/statvfs
sys/time
-sys/timeb
sys/times
sys/types
sys/uio
tgmath
time
trace
-ucontext
ulimit
unistd
utime
wctype
wordexp
' | sed -e "$sed_alt1" | tr -d "$trnl" | sed -e "$sed_alt2" -e "$sed_alt3"`
+posix2001_headers=`echo '
+sys/timeb
+ucontext
+' | sed -e "$sed_alt1" | tr -d "$trnl" | sed -e "$sed_alt2" -e "$sed_alt3"`
posix_functions=`echo '
FD_CLR
FD_ISSET
aio_suspend
aio_write
alarm
+alphasort
asctime
asctime_r
asin
atol
atoll
basename
-bcmp
-bcopy
bind
-bsd_signal
bsearch
btowc
-bzero
cabs
cabsf
cabsl
dbm_open
dbm_store
difftime
+dirfd
dirname
div
dlclose
dlerror
dlopen
dlsym
+dprintf
drand48
dup
dup2
-ecvt
+duplocale
encrypt
endgrent
endhostent
fabs
fabsf
fabsl
+faccessat
fattach
fchdir
fchmod
+fchmodat
fchown
+fchownat
fclose
fcntl
-fcvt
fdatasync
fdetach
fdim
fdimf
fdiml
fdopen
+fdopendir
feclearexcept
fegetenv
fegetexceptflag
fesetround
fetestexcept
feupdateenv
+fexecve
fflush
ffs
fgetc
fmax
fmaxf
fmaxl
+fmemopen
fmin
fminf
fminl
fread
free
freeaddrinfo
+freelocale
freopen
frexp
frexpf
fseeko
fsetpos
fstat
+fstatat
fstatvfs
fsync
ftell
ftello
-ftime
ftok
ftruncate
ftrylockfile
ftw
funlockfile
+futimens
fwide
fwprintf
fwrite
fwscanf
gai_strerror
-gcvt
getaddrinfo
getc
getc_unlocked
getchar
getchar_unlocked
-getcontext
getcwd
getdate
+getdate_err
+getdelim
getegid
getenv
geteuid
getgrnam
getgrnam_r
getgroups
-gethostbyaddr
-gethostbyname
gethostent
gethostid
gethostname
getitimer
+getline
getlogin
getlogin_r
getmsg
getutxline
getwc
getwchar
-getwd
glob
globfree
gmtime
gmtime_r
grantpt
-h_errno
hcreate
hdestroy
hsearch
ilogbl
imaxabs
imaxdiv
-index
inet_addr
inet_ntoa
inet_ntop
insque
ioctl
isalnum
+isalnum_l
isalpha
+isalpha_l
isascii
isastream
isatty
isblank
+isblank_l
iscntrl
+iscntrl_l
isdigit
+isdigit_l
isfinite
isgraph
+isgraph_l
isgreater
isgreaterequal
isinf
islessequal
islessgreater
islower
+islower_l
isnan
isnormal
isprint
+isprint_l
ispunct
+ispunct_l
isspace
+isspace_l
isunordered
isupper
+isupper_l
iswalnum
+iswalnum_l
iswalpha
+iswalpha_l
iswblank
+iswblank_l
iswcntrl
+iswcntrl_l
iswctype
+iswctype_l
iswdigit
+iswdigit_l
iswgraph
+iswgraph_l
iswlower
+iswlower_l
iswprint
+iswprint_l
iswpunct
+iswpunct_l
iswspace
+iswspace_l
iswupper
+iswupper_l
iswxdigit
+iswxdigit_l
isxdigit
+isxdigit_l
j0
j1
jn
lgammaf
lgammal
link
+linkat
lio_listio
listen
llabs
lsearch
lseek
lstat
-makecontext
malloc
mblen
mbrlen
mbrtowc
mbsinit
+mbsnrtowcs
mbsrtowcs
mbstowcs
mbtowc
memmove
memset
mkdir
+mkdirat
+mkdtemp
mkfifo
+mkfifoat
mknod
+mknodat
mkstemp
-mktemp
mktime
mlock
mlockall
nearbyint
nearbyintf
nearbyintl
+newlocale
nextafter
nextafterf
nextafterl
nftw
nice
nl_langinfo
+nl_langinfo_l
nrand48
ntohl
ntohs
open
+open_memstream
+open_wmemstream
+openat
opendir
openlog
optarg
+opterr
+optind
+optopt
pathconf
pause
pclose
pread
printf
pselect
+psiginfo
+psignal
pthread_atfork
pthread_attr_destroy
pthread_attr_getdetachstate
pthread_attr_getschedpolicy
pthread_attr_getscope
pthread_attr_getstack
-pthread_attr_getstackaddr
pthread_attr_getstacksize
pthread_attr_init
pthread_attr_setdetachstate
pthread_attr_setschedpolicy
pthread_attr_setscope
pthread_attr_setstack
-pthread_attr_setstackaddr
pthread_attr_setstacksize
pthread_barrier_destroy
pthread_barrier_init
pthread_key_create
pthread_key_delete
pthread_kill
+pthread_mutex_consistent
pthread_mutex_destroy
pthread_mutex_getprioceiling
pthread_mutex_init
pthread_mutexattr_getprioceiling
pthread_mutexattr_getprotocol
pthread_mutexattr_getpshared
+pthread_mutexattr_getrobust
pthread_mutexattr_gettype
pthread_mutexattr_init
pthread_mutexattr_setprioceiling
pthread_mutexattr_setprotocol
pthread_mutexattr_setpshared
+pthread_mutexattr_setrobust
pthread_mutexattr_settype
pthread_once
pthread_rwlock_destroy
readdir
readdir_r
readlink
+readlinkat
readv
realloc
realpath
remquof
remquol
rename
+renameat
rewind
rewinddir
-rindex
rint
rintf
rintl
round
roundf
roundl
-scalb
scalbln
scalblnf
scalblnl
scalbn
scalbnf
scalbnl
+scandir
scanf
sched_get_priority_max
+sched_get_priority_min
sched_getparam
sched_getscheduler
sched_rr_get_interval
sendmsg
sendto
setbuf
-setcontext
setegid
setenv
seteuid
siglongjmp
signal
signbit
+signgam
sigpause
sigpending
sigprocmask
sscanf
stat
statvfs
+stderr
stdin
+stdout
+stpcpy
+stpncpy
strcasecmp
+strcasecmp_l
strcat
strchr
strcmp
strcoll
+strcoll_l
strcpy
strcspn
strdup
strerror
+strerror_l
strerror_r
strfmon
+strfmon_l
strftime
+strftime_l
strlen
strncasecmp
+strncasecmp_l
strncat
strncmp
strncpy
+strndup
+strnlen
strpbrk
strptime
strrchr
+strsignal
strspn
strstr
strtod
strtoull
strtoumax
strxfrm
+strxfrm_l
swab
-swapcontext
swprintf
swscanf
symlink
+symlinkat
sync
sysconf
syslog
timer_create
timer_delete
timer_getoverrun
+timer_gettime
timer_settime
times
timezone
tmpnam
toascii
tolower
+tolower_l
toupper
+toupper_l
towctrans
+towctrans_l
towlower
+towlower_l
towupper
+towupper_l
trunc
truncate
truncf
twalk
tzname
tzset
-ualarm
ulimit
umask
uname
ungetc
ungetwc
unlink
+unlinkat
unlockpt
unsetenv
-usleep
+uselocale
utime
+utimensat
utimes
va_arg
va_copy
va_end
va_start
-vfork
+vdprintf
vfprintf
vfscanf
vfwprintf
wait
waitid
waitpid
+wcpcpy
+wcpncpy
wcrtomb
+wcscasecmp
+wcscasecmp_l
wcscat
wcschr
wcscmp
wcscoll
+wcscoll_l
wcscpy
wcscspn
+wcsdup
wcsftime
wcslen
+wcsncasecmp
+wcsncasecmp_l
wcsncat
wcsncmp
wcsncpy
+wcsnlen
+wcsnrtombs
wcspbrk
wcsrchr
wcsrtombs
wcstoul
wcstoull
wcstoumax
-wcswcs
wcswidth
wcsxfrm
+wcsxfrm_l
wctob
wctomb
wctrans
+wctrans_l
wctype
+wctype_l
wcwidth
wmemchr
wmemcmp
y1
yn
' | sed -e "$sed_alt1" | tr -d "$trnl" | sed -e "$sed_alt2" -e "$sed_alt3"`
+posix2001_functions=`echo '
+bcmp
+bcopy
+bsd_signal
+bzero
+ecvt
+fcvt
+ftime
+gcvt
+getcontext
+gethostbyaddr
+gethostbyname
+getwd
+h_errno
+index
+makecontext
+mktemp
+pthread_attr_getstackaddr
+pthread_attr_setstackaddr
+rindex
+scalb
+setcontext
+swapcontext
+ualarm
+usleep
+vfork
+wcswcs
+' | sed -e "$sed_alt1" | tr -d "$trnl" | sed -e "$sed_alt2" -e "$sed_alt3"`
indent=""
seen_modules=
element=`gnulib-tool --extract-description $1 \
| sed -e "$sed_lt" -e "$sed_gt" -e "$sed_remove_trailing_empty_line" \
-e 's,^, ,' -e 's,$, ,' \
- -e 's,\([^a-zA-Z_]\)'"${posix_functions}"'() \(function\|macro\),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A> \3,g' \
- -e 's,\([^a-zA-Z_]\)'"${posix_functions}"' \(function\|macro\),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A> \3,g' \
- -e 's,\([^a-zA-Z_]\)'"${posix_functions}"'(),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A> <SPAN STYLE="color:#FF0000;">what?? If you mean a function\, please say so.</SPAN>,g' \
+ -e 's,\([^a-zA-Z_]\)'"${posix_functions}"'() \(function\|macro\),\1<A HREF="'"$POSIX2008_URL"'/functions/\2.html">\2</A> \3,g' \
+ -e 's,\([^a-zA-Z_]\)'"${posix_functions}"' \(function\|macro\),\1<A HREF="'"$POSIX2008_URL"'/functions/\2.html">\2</A> \3,g' \
+ -e 's,\([^a-zA-Z_]\)'"${posix_functions}"'(),\1<A HREF="'"$POSIX2008_URL"'/functions/\2.html">\2</A> <SPAN STYLE="color:#FF0000;">what?? If you mean a function\, please say so.</SPAN>,g' \
+ -e 's,\([^a-zA-Z_]\)'"${posix2001_functions}"'() \(function\|macro\),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A> \3,g' \
+ -e 's,\([^a-zA-Z_]\)'"${posix2001_functions}"' \(function\|macro\),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A> \3,g' \
+ -e 's,\([^a-zA-Z_]\)'"${posix2001_functions}"'(),\1<A HREF="'"$POSIX2001_URL"'xsh/\2.html">\2</A> <SPAN STYLE="color:#FF0000;">what?? If you mean a function\, please say so.</SPAN>,g' \
-e 's,\([^a-zA-Z_]\)\([a-zA-Z_][a-zA-Z0-9_]*\)() \(function\|macro\),\1\2 \3,g' \
-e 's,\([^a-zA-Z_]\)\([a-zA-Z_][a-zA-Z0-9_]*\)(),\1\2 <SPAN STYLE="color:#FF0000;">what?? If you mean a function\, please say so.</SPAN>,g' \
-e 's, '"'"'\([a-zA-Z0-9_ -]*\)'"'"'\([^a-zA-Z0-9_]\), <CODE>\1</CODE>\2,g' \
element=`echo "$includes" \
| sed -e "$sed_lt" -e "$sed_gt" -e "$sed_remove_trailing_empty_line" \
-e 's,^#include "\(.*\)"$,#include "<A HREF="'$repo_url_prefix'lib/\1'$repo_url_suffix_repl'">\1</A>",' \
- -e 's,^#include <'"${posix_headers}"'\.h>$,#include \<<A HREF="'"$POSIX2001_URL"'xbd/\1.h.html">\1.h</A>\>,' \
+ -e 's,^#include <'"${posix_headers}"'\.h>$,#include \<<A HREF="'"$POSIX2008_URL"'/basedefs/\1.h.html">\1.h</A>\>,' \
+ -e 's,<A HREF="'"$POSIX2008_URL"'/basedefs/\([a-zA-Z0-9_]*\)/\([a-zA-Z0-9_]*\)\.h\.html">,<A HREF="'"$POSIX2008_URL"'/basedefs/\1_\2.h.html">,' \
+ -e 's,^#include <'"${posix2001_headers}"'\.h>$,#include \<<A HREF="'"$POSIX2001_URL"'xbd/\1.h.html">\1.h</A>\>,' \
-e 's/$/<BR>/' | tr -d "$trnl" | sed -e 's/<BR>$//'`
test -n "$element" || element='---'
func_echo "<TD ALIGN=LEFT VALIGN=TOP>$element"