diff --git a/m4/ax_recvmmsg.m4 b/m4/ax_recvmmsg.m4
index 57bfd80ddf5772e2313d9fcd8e4dd678af3fa8f2..9f7a0ac22d38c3c3945b63cf4b1fb30d0510489f 100644
--- a/m4/ax_recvmmsg.m4
+++ b/m4/ax_recvmmsg.m4
@@ -21,7 +21,9 @@ AC_DEFUN([AX_MSG_WAITFORONE],
     [
       AC_LANG_PROGRAM(
       [
-#define _GNU_SOURCE
+#ifndef _GNU_SOURCE
+  #define _GNU_SOURCE
+#endif
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <netinet/in.h>