diff options
| -rw-r--r-- | src/configure.cc | 9 | ||||
| -rw-r--r-- | src/rebuild.cc | 2 | ||||
| -rw-r--r-- | src/tasks.cc | 21 | 
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);  					}  				}  | 
