log: control dependency on execinfo with find_library
authorMyungJoo Ham <myungjoo.ham@samsung.com>
Thu, 24 Nov 2022 07:47:52 +0000 (16:47 +0900)
committerSangjung Woo <again4you@gmail.com>
Thu, 1 Dec 2022 02:01:24 +0000 (11:01 +0900)
Like Android, Alpine linux does not ahve execinfo, too.
Determine whether to use execinfo or not based on
find_library results.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
gst/nnstreamer/nnstreamer_log.c
meson.build

index 32d597e..52d88d4 100644 (file)
@@ -8,7 +8,13 @@
  * @bug                No known bugs except for NYI items
  */
 
-#ifndef __ANDROID__
+#ifdef __ANDROID__
+#ifndef _NO_EXECINFO_
+#define _NO_EXECINFO_
+#endif
+#endif
+
+#ifndef _NO_EXECINFO_
 /* Android does not have execinfo.h. It has unwind.h instead. */
 #include <execinfo.h>
 #endif
@@ -29,7 +35,7 @@ char *
 _backtrace_to_string (void)
 {
   char *retstr = NULL;
-#ifndef __ANDROID__
+#ifndef _NO_EXECINFO_
 /* Android does not have execinfo.h. It has unwind.h instead. */
   void *array[20];
   char **strings;
index 83d74e8..3669e4b 100644 (file)
@@ -641,6 +641,11 @@ if get_option('enable-float16')
 
 endif
 
+# A few distros do not have execinfo.h
+if not cc.has_header('execinfo.h')
+  add_project_arguments('-D_NO_EXECINFO_', language: ['c', 'cpp'])
+endif
+
 # See if src-iio can be built or not
 gst18_dep = dependency('gstreamer-' + gst_api_verision, version : '>=1.8', required : false)
 tensor_src_iio_build = false