From 87bb87defd80495c0565c2de9f51dc9d33a5d196 Mon Sep 17 00:00:00 2001 From: Justin Bronder Date: Wed, 8 Nov 2023 14:13:45 -0500 Subject: [PATCH 1/4] einfo: symlink rather then duplicate multicall binary Rather then have many copies of the same executable, that differ in only name, create a single copy and symlink all the others. --- src/einfo/meson.build | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/einfo/meson.build b/src/einfo/meson.build index df11d5fd2..ac68a35a3 100644 --- a/src/einfo/meson.build +++ b/src/einfo/meson.build @@ -1,6 +1,5 @@ einfo_execs = [ 'einfon', - 'einfo', 'ewarnn', 'ewarn', 'eerrorn', @@ -22,11 +21,19 @@ einfo_execs = [ 'veoutdent', ] -foreach exec: einfo_execs - executable(exec, +executable('einfo', ['einfo.c', version_h], include_directories: [incdir, einfo_incdir, rc_incdir], link_with: [libeinfo, librc], install: true, install_dir: rc_bindir) + +foreach exec: einfo_execs + custom_target(exec, + output: exec, + command: ['ln', '-sf', 'einfo', '@OUTPUT@'], + build_always_stale: true, + build_by_default: true, + install: true, + install_dir: rc_bindir) endforeach From b05233682d2dcc2d5ad0cdb9e5d42c2f1cffe361 Mon Sep 17 00:00:00 2001 From: Justin Bronder Date: Wed, 8 Nov 2023 14:28:28 -0500 Subject: [PATCH 2/4] service: symlink rather then duplicate multicall binary As done with einfo, rather then have many copies of the same executable, that differ in only name, create a single copy and symlink all the others. --- src/service/meson.build | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/service/meson.build b/src/service/meson.build index b3a86f6df..ffda5d51c 100644 --- a/src/service/meson.build +++ b/src/service/meson.build @@ -1,5 +1,4 @@ service_execs = [ - 'service_starting', 'service_started', 'service_stopping', 'service_stopped', @@ -10,11 +9,19 @@ service_execs = [ 'service_crashed', ] -foreach exec : service_execs - executable(exec, +executable('service_starting', ['service.c', misc_c, version_h], include_directories: [incdir, einfo_incdir, rc_incdir], link_with: [libeinfo, librc], install: true, install_dir: rc_bindir) + +foreach exec : service_execs + custom_target(exec, + output: exec, + command: ['ln', '-sf', 'service_starting', '@OUTPUT@'], + build_always_stale: true, + build_by_default: true, + install: true, + install_dir: rc_bindir) endforeach From a0ad30f333619a6f36232f11005469761911d965 Mon Sep 17 00:00:00 2001 From: Justin Bronder Date: Wed, 8 Nov 2023 14:30:48 -0500 Subject: [PATCH 3/4] value: symlink rather then duplicate multicall binary As done with einfo, rather then have many copies of the same executable, that differ in only name, create a single copy and symlink all the others. --- src/value/meson.build | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/value/meson.build b/src/value/meson.build index da958f01f..82b6129b6 100644 --- a/src/value/meson.build +++ b/src/value/meson.build @@ -1,15 +1,22 @@ value_execs = [ - 'service_get_value', 'service_set_value', 'get_options', 'save_options', ] +executable('service_get_value', + ['value.c', misc_c, version_h], + include_directories: [incdir, einfo_incdir, rc_incdir], + link_with: [libeinfo, librc], + install: true, + install_dir: rc_bindir) + foreach exec : value_execs - executable(exec, - ['value.c', misc_c, version_h], - include_directories: [incdir, einfo_incdir, rc_incdir], - link_with: [libeinfo, librc], + custom_target(exec, + output: exec, + command: ['ln', '-sf', 'service_get_value', '@OUTPUT@'], + build_always_stale: true, + build_by_default: true, install: true, install_dir: rc_bindir) endforeach From f932490f2ce8d3eb5f07773b4c87095095ba15ad Mon Sep 17 00:00:00 2001 From: Justin Bronder Date: Wed, 8 Nov 2023 14:32:31 -0500 Subject: [PATCH 4/4] mark_service: symlink rather then duplicate multicall binary As done with einfo, rather then have many copies of the same executable, that differ in only name, create a single copy and symlink all the others. --- src/mark_service/meson.build | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/mark_service/meson.build b/src/mark_service/meson.build index ba046dcb5..d05ab03f1 100644 --- a/src/mark_service/meson.build +++ b/src/mark_service/meson.build @@ -1,5 +1,4 @@ mark_service_execs = [ - 'mark_service_starting', 'mark_service_started', 'mark_service_stopping', 'mark_service_stopped', @@ -10,11 +9,19 @@ mark_service_execs = [ 'mark_service_crashed', ] +executable('mark_service_starting', + ['mark_service.c', misc_c, version_h], + include_directories: [incdir, einfo_incdir, rc_incdir], + link_with: [libeinfo,librc], + install: true, + install_dir: rc_sbindir) + foreach exec : mark_service_execs - executable(exec, - ['mark_service.c', misc_c, version_h], - include_directories: [incdir, einfo_incdir, rc_incdir], - link_with: [libeinfo,librc], + custom_target(exec, + output: exec, + command: ['ln', '-sf', 'mark_service_starting', '@OUTPUT@'], + build_always_stale: true, + build_by_default: true, install: true, install_dir: rc_sbindir) endforeach