Index: tools/gn/target.h |
diff --git a/tools/gn/target.h b/tools/gn/target.h |
index a9832416f1ba223abb01c4f38bc344f44bd29d48..699c156a0a9552c9413ca696cd10c42932ab51b7 100644 |
--- a/tools/gn/target.h |
+++ b/tools/gn/target.h |
@@ -115,6 +115,20 @@ class Target : public Item { |
bool testonly() const { return testonly_; } |
void set_testonly(bool value) { testonly_ = value; } |
+ // Whether this target should produce a bundle on Darwin platforms. A bundle |
+ // is a directory with a standardized hierarchical structure that holds |
+ // executable code and the resources used by that code. Examples are |
+ // application bundles (.app) or framework bundles (.framework) with the |
+ // former corresponding to executables and the latter to shared libraries. |
+ bool darwin_bundle() const { return darwin_bundle_; } |
+ void set_darwin_bundle(bool value) { darwin_bundle_ = value; } |
+ |
+ // Whether this target should produce a loadable module. On Darwin platforms, |
+ // a loadable module is roughly the same as a .dylib, but it cannot be linked |
+ // at compile time. It must be dynamically loaded at runtime. |
+ bool loadable_module() const { return loadable_module_; } |
+ void set_loadable_module(bool value) { loadable_module_ = value; } |
+ |
// Compile-time extra dependencies. |
const FileList& inputs() const { return inputs_; } |
FileList& inputs() { return inputs_; } |
@@ -288,6 +302,8 @@ class Target : public Item { |
bool check_includes_; |
bool complete_static_lib_; |
bool testonly_; |
+ bool darwin_bundle_; |
+ bool loadable_module_; |
FileList inputs_; |
std::vector<std::string> data_; |