diff options
Diffstat (limited to 'src/libmain')
-rw-r--r-- | src/libmain/shared.cc | 24 | ||||
-rw-r--r-- | src/libmain/shared.hh | 4 |
2 files changed, 27 insertions, 1 deletions
diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc index 23fcf28916be..5c994d7b47af 100644 --- a/src/libmain/shared.cc +++ b/src/libmain/shared.cc @@ -31,6 +31,28 @@ void sigintHandler(int signo) } +Path makeRootName(const Path & gcRoot, int & counter) +{ + counter++; + if (counter == 1) + return gcRoot; + else + return (format("%1%-%2%") % gcRoot % counter).str(); +} + + +void printGCWarning() +{ + static bool warned = false; + if (!warned) { + printMsg(lvlInfo, + "warning: you did not specify `--add-root'; " + "the result might be removed by the garbage collector"); + warned = true; + } +} + + void setLogType(string lt) { if (lt == "pretty") logType = ltPretty; @@ -183,7 +205,7 @@ static void initAndRun(int argc, char * * argv) /* Automatically clean up the temporary roots file when we exit. */ - RemoveTempRoots removeTempRoots; + RemoveTempRoots removeTempRoots; /* unused variable - don't remove */ run(remaining); } diff --git a/src/libmain/shared.hh b/src/libmain/shared.hh index 76b639e3785d..82da7550626f 100644 --- a/src/libmain/shared.hh +++ b/src/libmain/shared.hh @@ -17,6 +17,10 @@ void run(Strings args); /* Should print a help message to stdout and return. */ void printHelp(); +/* Ugh. No better place to put this. */ +Path makeRootName(const Path & gcRoot, int & counter); +void printGCWarning(); + extern string programId; |