mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-10 07:00:53 +00:00
tools: add -Dagent=true option
This also builds the agent statically with libsysprof_static_dep since we'd need that to avoid installing libsysprof when that isn't wanted. It also ensures the LD_PRELOAD libraries are installed for use by the agent.
This commit is contained in:
@ -44,3 +44,7 @@ option('tests', type: 'boolean')
|
|||||||
# Optionally disable the examples (this is mostly only useful for building only
|
# Optionally disable the examples (this is mostly only useful for building only
|
||||||
# libsysprof-capture as a subproject)
|
# libsysprof-capture as a subproject)
|
||||||
option('examples', type: 'boolean')
|
option('examples', type: 'boolean')
|
||||||
|
|
||||||
|
# Optionally build the sysprof-agent tool to allow profiling inside of
|
||||||
|
# containers from external system
|
||||||
|
option('agent', type: 'boolean', description: 'Build the sysprof-agent utility')
|
||||||
|
|||||||
@ -166,6 +166,7 @@ libsysprof_static_dep = declare_dependency(
|
|||||||
include_directories: [include_directories('.'), libsysprof_capture_include_dirs],
|
include_directories: [include_directories('.'), libsysprof_capture_include_dirs],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if get_option('libsysprof')
|
||||||
libsysprof = shared_library('sysprof-@0@'.format(libsysprof_api_version),
|
libsysprof = shared_library('sysprof-@0@'.format(libsysprof_api_version),
|
||||||
dependencies: libsysprof_deps + [libsysprof_static_dep],
|
dependencies: libsysprof_deps + [libsysprof_static_dep],
|
||||||
install: true,
|
install: true,
|
||||||
@ -191,5 +192,6 @@ pkgconfig.generate(
|
|||||||
)
|
)
|
||||||
|
|
||||||
install_headers(libsysprof_public_headers, subdir: sysprof_header_subdir)
|
install_headers(libsysprof_public_headers, subdir: sysprof_header_subdir)
|
||||||
|
endif
|
||||||
|
|
||||||
subdir('preload')
|
subdir('preload')
|
||||||
|
|||||||
@ -58,7 +58,7 @@ subdir('libsysprof-capture')
|
|||||||
if get_option('sysprofd') == 'bundled'
|
if get_option('sysprofd') == 'bundled'
|
||||||
subdir('sysprofd')
|
subdir('sysprofd')
|
||||||
endif
|
endif
|
||||||
if get_option('libsysprof')
|
if get_option('libsysprof') or get_option('agent')
|
||||||
subdir('libsysprof')
|
subdir('libsysprof')
|
||||||
endif
|
endif
|
||||||
if get_option('gtk') and get_option('libsysprof')
|
if get_option('gtk') and get_option('libsysprof')
|
||||||
|
|||||||
@ -12,14 +12,6 @@ if get_option('libsysprof')
|
|||||||
install_dir: get_option('bindir'),
|
install_dir: get_option('bindir'),
|
||||||
install: true,
|
install: true,
|
||||||
)
|
)
|
||||||
|
|
||||||
sysprof_agent = executable('sysprof-agent',
|
|
||||||
['sysprof-agent.c', ipc_agent_src],
|
|
||||||
dependencies: [libsysprof_dep],
|
|
||||||
c_args: tools_cflags,
|
|
||||||
install_dir: get_option('bindir'),
|
|
||||||
install: true,
|
|
||||||
)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sysprof_cat = executable('sysprof-cat', 'sysprof-cat.c',
|
sysprof_cat = executable('sysprof-cat', 'sysprof-cat.c',
|
||||||
@ -48,3 +40,13 @@ list_threads = executable('list-threads', ['list-threads.c'],
|
|||||||
c_args: tools_cflags,
|
c_args: tools_cflags,
|
||||||
install: false,
|
install: false,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if get_option('agent')
|
||||||
|
sysprof_agent = executable('sysprof-agent',
|
||||||
|
['sysprof-agent.c', ipc_agent_src],
|
||||||
|
dependencies: [libsysprof_static_dep],
|
||||||
|
c_args: tools_cflags,
|
||||||
|
install_dir: get_option('bindir'),
|
||||||
|
install: true,
|
||||||
|
)
|
||||||
|
endif
|
||||||
|
|||||||
Reference in New Issue
Block a user