*** empty log message ***
[gnulib.git] / MODULES.txt
1 This is a list of the modules which make up gnulib, with dependencies.
2
3 * Support for systems lacking ANSI C 89.
4
5 -------------------------------------------------------------------------------
6 lib/            lib/                  m4/
7 Header          Implementation        Autoconf macro              Depends on
8 -------------------------------------------------------------------------------
9
10 ---             ---                   c-bs-a.m4                   ---
11                                       AC_C_BACKSLASH_A
12
13 <assert.h>      ---                   assert.m4                   ---
14                                       jm_ASSERT
15
16 <stdlib.h>      atexit.c              AC_REPLACE_FUNCS(atexit)    ---
17
18 <stdlib.h>      strtod.c              AC_REPLACE_FUNCS(strtod)    ---
19                                       AC_STDC_HEADERS
20                                       AC_CHECK_HEADERS(float.h)
21                                       AC_CHECK_FUNCS(isascii)
22                                       AC_CHECK_LIB(m, pow, ...)
23
24 <stdlib.h>      strtol.c              AC_REPLACE_FUNCS(strtol)    ---
25                                       AC_STDC_HEADERS
26                                       AC_CHECK_HEADERS(limits.h)
27                                       AC_CHECK_FUNCS(isascii)
28
29 <stdlib.h>      strtoul.c             AC_REPLACE_FUNCS(strtoul)   strtol
30
31 <string.h>      memchr.c              AC_REPLACE_FUNCS(memchr)    ---
32                                       AC_CHECK_HEADERS(limits.h)
33                                       AC_CHECK_HEADERS(stdlib.h)
34                                       see also jm_PREREQ_MEMCHR
35
36 <string.h>      memcmp.c              memcmp.m4                   ---
37                                       jm_FUNC_MEMCMP
38                                       AC_CHECK_HEADERS(string.h)
39
40 <string.h>      memcpy.c              AC_REPLACE_FUNCS(memcpy)    ---
41
42 <string.h>      memmove.c             AC_REPLACE_FUNCS(memmove)   ---
43
44 <string.h>      memset.c              AC_REPLACE_FUNCS(memset)    ---
45
46 <string.h>      strcspn.c             AC_REPLACE_FUNCS(strcspn)   ---
47                                       AC_CHECK_HEADERS(string.h)
48
49 strpbrk.h       strpbrk.c             AC_REPLACE_FUNCS(strpbrk)   ---
50                                       AC_CHECK_HEADERS(string.h)
51
52 strstr.h        strstr.c              AC_REPLACE_FUNCS(strstr)    ---
53                                       AC_CHECK_HEADERS(string.h)
54
55 <string.h>      strerror.c            AC_REPLACE_FUNCS(strerror)  ---
56
57 <time.h>        mktime.c              AC_FUNC_MKTIME              ---
58                                       AC_STDC_HEADERS
59                                       AC_CHECK_HEADERS(limits.h)
60                                       see also jm_FUNC_MKTIME
61
62 -------------------------------------------------------------------------------
63
64 These modules are not listed among dependencies below, for simplicity.
65
66 * Enhancements for ANSI C 89 functions.
67
68 + Memory management functions <stdlib.h>
69
70 -------------------------------------------------------------------------------
71 lib/            lib/                  m4/
72 Header          Implementation        Autoconf macro              Depends on
73 -------------------------------------------------------------------------------
74
75 <stdlib.h>      malloc.c              malloc.m4                   ---
76                                       jm_FUNC_MALLOC
77                                       or autoconf >= 2.57
78                                       AC_FUNC_MALLOC
79
80 <stdlib.h>      realloc.c             realloc.m4                  ---
81                                       jm_FUNC_REALLOC
82                                       or autoconf >= 2.57
83                                       AC_FUNC_REALLOC
84
85 -------------------------------------------------------------------------------
86
87 + Date and time <time.h>
88
89 -------------------------------------------------------------------------------
90 lib/            lib/                  m4/
91 Header          Implementation        Autoconf macro              Depends on
92 -------------------------------------------------------------------------------
93
94 <time.h>        strftime.c            strftime.m4                 ---
95                                       jm_FUNC_GNU_STRFTIME
96
97 -------------------------------------------------------------------------------
98
99 * Extra functions based on ANSI C 89.
100
101 + Memory management functions <stdlib.h>
102
103 -------------------------------------------------------------------------------
104 lib/            lib/                  m4/
105 Header          Implementation        Autoconf macro              Depends on
106 -------------------------------------------------------------------------------
107
108 xalloc.h        xmalloc.c             AC_STDC_HEADERS             malloc
109                 xstrdup.c             AC_CHECK_HEADERS(string.h)  realloc
110                                                                   error
111                                                                   gettext
112
113 30 lines        alloca.c              AC_FUNC_ALLOCA              xalloc
114
115 bumpalloc.h     ---                   ---                         xalloc
116
117 -------------------------------------------------------------------------------
118
119 + Integer arithmetic functions <stdlib.h>
120
121 -------------------------------------------------------------------------------
122 lib/            lib/                  m4/
123 Header          Implementation        Autoconf macro              Depends on
124 -------------------------------------------------------------------------------
125
126 gcd.h           gcd.c                 ---                         ---
127
128 -------------------------------------------------------------------------------
129
130 + Environment variables <stdlib.h>
131
132 -------------------------------------------------------------------------------
133 lib/            lib/                  m4/
134 Header          Implementation        Autoconf macro              Depends on
135 -------------------------------------------------------------------------------
136
137 NYI             putenv.c              putenv.m4                   ---
138                                       jm_FUNC_PUTENV
139                                       AC_CHECK_HEADERS(string.h)
140                                       AC_CHECK_HEADERS(unistd.h)
141                                       AC_CHECK_FUNCS(strchr)
142                                       AC_CHECK_FUNCS(memcpy)
143
144 setenv.h        setenv.c              setenv.m4                   ---
145                 unsetenv.c            gt_FUNC_SETENV
146                                       AC_FUNC_ALLOCA
147
148 -------------------------------------------------------------------------------
149
150 + Character handling <ctype.h>
151
152 + String handling <string.h>
153
154 -------------------------------------------------------------------------------
155 lib/            lib/                  m4/
156 Header          Implementation        Autoconf macro              Depends on
157 -------------------------------------------------------------------------------
158
159 NYI             bcopy.c               AC_REPLACE_FUNCS(bcopy)     ---
160
161 NYI             memrchr.c             AC_REPLACE_FUNCS(memrchr)   ---
162                                       AC_CHECK_HEADERS(stdlib.h)
163                                       AC_CHECK_HEADERS(limits.h)
164                                       AC_GNU_SOURCE
165
166 stpcpy.h        stpcpy.c              AC_REPLACE_FUNCS(stpcpy)    ---
167                                       AC_GNU_SOURCE
168
169 strcase.h       strcasecmp.c          AC_REPLACE_FUNCS(strcasecmp)  ---
170                 strncasecmp.c         AC_REPLACE_FUNCS(strncasecmp)
171
172 NYI             strdup.c              AC_REPLACE_FUNCS(strdup)    ---
173                                       AC_STDC_HEADERS
174
175 NYI             strndup.c             AC_REPLACE_FUNCS(strndup)   strnlen
176                                       AC_STDC_HEADERS
177                                       AC_CHECK_DECLS(strnlen)
178                                       AC_GNU_SOURCE
179
180 NYI             strnlen.c             AC_REPLACE_FUNCS(strnlen)   ---
181                                       AC_FUNC_STRNLEN
182                                       AC_STDC_HEADERS
183                                       AC_CHECK_HEADERS(string.h)
184                                       AC_CHECK_HEADERS(memory.h)
185                                       AC_CHECK_DECLS(memchr)
186                                       AC_GNU_SOURCE
187                                       see also jm_PREREQ_STRNLEN
188
189 -------------------------------------------------------------------------------
190
191 + Numeric conversion functions <stdlib.h>
192
193 -------------------------------------------------------------------------------
194 lib/            lib/                  m4/
195 Header          Implementation        Autoconf macro              Depends on
196 -------------------------------------------------------------------------------
197
198 xstrtod.h       xstrtod.c             AC_STDC_HEADERS             ---
199
200 xstrtol.h       xstrtol.c             xstrtoimax.m4               ---
201                 xstrtoul.c            xstrtoumax.m4
202                 xstrtoimax.c          AC_STDC_HEADERS
203                 xstrtoumax.c          AC_CHECK_HEADERS(string.h)
204                                       AC_CHECK_HEADERS(limits.h)
205                                       AC_CHECK_HEADERS(inttypes.h)
206                                       AC_CHECK_FUNCS(isascii)
207                                       AC_CHECK_DECLS(strtol)
208                                       AC_CHECK_DECLS(strtoul)
209                                       AC_CHECK_DECLS(strtoimax)
210                                       AC_CHECK_DECLS(strtoumax)
211                                       see also jm_AC_PREREQ_XSTRTOIMAX
212                                       see also jm_AC_PREREQ_XSTRTOUMAX
213
214 -------------------------------------------------------------------------------
215
216 + Date and time <time.h>
217
218 -------------------------------------------------------------------------------
219 lib/            lib/                  m4/
220 Header          Implementation        Autoconf macro              Depends on
221 -------------------------------------------------------------------------------
222
223 getdate.h       getdate.y             bison.m4                    unlocked-io
224                                       AC_STDC_HEADERS
225                                       AC_HEADER_TIME
226                                       AC_CHECK_HEADERS(stdlib.h)
227                                       AC_CHECK_HEADERS(string.h)
228                                       AC_CHECK_HEADERS(sys/time.h)
229                                       AC_CHECK_FUNCS(isascii)
230                                       AC_STRUCT_TIMEZONE
231                                       HAVE_TM_GMTOFF see strftime.m4
232                                       jm_BISON
233
234 -------------------------------------------------------------------------------
235
236 + Input/Output <stdio.h>
237
238 -------------------------------------------------------------------------------
239 lib/            lib/                  m4/
240 Header          Implementation        Autoconf macro              Depends on
241 -------------------------------------------------------------------------------
242
243 unlocked-io.h   ---                   jm-glibc-io.m4              ---
244                                       jm_FUNC_GLIBC_UNLOCKED_IO
245                                       AC_GNU_SOURCE
246
247 -------------------------------------------------------------------------------
248
249 + Command-line arguments
250
251 -------------------------------------------------------------------------------
252 lib/            lib/                  m4/
253 Header          Implementation        Autoconf macro              Depends on
254 -------------------------------------------------------------------------------
255
256 argmatch.h      argmatch.c            ---                         gettext
257                                                                   error
258                                                                   quotearg
259                                                                   quote
260                                                                   unlocked-io
261
262 version-etc.h   version-etc.c         ---                         unlocked-io
263                                                                   gettext
264
265 long-options.h  long-options.c        AC_CHECK_HEADERS(stdlib.h)  version-etc
266
267 -------------------------------------------------------------------------------
268
269 + Cryptographic computations
270
271 -------------------------------------------------------------------------------
272 lib/            lib/                  m4/
273 Header          Implementation        Autoconf macro              Depends on
274 -------------------------------------------------------------------------------
275
276 md5.h           md5.c                 AC_STDC_HEADERS             unlocked-io
277                                       AC_CHECK_HEADERS(limits.h)
278                                       AC_CHECK_FUNCS(memcpy)
279
280 sha.h           sha.c                 AC_STDC_HEADERS             unlocked-io
281                                       AC_CHECK_FUNCS(memcpy)      md5
282
283 -------------------------------------------------------------------------------
284
285 + Misc
286
287 -------------------------------------------------------------------------------
288 lib/            lib/                  m4/
289 Header          Implementation        Autoconf macro              Depends on
290 -------------------------------------------------------------------------------
291
292 diacrit.h       diacrit.c             ---                         ---
293
294 getstr.h        getstr.c              AC_STDC_HEADERS             unlocked-io
295
296 getline.h       getline.c             getline.m4                  getstr
297                                       AM_FUNC_GETLINE
298                                       AC_CHECK_FUNCS(getdelim)
299                                       AC_GNU_SOURCE
300
301 linebuffer.h    linebuffer.c          ---                         xalloc
302                                                                   unlocked-io
303
304 obstack.h       obstack.c             AC_CHECK_HEADERS(stddef.h)  gettext
305                                       AC_CHECK_HEADERS(string.h)
306
307 hash-pjw.h      hash-pjw.c            ---                         ---
308
309 hash.h          hash.c                AC_CHECK_HEADERS(stdlib.h)  malloc
310                                       AC_HEADER_STDBOOL           realloc
311                                       AC_CHECK_DECLS(malloc)
312                                       AC_CHECK_DECLS(free)
313                                       see also jm_PREREQ_HASH
314
315 readtokens.h    readtokens.c          AC_STDC_HEADERS             xalloc
316                                       AC_CHECK_HEADERS(string.h)  unlocked-io
317                                       AC_CHECK_HEADERS(memory.h)
318
319 strverscmp.h    strverscmp.c          AC_REPLACE_FUNCS(strverscmp) ---
320                                       AC_GNU_SOURCE
321
322 -------------------------------------------------------------------------------
323
324 * Support for systems lacking ISO C 99.
325
326 + Boolean type and values <stdbool.h>
327
328 -------------------------------------------------------------------------------
329 lib/            lib/                  m4/
330 Header          Implementation        Autoconf macro              Depends on
331 -------------------------------------------------------------------------------
332
333 5 lines         ---                   stdbool.m4                  ---
334                                       AC_HEADER_STDBOOL
335
336 -------------------------------------------------------------------------------
337
338 + Numeric conversion functions <stdlib.h>
339
340 -------------------------------------------------------------------------------
341 lib/            lib/                  m4/
342 Header          Implementation        Autoconf macro              Depends on
343 -------------------------------------------------------------------------------
344
345 <stdlib.h>      strtoll.c             AC_REPLACE_FUNCS(strtoll)   strtol
346
347 <stdlib.h>      strtoull.c            AC_REPLACE_FUNCS(strtoull)  strtoul
348
349 -------------------------------------------------------------------------------
350
351 + Functions for greatest-width integer types <inttypes.h>
352
353 -------------------------------------------------------------------------------
354 lib/            lib/                  m4/
355 Header          Implementation        Autoconf macro              Depends on
356 -------------------------------------------------------------------------------
357
358 NYI             strtoimax.c           longlong.m4                 ---
359                                       AC_CHECK_HEADERS(inttypes.h)
360                                       AC_CHECK_HEADERS(stdlib.h)
361                                       AC_CHECK_DECLS(strtol)
362                                       AC_CHECK_DECLS(strtoll)
363                                       jm_AC_TYPE_LONG_LONG
364
365 NYI             strtoumax.c           longlong.m4                 ---
366                                       AC_CHECK_HEADERS(inttypes.h)
367                                       AC_CHECK_HEADERS(stdlib.h)
368                                       AC_CHECK_DECLS(strtoul)
369                                       AC_CHECK_DECLS(strtoull)
370                                       jm_AC_TYPE_UNSIGNED_LONG_LONG
371
372 -------------------------------------------------------------------------------
373
374 * Enhancements for ISO C 99 functions.
375
376 -------------------------------------------------------------------------------
377 lib/            lib/                  m4/
378 Header          Implementation        Autoconf macro              Depends on
379 -------------------------------------------------------------------------------
380
381 -------------------------------------------------------------------------------
382
383 * Extra functions based on ISO C 99.
384
385 -------------------------------------------------------------------------------
386 lib/            lib/                  m4/
387 Header          Implementation        Autoconf macro              Depends on
388 -------------------------------------------------------------------------------
389
390 -------------------------------------------------------------------------------
391
392 * Support for systems lacking POSIX:2001.
393
394 -------------------------------------------------------------------------------
395 lib/            lib/                  m4/
396 Header          Implementation        Autoconf macro              Depends on
397 -------------------------------------------------------------------------------
398
399 <unistd.h>      chown.c               chown.m4                    ---
400                                       jm_FUNC_CHOWN
401
402 <unistd.h>      dup2.c                AC_REPLACE_FUNCS(dup2)      ---
403                                       AC_CHECK_HEADERS(unistd.h)
404                                       AC_CHECK_HEADERS(fcntl.h)
405
406 <unistd.h>      ftruncate.c           ftruncate.m4                ---
407                                       jm_FUNC_FTRUNCATE
408
409 <unistd.h>      getgroups.c           getgroups.m4                xalloc
410                                       jm_FUNC_GETGROUPS
411
412 <sys/time.h>    gettimeofday.c        gettimeofday.m4             ---
413                                       AC_FUNC_GETTIMEOFDAY_CLOBBER
414
415 <sys/stat.h>    mkdir.c               mkdir-slash.m4              xalloc
416                                       AC_CHECK_HEADERS(stdlib.h)  dirname
417                                       AC_CHECK_HEADERS(string.h)
418                                       AC_CHECK_DECLS(free)
419                                       UTILS_FUNC_MKDIR_TRAILING_SLASH
420
421 <stdlib.h>      mkstemp.c             mkstemp.m4                  ---
422                 tempname.c            UTILS_FUNC_MKSTEMP
423                                       jm_PREREQ_TEMPNAME
424
425 <sys/stat.h>    stat.c                stat.m4                     ---
426                                       jm_FUNC_STAT
427
428 <sys/stat.h>    lstat.c               lstat.m4                    stat
429                                       jm_FUNC_LSTAT               xalloc
430                                       AC_HEADER_STAT
431                                       AC_CHECK_HEADERS(stdlib.h)
432                                       AC_CHECK_DECLS(free)
433
434 timespec.h      ---                   timespec.m4                 ---
435                                       st_mtim.m4
436                                       AC_CHECK_HEADERS(sys/time.h)
437                                       jm_CHECK_TYPE_STRUCT_TIMESPEC
438                                       AC_STRUCT_ST_MTIM_NSEC
439                                       AC_CHECK_DECLS(nanosleep)
440
441 <time.h>        nanosleep.c           nanosleep.m4                timespec
442                 timespec.h (BAD)      jm_FUNC_NANOSLEEP
443                                       AC_CHECK_HEADERS(unistd.h)
444
445 regex.h         regex.c               regex.m4                    alloca
446                                       jm_INCLUDED_REGEX           unlocked-io
447                                       jm_PREREQ_REGEX             gettext
448
449 <stdio.h>       rename.c              rename.m4                   xalloc
450                                       vb_FUNC_RENAME              dirname
451                                       AC_CHECK_HEADERS(stdlib.h)
452                                       AC_CHECK_HEADERS(string.h)
453                                       AC_CHECK_DECLS(free)
454
455 <unistd.h>      rmdir.c               AC_REPLACE_FUNCS(rmdir)     ---
456                                       AC_HEADER_STAT
457
458 <utime.h>       utime.c               utime.m4                    safe-read
459                                       utimbuf.m4                  full-write
460                                       utimes.m4
461                                       jm_FUNC_UTIME
462
463 -------------------------------------------------------------------------------
464
465 * Enhancements for POSIX:2001 functions.
466
467 -------------------------------------------------------------------------------
468 lib/            lib/                  m4/
469 Header          Implementation        Autoconf macro              Depends on
470 -------------------------------------------------------------------------------
471
472 dirname.h       dirname.c             dos.m4                      xalloc
473                 basename.c            jm_AC_DOS
474                 stripslash.c          jm_PREREQ_DIRNAME
475
476 getopt.h        getopt.c              AC_CHECK_HEADERS(string.h)  gettext
477                 getopt1.c
478
479 unistd-safer.h  dup-safer.c           AC_CHECK_HEADERS(unistd.h)  ---
480                                       AC_CHECK_HEADERS(fcntl.h)
481
482 fnmatch_.h      fnmatch.c             fnmatch.m4                  alloca
483                 fnmatch_loop.c        mbstate_t.m4
484                                       AC_FUNC_FNMATCH_GNU
485                                       AC_STDC_HEADERS
486                                       AC_CHECK_HEADERS(string.h)
487                                       AC_CHECK_HEADERS(strings.h)
488
489 exclude.h       exclude.c             jm_PREREQ_EXCLUDE           xalloc
490                                       AC_CHECK_HEADERS(stdlib.h)  strcase
491                                       AC_CHECK_HEADERS(string.h)  unlocked-io
492                                       AC_CHECK_HEADERS(strings.h) fnmatch
493                                       AC_CHECK_HEADERS(sys/types.h)
494                                       AC_CHECK_HEADERS(inttypes.h)
495                                       AC_CHECK_HEADERS(stdint.h)
496
497 -------------------------------------------------------------------------------
498
499 * Extra functions based on POSIX:2001.
500
501 + Numeric conversion functions
502
503 -------------------------------------------------------------------------------
504 lib/            lib/                  m4/
505 Header          Implementation        Autoconf macro              Depends on
506 -------------------------------------------------------------------------------
507
508 human.h         human.c               AC_CHECK_HEADERS(inttypes.h) gettext
509                                       AC_CHECK_HEADERS(string.h)   argmatch
510                                       AC_CHECK_HEADERS(limits.h)   error
511                                       AC_CHECK_HEADERS(stdlib.h)   xstrtol
512                                       AC_CHECK_DECLS(getenv)
513                                       jm_PREREQ_HUMAN
514
515 -------------------------------------------------------------------------------
516
517 + File system functions
518
519 -------------------------------------------------------------------------------
520 lib/            lib/                  m4/
521 Header          Implementation        Autoconf macro              Depends on
522 -------------------------------------------------------------------------------
523
524 acl.h           acl.c                 acl.m4                      ---
525                                       AC_FUNC_ACL
526
527 backupfile.h    backupfile.c          d-ino.m4                    argmatch
528                 addext.c              dos.m4                      dirname
529                 getversion.c          jm_PREREQ_ADDEXT
530                                       jm_CHECK_TYPE_STRUCT_DIRENT_D_INO
531                                       jm_AC_DOS
532                                       AC_STDC_HEADERS
533                                       AC_CHECK_HEADERS(stdlib.h)
534                                       AC_CHECK_DECLS(malloc)
535                                       AC_CHECK_DECLS(getenv)
536
537 fsusage.h       fsusage.c             fsusage.m4                  full-read
538                                       jm_FILE_SYSTEM_USAGE
539                                       STATFS_TRUNCATES_BLOCK_COUNTS ?
540                                       jm_AC_TYPE_UINTMAX_T
541                                       AC_LIBOBJ(fsusage)
542                                       AC_CHECK_HEADERS(inttypes.h)
543                                       AC_CHECK_HEADERS(stdint.h)
544                                       AC_CHECK_HEADERS(limits.h)
545                                       AC_CHECK_HEADERS(fcntl.h)
546                                       AC_CHECK_HEADERS(dustat.h)
547                                       AC_CHECK_HEADERS(sys/param.h)
548                                       AC_CHECK_HEADERS(sys/mount.h)
549                                       AC_CHECK_HEADERS(sys/vfs.h)
550                                       AC_CHECK_HEADERS(sys/fs/s5param.h)
551                                       AC_CHECK_HEADERS(sys/filsys.h)
552                                       AC_CHECK_HEADERS(sys/statfs.h)
553                                       AC_CHECK_HEADERS(sys/statvfs.h)
554
555 dirfd.h         dirfd.c               dirfd.m4                    ---
556                                       UTILS_FUNC_DIRFD
557
558 NYI             euidaccess.c          AC_GNU_SOURCE               ---
559                                       AC_REPLACE_FUNCS(euidaccess)
560                                       AC_CHECK_HEADERS(unistd.h)
561                                       AC_CHECK_FUNCS(getgroups)
562
563 file-type.h     file-type.c           AC_HEADER_STAT              gettext
564
565 NYI             fileblocks.c          AC_STRUCT_ST_BLOCKS         ---
566 (see coreutils/lib/system.h)          AC_CHECK_HEADERS(unistd.h)
567                                       AC_CHECK_HEADERS(sys/param.h)
568
569 filemode.h      filemode.c            AC_HEADER_STAT              ---
570
571 NYI             isdir.c               AC_HEADER_STAT              ---
572
573 NYI             lchown.h              lchown.m4                   chown
574                 lchown.c              jm_FUNC_LCHOWN
575                                       AC_HEADER_STAT
576
577 makepath.h      makepath.c            afs.m4                      alloca
578                                       AC_FUNC_ALLOCA              chown
579                                       AC_HEADER_STAT              gettext
580                                       AC_CHECK_HEADERS(unistd.h)  save-cwd
581                                       AC_CHECK_HEADERS(string.h)  dirname
582                                                                   error
583                                                                   quote
584
585 modechange.h    modechange.c          AC_CHECK_HEADERS            xstrtol
586                                       AC_HEADER_STAT
587
588 mountlist.h     mountlist.c           ls-mntd-fs.m4               xalloc
589                                       fstypename.m4               unlocked-io
590                                       jm_LIST_MOUNTED_FILESYSTEMS
591                                       jm_FSTYPENAME
592                                       AC_LIBOBJ(mountlist)
593                                       AC_STDC_HEADERS
594                                       AC_CHECK_HEADERS(unistd.h)
595                                       AC_CHECK_HEADERS(string.h)
596                                       AC_CHECK_HEADERS(fcntl.h)
597                                       AC_CHECK_HEADERS(sys/mntent.h)
598
599 path-concat.h   path-concat.c         dos.m4                      strdup
600                                       jm_AC_DOS                   xalloc
601                                       AC_STDC_HEADERS             dirname
602                                       AC_CHECK_HEADERS(string.h)
603                                       AC_CHECK_HEADERS(strings.h)
604                                       AC_CHECK_HEADERS(memory.h)
605                                       AC_CHECK_HEADERS(stdlib.h)
606                                       AC_CHECK_HEADERS(unistd.h)
607                                       AC_CHECK_FUNCS(mempcpy)
608                                       AC_CHECK_DECLS(malloc)
609
610 pathmax.h       ---                   AC_CHECK_HEADERS(unistd.h)  ---
611                                       AC_CHECK_HEADERS(limits.h)
612                                       AC_CHECK_HEADERS(sys/param.h)
613
614 same.h          same.c                AC_CHECK_HEADERS(unistd.h)  xalloc
615                                       AC_CHECK_HEADERS(stdlib.h)  error
616                                       AC_CHECK_HEADERS(string.h)  dirname
617                                       AC_CHECK_DECLS(free)
618
619 save-cwd.h      save-cwd.c            AC_STDC_HEADERS             error
620                                       AC_CHECK_HEADERS(unistd.h)
621                                       AC_CHECK_HEADERS(fcntl.h)
622                                       AC_CHECK_FUNCS(fchdir)
623
624 savedir.h       savedir.c             AC_STDC_HEADERS             xalloc
625                                       AC_DIR_HEADER
626                                       AC_FUNC_CLOSEDIR_VOID
627
628 xgetcwd.h       xgetcwd.c             getcwd.m4                   xalloc
629                                       jm_PREREQ_XGETCWD           pathmax
630
631 xreadlink.h     xreadlink.c           jm_PREREQ_XREADLINK         xalloc
632
633 -------------------------------------------------------------------------------
634
635 + File descriptor based Input/Output
636
637 -------------------------------------------------------------------------------
638 lib/            lib/                  m4/
639 Header          Implementation        Autoconf macro              Depends on
640 -------------------------------------------------------------------------------
641
642 safe-read.h     safe-read.c           AC_CHECK_HEADERS(unistd.h)  ---
643
644 safe-write.h    safe-write.c          ---                         safe-read
645
646 full-read.h     full-read.c           ---                         safe-read
647
648 full-write.h    full-write.c          ---                         safe-write
649
650 -------------------------------------------------------------------------------
651
652 + File stream based Input/Output
653
654 -------------------------------------------------------------------------------
655 lib/            lib/                  m4/
656 Header          Implementation        Autoconf macro              Depends on
657 -------------------------------------------------------------------------------
658
659 __fpending.h    __fpending.c          fpending.m4                 ---
660                                       jm_FUNC_FPENDING
661
662 closeout.h      closeout.c            AC_CHECK_HEADERS(stdlib.h)  unlocked-io
663                                                                   gettext
664                                                                   error
665                                                                   quotearg
666                                                                   fpending
667
668 stdio-safer.h   fopen-safer.c         AC_CHECK_HEADERS(unistd.h)  unistd-safer
669
670 NYI             getpass.c             AC_REPLACE_FUNCS(getpass)   unlocked-io
671                                                                   getline
672
673 -------------------------------------------------------------------------------
674
675 + Users and groups
676
677 -------------------------------------------------------------------------------
678 lib/            lib/                  m4/
679 Header          Implementation        Autoconf macro              Depends on
680 -------------------------------------------------------------------------------
681
682 NYI             getugroups.c          AC_STDC_HEADERS             ---
683                                       AC_CHECK_HEADERS(unistd.h)
684                                       AC_CHECK_HEADERS(string.h)
685                                       AC_TYPE_GETGROUPS
686
687 group-member.h  group-member.c        group-member.m4             xalloc
688                                       jm_FUNC_GROUP_MEMBER
689                                       AC_STDC_HEADERS
690                                       AC_CHECK_HEADERS(unistd.h)
691                                       AC_FUNC_GETGROUPS
692                                       AC_GNU_SOURCE
693
694 NYI             idcache.c             AC_STDC_HEADERS             xalloc
695                                       AC_CHECK_HEADERS(unistd.h)
696                                       AC_CHECK_HEADERS(string.h)
697
698 NYI             userspec.c            AC_STDC_HEADERS             alloca
699                                       AC_FUNC_ALLOCA              xalloc
700                                       AC_CHECK_HEADERS(string.h)  xstrtol
701                                       AC_CHECK_HEADERS(limits.h)  strdup
702                                       AC_CHECK_HEADERS(unistd.h)  gettext
703                                       AC_CHECK_HEADERS(sys/param.h)
704
705 -------------------------------------------------------------------------------
706
707 + Date and time
708
709 -------------------------------------------------------------------------------
710 lib/            lib/                  m4/
711 Header          Implementation        Autoconf macro              Depends on
712 -------------------------------------------------------------------------------
713
714 NYI             gettime.c             for clock_gettime           gettimeofday
715                 timespec.h (BAD)      see jm-macros.m4
716
717 NYI             settime.c             for clock_settime           ---
718                 timespec.h (BAD)      see jm-macros.m4
719
720 NYI             stime.c               ---                         ---
721                 (TODO: remove)
722
723 posixtm.h       posixtm.c             AC_HEADER_TIME              unlocked-io
724                                       AC_CHECK_HEADERS(string.h)
725                                       AC_CHECK_HEADERS(stdlib.h)
726
727 -------------------------------------------------------------------------------
728
729 + Networking functions
730
731 -------------------------------------------------------------------------------
732 lib/            lib/                  m4/
733 Header          Implementation        Autoconf macro              Depends on
734 -------------------------------------------------------------------------------
735
736 NYI             gethostname.c         AC_REPLACE_FUNCS(gethostname) ---
737                                       AC_CHECK_FUNCS(uname)
738
739 NYI             xgethostname.c        ---                         gehostname
740                                                                   xalloc
741                                                                   error
742
743 NYI             canon-host.c          jm_PREREQ_CANON_HOST        ---
744                                       AC_CHECK_HEADERS(stdlib.h)
745
746 -------------------------------------------------------------------------------
747
748 + Internationalization functions
749
750 -------------------------------------------------------------------------------
751 lib/            lib/                  m4/
752 Header          Implementation        Autoconf macro              Depends on
753 -------------------------------------------------------------------------------
754
755 gettext.h       libintl               gettext.m4 et al.           ---
756                 (part of gettext)     (use gettextize)
757                                       AM_GNU_GETTEXT
758
759 <iconv.h>       libiconv              iconv.m4 et al.             ---
760                 (part of libiconv)    AM_ICONV
761
762 NYI             localcharset.c        codeset.m4                  ---
763                 config.charset        glibc21.m4
764                 ref-add.sin           AC_CANONICAL_HOST
765                 ref-del.sin           jm_LANGINFO_CODESET
766                                       jm_GLIBC21
767                                       AC_CHECK_HEADERS(stddef.h)
768                                       AC_CHECK_HEADERS(stdlib.h)
769                                       AC_CHECK_HEADERS(string.h)
770                                       AC_CHECK_FUNCS(setlocale)
771                                       see libiconv/libcharset/INTEGRATE
772
773 hard-locale.h   hard-locale.c         jm_PREREQ_HARD_LOCALE       ---
774
775 mbswidth.h      mbswidth.c            mbswidth.m4                 ---
776                                       mbrtowc.m4
777                                       mbstate_t.m4
778                                       jm_PREREQ_MBSWIDTH
779
780 memcasecmp.h    memcasecmp.c          AC_STDC_HEADERS             ---
781                                       HAVE_ISASCII
782
783 memcoll.h       memcoll.c             AC_CHECK_HEADERS(string.h)  ---
784
785 xmemcoll.h      xmemcoll.c            ---                         memcoll
786                                                                   gettext
787                                                                   error
788                                                                   quotearg
789
790 unicodeio.h     unicodeio.c           AC_CHECK_HEADERS(stddef.h)  iconv
791                                       AC_CHECK_HEADERS(string.h)  gettext
792                                                                   localcharset
793                                                                   error
794
795 NYI             rpmatch.c             AC_REPLACE_FUNCS(rpmatch)   gettext
796                                       AC_STDC_HEADERS             regex
797
798 NYI             yesno.c               AC_CHECK_HEADERS(stdlib.h)  unlocked-io
799                                                                   rpmatch
800
801 -------------------------------------------------------------------------------
802
803 + Executing programs
804
805 + Java
806
807 + Misc
808
809 -------------------------------------------------------------------------------
810 lib/            lib/                  m4/
811 Header          Implementation        Autoconf macro              Depends on
812 -------------------------------------------------------------------------------
813
814 exitfail.h      exitfail.c            AC_CHECK_HEADERS(stdlib.h)  ---
815
816 c-stack.h       c-stack.c             c-stack.m4                  gettext
817                                       jm_PREREQ_C_STACK
818
819 error.h         error.c               error.m4                    unlocked-io
820                                       strerror_r.m4               gettext
821                                       jm_PREREQ_ERROR
822
823 fatal.h         fatal.c               AC_STDC_HEADERS             unlocked-io
824                                       AC_CHECK_FUNCS(vprintf)     error
825                                       AC_CHECK_FUNCS(doprnt)
826
827 NYI             getloadavg.c          getloadavg.m4               ---
828                                       AC_FUNC_GETLOADAVG
829
830 getpagesize.h   ---                   jm_PREREQ_GETPAGESIZE       ---
831
832 NYI             getusershell.c        AC_REPLACE_FUNCS(getusershell) xalloc
833                                       AC_CHECK_HEADERS(stdlib.h)  unlocked-io
834                                       AC_CHECK_FUNCS(isascii)
835
836 physmem.h       physmem.c             jm_PREREQ_PHYSMEM           ---
837
838 posixver.h      posixver.c            jm_PREREQ_POSIXVER          ---
839
840 quotearg.h      quotearg.c            mbrtowc.m4                  xalloc
841                                       jm_PREREQ_QUOTEARG          gettext
842                                       AC_CHECK_FUNCS(mbsinit)
843
844 quote.h         quote.c               AC_CHECK_HEADERS(stddef.h)  quotearg
845
846 readutmp.h      readutmp.c            jm_PREREQ_READUTMP          xalloc
847                                       AC_CHECK_DECLS(getutent)    unlocked-io
848
849 sig2str.h       sig2str.c             AC_REPLACE_FUNCS(sig2str)   ---
850                 (TODO: use strsignal)
851
852 -------------------------------------------------------------------------------
853
854
855 Ideally a module could consist of:
856 - A header file: lib/module.h
857 - One or more implementation files: lib/module.c et al.
858 - One or more autoconf macro files: m4/module.m4 et al.
859 - A configure.ac fragment: m4/module.ac
860 - A Makefile.am fragment: lib/module.am
861 - Some documentation
862 - A POT file and some PO files
863 - A testsuite
864 - A dependency list: modules/module.dep