- add sources.
[platform/framework/web/crosswalk.git] / src / tools / gn / config_values_generator.h
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef TOOLS_GN_CONFIG_VALUES_GENERATOR_H_
6 #define TOOLS_GN_CONFIG_VALUES_GENERATOR_H_
7
8 #include <string>
9 #include <vector>
10
11 #include "base/basictypes.h"
12 #include "tools/gn/source_dir.h"
13
14 class ConfigValues;
15 class Err;
16 class Scope;
17 class Token;
18
19 class ConfigValuesGenerator {
20  public:
21   ConfigValuesGenerator(ConfigValues* dest_values,
22                         Scope* scope,
23                         const Token& function_token,
24                         const SourceDir& input_dir,
25                         Err* err);
26   ~ConfigValuesGenerator();
27
28   // Sets the error passed to the constructor on failure.
29   void Run();
30
31  private:
32   ConfigValues* config_values_;
33   Scope* scope_;
34   const Token& function_token_;
35   const SourceDir input_dir_;
36   Err* err_;
37
38   DISALLOW_COPY_AND_ASSIGN(ConfigValuesGenerator);
39 };
40
41 // For using in documentation for functions which use this.
42 #define CONFIG_VALUES_VARS_HELP \
43     "  Flags: cflags, cflags_c, cflags_cc, cflags_objc, cflags_objcc,\n" \
44     "         defines, include_dirs, ldflags, lib_dirs, libs\n"
45
46 #endif  // TOOLS_GN_CONFIG_VALUES_GENERATOR_H_