X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fjm-macros.m4;h=95e2626708fa6969610d97f0defe4df2046339b6;hb=e678e74fc23692fc3326176051a522db8e9e2368;hp=63319cd8466106d3455aa749e79ad83ec84820ab;hpb=4a11ac99187ee4b72946a106078d65e2d911bc97;p=gnulib.git diff --git a/m4/jm-macros.m4 b/m4/jm-macros.m4 index 63319cd84..95e262670 100644 --- a/m4/jm-macros.m4 +++ b/m4/jm-macros.m4 @@ -1,4 +1,4 @@ -#serial 15 +#serial 27 dnl Misc type-related macros for fileutils, sh-utils, textutils. @@ -70,14 +70,15 @@ AC_DEFUN(jm_MACROS, AC_REQUIRE([jm_PREREQ]) AC_REQUIRE([jm_FUNC_LCHOWN]) + AC_REQUIRE([fetish_FUNC_RMDIR_NOTEMPTY]) AC_REQUIRE([jm_FUNC_CHOWN]) AC_REQUIRE([jm_FUNC_MKTIME]) AC_REQUIRE([jm_FUNC_LSTAT]) - AC_REQUIRE([jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) + AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK]) AC_REQUIRE([jm_FUNC_STAT]) AC_REQUIRE([jm_FUNC_REALLOC]) AC_REQUIRE([jm_FUNC_MALLOC]) - AC_REQUIRE([jm_FUNC_STRERROR_R]) + AC_REQUIRE([AC_FUNC_STRERROR_R]) AC_REQUIRE([jm_FUNC_NANOSLEEP]) AC_REQUIRE([jm_FUNC_READDIR]) AC_REQUIRE([jm_FUNC_MEMCMP]) @@ -91,13 +92,14 @@ 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" AC_REQUIRE([AC_FUNC_VPRINTF]) AC_REQUIRE([AC_FUNC_ALLOCA]) - AC_REQUIRE([AM_FUNC_GETLOADAVG]) + AC_FUNC_GETLOADAVG([lib]) AC_REQUIRE([jm_SYS_PROC_UPTIME]) AC_REQUIRE([jm_FUNC_FTRUNCATE]) @@ -106,12 +108,15 @@ AC_DEFUN(jm_MACROS, AC_REPLACE_FUNCS(gethostname getusershell) AC_REPLACE_FUNCS(stime strcspn stpcpy strstr strtol strtoul) AC_REPLACE_FUNCS(strpbrk) - AC_REPLACE_FUNCS(euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp) + AC_REPLACE_FUNCS(euidaccess memcmp rmdir rpmatch strndup strverscmp) + AC_REPLACE_FUNCS(atexit) + AC_REPLACE_FUNCS(strnlen) + AC_REPLACE_FUNCS(getpass) 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) # By default, argmatch should fail calling usage (1). @@ -128,8 +133,16 @@ AC_DEFUN(jm_MACROS, # used by sleep and shred # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function. # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. - AC_SEARCH_LIBS(clock_gettime, [rt posix4]) - AC_CHECK_FUNCS(clock_gettime) + + # Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all* + # programs in the package would end up linked with that potentially-shared + # library, inducing unnecessary run-time overhead. + fetish_saved_libs=$LIBS + AC_SEARCH_LIBS(clock_gettime, [rt posix4], + [LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime]) + AC_SUBST(LIB_CLOCK_GETTIME) + AC_CHECK_FUNCS(clock_gettime) + LIBS=$fetish_saved_libs AC_CHECK_FUNCS(gettimeofday) AC_REQUIRE([AC_FUNC_CLOSEDIR_VOID]) @@ -163,6 +176,7 @@ AC_DEFUN(jm_MACROS, strerror \ strrchr \ sysinfo \ + wcrtomb \ tzset \ ) @@ -176,9 +190,28 @@ AC_DEFUN(jm_MACROS, AC_SUBST(POW_LIBM) test $am_cv_func_strtod_needs_libm = yes && POW_LIBM=-lm - jm_LANGINFO_CODESET + # 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]) @@ -186,8 +219,8 @@ AC_DEFUN(jm_MACROS, 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" + AC_LIBOBJ(fsusage) + AC_LIBOBJ(mountlist) fi ]) @@ -195,15 +228,10 @@ AC_DEFUN(jm_MACROS, # This macro must be invoked before any tests that run the compiler. AC_DEFUN(jm_CHECK_ALL_TYPES, [ - # Emit this code into config.h.in. - # The ifndef is to avoid redefinition warnings. - AH_VERBATIM([_GNU_SOURCE], [#ifndef _GNU_SOURCE -# undef _GNU_SOURCE -#endif]) - - # Enable GNU extensions. - AC_DEFINE([_GNU_SOURCE], 1, - [Enable GNU extensions on systems that have them.]) + # FIXME: I shouldn't have to require this macro here. Rather, it should + # be required by any autoconf macro that performs a compile-time test or + # otherwise uses confdefs.h. + AC_REQUIRE([AC__GNU_SOURCE]) 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 @@ -225,7 +253,7 @@ AC_DEFUN(jm_CHECK_ALL_TYPES, AC_REQUIRE([AC_HEADER_DIRENT]) AC_REQUIRE([AC_HEADER_STDC]) - AC_CHECK_MEMBERS((struct stat.st_blksize),,,[$ac_includes_default + AC_CHECK_MEMBERS([struct stat.st_blksize],,,[$ac_includes_default #include ]) AC_REQUIRE([AC_STRUCT_ST_BLOCKS])