summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/configure.cc9
-rw-r--r--src/rebuild.cc2
-rw-r--r--src/tasks.cc21
3 files changed, 14 insertions, 18 deletions
diff --git a/src/configure.cc b/src/configure.cc
index 3bb2d48..a2bb8bc 100644
--- a/src/configure.cc
+++ b/src/configure.cc
@@ -234,6 +234,7 @@ std::ostream& operator<<(std::ostream& ostr, const ctor::asm_flag& flag)
template<class> inline constexpr bool always_false_v = false;
int regenerateCache(ctor::settings& settings,
+ const std::string& name,
const std::vector<std::string>& args,
const std::map<std::string, std::string>& env)
{
@@ -388,7 +389,9 @@ int regenerateCache(ctor::settings& settings,
opt.add("help", no_argument, 'h',
"Print this help text.",
[&]() {
- std::cout << "configure usage stuff\n";
+ std::cout << "Configure how to build with " << name << "\n";
+ std::cout << "Usage: " << name << " configure [options]\n\n";
+ std::cout << "Options:\n";
opt.help();
exit(0);
return 0;
@@ -646,7 +649,7 @@ int configure(const ctor::settings& global_settings, int argc, char* argv[])
env["LD"] = ld_env;
}
- auto ret = regenerateCache(settings, args, env);
+ auto ret = regenerateCache(settings, argv[0], args, env);
if(ret != 0)
{
return ret;
@@ -688,7 +691,7 @@ int reconfigure(const ctor::settings& global_settings, int argc, char* argv[])
}
std::cout << "\n";
- auto ret = regenerateCache(settings, cfg.args, cfg.env);
+ auto ret = regenerateCache(settings, argv[0], cfg.args, cfg.env);
if(ret != 0)
{
return ret;
diff --git a/src/rebuild.cc b/src/rebuild.cc
index c97452d..f0d52d9 100644
--- a/src/rebuild.cc
+++ b/src/rebuild.cc
@@ -159,6 +159,7 @@ bool recompileCheck(const ctor::settings& global_settings, int argc, char* argv[
ctor::build_configuration config;
+ config.type = ctor::target_type::executable;
config.name = "ctor";
config.system = ctor::output_system::build;
@@ -176,6 +177,7 @@ bool recompileCheck(const ctor::settings& global_settings, int argc, char* argv[
config.flags.ldflags.push_back({ctor::ld_opt::library_path, c.get(ctor::cfg::ctor_libdir)});
}
config.flags.ldflags.push_back({ctor::ld_opt::link, "ctor"});
+ config.flags.ldflags.push_back({ctor::ld_opt::strip});
config.flags.ldflags.push_back({ctor::ld_opt::threads});
ctor::settings settings{global_settings};
diff --git a/src/tasks.cc b/src/tasks.cc
index 9c64fb4..22ad2d6 100644
--- a/src/tasks.cc
+++ b/src/tasks.cc
@@ -52,21 +52,12 @@ const std::deque<Target>& getTargets(const ctor::settings& settings,
exit(1);
}
const auto& flags = externals.at(external);
- config.flags.cflags.insert(config.flags.cflags.end(),
- flags.cflags.begin(),
- flags.cflags.end());
- config.flags.cxxflags.insert(config.flags.cxxflags.end(),
- flags.cxxflags.begin(),
- flags.cxxflags.end());
- config.flags.ldflags.insert(config.flags.ldflags.end(),
- flags.ldflags.begin(),
- flags.ldflags.end());
- config.flags.asmflags.insert(config.flags.asmflags.end(),
- flags.asmflags.begin(),
- flags.asmflags.end());
- //config.libs.insert(config.libs.end(),
- // libs.begin(),
- // libs.end());
+ append(config.flags.cflags, flags.cflags);
+ append(config.flags.cxxflags, flags.cxxflags);
+ append(config.flags.ldflags, flags.ldflags);
+ append(config.flags.arflags, flags.arflags);
+ append(config.flags.asmflags, flags.asmflags);
+ //append(config.libs.insert(config.libs libs);
}
}