[sysprof: 1/2] Cleanup the build a bit
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [sysprof: 1/2] Cleanup the build a bit
- Date: Thu, 26 May 2022 05:47:18 +0000 (UTC)
commit 757d36ae8e0c74c809cfa1e679179f7733fbe40e
Author: Tristan Partin <tristan partin io>
Date: Wed May 25 14:07:02 2022 -0500
Cleanup the build a bit
Makes the Meson build a little bit better and cleans up some of the
formatting.
build-aux/meson/post_install.sh | 24 ------
data/meson.build | 3 +-
examples/meson.build | 4 -
help/meson.build | 10 +--
meson.build | 21 +++--
meson_options.txt | 10 +--
po/meson.build | 2 +-
src/libsysprof-ui/meson.build | 4 -
src/libsysprof/meson.build | 4 -
src/meson.build | 34 ++++----
src/sysprof/meson.build | 4 -
src/sysprofd/meson.build | 4 -
src/tests/meson.build | 169 +++++++++++++++++++---------------------
src/tools/meson.build | 6 +-
14 files changed, 129 insertions(+), 170 deletions(-)
---
diff --git a/data/meson.build b/data/meson.build
index d70ea582..86a65a5f 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -1,5 +1,4 @@
-if get_option('enable_gtk') and get_option('libsysprof')
-
+if get_option('gtk') and get_option('libsysprof')
install_data('sysprof-mime.xml',
install_dir: join_paths(datadir, 'mime/packages')
)
diff --git a/examples/meson.build b/examples/meson.build
index 4cef7d15..71a036a4 100644
--- a/examples/meson.build
+++ b/examples/meson.build
@@ -1,7 +1,3 @@
-if get_option('enable_examples')
-
app = executable('example-app', 'app.c',
dependencies: [dependency('glib-2.0'), libsysprof_capture_dep],
)
-
-endif
diff --git a/help/meson.build b/help/meson.build
index b2aec10d..d7a24017 100644
--- a/help/meson.build
+++ b/help/meson.build
@@ -1,7 +1,5 @@
-if get_option('help')
- find_program('itstool', required: true)
+find_program('itstool')
- gnome.yelp('sysprof',
- sources: ['index.page', 'introduction.page', 'profiling.page', 'faq.page', 'legal.xml'],
- )
-endif
+gnome.yelp('sysprof',
+ sources: ['index.page', 'introduction.page', 'profiling.page', 'faq.page', 'legal.xml'],
+)
diff --git a/meson.build b/meson.build
index 029b5742..59703943 100644
--- a/meson.build
+++ b/meson.build
@@ -10,7 +10,7 @@ project('sysprof', 'c',
symbolic_version = '43.alpha0'
-gnome = import('gnome')
+gnome = import('gnome', required: get_option('gtk'))
pkgconfig = import('pkgconfig')
i18n = import('i18n')
@@ -46,7 +46,6 @@ config_h.set('PACKAGE_TARNAME', 'PACKAGE_STRING')
config_h.set('PACKAGE', 'PACKAGE_NAME')
config_h.set('VERSION', 'PACKAGE_VERSION')
-
# Detect and set symbol visibility
if get_option('default_library') != 'static'
if host_machine.system() == 'windows'
@@ -200,16 +199,26 @@ endif
subdir('src')
subdir('data')
-subdir('examples')
-subdir('help')
subdir('po')
+if get_option('help')
+ subdir('help')
+endif
+
+if get_option('examples')
+ subdir('examples')
+endif
+
configure_file(
input: 'config.h.meson',
output: 'config.h',
configuration: config_h
)
-if get_option('enable_gtk')
- meson.add_install_script('build-aux/meson/post_install.sh')
+if get_option('gtk') and gnome.found()
+ gnome.post_install(
+ glib_compile_schemas: true,
+ gtk_update_icon_cache: true,
+ update_desktop_database: true
+ )
endif
diff --git a/meson_options.txt b/meson_options.txt
index 10f90fb1..3562830b 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,7 +1,7 @@
# Optionally disable the GTK application in case you're building the
# sysprof-cli only for your platform. Might be useful in IoT or various
# server scenarios.
-option('enable_gtk', type: 'boolean')
+option('gtk', type: 'boolean')
# Disable libsysprof/ui (in situations you only want sysprof-capture)
option('libsysprof', type: 'boolean')
@@ -10,7 +10,7 @@ option('libsysprof', type: 'boolean')
# You only really want to ignore this if you are running from a container
# and are talking to a host daemon. Also, if you're compiling for something
# other than Linux to allow viewing syscap files.
-option('with_sysprofd', type: 'combo',
+option('sysprofd', type: 'combo',
choices: ['host', 'bundled', 'none'],
value: 'bundled',
)
@@ -35,12 +35,12 @@ option('libunwind', type: 'boolean')
# Optionally disable the tools (this is mostly only useful for building only
# libsysprof-capture as a subproject)
-option('enable_tools', type: 'boolean')
+option('tools', type: 'boolean')
# Optionally disable the tests (this is mostly only useful for building only
# libsysprof-capture as a subproject)
-option('enable_tests', type: 'boolean')
+option('tests', type: 'boolean')
# Optionally disable the examples (this is mostly only useful for building only
# libsysprof-capture as a subproject)
-option('enable_examples', type: 'boolean')
+option('examples', type: 'boolean')
diff --git a/po/meson.build b/po/meson.build
index 0cf2c180..21029343 100644
--- a/po/meson.build
+++ b/po/meson.build
@@ -2,5 +2,5 @@
i18n.gettext('sysprof-workaround', preset: 'glib', install: false)
if get_option('libsysprof')
-i18n.gettext('sysprof', preset: 'glib')
+ i18n.gettext('sysprof', preset: 'glib')
endif
diff --git a/src/libsysprof-ui/meson.build b/src/libsysprof-ui/meson.build
index 956a7b5f..d87a093d 100644
--- a/src/libsysprof-ui/meson.build
+++ b/src/libsysprof-ui/meson.build
@@ -1,5 +1,3 @@
-if get_option('enable_gtk') and get_option('libsysprof')
-
libsysprof_ui_public_sources = [
'sysprof-check.c',
'sysprof-display.c',
@@ -135,5 +133,3 @@ pkgconfig.generate(
)
install_headers(libsysprof_ui_public_headers, subdir: sysprof_ui_header_subdir)
-
-endif
diff --git a/src/libsysprof/meson.build b/src/libsysprof/meson.build
index 3d9c0b2f..bd6e8a70 100644
--- a/src/libsysprof/meson.build
+++ b/src/libsysprof/meson.build
@@ -1,5 +1,3 @@
-if get_option('libsysprof')
-
libsysprof_c_args = [ '-DSYSPROF_COMPILATION' ]
libsysprof_public_sources = [
@@ -195,5 +193,3 @@ pkgconfig.generate(
install_headers(libsysprof_public_headers, subdir: sysprof_header_subdir)
subdir('preload')
-
-endif
diff --git a/src/meson.build b/src/meson.build
index a595f554..903559ec 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -8,7 +8,7 @@ sysprof_version_conf.set('MINOR_VERSION', sysprof_version[1])
sysprof_version_conf.set('MICRO_VERSION', sysprof_version[2])
sysprof_version_conf.set('VERSION', meson.project_version())
-if get_option('with_sysprofd') == 'bundled' or get_option('libsysprof')
+if get_option('sysprofd') == 'bundled' or get_option('libsysprof')
ipc_profiler_src = gnome.gdbus_codegen('ipc-profiler',
sources: 'org.gnome.Sysprof3.Profiler.xml',
interface_prefix: 'org.gnome.Sysprof3.',
@@ -43,18 +43,26 @@ endif
ipc_include_dirs = include_directories('.')
-stackstash_sources = files([
- 'stackstash.c',
-])
+stackstash_sources = files('stackstash.c')
-helpers_sources = files([
- 'helpers.c',
-])
+helpers_sources = files('helpers.c')
subdir('libsysprof-capture')
-subdir('sysprofd')
-subdir('libsysprof')
-subdir('libsysprof-ui')
-subdir('sysprof')
-subdir('tools')
-subdir('tests')
+if get_option('sysprofd') == 'bundled'
+ subdir('sysprofd')
+endif
+if get_option('libsysprof')
+ subdir('libsysprof')
+endif
+if get_option('gtk') and get_option('libsysprof')
+ subdir('libsysprof-ui')
+endif
+if get_option('gtk') and get_option('libsysprof')
+ subdir('sysprof')
+endif
+if get_option('tools')
+ subdir('tools')
+endif
+if get_option('tests')
+ subdir('tests')
+endif
diff --git a/src/sysprof/meson.build b/src/sysprof/meson.build
index ca40c456..c5c4593a 100644
--- a/src/sysprof/meson.build
+++ b/src/sysprof/meson.build
@@ -1,5 +1,3 @@
-if get_option('enable_gtk') and get_option('libsysprof')
-
sysprof_sources = [
'egg-binding-group.c',
'sysprof.c',
@@ -26,5 +24,3 @@ sysprof = executable('sysprof', sysprof_resources + sysprof_sources,
install_dir: get_option('bindir'),
install: true,
)
-
-endif
diff --git a/src/sysprofd/meson.build b/src/sysprofd/meson.build
index 40e0138b..b6a8dd97 100644
--- a/src/sysprofd/meson.build
+++ b/src/sysprofd/meson.build
@@ -1,5 +1,3 @@
-if get_option('with_sysprofd') == 'bundled'
-
sysprofd_sources = [
'../libsysprof/sysprof-kallsyms.c',
'sysprofd.c',
@@ -96,5 +94,3 @@ configure_file(
configuration: sysprofdconf,
install_dir: systemdunitdir,
)
-
-endif
diff --git a/src/tests/meson.build b/src/tests/meson.build
index d1593cba..611ff260 100644
--- a/src/tests/meson.build
+++ b/src/tests/meson.build
@@ -1,5 +1,3 @@
-if get_option('enable_tests')
-
test_env = [
'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()),
@@ -39,117 +37,112 @@ find_temp_allocs = executable('find-temp-allocs', 'find-temp-allocs.c',
dependencies: test_capture_deps,
)
-
test('test-capture', test_capture, env: test_env)
test('test-capture-cursor', test_capture_cursor, env: test_env)
test('test-mapped-ring-buffer', test_mapped_ring_buffer, env: test_env)
if get_option('libsysprof')
+ test_deps = [
+ libsysprof_static_dep,
+ ]
-test_deps = [
- libsysprof_static_dep,
-]
-
-test_addr_map = executable('test-addr-map', 'test-addr-map.c',
- c_args: test_cflags,
- dependencies: test_deps,
-)
-
-test_addr_decode = executable('test-addr-decode', 'test-addr-decode.c',
- c_args: test_cflags,
- dependencies: test_deps,
-)
-
-test_mountinfo = executable('test-mountinfo', 'test-mountinfo.c',
- c_args: test_cflags,
- dependencies: test_deps,
-)
-
-test_flatpak = executable('test-flatpak', 'test-flatpak.c',
- c_args: test_cflags,
- dependencies: test_deps,
-)
-
-test_resolvers = executable('test-resolvers', 'test-resolvers.c',
- c_args: test_cflags,
- dependencies: test_deps,
-)
-
-allocs_by_size = executable('allocs-by-size', 'allocs-by-size.c',
- c_args: test_cflags,
- dependencies: test_deps,
-)
-
-allocs_within_mark = executable('allocs-within-mark', 'allocs-within-mark.c',
- c_args: test_cflags,
- dependencies: test_deps,
-)
-
-cross_thread_frees = executable('cross-thread-frees', 'cross-thread-frees.c',
- c_args: test_cflags,
- dependencies: test_deps,
-)
+ test_addr_map = executable('test-addr-map', 'test-addr-map.c',
+ c_args: test_cflags,
+ dependencies: test_deps,
+ )
-memory_stack_stash = executable('memory-stack-stash', 'memory-stack-stash.c',
- c_args: test_cflags,
- dependencies: test_deps,
-)
+ test_addr_decode = executable('test-addr-decode', 'test-addr-decode.c',
+ c_args: test_cflags,
+ dependencies: test_deps,
+ )
-read_build_id = executable('read-build-id', 'read-build-id.c',
- c_args: test_cflags,
- dependencies: test_deps,
-)
+ test_mountinfo = executable('test-mountinfo', 'test-mountinfo.c',
+ c_args: test_cflags,
+ dependencies: test_deps,
+ )
-show_page_usage = executable('show-page-usage', 'show-page-usage.c',
- c_args: test_cflags,
- dependencies: test_deps + [dependency('cairo')],
-)
+ test_flatpak = executable('test-flatpak', 'test-flatpak.c',
+ c_args: test_cflags,
+ dependencies: test_deps,
+ )
-list_pid_maps = executable('list-all-maps', 'list-all-maps.c',
- c_args: test_cflags,
- dependencies: [libsysprof_static_dep],
- include_directories: include_directories('..'),
-)
+ test_resolvers = executable('test-resolvers', 'test-resolvers.c',
+ c_args: test_cflags,
+ dependencies: test_deps,
+ )
-list_maps = executable('list-maps', 'list-maps.c',
- c_args: test_cflags,
- dependencies: [libsysprof_static_dep],
- include_directories: include_directories('..'),
-)
+ allocs_by_size = executable('allocs-by-size', 'allocs-by-size.c',
+ c_args: test_cflags,
+ dependencies: test_deps,
+ )
-if get_option('enable_gtk')
+ allocs_within_mark = executable('allocs-within-mark', 'allocs-within-mark.c',
+ c_args: test_cflags,
+ dependencies: test_deps,
+ )
- test_ui_deps = [
- libsysprof_dep,
- libsysprof_ui_dep,
- dependency('gtk4', version: gtk_req_version),
- dependency('pangoft2', required: false),
- ]
+ cross_thread_frees = executable('cross-thread-frees', 'cross-thread-frees.c',
+ c_args: test_cflags,
+ dependencies: test_deps,
+ )
- test_model_filter = executable('test-model-filter', 'test-model-filter.c',
+ memory_stack_stash = executable('memory-stack-stash', 'memory-stack-stash.c',
c_args: test_cflags,
- dependencies: test_ui_deps,
+ dependencies: test_deps,
)
- test_process_model = executable('test-process-model', 'test-process-model.c',
+ read_build_id = executable('read-build-id', 'read-build-id.c',
c_args: test_cflags,
- dependencies: test_ui_deps,
+ dependencies: test_deps,
)
- test_zoom = executable('test-zoom',
- ['test-zoom.c', '../libsysprof-ui/sysprof-zoom-manager.c'],
+ show_page_usage = executable('show-page-usage', 'show-page-usage.c',
c_args: test_cflags,
- dependencies: test_ui_deps,
+ dependencies: test_deps + [dependency('cairo')],
)
- test_capture_view = executable('test-capture-view', 'test-capture-view.c',
+ list_pid_maps = executable('list-all-maps', 'list-all-maps.c',
c_args: test_cflags,
- dependencies: test_ui_deps,
+ dependencies: [libsysprof_static_dep],
+ include_directories: include_directories('..'),
)
- test('test-model-filter', test_model_filter, env: test_env)
- test('test-zoom', test_zoom, env: test_env)
+ list_maps = executable('list-maps', 'list-maps.c',
+ c_args: test_cflags,
+ dependencies: [libsysprof_static_dep],
+ include_directories: include_directories('..'),
+ )
-endif
-endif
+ if get_option('gtk')
+ test_ui_deps = [
+ libsysprof_dep,
+ libsysprof_ui_dep,
+ dependency('gtk4', version: gtk_req_version),
+ dependency('pangoft2', required: false),
+ ]
+
+ test_model_filter = executable('test-model-filter', 'test-model-filter.c',
+ c_args: test_cflags,
+ dependencies: test_ui_deps,
+ )
+
+ test_process_model = executable('test-process-model', 'test-process-model.c',
+ c_args: test_cflags,
+ dependencies: test_ui_deps,
+ )
+
+ test_zoom = executable('test-zoom',
+ ['test-zoom.c', '../libsysprof-ui/sysprof-zoom-manager.c'],
+ c_args: test_cflags,
+ dependencies: test_ui_deps,
+ )
+
+ test_capture_view = executable('test-capture-view', 'test-capture-view.c',
+ c_args: test_cflags,
+ dependencies: test_ui_deps,
+ )
+
+ test('test-model-filter', test_model_filter, env: test_env)
+ test('test-zoom', test_zoom, env: test_env)
+ endif
endif
diff --git a/src/tools/meson.build b/src/tools/meson.build
index 3246ecb7..9e9ae5f3 100644
--- a/src/tools/meson.build
+++ b/src/tools/meson.build
@@ -1,5 +1,3 @@
-if get_option('enable_tools')
-
tools_deps = [
dependency('glib-2.0'),
libsysprof_capture_dep,
@@ -28,7 +26,7 @@ sysprof_dump = executable('sysprof-dump', 'sysprof-dump.c',
install: false,
)
-if get_option('with_sysprofd') == 'bundled' or get_option('libsysprof')
+if get_option('sysprofd') == 'bundled' or get_option('libsysprof')
sysprof_profiler_ctl = executable('sysprof-profiler-ctl',
[ 'sysprof-profiler-ctl.c', ipc_profiler_src ],
dependencies: [ tools_deps, dependency('gio-unix-2.0', version: glib_req_version) ],
@@ -42,5 +40,3 @@ list_threads = executable('list-threads', ['list-threads.c'],
c_args: tools_cflags,
install: false,
)
-
-endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]