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);
108 if(
cmdline.isset(
"default_extension="))
110 cmdline.get_value(
"default_extension=");
116 if(
cmdline.isset(
"signed_chars"))
117 config.ansi_c.char_is_unsigned=
false;
119 config.ansi_c.char_is_unsigned=
true;
123 config.ansi_c.wchar_t_width=32;
125 config.ansi_c.wchar_t_width=16;
141 std::list<std::string>::iterator it;
143 std::cout <<
"Defines:\n";
144 for(it=
config.ansi_c.defines.begin();
145 it!=
config.ansi_c.defines.end();
148 std::cout <<
" " << (*it) <<
'\n';
151 std::cout <<
"Undefines:\n";
152 for(it=
config.ansi_c.undefines.begin();
153 it!=
config.ansi_c.undefines.end();
156 std::cout <<
" " << (*it) <<
'\n';
159 std::cout <<
"Preprocessor Options:\n";
160 for(it=
config.ansi_c.preprocessor_options.begin();
161 it!=
config.ansi_c.preprocessor_options.end();
164 std::cout <<
" " << (*it) <<
'\n';
167 std::cout <<
"Include Paths:\n";
168 for(it=
config.ansi_c.include_paths.begin();
169 it!=
config.ansi_c.include_paths.end();
172 std::cout <<
" " << (*it) <<
'\n';
175 std::cout <<
"Library Paths:\n";
180 std::cout <<
" " << (*it) <<
'\n';
183 std::cout <<
"Output file (object): "
185 std::cout <<
"Output file (executable): "
190 return compiler.
doit() ? EX_USAGE : EX_OK;
196 std::cout <<
"goto-armcc understands the options "
197 <<
"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)