diff --git a/programs/util.c b/programs/util.c index 862fc80080..54e9903a47 100644 --- a/programs/util.c +++ b/programs/util.c @@ -45,6 +45,10 @@ extern "C" { # include /* strerror, memcpy */ #endif /* #ifdef _WIN32 */ +#if defined(__FreeBSD__) +#include /* __FreeBSD_version */ +#endif /* #ifdef __FreeBSD__ */ + /*-**************************************** * Internal Macros ******************************************/ @@ -259,7 +263,8 @@ int UTIL_utime(const char* filename, const stat_t *statbuf) * that struct stat has a struct timespec st_mtim member. We need this * check because there are some platforms that claim to be POSIX 2008 * compliant but which do not have st_mtim... */ -#if (PLATFORM_POSIX_VERSION >= 200809L) && defined(st_mtime) +#if (((PLATFORM_POSIX_VERSION >= 200809L) && defined(st_mtime)) \ + || (defined(__FreeBSD__) && __FreeBSD_version >= 1100056)) { /* (atime, mtime) */ struct timespec timebuf[2] = { {0, UTIME_NOW} }; @@ -1546,7 +1551,6 @@ int UTIL_countCores(int logical) #elif defined(__FreeBSD__) -#include #include /* Use physical core sysctl when available