diff --git a/configure b/configure
index e5bac72f2b973241bfd72d772112900f544cec55..cf52539edb2dd36b14c7b3b5dd4738c0d09ccb19 100755
--- a/configure
+++ b/configure
@@ -667,6 +667,7 @@ HAVE_LIST="
     fast_unaligned
     fork
     freetype2
+    getrusage
     imlib2
     inet_aton
     lrintf
@@ -1596,6 +1597,8 @@ elif check_func dlopen -ldl; then
     ldl=-ldl
 fi
 
+check_func getrusage
+
 check_func fork
 
 test "$vhook" = "default" && vhook="$dlopen"
diff --git a/ffmpeg.c b/ffmpeg.c
index d5cc28a25c90caecb338e76c9485180a52a0d0f0..795ca4c3b9fe03d62a1b9d74aeef7187cf3000c5 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -3113,10 +3113,12 @@ static int64_t getutime(void)
 #else
 static int64_t getutime(void)
 {
+#ifdef HAVE_GETRUSAGE
     struct rusage rusage;
 
     getrusage(RUSAGE_SELF, &rusage);
     return (rusage.ru_utime.tv_sec * 1000000LL) + rusage.ru_utime.tv_usec;
+#endif
 }
 #endif