48 const auto default_verbosity =
85 const std::list<std::string> &values=
88 for(std::list<std::string>::const_iterator
92 config.ansi_c.preprocessor_options.push_back(
"-J"+*it);
95 if(
cmdline.isset(
"preinclude="))
97 const std::list<std::string> &values=
98 cmdline.get_values(
"preinclude=");
100 for(std::list<std::string>::const_iterator
104 config.ansi_c.preprocessor_options.push_back(
"--preinclude="+*it);
109 cmdline.value_opt(
"default_extension=").value_or(
"o");
113 if(
cmdline.isset(
"signed_chars"))
114 config.ansi_c.char_is_unsigned=
false;
116 config.ansi_c.char_is_unsigned=
true;
120 config.ansi_c.wchar_t_width=32;
122 config.ansi_c.wchar_t_width=16;
138 std::list<std::string>::iterator it;
140 std::cout <<
"Defines:\n";
141 for(it=
config.ansi_c.defines.begin();
142 it!=
config.ansi_c.defines.end();
145 std::cout <<
" " << (*it) <<
'\n';
148 std::cout <<
"Undefines:\n";
149 for(it=
config.ansi_c.undefines.begin();
150 it!=
config.ansi_c.undefines.end();
153 std::cout <<
" " << (*it) <<
'\n';
156 std::cout <<
"Preprocessor Options:\n";
157 for(it=
config.ansi_c.preprocessor_options.begin();
158 it!=
config.ansi_c.preprocessor_options.end();
161 std::cout <<
" " << (*it) <<
'\n';
164 std::cout <<
"Include Paths:\n";
165 for(it=
config.ansi_c.include_paths.begin();
166 it!=
config.ansi_c.include_paths.end();
169 std::cout <<
" " << (*it) <<
'\n';
172 std::cout <<
"Library Paths:\n";
177 std::cout <<
" " << (*it) <<
'\n';
180 std::cout <<
"Output file (object): "
182 std::cout <<
"Output file (executable): "
187 return compiler.
doit() ? EX_USAGE : EX_OK;
193 std::cout <<
"goto-armcc understands the options "
194 <<
"of armcc plus the following.\n\n";
Base class for command line interpretation for CL.
gcc_message_handlert message_handler
void help_mode() final
display command line help
@ COMPILE_LINK_EXECUTABLE
std::string output_file_object
bool doit()
reads and source and object files, compiles and links them into goto program objects.
std::string object_file_extension
enum compilet::@010007010156070135133373264143331307343141370152 mode
std::list< std::string > library_paths
std::string output_file_executable
const std::string base_name
void help()
display command line help
Class that provides messages with a built-in verbosity 'level'.
static unsigned eval_verbosity(const std::string &user_input, const message_levelt default_verbosity, message_handlert &dest)
Parse a (user-)provided string as a verbosity level and set it as the verbosity of dest.
Compile and link source and object files.
bool has_prefix(const std::string &s, const std::string &prefix)