1#serial 22 2 3dnl These are the prerequisite macros for files in the lib/ 4dnl directories of the fileutils, sh-utils, and textutils packages. 5 6AC_DEFUN([jm_PREREQ], 7[ 8 jm_PREREQ_ADDEXT 9 jm_PREREQ_CANON_HOST 10 jm_PREREQ_DIRNAME 11 jm_PREREQ_ERROR 12 jm_PREREQ_EXCLUDE 13 jm_PREREQ_GETPAGESIZE 14 jm_PREREQ_HARD_LOCALE 15 jm_PREREQ_HASH 16 jm_PREREQ_HUMAN 17 jm_PREREQ_MBSWIDTH 18 jm_PREREQ_MEMCHR 19 jm_PREREQ_PHYSMEM 20 jm_PREREQ_POSIXVER 21 jm_PREREQ_QUOTEARG 22 jm_PREREQ_READUTMP 23 jm_PREREQ_REGEX 24 jm_PREREQ_TEMPNAME # called by mkstemp 25 jm_PREREQ_XGETCWD 26 jm_PREREQ_XREADLINK 27]) 28 29AC_DEFUN([jm_PREREQ_ADDEXT], 30[ 31 dnl For addext.c. 32 AC_SYS_LONG_FILE_NAMES 33 AC_CHECK_FUNCS(pathconf) 34 AC_CHECK_HEADERS(limits.h string.h unistd.h) 35]) 36 37AC_DEFUN([jm_PREREQ_CANON_HOST], 38[ 39 dnl Add any libraries as early as possible. 40 dnl In particular, inet_ntoa needs -lnsl at least on Solaris5.5.1, 41 dnl so we have to add -lnsl to LIBS before checking for that function. 42 AC_SEARCH_LIBS(gethostbyname, [inet nsl]) 43 44 dnl These come from -lnsl on Solaris5.5.1. 45 AC_CHECK_FUNCS(gethostbyname gethostbyaddr inet_ntoa) 46 47 AC_CHECK_FUNCS(gethostbyname gethostbyaddr inet_ntoa) 48 AC_CHECK_HEADERS(unistd.h string.h netdb.h sys/socket.h \ 49 netinet/in.h arpa/inet.h) 50]) 51 52AC_DEFUN([jm_PREREQ_DIRNAME], 53[ 54 AC_HEADER_STDC 55 AC_CHECK_HEADERS(string.h) 56]) 57 58AC_DEFUN([jm_PREREQ_EXCLUDE], 59[ 60 jm_FUNC_FNMATCH 61 AC_HEADER_STDBOOL 62]) 63 64AC_DEFUN([jm_PREREQ_GETPAGESIZE], 65[ 66 AC_CHECK_FUNCS(getpagesize) 67 AC_CHECK_HEADERS(OS.h unistd.h) 68]) 69 70AC_DEFUN([jm_PREREQ_HARD_LOCALE], 71[ 72 AC_C_PROTOTYPES 73 AC_CHECK_FUNCS(setlocale) 74 AC_CHECK_HEADERS(locale.h stdlib.h string.h) 75]) 76 77AC_DEFUN([jm_PREREQ_HASH], 78[ 79 AC_CHECK_HEADERS(stdlib.h) 80 AC_HEADER_STDBOOL 81 AC_REQUIRE([jm_CHECK_DECLS]) 82]) 83 84# If you use human.c, you need the following files: 85# inttypes.m4 ulonglong.m4 86AC_DEFUN([jm_PREREQ_HUMAN], 87[ 88 AC_CHECK_HEADERS(limits.h stdlib.h string.h) 89 AC_CHECK_DECLS([getenv]) 90 AC_REQUIRE([jm_AC_TYPE_UINTMAX_T]) 91]) 92 93AC_DEFUN([jm_PREREQ_MEMCHR], 94[ 95 AC_CHECK_HEADERS(limits.h stdlib.h bp-sym.h) 96]) 97 98AC_DEFUN([jm_PREREQ_PHYSMEM], 99[ 100 AC_CHECK_HEADERS(sys/pstat.h unistd.h) 101 AC_CHECK_FUNCS(pstat_getstatic pstat_getdynamic) 102]) 103 104AC_DEFUN([jm_PREREQ_POSIXVER], 105[ 106 AC_CHECK_HEADERS(unistd.h) 107 AC_CHECK_DECLS([getenv]) 108]) 109 110AC_DEFUN([jm_PREREQ_QUOTEARG], 111[ 112 AC_CHECK_FUNCS(isascii iswprint) 113 jm_FUNC_MBRTOWC 114 AC_CHECK_HEADERS(limits.h stddef.h stdlib.h string.h wchar.h wctype.h) 115 AC_HEADER_STDC 116 AC_C_BACKSLASH_A 117 AC_MBSTATE_T 118 AM_C_PROTOTYPES 119]) 120 121AC_DEFUN([jm_PREREQ_REGEX], 122[ 123 dnl FIXME: Maybe provide a btowc replacement someday: solaris-2.5.1 lacks it. 124 dnl FIXME: Check for wctype and iswctype, and and add -lw if necessary 125 dnl to get them. 126 AC_CHECK_FUNCS(bzero bcopy isascii btowc) 127 AC_CHECK_HEADERS(alloca.h libintl.h wctype.h wchar.h) 128 AC_HEADER_STDC 129 AC_FUNC_ALLOCA 130]) 131 132AC_DEFUN([jm_PREREQ_TEMPNAME], 133[ 134 AC_HEADER_STDC 135 AC_HEADER_STAT 136 AC_CHECK_HEADERS(fcntl.h sys/time.h stdint.h unistd.h) 137 AC_CHECK_FUNCS(__secure_getenv gettimeofday) 138 AC_CHECK_DECLS([getenv]) 139]) 140 141AC_DEFUN([jm_PREREQ_XGETCWD], 142[ 143 AC_C_PROTOTYPES 144 AC_CHECK_HEADERS(limits.h stdlib.h sys/param.h unistd.h) 145 AC_CHECK_FUNCS(getcwd) 146 AC_FUNC_GETCWD_NULL 147]) 148 149AC_DEFUN([jm_PREREQ_XREADLINK], 150[ 151 AC_C_PROTOTYPES 152 AC_CHECK_HEADERS(limits.h stdlib.h sys/types.h unistd.h) 153]) 154