diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-06 19:34:44 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-06 19:34:44 +0000 |
commit | 93c19fd261ced5747d5ce2d39b0de67825d6957f (patch) | |
tree | 03137b71c0e3dedf1ed5685137f617e7a89a8a64 /tools/gn/config_values_generator.cc | |
parent | cfe7a4281b531f478103f30a12a7f245e6f6d71e (diff) | |
download | chromium_src-93c19fd261ced5747d5ce2d39b0de67825d6957f.zip chromium_src-93c19fd261ced5747d5ce2d39b0de67825d6957f.tar.gz chromium_src-93c19fd261ced5747d5ce2d39b0de67825d6957f.tar.bz2 |
Make the Mac build work.
This adds some support for objective C invocation. There are some weird harcoded stuff.
BUG=
R=scottmg@chromium.org
Review URL: https://codereview.chromium.org/21983003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215948 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/gn/config_values_generator.cc')
-rw-r--r-- | tools/gn/config_values_generator.cc | 50 |
1 files changed, 17 insertions, 33 deletions
diff --git a/tools/gn/config_values_generator.cc b/tools/gn/config_values_generator.cc index 34c3f67..46c9e88 100644 --- a/tools/gn/config_values_generator.cc +++ b/tools/gn/config_values_generator.cc @@ -12,12 +12,12 @@ namespace { void GetStringList( - const Scope* scope, + Scope* scope, const char* var_name, ConfigValues* config_values, void (ConfigValues::* swapper_inner)(std::vector<std::string>*), Err* err) { - const Value* value = scope->GetValue(var_name); + const Value* value = scope->GetValue(var_name, true); if (!value) return; // No value, empty input and succeed. @@ -29,7 +29,7 @@ void GetStringList( } // namespace ConfigValuesGenerator::ConfigValuesGenerator(ConfigValues* dest_values, - const Scope* scope, + Scope* scope, const Token& function_token, const SourceDir& input_dir, Err* err) @@ -44,21 +44,25 @@ ConfigValuesGenerator::~ConfigValuesGenerator() { } void ConfigValuesGenerator::Run() { - FillDefines(); FillIncludes(); - FillCflags(); - FillCflags_C(); - FillCflags_CC(); - FillLdflags(); -} -void ConfigValuesGenerator::FillDefines() { - GetStringList(scope_, "defines", config_values_, - &ConfigValues::swap_in_defines, err_); +#define FILL_CONFIG_VALUE(name) \ + GetStringList(scope_, #name, config_values_, \ + &ConfigValues::swap_in_##name, err_); + + FILL_CONFIG_VALUE(defines) + FILL_CONFIG_VALUE(cflags) + FILL_CONFIG_VALUE(cflags_c) + FILL_CONFIG_VALUE(cflags_cc) + FILL_CONFIG_VALUE(cflags_objc) + FILL_CONFIG_VALUE(cflags_objcc) + FILL_CONFIG_VALUE(ldflags) + +#undef FILL_CONFIG_VALUE } void ConfigValuesGenerator::FillIncludes() { - const Value* value = scope_->GetValue("includes"); + const Value* value = scope_->GetValue("includes", true); if (!value) return; // No value, empty input and succeed. @@ -67,23 +71,3 @@ void ConfigValuesGenerator::FillIncludes() { return; config_values_->swap_in_includes(&includes); } - -void ConfigValuesGenerator::FillCflags() { - GetStringList(scope_, "cflags", config_values_, - &ConfigValues::swap_in_cflags, err_); -} - -void ConfigValuesGenerator::FillCflags_C() { - GetStringList(scope_, "cflags_c", config_values_, - &ConfigValues::swap_in_cflags_c, err_); -} - -void ConfigValuesGenerator::FillCflags_CC() { - GetStringList(scope_, "cflags_cc", config_values_, - &ConfigValues::swap_in_cflags_cc, err_); -} - -void ConfigValuesGenerator::FillLdflags() { - GetStringList(scope_, "ldflags", config_values_, - &ConfigValues::swap_in_ldflags, err_); -} |