| # clock_time.m4 | |
| # serial 14 | |
| dnl Copyright (C) 2002-2006, 2009-2026 Free Software Foundation, Inc. | |
| dnl This file is free software; the Free Software Foundation | |
| dnl gives unlimited permission to copy and/or distribute it, | |
| dnl with or without modifications, as long as this notice is preserved. | |
| dnl This file is offered as-is, without any warranty. | |
| # Check for clock_getres, clock_gettime and clock_settime, | |
| # and set CLOCK_TIME_LIB. | |
| # For a program named, say foo, you should add a line like the following | |
| # in the corresponding Makefile.am file: | |
| # foo_LDADD = $(LDADD) $(CLOCK_TIME_LIB) | |
| AC_DEFUN([gl_CLOCK_TIME], | |
| [ | |
| AC_REQUIRE([AC_CANONICAL_HOST]) | |
| dnl Persuade glibc and Solaris <time.h> to declare these functions. | |
| AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | |
| # On mingw, these functions are defined in the libwinpthread library, | |
| # which is better avoided. In fact, the clock_gettime function is buggy | |
| # in 32-bit mingw, when -D__MINGW_USE_VC2005_COMPAT is used (which Gnulib's | |
| # year2038 module does): It leaves the upper 32 bits of the tv_sec field | |
| # of the result uninitialized. | |
| # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function. | |
| # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. | |
| # 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. | |
| CLOCK_TIME_LIB= | |
| AC_SUBST([CLOCK_TIME_LIB]) | |
| case "$host_os" in | |
| mingw* | windows*) | |
| ac_cv_func_clock_getres=no | |
| ac_cv_func_clock_gettime=no | |
| ac_cv_func_clock_settime=no | |
| ;; | |
| *) | |
| gl_saved_libs=$LIBS | |
| AC_SEARCH_LIBS([clock_gettime], [rt posix4], | |
| [test "$ac_cv_search_clock_gettime" = "none required" || | |
| CLOCK_TIME_LIB=$ac_cv_search_clock_gettime]) | |
| AC_CHECK_FUNCS([clock_getres clock_gettime clock_settime]) | |
| LIBS=$gl_saved_libs | |
| ;; | |
| esac | |
| # For backward compatibility. | |
| LIB_CLOCK_GETTIME="$CLOCK_TIME_LIB" | |
| AC_SUBST([LIB_CLOCK_GETTIME]) | |
| ]) |