Index: tools/gn/target.cc |
diff --git a/tools/gn/target.cc b/tools/gn/target.cc |
index a27a5c4f944fe285b9e97a21cb91693bcea7611f..e5bd826f8fa58a5c8312f5c9aec6e5c0e7325cdf 100644 |
--- a/tools/gn/target.cc |
+++ b/tools/gn/target.cc |
@@ -110,6 +110,7 @@ Target::Target(const Settings* settings, const Label& label) |
check_includes_(true), |
complete_static_lib_(false), |
testonly_(false), |
+ darwin_bundle_(false), |
toolchain_(nullptr) { |
} |
@@ -125,6 +126,8 @@ const char* Target::GetStringForOutputType(OutputType type) { |
return "Group"; |
case EXECUTABLE: |
return "Executable"; |
+ case LOADABLE_MODULE: |
+ return "Loadable module"; |
case SHARED_LIBRARY: |
return "Shared library"; |
case STATIC_LIBRARY: |
@@ -193,7 +196,9 @@ bool Target::IsLinkable() const { |
} |
bool Target::IsFinal() const { |
- return output_type_ == EXECUTABLE || output_type_ == SHARED_LIBRARY || |
+ return output_type_ == EXECUTABLE || |
+ output_type_ == SHARED_LIBRARY || |
+ output_type_ == LOADABLE_MODULE || |
(output_type_ == STATIC_LIBRARY && complete_static_lib_); |
} |
@@ -350,8 +355,9 @@ void Target::FillOutputFiles() { |
break; |
} |
case EXECUTABLE: |
- // Executables don't get linked to, but the first output is used for |
- // dependency management. |
+ case LOADABLE_MODULE: |
+ // Executables and loadable modules don't get linked to, but the first |
+ // output is used for dependency management. |
CHECK_GE(tool->outputs().list().size(), 1u); |
check_tool_outputs = true; |
dependency_output_file_ = |