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

Roland Scheidegger sroland at vmware.com
Wed Feb 22 00:01:00 UTC 2017


Looks good to me.
I guess ideally there'd be some os abstraction so the cache stuff could
actually build/work on windows but that's another story...

Roland

Am 21.02.2017 um 23:57 schrieb Brian Paul:
> 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. */
> 



More information about the mesa-dev mailing list