X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fjm-macros.m4;h=317ea28c85f6a92c1a6e1cf5dc789e77ecb0d3a1;hb=fbc3039a182a45152b4fa8c8e6b1ba6e9e12610d;hp=225b33a40a83a7a72965f20768bc407e941eeb48;hpb=e563336f90393dc4a4bbb66f2737e204af85b78c;p=gnulib.git diff --git a/m4/jm-macros.m4 b/m4/jm-macros.m4 index 225b33a40..317ea28c8 100644 --- a/m4/jm-macros.m4 +++ b/m4/jm-macros.m4 @@ -1,4 +1,4 @@ -#serial 12 +#serial 14 dnl Misc type-related macros for fileutils, sh-utils, textutils. @@ -14,6 +14,7 @@ AC_DEFUN(jm_MACROS, AC_SUBST(OPTIONAL_BIN_PROGS) AC_SUBST(OPTIONAL_BIN_ZCRIPTS) AC_SUBST(MAN) + AC_SUBST(DF_PROG) dnl This macro actually runs replacement code. See isc-posix.m4. AC_REQUIRE([AC_ISC_POSIX])dnl @@ -30,6 +31,7 @@ AC_DEFUN(jm_MACROS, netdb.h \ paths.h \ stdlib.h \ + stddef.h \ string.h \ sys/acl.h \ sys/filsys.h \ @@ -97,6 +99,7 @@ AC_DEFUN(jm_MACROS, AC_REQUIRE([AC_FUNC_ALLOCA]) AC_REQUIRE([AM_FUNC_GETLOADAVG]) AC_REQUIRE([jm_SYS_PROC_UPTIME]) + AC_REQUIRE([jm_FUNC_FTRUNCATE]) AC_REPLACE_FUNCS(strcasecmp strncasecmp) AC_REPLACE_FUNCS(dup2) @@ -129,42 +132,114 @@ AC_DEFUN(jm_MACROS, AC_CHECK_FUNCS(clock_gettime) AC_CHECK_FUNCS(gettimeofday) + AC_REQUIRE([AC_FUNC_CLOSEDIR_VOID]) + AC_REQUIRE([jm_FUNC_UTIME]) + + AC_CHECK_FUNCS( \ + acl \ + bcopy \ + endgrent \ + endpwent \ + fchdir \ + fdatasync \ + fseeko \ + ftime \ + ftruncate \ + getcwd \ + gethrtime \ + getmntinfo \ + hasmntopt \ + isascii \ + lchown \ + listmntent \ + localeconv \ + memcpy \ + mempcpy \ + mkfifo \ + realpath \ + resolvepath \ + sethostname \ + strchr \ + strerror \ + strrchr \ + sysinfo \ + tzset \ + ) + AM_FUNC_GETLINE if test $am_cv_func_working_getline != yes; then AC_CHECK_FUNCS(getdelim) fi + AM_FUNC_OBSTACK + + AM_FUNC_STRTOD + AC_SUBST(POW_LIBM) + test $am_cv_func_strtod_needs_libm = yes && POW_LIBM=-lm + + jm_LANGINFO_CODESET + + jm_ICONV + + # These tests are for df. + jm_LIST_MOUNTED_FILESYSTEMS([list_mounted_fs=yes], [list_mounted_fs=no]) + jm_FSTYPENAME + jm_FILE_SYSTEM_USAGE([space=yes], [space=no]) + if test $list_mounted_fs = yes && test $space = yes; then + DF_PROG="df" + LIBOBJS="$LIBOBJS fsusage.$ac_objext" + LIBOBJS="$LIBOBJS mountlist.$ac_objext" + fi ]) +# This macro must be invoked before any tests that run the compiler. AC_DEFUN(jm_CHECK_ALL_TYPES, [ + # Enable GNU extensions. + # Define this here, not in acconfig's @TOP@ section, since definitions + # in the latter don't make it into the configure-time tests. + AC_DEFINE([_GNU_SOURCE], 1, + [Enable GNU extensions on systems that have them.]) + + dnl This test must come as early as possible after the compiler configuration + dnl tests, because the choice of the file model can (in principle) affect + dnl whether functions and headers are available, whether they work, etc. + AC_REQUIRE([AC_SYS_LARGEFILE]) + + dnl This test must precede tests of compiler characteristics like + dnl that for the inline keyword, since it may change the degree to + dnl which the compiler supports such features. + AC_REQUIRE([AM_C_PROTOTYPES]) + dnl Checks for typedefs, structures, and compiler characteristics. - AC_C_BIGENDIAN - AC_PROG_CC_STDC - AC_C_CONST - AC_C_INLINE - AC_C_LONG_DOUBLE - - AC_HEADER_DIRENT - AC_HEADER_STDC - AC_CHECK_MEMBERS((struct stat.st_blksize)) - AC_STRUCT_ST_BLOCKS - - AC_STRUCT_TM - AC_HEADER_TIME - AC_STRUCT_TIMEZONE - AC_HEADER_STAT - AC_STRUCT_ST_MTIM_NSEC - AC_STRUCT_ST_DM_MODE + AC_REQUIRE([AC_C_BIGENDIAN]) + AC_REQUIRE([AC_PROG_CC_STDC]) + AC_REQUIRE([AC_C_CONST]) + AC_REQUIRE([AC_C_VOLATILE]) + AC_REQUIRE([AC_C_INLINE]) + AC_REQUIRE([AC_C_LONG_DOUBLE]) + + AC_REQUIRE([AC_HEADER_DIRENT]) + AC_REQUIRE([AC_HEADER_STDC]) + AC_CHECK_MEMBERS((struct stat.st_blksize),,,[$ac_includes_default +#include + ]) + AC_REQUIRE([AC_STRUCT_ST_BLOCKS]) + + AC_REQUIRE([AC_STRUCT_TM]) + AC_REQUIRE([AC_STRUCT_TIMEZONE]) + AC_REQUIRE([AC_HEADER_STAT]) + AC_REQUIRE([AC_STRUCT_ST_MTIM_NSEC]) + AC_REQUIRE([AC_STRUCT_ST_DM_MODE]) AC_REQUIRE([jm_CHECK_TYPE_STRUCT_TIMESPEC]) - AC_TYPE_GETGROUPS - AC_TYPE_MODE_T - AC_TYPE_OFF_T - AC_TYPE_PID_T - AC_TYPE_SIGNAL - AC_TYPE_SIZE_T - AC_TYPE_UID_T + AC_REQUIRE([AC_TYPE_GETGROUPS]) + AC_REQUIRE([AC_TYPE_MODE_T]) + AC_REQUIRE([AC_TYPE_OFF_T]) + AC_REQUIRE([AC_TYPE_PID_T]) + AC_REQUIRE([AC_TYPE_SIGNAL]) + AC_REQUIRE([AC_TYPE_SIZE_T]) + AC_REQUIRE([AC_TYPE_UID_T]) AC_CHECK_TYPE(ino_t, unsigned long) dnl This relies on the fact that autoconf 2.14a's implementation of @@ -173,4 +248,8 @@ AC_DEFUN(jm_CHECK_ALL_TYPES, AC_REQUIRE([jm_AC_TYPE_UINTMAX_T]) AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) + + AC_REQUIRE([AC_HEADER_MAJOR]) + AC_REQUIRE([AC_HEADER_DIRENT]) + ])