#mesondefine HAVE_ALARM
#mesondefine HAVE_DECL_LOCALTIME_R
#mesondefine HAVE_DECL_STRSIGNAL
+#mesondefine HAVE_GETRUSAGE
+#mesondefine HAVE_SYS_RESOURCE_H
['ucontext.h', 'HAVE_UCONTEXT_H'],
['unistd.h', 'HAVE_UNISTD_H'],
['valgrind/valgrind.h', 'HAVE_VALGRIND_VALGRIND_H'],
+ ['sys/resource.h', 'HAVE_SYS_RESOURCE_H'],
]
if host_machine.system() == 'windows'
if cc.has_function('sigaction', prefix : '#include<signal.h>')
cdata.set('HAVE_SIGACTION', 1)
endif
+have_getrusage = cc.has_function('getrusage', prefix : '#include <sys/time.h>\n#include <sys/resource.h>')
+if have_getrusage
+ cdata.set('HAVE_GETRUSAGE', 1)
+endif
+
if cc.has_function('fseeko', prefix : '#include<stdio.h>')
cdata.set('HAVE_FSEEKO', 1)
endif
else
gio_dep = [dependency('gio-2.0'), dependency('gio-unix-2.0')]
endif
+unwind_dep = dependency('libunwind', required : false)
+
mathlib = cc.find_library('m', required : false)
rt_lib = cc.find_library('rt', required : false) # clock_gettime
--- /dev/null
+gst_tracers_sources = [
+ 'gstlatency.c',
+ 'gstleaks.c',
+ 'gststats.c',
+ 'gsttracers.c',
+ 'gstlog.c'
+]
+
+if have_getrusage
+ gst_tracers_sources += ['gstrusage.c']
+endif
+
+gst_tracers = library('gstcoretracers',
+ gst_tracers_sources,
+ c_args : gst_c_args + ['-DGST_USE_UNSTABLE_API'],
+ include_directories : [configinc],
+ dependencies : [gst_dep, unwind_dep],
+ link_with : printf_lib,
+ install : true,
+ install_dir : '@0@/gstreamer-1.0'.format(get_option('libdir')),
+)
+