On Wednesday, 2018-07-18 14:01:49 +0200, Bas Nieuwenhuizen wrote: > radv always needs it, so just check the header instead. Also > do not declare the function if the variable is not set, so we > get a nice compile error instead of failing to open a device > at runtime.
If that's the goal, why have any guards? Just #include the header, that's your compilation error if it's missing :) > > Fixes: b87ef9e606a "util: fix MSVC build issue in disk_cache.h" > --- > configure.ac | 1 + > meson.build | 2 +- > src/util/disk_cache.h | 8 +++----- > 3 files changed, 5 insertions(+), 6 deletions(-) > > diff --git a/configure.ac b/configure.ac > index c946454cfae..ffb8424a07b 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -872,6 +872,7 @@ AC_HEADER_MAJOR > AC_CHECK_HEADER([xlocale.h], [DEFINES="$DEFINES -DHAVE_XLOCALE_H"]) > AC_CHECK_HEADER([sys/sysctl.h], [DEFINES="$DEFINES -DHAVE_SYS_SYSCTL_H"]) > AC_CHECK_HEADERS([endian.h]) > +AC_CHECK_HEADER([dlfcn.h], [DEFINES="$DEFINES -DHAVE_DLFCN_H"]) > AC_CHECK_FUNC([strtof], [DEFINES="$DEFINES -DHAVE_STRTOF"]) > AC_CHECK_FUNC([mkostemp], [DEFINES="$DEFINES -DHAVE_MKOSTEMP"]) > AC_CHECK_FUNC([timespec_get], [DEFINES="$DEFINES -DHAVE_TIMESPEC_GET"]) > diff --git a/meson.build b/meson.build > index e05645cbf39..86a4a4ce6da 100644 > --- a/meson.build > +++ b/meson.build > @@ -960,7 +960,7 @@ elif cc.has_header_symbol('sys/mkdev.h', 'major') > pre_args += '-DMAJOR_IN_MKDEV' > endif > > -foreach h : ['xlocale.h', 'sys/sysctl.h', 'linux/futex.h', 'endian.h'] > +foreach h : ['xlocale.h', 'sys/sysctl.h', 'linux/futex.h', 'endian.h', > 'dlfcn.h'] > if cc.compiles('#include <@0@>'.format(h), name : '@0@'.format(h)) > pre_args += '-DHAVE_@0@'.format(h.to_upper().underscorify()) > endif > diff --git a/src/util/disk_cache.h b/src/util/disk_cache.h > index f84840fb5ca..50bd9f41ac4 100644 > --- a/src/util/disk_cache.h > +++ b/src/util/disk_cache.h > @@ -24,7 +24,7 @@ > #ifndef DISK_CACHE_H > #define DISK_CACHE_H > > -#ifdef ENABLE_SHADER_CACHE > +#ifdef HAVE_DLFCN_H > #include <dlfcn.h> > #endif > #include <assert.h> > @@ -88,10 +88,10 @@ disk_cache_format_hex_id(char *buf, const uint8_t > *hex_id, unsigned size) > return buf; > } > > +#ifdef HAVE_DLFCN_H > static inline bool > disk_cache_get_function_timestamp(void *ptr, uint32_t* timestamp) > { > -#ifdef ENABLE_SHADER_CACHE > Dl_info info; > struct stat st; > if (!dladdr(ptr, &info) || !info.dli_fname) { > @@ -102,10 +102,8 @@ disk_cache_get_function_timestamp(void *ptr, uint32_t* > timestamp) > } > *timestamp = st.st_mtime; > return true; > -#else > - return false; > -#endif > } > +#endif > > /* Provide inlined stub functions if the shader cache is disabled. */ > > -- > 2.18.0 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev