You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
chromium/revert-gn-4980.patch

135 lines
4.3 KiB

Description: revert https://gn.googlesource.com/gn/+/8730b0feb6b991fa47368566501ab9ccfb453c92, which breaks the chromium build
--- a/tools/gn/tools/gn/binary_target_generator.cc
+++ b/tools/gn/tools/gn/binary_target_generator.cc
@@ -68,38 +68,6 @@ void BinaryTargetGenerator::DoRun() {
return;
}
-bool BinaryTargetGenerator::FillSources() {
- bool ret = TargetGenerator::FillSources();
- for (std::size_t i = 0; i < target_->sources().size(); ++i) {
- const auto& source = target_->sources()[i];
- switch (source.type()) {
- case SourceFile::SOURCE_CPP:
- case SourceFile::SOURCE_H:
- case SourceFile::SOURCE_C:
- case SourceFile::SOURCE_M:
- case SourceFile::SOURCE_MM:
- case SourceFile::SOURCE_S:
- case SourceFile::SOURCE_ASM:
- case SourceFile::SOURCE_O:
- // These are allowed.
- break;
- case SourceFile::SOURCE_RC:
- case SourceFile::SOURCE_DEF:
- case SourceFile::SOURCE_RS:
- case SourceFile::SOURCE_GO:
- case SourceFile::SOURCE_UNKNOWN:
- case SourceFile::SOURCE_NUMTYPES:
- *err_ =
- Err(scope_->GetValue(variables::kSources, true)->list_value()[i],
- std::string("Only source, header, and object files belong in "
- "the sources of a ") +
- Target::GetStringForOutputType(target_->output_type()) +
- ". " + source.value() + " is not one of the valid types.");
- }
- }
- return ret;
-}
-
bool BinaryTargetGenerator::FillCompleteStaticLib() {
if (target_->output_type() == Target::STATIC_LIBRARY) {
const Value* value = scope_->GetValue(variables::kCompleteStaticLib, true);
--- a/tools/gn/tools/gn/binary_target_generator.h
+++ b/tools/gn/tools/gn/binary_target_generator.h
@@ -22,7 +22,6 @@ class BinaryTargetGenerator : public Tar
protected:
void DoRun() override;
- bool FillSources() override;
private:
bool FillCompleteStaticLib();
--- a/tools/gn/tools/gn/source_dir.cc
+++ b/tools/gn/tools/gn/source_dir.cc
@@ -98,10 +98,10 @@ SourceFile SourceDir::ResolveRelativeFil
return ret;
const std::string& input_string = p.string_value();
- if (!ValidateResolveInput<std::string>(true, p, input_string, err))
+ if (!ValidateResolveInput<std::string>(true, p, input_string, err)) {
return ret;
-
- ret.SetValue(ResolveRelative(input_string, value_, true, source_root));
+ }
+ ret.value_ = ResolveRelative(input_string, value_, true, source_root);
return ret;
}
--- a/tools/gn/tools/gn/source_file.cc
+++ b/tools/gn/tools/gn/source_file.cc
@@ -55,19 +55,18 @@ SourceFile::Type GetSourceFileType(const
SourceFile::SourceFile() : type_(SOURCE_UNKNOWN) {}
SourceFile::SourceFile(const base::StringPiece& p)
- : value_(p.data(), p.size()) {
+ : value_(p.data(), p.size()), type_(GetSourceFileType(value_)) {
DCHECK(!value_.empty());
AssertValueSourceFileString(value_);
NormalizePath(&value_);
- type_ = GetSourceFileType(value_);
}
-SourceFile::SourceFile(SwapIn, std::string* value) {
+SourceFile::SourceFile(SwapIn, std::string* value)
+ : type_(GetSourceFileType(*value)) {
value_.swap(*value);
DCHECK(!value_.empty());
AssertValueSourceFileString(value_);
NormalizePath(&value_);
- type_ = GetSourceFileType(value_);
}
SourceFile::~SourceFile() = default;
@@ -93,8 +92,3 @@ SourceDir SourceFile::GetDir() const {
base::FilePath SourceFile::Resolve(const base::FilePath& source_root) const {
return ResolvePath(value_, true, source_root);
}
-
-void SourceFile::SetValue(const std::string& value) {
- value_ = value;
- type_ = GetSourceFileType(value_);
-}
--- a/tools/gn/tools/gn/source_file.h
+++ b/tools/gn/tools/gn/source_file.h
@@ -97,16 +97,11 @@ class SourceFile {
return value_ < other.value_;
}
- void swap(SourceFile& other) {
- value_.swap(other.value_);
- std::swap(type_, other.type_);
- }
+ void swap(SourceFile& other) { value_.swap(other.value_); }
private:
friend class SourceDir;
- void SetValue(const std::string& value);
-
std::string value_;
Type type_;
--- a/tools/gn/tools/gn/target_generator.h
+++ b/tools/gn/tools/gn/target_generator.h
@@ -47,7 +47,7 @@ class TargetGenerator {
const BuildSettings* GetBuildSettings() const;
- virtual bool FillSources();
+ bool FillSources();
bool FillPublic();
bool FillConfigs();
bool FillOutputs(bool allow_substitutions);