Gnulib Module List

This is a list of the modules which make up gnulib, with dependencies.

Support for systems lacking ANSI C 89

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
--- --- c-bs-a.m4
AC_C_BACKSLASH_A
---
#include <assert.h> --- assert.m4
jm_ASSERT
---
#include <stdlib.h> atexit.c atexit.m4
gl_FUNC_ATEXIT
---
#include <stdlib.h> strtod.c strtod.m4
gl_FUNC_STRTOD
---
#include <stdlib.h> strtol.c strtol.m4
gl_FUNC_STRTOL
---
#include <stdlib.h> strtoul.c strtoul.m4
gl_FUNC_STRTOUL
strtol
#include <string.h> memchr.c memchr.m4
gl_FUNC_MEMCHR
---
#include <string.h> memcmp.c memcmp.m4
jm_FUNC_MEMCMP
---
#include <string.h> memcpy.c memcpy.m4
gl_FUNC_MEMCPY
---
#include <string.h> memmove.c memmove.m4
gl_FUNC_MEMMOVE
---
#include <string.h> memset.c memset.m4
gl_FUNC_MEMSET
---
#include <string.h> strcspn.c strcspn.m4
gl_FUNC_STRCSPN
---
#include "strpbrk.h" strpbrk.c strpbrk.m4
gl_FUNC_STRPBRK
---
#include "strstr.h" strstr.c strstr.m4
gl_FUNC_STRSTR
---
#include <string.h> strerror.c strerror.m4
gl_FUNC_STRERROR
---
#include <time.h> mktime.c mktime.m4
gl_FUNC_MKTIME
---
These modules are not listed among dependencies below, for simplicity.

Enhancements for ANSI C 89 functions

Memory management functions <stdlib.h>

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include <stdlib.h> malloc.c malloc.m4
jm_FUNC_MALLOC
---
#include <stdlib.h> realloc.c realloc.m4
jm_FUNC_REALLOC
---

Date and time <time.h>

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include <time.h> strftime.c mbstate_t.m4
tm_gmtoff.m4
strftime.m4
jm_FUNC_GNU_STRFTIME
---

Extra functions based on ANSI C 89

Memory management functions <stdlib.h>

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include "xalloc.h" xmalloc.c
xstrdup.c
xalloc.m4
gl_XALLOC
malloc
realloc
error
gettext
#include <alloca.h> alloca_.h
alloca.c
alloca.m4
gl_FUNC_ALLOCA
xalloc
#include "bumpalloc.h" --- --- xalloc

Integer arithmetic functions <stdlib.h>

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include "gcd.h" gcd.c --- ---

Environment variables <stdlib.h>

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
--- putenv.c putenv.m4
jm_FUNC_PUTENV
---
#include "setenv.h" setenv.c
unsetenv.c
setenv.m4
gt_FUNC_SETENV
---

Character handling <ctype.h>

String handling <string.h>

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
--- bcopy.c AC_REPLACE_FUNCS(bcopy) ---
--- memrchr.c memrchr.m4
gl_FUNC_MEMRCHR
---
#include "stpcpy.h" stpcpy.c stpcpy.m4
gl_FUNC_STPCPY
---
#include "strcase.h" strcasecmp.c
strncasecmp.c
strcase.m4
gl_STRCASE
---
--- strdup.c strdup.m4
gl_FUNC_STRDUP
---
--- strnlen.c strnlen.m4
gl_FUNC_STRNLEN
---
--- strndup.c strndup.m4
gl_FUNC_STRNDUP
strnlen

Numeric conversion functions <stdlib.h>

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include "xstrtod.h" xstrtod.c xstrtod.m4
gl_XSTRTOD
---
#include "xstrtol.h" xstrtol.c
xstrtoul.c
ulonglong.m4
longlong.m4
stdint_h.m4
inttypes_h.m4
uintmax_t.m4
intmax_t.m4
xstrtol.m4
gl_XSTRTOL
---

Date and time <time.h>

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include "getdate.h" getdate.y bison.m4
tm_gmtoff.m4
getdate.m4
gl_GETDATE
unlocked-io

Input/Output <stdio.h>

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include "unlocked-io.h" --- unlocked-io.m4
jm_FUNC_GLIBC_UNLOCKED_IO
---

Command-line arguments

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include "argmatch.h" argmatch.c --- gettext
error
quotearg
quote
unlocked-io
#include "version-etc.h" version-etc.c --- unlocked-io
gettext
#include "long-options.h" long-options.c long-options.m4
gl_LONG_OPTIONS
version-etc

Cryptographic computations

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include "md5.h" md5.c md5.m4
gl_MD5
unlocked-io
#include "sha.h" sha.c sha.m4
gl_SHA
unlocked-io
md5

Misc

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include "diacrit.h" diacrit.c --- ---
#include "getline.h" getline.c getline.m4
AM_FUNC_GETLINE
unlocked-io
#include "linebuffer.h" linebuffer.c --- xalloc
unlocked-io
#include "obstack.h" obstack.c obstack.m4
gl_OBSTACK
gettext
#include "hash-pjw.h" hash-pjw.c --- ---
#include "hash.h" hash.c hash.m4
gl_HASH
malloc
realloc
stdbool
#include "readtokens.h" readtokens.c readtokens.m4
gl_READTOKENS
xalloc
unlocked-io
#include "strverscmp.h" strverscmp.c strverscmp.m4
gl_FUNC_STRVERSCMP
---

Support for systems lacking ISO C 99

Boolean type and values <stdbool.h>

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include <stdbool.h> stdbool.h.in stdbool.m4
AM_STDBOOL_H
---

Numeric conversion functions <stdlib.h>

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include <stdlib.h> strtoll.c longlong.m4
strtoll.m4
gl_FUNC_STRTOLL
strtol
#include <stdlib.h> strtoull.c ulonglong.m4
strtoull.m4
gl_FUNC_STRTOULL
strtoul

Functions for greatest-width integer types <inttypes.h>

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
--- strtoimax.c longlong.m4
stdint_h.m4
inttypes_h.m4
intmax_t.m4
strtoimax.m4
gl_FUNC_STRTOIMAX
strtoll
--- strtoumax.c ulonglong.m4
stdint_h.m4
inttypes_h.m4
uintmax_t.m4
strtoumax.m4
gl_FUNC_STRTOUMAX
strtoimax
strtoull

Enhancements for ISO C 99 functions

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on

Extra functions based on ISO C 99

Numeric conversion functions <stdlib.h>

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include "xstrtol.h" xstrtoimax.c xstrtoimax.m4
jm_XSTRTOIMAX
xstrtol
strtoimax
#include "xstrtol.h" xstrtoumax.c xstrtoumax.m4
jm_XSTRTOUMAX
xstrtol
strtoumax

Support for systems lacking POSIX:2001

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include <unistd.h> chown.c chown.m4
jm_FUNC_CHOWN
---
#include <unistd.h> dup2.c dup2.m4
gl_FUNC_DUP2
---
#include <unistd.h> ftruncate.c ftruncate.m4
jm_FUNC_FTRUNCATE
---
#include <unistd.h> getgroups.c getgroups.m4
jm_FUNC_GETGROUPS
xalloc
#include <sys/time.h> gettimeofday.c gettimeofday.m4
AC_FUNC_GETTIMEOFDAY_CLOBBER
---
#include <sys/stat.h> mkdir.c mkdir-slash.m4
UTILS_FUNC_MKDIR_TRAILING_SLASH
xalloc
dirname
#include <stdlib.h> mkstemp.c
tempname.c
ulonglong.m4
stdint_h.m4
inttypes_h.m4
uintmax_t.m4
mkstemp.m4
UTILS_FUNC_MKSTEMP
---
#include <sys/stat.h> stat.c stat.m4
jm_FUNC_STAT
---
#include <sys/stat.h> lstat.c lstat.m4
jm_FUNC_LSTAT
stat
xalloc
#include "timespec.h" --- st_mtim.m4
timespec.m4
gl_TIMESPEC
---
#include <time.h> nanosleep.c nanosleep.m4
jm_FUNC_NANOSLEEP
timespec
#include "regex.h" regex.c regex.m4
gl_REGEX
alloca
unlocked-io
gettext
#include <stdio.h> rename.c rename.m4
vb_FUNC_RENAME
xalloc
dirname
#include <unistd.h> rmdir.c rmdir.m4
gl_FUNC_RMDIR
---
#if HAVE_UTIME_H
# include <utime.h>
#else
# include <sys/utime.h>
#endif
utime.c utimbuf.m4
utimes.m4
utime.m4
jm_FUNC_UTIME
safe-read
full-write

Enhancements for POSIX:2001 functions

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include "dirname.h" dirname.c
basename.c
stripslash.c
dos.m4
dirname.m4
gl_DIRNAME
xalloc
#include "getopt.h" getopt.c
getopt1.c
getopt.m4
gl_GETOPT
gettext
#include "unistd-safer.h" dup-safer.c unistd-safer.m4
gl_UNISTD_SAFER
---
--- fnmatch_.h
fnmatch.c
fnmatch_loop.c
mbstate_t.m4
fnmatch.m4
# No macro. You should also use one of fnmatch-posix or fnmatch-gnu.
alloca
#include "fnmatch.h" --- gl_FUNC_FNMATCH_POSIX fnmatch
#include "fnmatch.h" --- gl_FUNC_FNMATCH_GNU fnmatch
#include "exclude.h" exclude.c exclude.m4
gl_EXCLUDE
xalloc
strcase
unlocked-io
fnmatch-gnu
stdbool

Extra functions based on POSIX:2001

Numeric conversion functions

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include "human.h" human.c ulonglong.m4
stdint_h.m4
inttypes_h.m4
uintmax_t.m4
human.m4
gl_HUMAN
gettext
argmatch
error
xstrtol

File system functions

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include "acl.h" acl.c acl.m4
AC_FUNC_ACL
---
#include "backupfile.h" backupfile.c
addext.c
dos.m4
d-ino.m4
backupfile.m4
gl_BACKUPFILE
argmatch
dirname
#include "fsusage.h" fsusage.c ulonglong.m4
stdint_h.m4
inttypes_h.m4
uintmax_t.m4
fsusage.m4
gl_FSUSAGE
full-read
#include "dirfd.h" dirfd.c dirfd.m4
UTILS_FUNC_DIRFD
---
--- euidaccess.c euidaccess.m4
gl_FUNC_EUIDACCESS
group-member
#include "file-type.h" file-type.c file-type.m4
gl_FILE_TYPE
gettext
--- fileblocks.c fileblocks.m4
gl_FILEBLOCKS
---
#include "filemode.h" filemode.c filemode.m4
gl_FILEMODE
---
--- isdir.c isdir.m4
gl_ISDIR
---
--- lchown.h
lchown.c
lchown.m4
jm_FUNC_LCHOWN
chown
#include "makepath.h" makepath.c afs.m4
makepath.m4
gl_MAKEPATH
alloca
chown
gettext
save-cwd
dirname
error
quote
#include "modechange.h" modechange.c modechange.m4
gl_MODECHANGE
xstrtol
#include "mountlist.h" mountlist.c ls-mntd-fs.m4
fstypename.m4
mountlist.m4
gl_MOUNTLIST
xalloc
unlocked-io
#include "path-concat.h" path-concat.c dos.m4
path-concat.m4
gl_PATH_CONCAT
strdup
xalloc
dirname
#include "pathmax.h" --- pathmax.m4
gl_PATHMAX
---
#include "same.h" same.c same.m4
gl_SAME
xalloc
error
dirname
#include "save-cwd.h" save-cwd.c save-cwd.m4
gl_SAVE_CWD
error
#include "savedir.h" savedir.c savedir.m4
gl_SAVEDIR
xalloc
#include "xgetcwd.h" xgetcwd.c getcwd.m4
xgetcwd.m4
gl_XGETCWD
xalloc
pathmax
#include "xreadlink.h" xreadlink.c xreadlink.m4
gl_XREADLINK
xalloc

File descriptor based Input/Output

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include "safe-read.h" safe-read.c safe-read.m4
gl_SAFE_READ
---
#include "safe-write.h" safe-write.c safe-write.m4
gl_SAFE_WRITE
safe-read
#include "full-read.h" full-read.c --- safe-read
full-write
#include "full-write.h" full-write.c --- safe-write

File stream based Input/Output

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include "__fpending.h" __fpending.c fpending.m4
jm_FUNC_FPENDING
---
#include "closeout.h" closeout.c closeout.m4
gl_CLOSEOUT
unlocked-io
gettext
error
quotearg
fpending
#include "stdio-safer.h" fopen-safer.c stdio-safer.m4
gl_STDIO_SAFER
unistd-safer
--- getpass.c getpass.m4
gl_FUNC_GETPASS
unlocked-io
getline

Users and groups

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
--- getugroups.c getugroups.m4
gl_GETUGROUPS
---
#include "group-member.h" group-member.c group-member.m4
jm_FUNC_GROUP_MEMBER
xalloc
--- idcache.c idcache.m4
gl_IDCACHE
xalloc
--- userspec.c userspec.m4
gl_USERSPEC
alloca
xalloc
xstrtol
strdup
gettext

Date and time

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
--- gettime.c clock_time.m4
gettime.m4
gl_GETTIME
gettimeofday
timespec
--- settime.c clock_time.m4
settime.m4
gl_SETTIME
timespec
#include "posixtm.h" posixtm.c posixtm.m4
gl_POSIXTM
unlocked-io

Networking functions

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
--- gethostname.c gethostname.m4
gl_FUNC_GETHOSTNAME
---
--- xgethostname.c --- gethostname
xalloc
error
--- canon-host.c canon-host.m4
gl_CANON_HOST
---

Internationalization functions

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include "gettext.h" --- codeset.m4
gettext.m4
glibc21.m4
iconv.m4
intdiv0.m4
inttypes.m4
inttypes_h.m4
inttypes-pri.m4
isc-posix.m4
lcmessage.m4
lib-ld.m4
lib-link.m4
lib-prefix.m4
progtest.m4
stdint_h.m4
uintmax_t.m4
ulonglong.m4
AM_GNU_GETTEXT([external])
---
#include <iconv.h> --- iconv.m4
lib-ld.m4
lib-link.m4
lib-prefix.m4
AM_ICONV
---
#include "localcharset.h" localcharset.c
config.charset
ref-add.sin
ref-del.sin
codeset.m4
glibc21.m4
localcharset.m4
gl_LOCALCHARSET
---
#include "hard-locale.h" hard-locale.c hard-locale.m4
gl_HARD_LOCALE
---
#include "mbswidth.h" mbswidth.c mbstate_t.m4
mbrtowc.m4
mbswidth.m4
gl_MBSWIDTH
---
#include "memcasecmp.h" memcasecmp.c memcasecmp.m4
gl_MEMCASECMP
---
#include "memcoll.h" memcoll.c memcoll.m4
gl_MEMCOLL
---
#include "xmemcoll.h" xmemcoll.c --- memcoll
gettext
error
quotearg
#include "unicodeio.h" unicodeio.c unicodeio.m4
gl_UNICODEIO
iconv
gettext
localcharset
error
--- rpmatch.c rpmatch.m4
gl_FUNC_RPMATCH
gettext
regex
--- yesno.c yesno.m4
gl_YESNO
unlocked-io
rpmatch

Executing programs

Java

Misc

lib/ lib/ m4/  
Header Implementation Autoconf macro Depends on
#include "exitfail.h" exitfail.c exitfail.m4
gl_EXITFAIL
---
#include "c-stack.h" c-stack.c c-stack.m4
gl_C_STACK
gettext
exitfail
#include "error.h" error.c error.m4
gl_ERROR
unlocked-io
gettext
#include "fatal.h" fatal.c fatal.m4
gl_FATAL
unlocked-io
error
--- getloadavg.c getloadavg.m4
gl_FUNC_GETLOADAVG
---
#include "getpagesize.h" --- getpagesize.m4
gl_GETPAGESIZE
---
--- getusershell.c getusershell.m4
gl_PREREQ_GETUSERSHELL
xalloc
unlocked-io
#include "physmem.h" physmem.c physmem.m4
gl_PHYSMEM
---
#include "posixver.h" posixver.c posixver.m4
gl_POSIXVER
---
#include "quotearg.h" quotearg.c mbstate_t.m4
mbrtowc.m4
quotearg.m4
gl_QUOTEARG
xalloc
gettext
#include "quote.h" quote.c quote.m4
gl_QUOTE
quotearg
#include "readutmp.h" readutmp.c readutmp.m4
gl_READUTMP
xalloc
unlocked-io
#include "sig2str.h" sig2str.c sig2str.m4
gl_FUNC_SIG2STR
---

Lone files - please create new modules containing them

lib/getversion.c
m4/check-decl.m4
m4/d-type.m4
m4/glibc.m4
m4/gnu-source.m4
m4/host-os.m4
m4/jm-macros.m4
m4/jm-winsz1.m4
m4/jm-winsz2.m4
m4/lib-check.m4
m4/link-follow.m4
m4/onceonly.m4
m4/perl.m4
m4/prereq.m4
m4/readdir.m4
m4/rmdir-errno.m4
m4/search-libs.m4
m4/st_dm_mode.m4
m4/strerror_r.m4
m4/unlink-busy.m4
m4/uptime.m4

Future developments

Ideally a module could consist of:
Generated from MODULES.html.sh on 14 January 2003.