aboutsummaryrefslogtreecommitdiff
path: root/src/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'src/meson.build')
-rw-r--r--src/meson.build65
1 files changed, 65 insertions, 0 deletions
diff --git a/src/meson.build b/src/meson.build
new file mode 100644
index 000000000..f97b66252
--- /dev/null
+++ b/src/meson.build
@@ -0,0 +1,65 @@
+# Subcomponents: these link into artifacts themselves, and have interdependencies.
+
+subdir('libutil')
+# Load-bearing order. libstore depends on libutil.
+subdir('libstore')
+# libfetchers depends on libstore
+subdir('libfetchers')
+# libexpr depends on all of the above
+subdir('libexpr')
+# libmain depends on libutil and libstore
+subdir('libmain')
+# libcmd depends on everything
+subdir('libcmd')
+
+
+# The rest of the subdirectories aren't separate components,
+# just source files in another directory, so we process them here.
+
+build_remote_sources = files(
+ 'build-remote/build-remote.cc',
+)
+nix_build_sources = files(
+ 'nix-build/nix-build.cc',
+)
+nix_channel_sources = files(
+ 'nix-channel/nix-channel.cc',
+)
+unpack_channel_gen = gen_header.process('nix-channel/unpack-channel.nix')
+nix_collect_garbage_sources = files(
+ 'nix-collect-garbage/nix-collect-garbage.cc',
+)
+nix_copy_closure_sources = files(
+ 'nix-copy-closure/nix-copy-closure.cc',
+)
+nix_env_buildenv_gen = gen_header.process('nix-env/buildenv.nix')
+nix_env_sources = files(
+ 'nix-env/nix-env.cc',
+ 'nix-env/user-env.cc',
+)
+nix_instantiate_sources = files(
+ 'nix-instantiate/nix-instantiate.cc',
+)
+nix_store_sources = files(
+ 'nix-store/dotgraph.cc',
+ 'nix-store/graphml.cc',
+ 'nix-store/nix-store.cc',
+)
+
+# Hurray for Meson list flattening!
+nix2_commands_sources = [
+ build_remote_sources,
+ nix_build_sources,
+ nix_channel_sources,
+ unpack_channel_gen,
+ nix_collect_garbage_sources,
+ nix_copy_closure_sources,
+ nix_env_buildenv_gen,
+ nix_env_sources,
+ nix_instantiate_sources,
+ nix_store_sources,
+]
+
+# Finally, the nix command itself, which all of the other commands are implmented in terms of
+# as a multicall binary.
+subdir('nix')