From 808aa158be0d422a2ee5366a3f4eda29cd51c39a Mon Sep 17 00:00:00 2001 From: Scott Graham Date: Tue, 9 Apr 2013 10:03:46 -0700 Subject: [PATCH] fix windows build after depslog --- bootstrap.py | 3 +-- src/build.cc | 2 +- src/deps_log.cc | 2 ++ src/line_printer.cc | 10 ++++++---- src/line_printer.h | 6 ++++-- 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/bootstrap.py b/bootstrap.py index 4d9bc84..f83b2d0 100755 --- a/bootstrap.py +++ b/bootstrap.py @@ -127,8 +127,7 @@ if options.verbose: if options.windows: print('Building ninja using itself...') - run([sys.executable, 'configure.py', '--with-ninja=%s' % binary] + - conf_args) + run([sys.executable, 'configure.py'] + conf_args) run(['./' + binary] + verbose) # Copy the new executable over the bootstrap one. diff --git a/src/build.cc b/src/build.cc index ab3d781..39e3e2a 100644 --- a/src/build.cc +++ b/src/build.cc @@ -247,7 +247,7 @@ void BuildStatus::PrintStatus(Edge* edge) { to_print = FormatProgressStatus(progress_status_format_) + to_print; printer_.Print(to_print, - force_full_command ? LinePrinter::FULL : LinePrinter::SHORT); + force_full_command ? LinePrinter::FULL : LinePrinter::ELIDE); } Plan::Plan() : command_edges_(0), wanted_edges_(0) {} diff --git a/src/deps_log.cc b/src/deps_log.cc index 8946e32..55ed30a 100644 --- a/src/deps_log.cc +++ b/src/deps_log.cc @@ -18,7 +18,9 @@ #include #include #include +#ifndef _WIN32 #include +#endif #include "graph.h" #include "metrics.h" diff --git a/src/line_printer.cc b/src/line_printer.cc index d30dd2c..751fb07 100644 --- a/src/line_printer.cc +++ b/src/line_printer.cc @@ -57,7 +57,7 @@ void LinePrinter::Print(std::string to_print, LineType type) { #endif } - if (smart_terminal_ && type == SHORT) { + if (smart_terminal_ && type == ELIDE) { #ifdef _WIN32 // Don't use the full width or console will move to next line. size_t width = static_cast(csbi.dwSize.X) - 1; @@ -68,9 +68,11 @@ void LinePrinter::Print(std::string to_print, LineType type) { GetConsoleScreenBufferInfo(console_, &csbi); COORD buf_size = { csbi.dwSize.X, 1 }; COORD zero_zero = { 0, 0 }; - SMALL_RECT target = { csbi.dwCursorPosition.X, csbi.dwCursorPosition.Y, - (SHORT)(csbi.dwCursorPosition.X + csbi.dwSize.X - 1), - csbi.dwCursorPosition.Y }; + SMALL_RECT target = { + csbi.dwCursorPosition.X, csbi.dwCursorPosition.Y, + static_cast(csbi.dwCursorPosition.X + csbi.dwSize.X - 1), + csbi.dwCursorPosition.Y + }; CHAR_INFO* char_data = new CHAR_INFO[csbi.dwSize.X]; memset(char_data, 0, sizeof(CHAR_INFO) * csbi.dwSize.X); for (int i = 0; i < csbi.dwSize.X; ++i) { diff --git a/src/line_printer.h b/src/line_printer.h index 78510ea..54620da 100644 --- a/src/line_printer.h +++ b/src/line_printer.h @@ -28,9 +28,9 @@ class LinePrinter { enum LineType { FULL, - SHORT + ELIDE }; - /// Overprints the current line. If type is SHORT, elides to_print to fit on + /// Overprints the current line. If type is ELIDE, elides to_print to fit on /// one line. void Print(std::string to_print, LineType type); @@ -43,6 +43,8 @@ class LinePrinter { /// Whether the caret is at the beginning of a blank line. bool have_blank_line_; + + void* console_; }; #endif // NINJA_LINE_PRINTER_H_ -- 2.7.4