diff --git a/meson.build b/meson.build index 88397aa0..0cfa677f 100644 --- a/meson.build +++ b/meson.build @@ -97,6 +97,11 @@ if get_option('tracy_no_crash_handler') tracy_common_args += ['-DTRACY_NO_CRASH_HANDLER'] endif +if get_option('tracy_libunwind_backtrace') + tracy_common_args += ['-DTRACE_CLIENT_LIBUNWIND_BACKTRACE'] + tracy_public_deps += dependency('libunwind') +endif + tracy_shared_libs = get_option('default_library') == 'shared' if not tracy_shared_libs and get_option('tracy_shared_libs') warning('tracy_shared_libs is set to true, but default_library is set to static. Building static library.') diff --git a/meson_options.txt b/meson_options.txt index d46686ee..a76ad9c0 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -16,6 +16,7 @@ option('tracy_no_frame_image', type : 'boolean', value : false, description : 'D option('tracy_no_system_tracing', type : 'boolean', value : false, description : 'Disable systrace sampling') option('tracy_patchable_nopsleds', type : 'boolean', value : false, description : 'Enable nopsleds for efficient patching by system-level tools (e.g. rr)') option('tracy_timer_fallback', type : 'boolean', value : false, description : 'Use lower resolution timers') +option('tracy_libunwind_backtrace', type : 'boolean', value : false, description : 'Use libunwind backtracing where supported') option('tracy_delayed_init', type : 'boolean', value : false, description : 'Enable delayed initialization of the library (init on first call)') option('tracy_manual_lifetime', type : 'boolean', value : false, description : 'Enable the manual lifetime management of the profile') option('tracy_fibers', type : 'boolean', value : false, description : 'Enable fibers support')