From 10845bfe63806cbf9807a29f5ea4cf0c661b5bc7 Mon Sep 17 00:00:00 2001 From: Qyriad Date: Sun, 19 Apr 2026 12:38:37 +0200 Subject: [PATCH] build: move all remaining C++ files to a library (except main.cc, yet) Change-Id: I2a69701a67faf6f9ad33e30bbe7aa4386a6a6964 --- lix/nix/meson.build | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/lix/nix/meson.build b/lix/nix/meson.build index a426cdf6d..01d2c9e6e 100644 --- a/lix/nix/meson.build +++ b/lix/nix/meson.build @@ -83,7 +83,6 @@ nix_sources = files( 'hash.cc', 'log.cc', 'ls.cc', - 'main.cc', 'make-content-addressed.cc', 'nar.cc', 'optimise-store.cc', @@ -156,8 +155,9 @@ nix_headers = files( # keep-sorted end ) -nix = executable( - 'nix', +# You know. The thing you link against with `-liblix`. +iblix = library( + 'iblix', nix_sources, legacy_sources, nix_settings_headers, @@ -167,7 +167,6 @@ nix = executable( legacy_generated_headers, include_directories : legacy_include_directories, dependencies : [ - libasanoptions, liblix, boehm, capnp_rpc, @@ -181,6 +180,36 @@ nix = executable( install_rpath : libdir, ) +libiblix = declare_dependency( + link_with : [iblix], + dependencies : [ + liblix, + ], + include_directories : [ + include_directories('.'), + legacy_include_directories + ], + sources : [ + nix_settings_headers, + nix_generated_headers, + nix_headers, + legacy_headers, + legacy_generated_headers, + ], +) + +nix = executable( + 'nix', + 'main.cc', + cpp_pch : cpp_pch, + install : true, + install_rpath : libdir, + dependencies : [ + libiblix, + libasanoptions, + ], +) + nix_symlinks = [ 'nix-build', 'nix-channel',