summaryrefslogtreecommitdiffstats
path: root/tools/gn/config_values_generator.cc
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-06 19:34:44 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-06 19:34:44 +0000
commit93c19fd261ced5747d5ce2d39b0de67825d6957f (patch)
tree03137b71c0e3dedf1ed5685137f617e7a89a8a64 /tools/gn/config_values_generator.cc
parentcfe7a4281b531f478103f30a12a7f245e6f6d71e (diff)
downloadchromium_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.cc50
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_);
-}