2 #include <msp/builder/tool.h>
3 #include <msp/core/getopt.h>
4 #include <msp/fs/dir.h>
5 #include "plugins/base/baseplugin.h"
6 #include "plugins/gnu/gnuplugin.h"
11 Bootstrap::Bootstrap(int argc, char **argv)
17 getopt.add_option("compiler", compiler, GetOpt::REQUIRED_ARG).set_help("Use CMD instead of gcc as compiler.", "CMD");
18 getopt.add_option("prefix", prefix, GetOpt::REQUIRED_ARG).set_help("Install things to DIR.", "DIR");
21 logger.enable_channel("tasks");
22 builder.set_logger(&logger);
23 builder.load_plugins<BasePlugin, GnuPlugin>();
26 builder.set_prefix(FS::getcwd()/prefix);
28 builder.load_build_file(FS::getcwd()/"builderrc");
30 builder.add_default_tools();
32 builder.get_toolchain().get_tool("CXX").set_command(compiler);
37 builder.load_build_file(FS::getcwd()/"Build");
39 builder.get_package_manager().get_main_package().prepare();
40 builder.get_build_graph().prepare();
42 int exit_code = builder.build();
44 builder.save_caches();