[Mesa-dev] [PATCH] util: fix MSVC build issue in disk_cache.h

Brian Paul brianp at vmware.com
Tue Feb 21 22:57:00 UTC 2017


Windows doesn't have dlfcn.h.  Protect the code in question
with #if ENABLE_SHADER_CACHE test.
---
 src/util/disk_cache.h | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/src/util/disk_cache.h b/src/util/disk_cache.h
index 8b6fc0d..7f4da80 100644
--- a/src/util/disk_cache.h
+++ b/src/util/disk_cache.h
@@ -24,7 +24,9 @@
 #ifndef DISK_CACHE_H
 #define DISK_CACHE_H
 
+#ifdef ENABLE_SHADER_CACHE
 #include <dlfcn.h>
+#endif
 #include <stdint.h>
 #include <stdbool.h>
 #include <sys/stat.h>
@@ -43,16 +45,20 @@ struct disk_cache;
 static inline bool
 disk_cache_get_function_timestamp(void *ptr, uint32_t* timestamp)
 {
-	Dl_info info;
-	struct stat st;
-	if (!dladdr(ptr, &info) || !info.dli_fname) {
-		return false;
-	}
-	if (stat(info.dli_fname, &st)) {
-		return false;
-	}
-	*timestamp = st.st_mtim.tv_sec;
-	return true;
+#ifdef ENABLE_SHADER_CACHE
+   Dl_info info;
+   struct stat st;
+   if (!dladdr(ptr, &info) || !info.dli_fname) {
+      return false;
+   }
+   if (stat(info.dli_fname, &st)) {
+      return false;
+   }
+   *timestamp = st.st_mtim.tv_sec;
+   return true;
+#else
+   return false;
+#endif
 }
 
 /* Provide inlined stub functions if the shader cache is disabled. */
-- 
1.9.1



More information about the mesa-dev mailing list