1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
install_static = not meson.is_subproject() and get_option('install-static')
libsysprof_capture_headers = files(
'sysprof-address.h',
'sysprof-clock.h',
'sysprof-capture-condition.h',
'sysprof-capture-cursor.h',
'sysprof-capture-reader.h',
'sysprof-capture-types.h',
'sysprof-capture-writer.h',
'sysprof-collector.h',
'sysprof-macros.h',
'sysprof-platform.h',
'sysprof-capture.h',
'sysprof-version-macros.h',
)
if not meson.is_subproject()
install_headers(libsysprof_capture_headers, subdir: sysprof_header_subdir)
endif
mapped_ring_buffer_sources = files(
'mapped-ring-buffer.c',
)
libsysprof_capture_sources = files(
'sysprof-address.c',
'sysprof-capture-condition.c',
'sysprof-capture-cursor.c',
'sysprof-capture-reader.c',
'sysprof-capture-util.c',
'sysprof-capture-writer.c',
'sysprof-capture-writer-cat.c',
'sysprof-collector.c',
'sysprof-clock.c',
'sysprof-platform.c',
)
configure_file(
input: 'sysprof-version.h.in',
output: 'sysprof-version.h',
configuration: sysprof_version_conf,
install_dir: join_paths(get_option('includedir'), sysprof_header_subdir),
install: not meson.is_subproject(),
)
libsysprof_capture_deps = [
dependency('threads'),
]
libsysprof_capture = static_library(
'sysprof-capture-@0@'.format(libsysprof_capture_api_version),
(libsysprof_capture_sources +
mapped_ring_buffer_sources),
dependencies: libsysprof_capture_deps,
c_args: [ '-DSYSPROF_CAPTURE_COMPILATION' ],
install: install_static,
gnu_symbol_visibility: 'hidden',
pic: true,
)
libsysprof_capture_include_dirs = include_directories('.')
libsysprof_capture_dep = declare_dependency(
link_whole: libsysprof_capture,
dependencies: libsysprof_capture_deps,
include_directories: libsysprof_capture_include_dirs,
)
meson.override_dependency('sysprof-capture-@0@'.format(libsysprof_capture_api_version), libsysprof_capture_dep)
if install_static
pkgconfig.generate(
libsysprof_capture,
subdirs: [ sysprof_header_subdir ],
description: 'The static capture library for tools that generate profiling capture data',
variables: [ 'datadir=' + datadir_for_pc_file ],
libraries_private: libsysprof_capture_deps,
)
endif
if get_option('tests')
subdir('tests')
endif
|