Skip to content

Commit

Permalink
Split up util.{hh,cc}
Browse files Browse the repository at this point in the history
All OS and IO operations should be moved out, leaving only some misc
portable pure functions.

This is useful to avoid copious CPP when doing things like Windows and
Emscripten ports.
  • Loading branch information
Ericson2314 committed Sep 4, 2023
1 parent 4a8c9bb commit a23797e
Show file tree
Hide file tree
Showing 100 changed files with 1,023 additions and 697 deletions.
2 changes: 1 addition & 1 deletion src/libcmd/editor-for.cc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include "util.hh"
#include "editor-for.hh"
#include "environment-variables.hh"

namespace nix {

Expand Down
1 change: 0 additions & 1 deletion src/libcmd/installable-attr-path.hh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
#include "globals.hh"
#include "installable-value.hh"
#include "outputs-spec.hh"
#include "util.hh"
#include "command.hh"
#include "attr-path.hh"
#include "common-eval-args.hh"
Expand Down
1 change: 0 additions & 1 deletion src/libcmd/installables.hh
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#pragma once
///@file

#include "util.hh"
#include "path.hh"
#include "outputs-spec.hh"
#include "derived-path.hh"
Expand Down
1 change: 1 addition & 0 deletions src/libcmd/markdown.cc
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "markdown.hh"
#include "util.hh"
#include "finally.hh"
#include "terminal.hh"

#include <sys/queue.h>
#include <lowdown.h>
Expand Down
3 changes: 3 additions & 0 deletions src/libcmd/repl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ extern "C" {
#include "repl.hh"

#include "ansicolor.hh"
#include "signals.hh"
#include "shared.hh"
#include "eval.hh"
#include "eval-cache.hh"
Expand All @@ -36,6 +37,8 @@ extern "C" {
#include "globals.hh"
#include "flake/flake.hh"
#include "flake/lockfile.hh"
#include "users.hh"
#include "terminal.hh"
#include "editor-for.hh"
#include "finally.hh"
#include "markdown.hh"
Expand Down
1 change: 1 addition & 0 deletions src/libexpr/eval-cache.cc
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#include "users.hh"
#include "eval-cache.hh"
#include "sqlite.hh"
#include "eval.hh"
Expand Down
1 change: 1 addition & 0 deletions src/libexpr/eval-settings.cc
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#include "users.hh"
#include "globals.hh"
#include "profiles.hh"
#include "eval.hh"
Expand Down
1 change: 1 addition & 0 deletions src/libexpr/eval.cc
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#include "function-trace.hh"
#include "profiles.hh"
#include "print.hh"
#include "signals.hh"

#include <algorithm>
#include <chrono>
Expand Down
3 changes: 2 additions & 1 deletion src/libexpr/flake/config.cc
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "flake.hh"
#include "users.hh"
#include "globals.hh"
#include "fetch-settings.hh"
#include "flake.hh"

#include <nlohmann/json.hpp>

Expand Down
1 change: 1 addition & 0 deletions src/libexpr/flake/flake.cc
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#include "terminal.hh"
#include "flake.hh"
#include "eval.hh"
#include "eval-settings.hh"
Expand Down
1 change: 1 addition & 0 deletions src/libexpr/parser.y
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#include <variant>

#include "util.hh"
#include "users.hh"

#include "nixexpr.hh"
#include "eval.hh"
Expand Down
1 change: 1 addition & 0 deletions src/libexpr/primops.cc
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include "path-references.hh"
#include "store-api.hh"
#include "util.hh"
#include "processes.hh"
#include "value-to-json.hh"
#include "value-to-xml.hh"
#include "primops.hh"
Expand Down
1 change: 1 addition & 0 deletions src/libexpr/value-to-json.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#include "eval-inline.hh"
#include "util.hh"
#include "store-api.hh"
#include "signals.hh"

#include <cstdlib>
#include <iomanip>
Expand Down
1 change: 1 addition & 0 deletions src/libexpr/value-to-xml.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#include "xml-writer.hh"
#include "eval-inline.hh"
#include "util.hh"
#include "signals.hh"

#include <cstdlib>

Expand Down
1 change: 1 addition & 0 deletions src/libexpr/value/context.cc
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#include "util.hh"
#include "value/context.hh"

#include <optional>
Expand Down
1 change: 0 additions & 1 deletion src/libexpr/value/context.hh
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#pragma once
///@file

#include "util.hh"
#include "comparator.hh"
#include "derived-path.hh"
#include "variant-wrapper.hh"
Expand Down
1 change: 1 addition & 0 deletions src/libfetchers/cache.cc
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include "cache.hh"
#include "users.hh"
#include "sqlite.hh"
#include "sync.hh"
#include "store-api.hh"
Expand Down
1 change: 0 additions & 1 deletion src/libfetchers/fetch-settings.hh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@

#include "types.hh"
#include "config.hh"
#include "util.hh"

#include <map>
#include <limits>
Expand Down
2 changes: 2 additions & 0 deletions src/libfetchers/git.cc
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
#include "fetchers.hh"
#include "users.hh"
#include "cache.hh"
#include "globals.hh"
#include "tarfile.hh"
#include "store-api.hh"
#include "url-parts.hh"
#include "pathlocks.hh"
#include "processes.hh"
#include "util.hh"
#include "git.hh"

Expand Down
1 change: 1 addition & 0 deletions src/libfetchers/input-accessor.hh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#include "types.hh"
#include "archive.hh"
#include "canon-path.hh"
#include "file-system.hh"
#include "repair-flag.hh"

namespace nix {
Expand Down
2 changes: 2 additions & 0 deletions src/libfetchers/mercurial.cc
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#include "fetchers.hh"
#include "processes.hh"
#include "users.hh"
#include "cache.hh"
#include "globals.hh"
#include "tarfile.hh"
Expand Down
1 change: 1 addition & 0 deletions src/libfetchers/registry.cc
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#include "registry.hh"
#include "fetchers.hh"
#include "users.hh"
#include "util.hh"
#include "globals.hh"
#include "store-api.hh"
Expand Down
2 changes: 2 additions & 0 deletions src/libmain/common-args.cc
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#include "common-args.hh"
#include "globals.hh"
#include "logging.hh"
#include "loggers.hh"
#include "util.hh"

namespace nix {

Expand Down
2 changes: 2 additions & 0 deletions src/libmain/loggers.cc
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#include "loggers.hh"
#include "environment-variables.hh"
#include "progress-bar.hh"
#include "util.hh"
#include "util.hh"

namespace nix {

Expand Down
1 change: 1 addition & 0 deletions src/libmain/progress-bar.cc
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include "progress-bar.hh"
#include "terminal.hh"
#include "util.hh"
#include "sync.hh"
#include "store-api.hh"
Expand Down
2 changes: 2 additions & 0 deletions src/libmain/shared.cc
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
#include "globals.hh"
#include "ambient-authority.hh"
#include "shared.hh"
#include "store-api.hh"
#include "gc-store.hh"
#include "util.hh"
#include "loggers.hh"
#include "progress-bar.hh"
#include "signals.hh"

#include <algorithm>
#include <cctype>
Expand Down
2 changes: 1 addition & 1 deletion src/libmain/shared.hh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once
///@file

#include "util.hh"
#include "processes.hh"
#include "args.hh"
#include "common-args.hh"
#include "path.hh"
Expand Down
1 change: 1 addition & 0 deletions src/libstore/binary-cache-store.cc
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include "nar-accessor.hh"
#include "thread-pool.hh"
#include "callback.hh"
#include "signals.hh"

#include <chrono>
#include <future>
Expand Down
11 changes: 11 additions & 0 deletions src/libstore/build/child.hh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#pragma once
///@file

namespace nix {

/**
* Common initialisation performed in child processes.
*/
void commonChildInit();

}
2 changes: 2 additions & 0 deletions src/libstore/build/hook-instance.cc
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#include "globals.hh"
#include "hook-instance.hh"
#include "file-system.hh"
#include "child.hh"

namespace nix {

Expand Down
1 change: 1 addition & 0 deletions src/libstore/build/hook-instance.hh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

#include "logging.hh"
#include "serialise.hh"
#include "processes.hh"

namespace nix {

Expand Down
4 changes: 3 additions & 1 deletion src/libstore/build/local-derivation-goal.cc
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@
#include "json-utils.hh"
#include "cgroup.hh"
#include "personality.hh"
#include "namespaces.hh"
#include "ambient-authority.hh"
#include "child.hh"
#include "unix-domain-socket.hh"

#include <regex>
#include <queue>
Expand Down
1 change: 1 addition & 0 deletions src/libstore/build/local-derivation-goal.hh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

#include "derivation-goal.hh"
#include "local-store.hh"
#include "processes.hh"

namespace nix {

Expand Down
1 change: 1 addition & 0 deletions src/libstore/build/worker.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#include "create-derivation-and-realise-goal.hh"
#include "local-derivation-goal.hh"
#include "hook-instance.hh"
#include "signals.hh"

#include <poll.h>

Expand Down
1 change: 1 addition & 0 deletions src/libstore/crypto.cc
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include "crypto.hh"
#include "file-system.hh"
#include "util.hh"
#include "globals.hh"

Expand Down
1 change: 1 addition & 0 deletions src/libstore/derived-path-map.cc
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include "derived-path-map.hh"
#include "util.hh"

namespace nix {

Expand Down
2 changes: 1 addition & 1 deletion src/libstore/derived-path.hh
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#pragma once
///@file

#include "util.hh"
#include "path.hh"
#include "outputs-spec.hh"
#include "comparator.hh"
#include "config.hh"

#include <variant>

Expand Down
2 changes: 2 additions & 0 deletions src/libstore/filetransfer.cc
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
#include "filetransfer.hh"
#include "ambient-authority.hh"
#include "util.hh"
#include "globals.hh"
#include "store-api.hh"
#include "s3.hh"
#include "compression.hh"
#include "finally.hh"
#include "callback.hh"
#include "signals.hh"

#if ENABLE_S3
#include <aws/core/client/ClientConfiguration.h>
Expand Down
2 changes: 2 additions & 0 deletions src/libstore/gc.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
#include "globals.hh"
#include "local-store.hh"
#include "finally.hh"
#include "unix-domain-socket.hh"
#include "signals.hh"

#include <functional>
#include <queue>
Expand Down
2 changes: 2 additions & 0 deletions src/libstore/globals.cc
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
#include "globals.hh"
#include "util.hh"
#include "ambient-authority.hh"
#include "archive.hh"
#include "args.hh"
#include "users.hh"
#include "abstract-setting-to-json.hh"
#include "compute-levels.hh"

Expand Down
2 changes: 1 addition & 1 deletion src/libstore/globals.hh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

#include "types.hh"
#include "config.hh"
#include "util.hh"
#include "environment-variables.hh"

#include <map>
#include <limits>
Expand Down
1 change: 1 addition & 0 deletions src/libstore/local-store.cc
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include "topo-sort.hh"
#include "finally.hh"
#include "compression.hh"
#include "signals.hh"

#include <iostream>
#include <algorithm>
Expand Down
1 change: 0 additions & 1 deletion src/libstore/local-store.hh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
#include "store-api.hh"
#include "indirect-root-store.hh"
#include "sync.hh"
#include "util.hh"

#include <chrono>
#include <future>
Expand Down
1 change: 1 addition & 0 deletions src/libstore/lock.cc
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include "lock.hh"
#include "file-system.hh"
#include "globals.hh"
#include "pathlocks.hh"

Expand Down
1 change: 1 addition & 0 deletions src/libstore/nar-info-disk-cache.cc
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include "nar-info-disk-cache.hh"
#include "users.hh"
#include "sync.hh"
#include "sqlite.hh"
#include "globals.hh"
Expand Down
1 change: 1 addition & 0 deletions src/libstore/optimise-store.cc
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "util.hh"
#include "local-store.hh"
#include "globals.hh"
#include "signals.hh"

#include <cstdlib>
#include <cstring>
Expand Down
1 change: 1 addition & 0 deletions src/libstore/pathlocks.cc
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "pathlocks.hh"
#include "util.hh"
#include "sync.hh"
#include "signals.hh"

#include <cerrno>
#include <cstdlib>
Expand Down
Loading

0 comments on commit a23797e

Please sign in to comment.