diff --git a/src/libcmd/meson.build b/src/libcmd/meson.build index 216d4df9c8d..5c3dd91ee49 100644 --- a/src/libcmd/meson.build +++ b/src/libcmd/meson.build @@ -92,6 +92,7 @@ this_library = library( link_args: linker_export_flags, prelink : true, # For C++ static initializers install : true, + cpp_pch : ['pch/precompiled-headers.hh'] ) install_headers(headers, subdir : 'nix/cmd', preserve_path : true) diff --git a/src/libcmd/pch/precompiled-headers.hh b/src/libcmd/pch/precompiled-headers.hh new file mode 100644 index 00000000000..6f9947e9b10 --- /dev/null +++ b/src/libcmd/pch/precompiled-headers.hh @@ -0,0 +1,4 @@ +#include "nix/cmd/installables.hh" +#include "nix/expr/eval.hh" +#include "nix/util/util.hh" +#include "nix/flake/flake.hh" diff --git a/src/libexpr/meson.build b/src/libexpr/meson.build index f5adafae031..fe795a60776 100644 --- a/src/libexpr/meson.build +++ b/src/libexpr/meson.build @@ -178,6 +178,7 @@ this_library = library( link_args: linker_export_flags, prelink : true, # For C++ static initializers install : true, + cpp_pch : ['pch/precompiled-headers.hh'] ) install_headers(headers, subdir : 'nix/expr', preserve_path : true) diff --git a/src/libexpr/pch/precompiled-headers.hh b/src/libexpr/pch/precompiled-headers.hh new file mode 100644 index 00000000000..1c9417b376a --- /dev/null +++ b/src/libexpr/pch/precompiled-headers.hh @@ -0,0 +1 @@ +#include "nix/expr/eval.hh" diff --git a/src/libstore/meson.build b/src/libstore/meson.build index d82bcddc14c..375959643e9 100644 --- a/src/libstore/meson.build +++ b/src/libstore/meson.build @@ -348,6 +348,7 @@ this_library = library( link_args: linker_export_flags, prelink : true, # For C++ static initializers install : true, + cpp_pch : ['pch/precompiled-headers.hh'] ) install_headers(headers, subdir : 'nix/store', preserve_path : true) diff --git a/src/libstore/pch/precompiled-headers.hh b/src/libstore/pch/precompiled-headers.hh new file mode 100644 index 00000000000..ea0dd5d70df --- /dev/null +++ b/src/libstore/pch/precompiled-headers.hh @@ -0,0 +1,8 @@ +#include "nix/store/store-api.hh" +#include "nix/store/realisation.hh" +#include "nix/store/derived-path.hh" +#include "nix/store/derivations.hh" +#include "nix/store/local-store.hh" +#include "nix/util/util.hh" + +#include diff --git a/src/libutil/meson.build b/src/libutil/meson.build index f48c8f3d72b..ced9c424d3d 100644 --- a/src/libutil/meson.build +++ b/src/libutil/meson.build @@ -191,6 +191,7 @@ this_library = library( link_args: linker_export_flags, prelink : true, # For C++ static initializers install : true, + cpp_pch : 'pch/precompiled-headers.hh' ) install_headers(headers, subdir : 'nix/util', preserve_path : true) diff --git a/src/libutil/pch/precompiled-headers.hh b/src/libutil/pch/precompiled-headers.hh new file mode 100644 index 00000000000..75e905386e9 --- /dev/null +++ b/src/libutil/pch/precompiled-headers.hh @@ -0,0 +1,7 @@ +#include "nix/util/util.hh" +#include "nix/util/file-system.hh" +#include "nix/util/serialise.hh" +#include "nix/util/signals.hh" +#include "nix/util/source-accessor.hh" + +#include diff --git a/src/nix/meson.build b/src/nix/meson.build index 0ba8bdd4640..586ee15c322 100644 --- a/src/nix/meson.build +++ b/src/nix/meson.build @@ -186,6 +186,7 @@ this_exe = executable( include_directories : include_dirs, link_args: linker_export_flags, install : true, + cpp_pch : ['pch/precompiled-headers.hh'] ) meson.override_find_program('nix', this_exe) diff --git a/src/nix/pch/precompiled-headers.hh b/src/nix/pch/precompiled-headers.hh new file mode 100644 index 00000000000..5b320c86154 --- /dev/null +++ b/src/nix/pch/precompiled-headers.hh @@ -0,0 +1,3 @@ +#include "nix/cmd/command.hh" +#include "nix/expr/eval.hh" +#include "nix/main/shared.hh"