aboutsummaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorDavid Shah <dave@ds0.me>2018-12-26 16:05:12 +0000
committerDavid Shah <dave@ds0.me>2018-12-26 16:05:12 +0000
commit7f69c0f455fcaa1edddae111c79b2a88b48ea1b5 (patch)
treefc1ea17be3ca62830bf2fd9cd8d42e0e978b1c6f /common
parente76479f379e4ba15b8f788cfb171c0de10feb076 (diff)
downloadnextpnr-7f69c0f455fcaa1edddae111c79b2a88b48ea1b5.tar.gz
nextpnr-7f69c0f455fcaa1edddae111c79b2a88b48ea1b5.tar.bz2
nextpnr-7f69c0f455fcaa1edddae111c79b2a88b48ea1b5.zip
command: Setup logging before attempting to create Context
This way errors (such as an invalid package type) occurring during Context creation are printed properly. Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'common')
-rw-r--r--common/command.cc28
1 files changed, 14 insertions, 14 deletions
diff --git a/common/command.cc b/common/command.cc
index d332375a..6ba3442f 100644
--- a/common/command.cc
+++ b/common/command.cc
@@ -77,6 +77,20 @@ bool CommandHandler::executeBeforeContext()
return true;
}
validate();
+
+ if (vm.count("quiet")) {
+ log_streams.push_back(std::make_pair(&std::cerr, LogLevel::WARNING_MSG));
+ } else {
+ log_streams.push_back(std::make_pair(&std::cerr, LogLevel::LOG_MSG));
+ }
+
+ if (vm.count("log")) {
+ std::string logfilename = vm["log"].as<std::string>();
+ logfile = std::ofstream(logfilename);
+ if (!logfile)
+ log_error("Failed to open log file '%s' for writing.\n", logfilename.c_str());
+ log_streams.push_back(std::make_pair(&logfile, LogLevel::LOG_MSG));
+ }
return false;
}
@@ -130,20 +144,6 @@ void CommandHandler::setupContext(Context *ctx)
ctx->debug = true;
}
- if (vm.count("quiet")) {
- log_streams.push_back(std::make_pair(&std::cerr, LogLevel::WARNING_MSG));
- } else {
- log_streams.push_back(std::make_pair(&std::cerr, LogLevel::LOG_MSG));
- }
-
- if (vm.count("log")) {
- std::string logfilename = vm["log"].as<std::string>();
- logfile = std::ofstream(logfilename);
- if (!logfile)
- log_error("Failed to open log file '%s' for writing.\n", logfilename.c_str());
- log_streams.push_back(std::make_pair(&logfile, LogLevel::LOG_MSG));
- }
-
if (vm.count("force")) {
ctx->force = true;
}