diff options
author | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2015-06-29 18:16:11 +0900 |
---|---|---|
committer | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | 2015-06-29 20:49:28 +0900 |
commit | 94d7a61c9edd45b6c6b0f19c60e64aeddfdc8e46 (patch) | |
tree | d9fc4588d60efa39b6773d74e31469594a4bf513 /main.cc | |
parent | 4d151839fdb971ad7322556e9f73b742c76386cf (diff) | |
download | android_build_kati-94d7a61c9edd45b6c6b0f19c60e64aeddfdc8e46.tar.gz android_build_kati-94d7a61c9edd45b6c6b0f19c60e64aeddfdc8e46.tar.bz2 android_build_kati-94d7a61c9edd45b6c6b0f19c60e64aeddfdc8e46.zip |
[C++] Implement --ignore_optional_include
Diffstat (limited to 'main.cc')
-rw-r--r-- | main.cc | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -41,6 +41,25 @@ static const char* g_makefile; static bool g_is_syntax_check_only; static bool g_generate_ninja; +static bool ParseCommandLineOptionWithArg(StringPiece option, + char* argv[], + int* index, + const char** out_arg) { + const char* arg = argv[*index]; + if (!HasPrefix(arg, option)) + return false; + if (arg[option.size()] == '\0') { + ++*index; + *out_arg = argv[*index]; + return true; + } + if (arg[option.size()] == '=') { + *out_arg = arg + option.size() + 1; + return true; + } + return false; +} + static void ParseCommandLine(int argc, char* argv[], vector<StringPiece>* targets, vector<StringPiece>* cl_vars) { @@ -56,6 +75,9 @@ static void ParseCommandLine(int argc, char* argv[], g_enable_stat_logs = true; } else if (!strcmp(arg, "--ninja")) { g_generate_ninja = true; + } else if (ParseCommandLineOptionWithArg( + "--ignore_optional_include", + argv, &i, &g_ignore_optional_include_pattern)) { } else if (arg[0] == '-') { ERROR("Unknown flag: %s", arg); } else { |