ev: define HAVE_SYNC_FILE_RANGE if kernel >= 2.6.17 *and* glibc version >= 2.6
authorShigeki Ohtsu <ohtsu@iij.ad.jp>
Fri, 15 Jul 2011 03:38:45 +0000 (12:38 +0900)
committerBen Noordhuis <info@bnoordhuis.nl>
Fri, 15 Jul 2011 13:41:28 +0000 (15:41 +0200)
deps/uv/src/eio/config_linux.h

index 9823f62..0bb9162 100644 (file)
@@ -9,6 +9,11 @@
 #define LINUX_VERSION_AT_LEAST(major, minor, patch) \
   (LINUX_VERSION_CODE >= LINUX_VERSION_CODE_FOR(major, minor, patch))
 
+#ifdef __GLIBC__
+#define GLIBC_VERSION_AT_LEAST(major, minor) \
+  (__GLIBC__ > major || (__GLIBC__ == major && __GLIBC_MINOR__ >= minor))
+#endif
+
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #define HAVE_DLFCN_H 1
 
 #define HAVE_STRING_H 1
 
 /* sync_file_range(2) is available */
+#ifdef __GLIBC__
+#define HAVE_SYNC_FILE_RANGE (LINUX_VERSION_AT_LEAST(2, 6, 17) && GLIBC_VERSION_AT_LEAST(2, 6))
+#else
 #define HAVE_SYNC_FILE_RANGE LINUX_VERSION_AT_LEAST(2, 6, 17)
+#endif
 
 /* Define to 1 if you have the <sys/stat.h> header file. */
 #define HAVE_SYS_STAT_H 1