meson: Search for execinfo.h
authorJory Pratt <anarchy@gentoo.org>
Wed, 8 May 2019 02:47:40 +0000 (21:47 -0500)
committerMatt Turner <mattst88@gmail.com>
Wed, 19 Jun 2019 19:16:18 +0000 (12:16 -0700)
Rather than checking __GLIBC__/__UCLIBC__ macros as a proxy for
execinfo.h presence, just check directly. This allows the build to work
on musl.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
meson.build
src/gallium/auxiliary/util/u_debug_symbol.c
src/mapi/glapi/gen/gl_gentable.py
src/mesa/drivers/dri/i915/intel_regions.c

index a297811740986c08846a272c2a3798fd797dece1..a0c965efc32bcd43ea4115144f888990fcbdb80f 100644 (file)
@@ -1036,7 +1036,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', 'dlfcn.h']
+foreach h : ['xlocale.h', 'sys/sysctl.h', 'linux/futex.h', 'endian.h', 'dlfcn.h', 'execinfo.h']
   if cc.compiles('#include <@0@>'.format(h), name : '@0@'.format(h))
     pre_args += '-DHAVE_@0@'.format(h.to_upper().underscorify())
   endif
index 22e6c8ce771910c953205d6523ce01a1c27d7e10..d8380b76bf66d434e167e6d60bd75c6f4dc915cf 100644 (file)
@@ -219,7 +219,7 @@ debug_symbol_name_dbghelp(const void *addr, char* buf, unsigned size)
 #endif /* PIPE_OS_WINDOWS */
 
 
-#if defined(__GLIBC__) && !defined(__UCLIBC__)
+#if defined(HAVE_EXECINFO_H)
 
 #include <execinfo.h>
 
@@ -240,7 +240,7 @@ debug_symbol_name_glibc(const void *addr, char* buf, unsigned size)
    return TRUE;
 }
 
-#endif /* defined(__GLIBC__) && !defined(__UCLIBC__) */
+#endif /* defined(HAVE_EXECINFO_H) */
 
 
 void
@@ -252,11 +252,11 @@ debug_symbol_name(const void *addr, char* buf, unsigned size)
    }
 #endif
 
-#if defined(__GLIBC__) && !defined(__UCLIBC__)
+#if defined(HAVE_EXECINFO_H)
    if (debug_symbol_name_glibc(addr, buf, size)) {
        return;
    }
-#endif
+#endif /* defined(HAVE_EXECINFO_H) */
 
    util_snprintf(buf, size, "%p", addr);
    buf[size - 1] = 0;
index 9d8923cf8dbdb85b60274e450d6759852e2f653c..92e1a546cffc0978c20b66096344e951c40a2a5c 100644 (file)
@@ -45,7 +45,7 @@ header = """/* GLXEXT is the define used in the xserver when the GLX extension i
 #endif
 
 #if (defined(GLXEXT) && defined(HAVE_BACKTRACE)) \\
-       || (!defined(GLXEXT) && defined(DEBUG) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__DragonFly__))
+       || (!defined(GLXEXT) && defined(DEBUG) && defined(HAVE_EXECINFO_H))
 #define USE_BACKTRACE
 #endif
 
index fee734801cd9caa5f7c114368e46202216cc276c..803ea9326e85d8096a3176c93fbda5077e9f4788 100644 (file)
@@ -57,7 +57,7 @@
  */
 #define DEBUG_BACKTRACE_SIZE 0
 
-#if DEBUG_BACKTRACE_SIZE == 0
+#if DEBUG_BACKTRACE_SIZE == 0 || !defined(HAVE_EXECINFO_H)
 /* Use the standard debug output */
 #define _DBG(...) DBG(__VA_ARGS__)
 #else