OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef TOOLS_GN_TARGET_H_ | 5 #ifndef TOOLS_GN_TARGET_H_ |
6 #define TOOLS_GN_TARGET_H_ | 6 #define TOOLS_GN_TARGET_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 // Whether this static_library target should have code linked in. | 108 // Whether this static_library target should have code linked in. |
109 bool complete_static_lib() const { return complete_static_lib_; } | 109 bool complete_static_lib() const { return complete_static_lib_; } |
110 void set_complete_static_lib(bool complete) { | 110 void set_complete_static_lib(bool complete) { |
111 DCHECK_EQ(STATIC_LIBRARY, output_type_); | 111 DCHECK_EQ(STATIC_LIBRARY, output_type_); |
112 complete_static_lib_ = complete; | 112 complete_static_lib_ = complete; |
113 } | 113 } |
114 | 114 |
115 bool testonly() const { return testonly_; } | 115 bool testonly() const { return testonly_; } |
116 void set_testonly(bool value) { testonly_ = value; } | 116 void set_testonly(bool value) { testonly_ = value; } |
117 | 117 |
| 118 // Whether this target should produce a bundle on Darwin platforms. A bundle |
| 119 // is a directory with a standardized hierarchical structure that holds |
| 120 // executable code and the resources used by that code. Examples are |
| 121 // application bundles (.app) or framework bundles (.framework) with the |
| 122 // former corresponding to executables and the latter to shared libraries. |
| 123 bool darwin_bundle() const { return darwin_bundle_; } |
| 124 void set_darwin_bundle(bool value) { darwin_bundle_ = value; } |
| 125 |
| 126 // Whether this target should produce a loadable module. On Darwin platforms, |
| 127 // a loadable module is roughly the same as a .dylib, but it cannot be linked |
| 128 // at compile time. It must be dynamically loaded at runtime. |
| 129 bool loadable_module() const { return loadable_module_; } |
| 130 void set_loadable_module(bool value) { loadable_module_ = value; } |
| 131 |
118 // Compile-time extra dependencies. | 132 // Compile-time extra dependencies. |
119 const FileList& inputs() const { return inputs_; } | 133 const FileList& inputs() const { return inputs_; } |
120 FileList& inputs() { return inputs_; } | 134 FileList& inputs() { return inputs_; } |
121 | 135 |
122 // Runtime dependencies. These are "file-like things" that can either be | 136 // Runtime dependencies. These are "file-like things" that can either be |
123 // directories or files. They do not need to exist, these are just passed as | 137 // directories or files. They do not need to exist, these are just passed as |
124 // runtime dependencies to external test systems as necessary. | 138 // runtime dependencies to external test systems as necessary. |
125 const std::vector<std::string>& data() const { return data_; } | 139 const std::vector<std::string>& data() const { return data_; } |
126 std::vector<std::string>& data() { return data_; } | 140 std::vector<std::string>& data() { return data_; } |
127 | 141 |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
281 OutputType output_type_; | 295 OutputType output_type_; |
282 std::string output_name_; | 296 std::string output_name_; |
283 std::string output_extension_; | 297 std::string output_extension_; |
284 | 298 |
285 FileList sources_; | 299 FileList sources_; |
286 bool all_headers_public_; | 300 bool all_headers_public_; |
287 FileList public_headers_; | 301 FileList public_headers_; |
288 bool check_includes_; | 302 bool check_includes_; |
289 bool complete_static_lib_; | 303 bool complete_static_lib_; |
290 bool testonly_; | 304 bool testonly_; |
| 305 bool darwin_bundle_; |
| 306 bool loadable_module_; |
291 FileList inputs_; | 307 FileList inputs_; |
292 std::vector<std::string> data_; | 308 std::vector<std::string> data_; |
293 | 309 |
294 LabelTargetVector private_deps_; | 310 LabelTargetVector private_deps_; |
295 LabelTargetVector public_deps_; | 311 LabelTargetVector public_deps_; |
296 LabelTargetVector data_deps_; | 312 LabelTargetVector data_deps_; |
297 | 313 |
298 UniqueVector<LabelConfigPair> configs_; | 314 UniqueVector<LabelConfigPair> configs_; |
299 UniqueVector<LabelConfigPair> all_dependent_configs_; | 315 UniqueVector<LabelConfigPair> all_dependent_configs_; |
300 UniqueVector<LabelConfigPair> public_configs_; | 316 UniqueVector<LabelConfigPair> public_configs_; |
(...skipping 27 matching lines...) Expand all Loading... |
328 | 344 |
329 // Output files. Empty until the target is resolved. | 345 // Output files. Empty until the target is resolved. |
330 std::vector<OutputFile> computed_outputs_; | 346 std::vector<OutputFile> computed_outputs_; |
331 OutputFile link_output_file_; | 347 OutputFile link_output_file_; |
332 OutputFile dependency_output_file_; | 348 OutputFile dependency_output_file_; |
333 | 349 |
334 DISALLOW_COPY_AND_ASSIGN(Target); | 350 DISALLOW_COPY_AND_ASSIGN(Target); |
335 }; | 351 }; |
336 | 352 |
337 #endif // TOOLS_GN_TARGET_H_ | 353 #endif // TOOLS_GN_TARGET_H_ |
OLD | NEW |