about summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/nix-build.in2
-rw-r--r--src/libmain/shared.cc5
2 files changed, 6 insertions, 1 deletions
diff --git a/scripts/nix-build.in b/scripts/nix-build.in
index 60e8afec8ee2..fe22058f6207 100755
--- a/scripts/nix-build.in
+++ b/scripts/nix-build.in
@@ -179,7 +179,7 @@ foreach my $expr (@exprs) {
 
         # Build or fetch all dependencies of the derivation.
         my @inputDrvs = grep { my $x = $_; (grep { $x =~ $_ } @envExclude) == 0 } @{$drv->{inputDrvs}};
-        system("$Nix::Config::binDir/nix-store", "-r", "--no-output", @buildArgs, @inputDrvs, @{$drv->{inputSrcs}}) == 0
+        system("$Nix::Config::binDir/nix-store", "-r", "--no-output", "--no-gc-warning", @buildArgs, @inputDrvs, @{$drv->{inputSrcs}}) == 0
             or die "$0: failed to build all dependencies\n";
 
         # Set the environment.
diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc
index b0b69f7f617d..999b5023802c 100644
--- a/src/libmain/shared.cc
+++ b/src/libmain/shared.cc
@@ -35,8 +35,11 @@ static void sigintHandler(int signo)
 }
 
 
+static bool gcWarning = true;
+
 void printGCWarning()
 {
+    if (!gcWarning) return;
     static bool haveWarned = false;
     warnOnce(haveWarned,
         "you did not specify `--add-root'; "
@@ -212,6 +215,8 @@ static void initAndRun(int argc, char * * argv)
             settings.useBuildHook = false;
         else if (arg == "--show-trace")
             settings.showTrace = true;
+        else if (arg == "--no-gc-warning")
+            gcWarning = false;
         else if (arg == "--option") {
             ++i; if (i == args.end()) throw UsageError("`--option' requires two arguments");
             string name = *i;