Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(137)

Side by Side Diff: tools/gn/target.h

Issue 1386783003: [GN]: Support for loadable modules (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: mark comments Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698