X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fjm-macros.m4;h=6960729530bf2e78a9c17764167104575f0e02fc;hb=f71e0eda3f943b862c13ffa0c1b13995f8d1fb2c;hp=6ed662cfd32c8f8d7eb1cc68a7d831bfb68a5a55;hpb=982395f3b8d1ebb0972e5e1da25be3ba92f3e68e;p=gnulib.git diff --git a/m4/jm-macros.m4 b/m4/jm-macros.m4 index 6ed662cfd..696072953 100644 --- a/m4/jm-macros.m4 +++ b/m4/jm-macros.m4 @@ -1,10 +1,10 @@ -#serial 23 +#serial 37 -*- autoconf -*- dnl Misc type-related macros for fileutils, sh-utils, textutils. AC_DEFUN(jm_MACROS, [ - AC_PREREQ(2.14a) + AC_PREREQ(2.49d) GNU_PACKAGE="GNU $PACKAGE" AC_DEFINE_UNQUOTED(GNU_PACKAGE, "$GNU_PACKAGE", @@ -19,44 +19,7 @@ AC_DEFUN(jm_MACROS, dnl This macro actually runs replacement code. See isc-posix.m4. AC_REQUIRE([AC_ISC_POSIX])dnl - AC_CHECK_HEADERS( \ - errno.h \ - fcntl.h \ - fenv.h \ - float.h \ - limits.h \ - memory.h \ - mntent.h \ - mnttab.h \ - netdb.h \ - paths.h \ - stdlib.h \ - stddef.h \ - string.h \ - sys/acl.h \ - sys/filsys.h \ - sys/fs/s5param.h \ - sys/fs_types.h \ - sys/fstyp.h \ - sys/ioctl.h \ - sys/mntent.h \ - sys/mount.h \ - sys/param.h \ - sys/socket.h \ - sys/statfs.h \ - sys/statvfs.h \ - sys/systeminfo.h \ - sys/time.h \ - sys/timeb.h \ - sys/vfs.h \ - sys/wait.h \ - syslog.h \ - termios.h \ - unistd.h \ - utime.h \ - values.h \ - ) - + jm_CHECK_ALL_TYPES jm_INCLUDED_REGEX([lib/regex.c]) AC_REQUIRE([jm_BISON]) @@ -92,6 +55,7 @@ AC_DEFUN(jm_MACROS, AC_REQUIRE([AM_FUNC_ERROR_AT_LINE]) AC_REQUIRE([jm_FUNC_GNU_STRFTIME]) AC_REQUIRE([jm_FUNC_MKTIME]) + AC_REQUIRE([jm_FUNC_FPENDING]) AC_REQUIRE([jm_FUNC_GETGROUPS]) test -n "$GETGROUPS_LIB" && LIBS="$GETGROUPS_LIB $LIBS" @@ -101,6 +65,7 @@ AC_DEFUN(jm_MACROS, AC_FUNC_GETLOADAVG([lib]) AC_REQUIRE([jm_SYS_PROC_UPTIME]) AC_REQUIRE([jm_FUNC_FTRUNCATE]) + AC_REQUIRE([vb_FUNC_RENAME]) AC_REPLACE_FUNCS(strcasecmp strncasecmp) AC_REPLACE_FUNCS(dup2) @@ -115,9 +80,14 @@ AC_DEFUN(jm_MACROS, dnl used by e.g. intl/*domain.c and lib/canon-host.c AC_REPLACE_FUNCS(strdup) - AC_REPLACE_FUNCS(memchr memmove memcpy memset) + AC_REPLACE_FUNCS(memchr memcpy memmove memrchr memset) AC_CHECK_FUNCS(getpagesize) + AC_REPLACE_FUNCS(mkstemp) + if test $ac_cv_func_mkstemp != yes; then + AC_LIBOBJ(tempname) + fi + # By default, argmatch should fail calling usage (1). AC_DEFINE(ARGMATCH_DIE, [usage (1)], [Define to the function xargmatch calls on failures.]) @@ -154,7 +124,6 @@ AC_DEFUN(jm_MACROS, endpwent \ fchdir \ fdatasync \ - fseeko \ ftime \ ftruncate \ getcwd \ @@ -175,6 +144,7 @@ AC_DEFUN(jm_MACROS, strerror \ strrchr \ sysinfo \ + wcrtomb \ tzset \ ) @@ -188,9 +158,28 @@ AC_DEFUN(jm_MACROS, AC_SUBST(POW_LIBM) test $am_cv_func_strtod_needs_libm = yes && POW_LIBM=-lm + # See if linking `seq' requires -lm. + # It does on nearly every system. The single exception (so far) is + # BeOS which has all the math functions in the normal runtime library + # and doesn't have a separate math library. + + AC_SUBST(SEQ_LIBM) + ac_seq_body=' + static double x, y; + x = floor (x); + x = rint (x); + x = modf (x, &y);' + AC_TRY_LINK([#include ], $ac_seq_body, , + [ac_seq_save_LIBS="$LIBS" + LIBS="$LIBS -lm" + AC_TRY_LINK([#include ], $ac_seq_body, SEQ_LIBM=-lm) + LIBS="$ac_seq_save_LIBS" + ]) + jm_LANGINFO_CODESET jm_GLIBC21 jm_ICONV + jm_FUNC_UNLINK_BUSY_TEXT # These tests are for df. jm_LIST_MOUNTED_FILESYSTEMS([list_mounted_fs=yes], [list_mounted_fs=no]) @@ -201,9 +190,56 @@ AC_DEFUN(jm_MACROS, AC_LIBOBJ(fsusage) AC_LIBOBJ(mountlist) fi + AC_REQUIRE([jm_AC_DOS]) ]) +# These tests must be run before any use of AC_CHECK_TYPE, +# because that macro compiles code that tests e.g., HAVE_UNISTD_H. +# See the definition of ac_includes_default in `configure'. +AC_DEFUN(jm_CHECK_ALL_HEADERS, +[ + AC_CHECK_HEADERS( \ + errno.h \ + fcntl.h \ + fenv.h \ + float.h \ + limits.h \ + memory.h \ + mntent.h \ + mnttab.h \ + netdb.h \ + paths.h \ + stdlib.h \ + stddef.h \ + stdint.h \ + string.h \ + sys/acl.h \ + sys/filsys.h \ + sys/fs/s5param.h \ + sys/fs_types.h \ + sys/fstyp.h \ + sys/ioctl.h \ + sys/mntent.h \ + sys/mount.h \ + sys/param.h \ + sys/resource.h \ + sys/socket.h \ + sys/statfs.h \ + sys/statvfs.h \ + sys/systeminfo.h \ + sys/time.h \ + sys/timeb.h \ + sys/vfs.h \ + sys/wait.h \ + syslog.h \ + termios.h \ + unistd.h \ + utime.h \ + values.h \ + ) +]) + # This macro must be invoked before any tests that run the compiler. AC_DEFUN(jm_CHECK_ALL_TYPES, [ @@ -230,6 +266,7 @@ AC_DEFUN(jm_CHECK_ALL_TYPES, AC_REQUIRE([AC_C_INLINE]) AC_REQUIRE([AC_C_LONG_DOUBLE]) + AC_REQUIRE([jm_CHECK_ALL_HEADERS]) AC_REQUIRE([AC_HEADER_DIRENT]) AC_REQUIRE([AC_HEADER_STDC]) AC_CHECK_MEMBERS([struct stat.st_blksize],,,[$ac_includes_default @@ -256,6 +293,8 @@ AC_DEFUN(jm_CHECK_ALL_TYPES, dnl This relies on the fact that autoconf 2.14a's implementation of dnl AC_CHECK_TYPE checks includes unistd.h. AC_CHECK_TYPE(ssize_t, int) + AC_CHECK_TYPE(major_t, unsigned int) + AC_CHECK_TYPE(minor_t, unsigned int) AC_REQUIRE([jm_AC_TYPE_UINTMAX_T]) AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])