meson: Build tracers
authorThibault Saunier <thibault.saunier@osg.samsung.com>
Mon, 26 Sep 2016 21:21:19 +0000 (18:21 -0300)
committerThibault Saunier <thibault.saunier@osg.samsung.com>
Mon, 26 Sep 2016 21:27:00 +0000 (18:27 -0300)
config.h.meson
meson.build
plugins/meson.build
plugins/tracers/meson.build [new file with mode: 0644]

index 89dad71..15a5de7 100644 (file)
 #mesondefine HAVE_ALARM
 #mesondefine HAVE_DECL_LOCALTIME_R
 #mesondefine HAVE_DECL_STRSIGNAL
+#mesondefine HAVE_GETRUSAGE
+#mesondefine HAVE_SYS_RESOURCE_H
index 28aeb73..e2f8703 100644 (file)
@@ -120,6 +120,7 @@ check_headers = [['dlfcn.h','HAVE_DLFCN_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'
@@ -153,6 +154,11 @@ endif
 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
@@ -243,6 +249,8 @@ if host_machine.system() == 'windows'
 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
 
index 83e7a6d..5013c58 100644 (file)
@@ -1,3 +1,2 @@
 subdir('elements')
-# FIXME: not implemented
-#subdir('tracers')
+subdir('tracers')
diff --git a/plugins/tracers/meson.build b/plugins/tracers/meson.build
new file mode 100644 (file)
index 0000000..6f7f9cc
--- /dev/null
@@ -0,0 +1,22 @@
+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')),
+)
+