@@ -2,6 +2,6 @@ | |||
namespace global { | |||
bool verbose = false; | |||
int verbose = 0; | |||
} |
@@ -2,6 +2,6 @@ | |||
namespace global { | |||
extern bool verbose; | |||
extern int verbose; | |||
} |
@@ -235,7 +235,7 @@ int main(int argc, char **argv) { | |||
return 0; | |||
case 'v': | |||
global::verbose = true; | |||
global::verbose += 1; | |||
break; | |||
case 'o': | |||
@@ -270,9 +270,7 @@ int main(int argc, char **argv) { | |||
// Change directory? | |||
if (workDir.size() > 0) { | |||
if (global::verbose) { | |||
fprintf(stderr, "Entering directory '%s'\n", workDir.c_str()); | |||
} | |||
fprintf(stderr, "Entering directory '%s'\n", workDir.c_str()); | |||
if (chdir(workDir.c_str()) < 0) { | |||
perror(workDir.c_str()); | |||
@@ -304,7 +302,7 @@ int main(int argc, char **argv) { | |||
case Action::BUILD: | |||
// TODO: Support more types than BINARY | |||
if (!compileAndLink(sources, outDir, jobs, target, toolchain::TargetType::BINARY)) { | |||
logger::log("Nothing to do.\n"); | |||
logger::log("Nothing to do."); | |||
} | |||
break; | |||
@@ -9,8 +9,8 @@ | |||
#include <sys/wait.h> | |||
#include <stdexcept> | |||
#include "globals.h" | |||
#include "logger.h" | |||
#include "globals.h" | |||
namespace sys { | |||
@@ -47,11 +47,11 @@ void mkdirp(const std::string &path) { | |||
argv.push_back("mkdir"); | |||
argv.push_back("-p"); | |||
argv.push_back(path.c_str()); | |||
execute(argv, nullptr); | |||
execute(argv, nullptr, global::verbose >= 2); | |||
} | |||
void execute(std::vector<const char *> &args, std::string *output) { | |||
if (global::verbose) { | |||
void execute(std::vector<const char *> &args, std::string *output, bool print) { | |||
if (print) { | |||
std::string str; | |||
for (size_t i = 0; i < args.size(); ++i) { | |||
if (i == 0) { |
@@ -14,6 +14,6 @@ struct FileInfo { | |||
FileInfo fileInfo(const std::string &path); | |||
bool fileExists(const std::string &path); | |||
void mkdirp(const std::string &path); | |||
void execute(std::vector<const char *> &args, std::string *output); | |||
void execute(std::vector<const char *> &args, std::string *output, bool print); | |||
} |
@@ -8,6 +8,7 @@ | |||
#include <errno.h> | |||
#include "sys.h" | |||
#include "globals.h" | |||
namespace toolchain { | |||
@@ -139,7 +140,7 @@ void getPkgConfigFlags(const std::vector<std::string> &pkgs, std::vector<std::st | |||
// Execute $(PKG_CONFIG) --cflags $(PKGS) | |||
std::string output; | |||
sys::execute(argv, &output); | |||
sys::execute(argv, &output, global::verbose >= 2); | |||
parseWhitespaceSeparated(output, flags); | |||
} | |||
@@ -153,7 +154,7 @@ void getPkgConfigLDLibs(const std::vector<std::string> &pkgs, std::vector<std::s | |||
// Execute $(PKG_CONFIG) --libs $(PKGS) | |||
std::string output; | |||
sys::execute(argv, &output); | |||
sys::execute(argv, &output, global::verbose >= 2); | |||
parseWhitespaceSeparated(output, flags); | |||
} | |||
@@ -181,7 +182,7 @@ void getDependencies( | |||
// Execute $(compiler) $(flags) -MM $< | |||
std::string output; | |||
sys::execute(argv, &output); | |||
sys::execute(argv, &output, global::verbose >= 2); | |||
size_t idx = output.find(':'); | |||
if (idx != std::string::npos) { | |||
@@ -219,7 +220,7 @@ void compile( | |||
argv.push_back(sourcePath.c_str()); | |||
// Execute $(compiler) $(flags) -o $@ -c $< | |||
sys::execute(argv, nullptr); | |||
sys::execute(argv, nullptr, global::verbose >= 1); | |||
} | |||
void link( | |||
@@ -260,7 +261,7 @@ void link( | |||
} | |||
// Execute $(compiler) $(ldflags) -o $@ $(objs) $(ldlibs) | |||
sys::execute(argv, nullptr); | |||
sys::execute(argv, nullptr, global::verbose >= 1); | |||
} | |||
} |