Add support for .rs and .go source files Change-Id: I917df75ceeebcd5671f4ea6ea4529e1bfd4cb900 Reviewed-on: https://gn-review.googlesource.com/c/gn/+/4464 Commit-Queue: Julie Hockett <juliehockett@google.com> Reviewed-by: Brett Wilson <brettw@google.com>
diff --git a/tools/gn/ninja_binary_target_writer.cc b/tools/gn/ninja_binary_target_writer.cc index 4cda834..fcbc938 100644 --- a/tools/gn/ninja_binary_target_writer.cc +++ b/tools/gn/ninja_binary_target_writer.cc
@@ -33,6 +33,14 @@ Get(SOURCE_MM) || Get(SOURCE_RC) || Get(SOURCE_S); } +bool NinjaBinaryTargetWriter::SourceFileTypeSet::RustSourceUsed() { + return Get(SOURCE_RS); +} + +bool NinjaBinaryTargetWriter::SourceFileTypeSet::GoSourceUsed() { + return Get(SOURCE_GO); +} + NinjaBinaryTargetWriter::NinjaBinaryTargetWriter(const Target* target, std::ostream& out) : NinjaTargetWriter(target, out),
diff --git a/tools/gn/ninja_binary_target_writer.h b/tools/gn/ninja_binary_target_writer.h index d450ce2..1db9d81 100644 --- a/tools/gn/ninja_binary_target_writer.h +++ b/tools/gn/ninja_binary_target_writer.h
@@ -32,6 +32,8 @@ } bool CSourceUsed(); + bool RustSourceUsed(); + bool GoSourceUsed(); private: bool flags_[static_cast<int>(SOURCE_NUMTYPES)];
diff --git a/tools/gn/source_file_type.cc b/tools/gn/source_file_type.cc index 48df7f8..fde1cca 100644 --- a/tools/gn/source_file_type.cc +++ b/tools/gn/source_file_type.cc
@@ -28,6 +28,10 @@ return SOURCE_O; if (extension == "def") return SOURCE_DEF; + if (extension == "rs") + return SOURCE_RS; + if (extension == "go") + return SOURCE_GO; return SOURCE_UNKNOWN; }
diff --git a/tools/gn/source_file_type.h b/tools/gn/source_file_type.h index c43b432..d405497 100644 --- a/tools/gn/source_file_type.h +++ b/tools/gn/source_file_type.h
@@ -22,6 +22,9 @@ SOURCE_O, // Object files can be inputs, too. Also counts .obj. SOURCE_DEF, + SOURCE_RS, + SOURCE_GO, + // Must be last. SOURCE_NUMTYPES, };
diff --git a/tools/gn/tool.cc b/tools/gn/tool.cc index ef4c94b..51e0bc2 100644 --- a/tools/gn/tool.cc +++ b/tools/gn/tool.cc
@@ -274,6 +274,8 @@ case SOURCE_H: case SOURCE_O: case SOURCE_DEF: + case SOURCE_GO: + case SOURCE_RS: return kToolNone; default: NOTREACHED();