mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Previously, we included the PCH hash components in the cache key. While they didn’t do any harm, they didn’t contribute any unique information about the module in question. Additionally, passing the effective language version in means that each dependency that uses a different -swift-version would re-compile all of its dependencies. This is unfortunate, as that means the standard library is recompiled potentially several times.
54 lines
1.6 KiB
C++
54 lines
1.6 KiB
C++
//===--- SerializationOptions.h - Control swiftmodule emission --*- C++ -*-===//
|
|
//
|
|
// This source file is part of the Swift.org open source project
|
|
//
|
|
// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
|
|
// Licensed under Apache License v2.0 with Runtime Library Exception
|
|
//
|
|
// See https://swift.org/LICENSE.txt for license information
|
|
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef SWIFT_SERIALIZATION_SERIALIZATIONOPTIONS_H
|
|
#define SWIFT_SERIALIZATION_SERIALIZATIONOPTIONS_H
|
|
|
|
#include "swift/Basic/LLVM.h"
|
|
|
|
namespace swift {
|
|
|
|
class SerializationOptions {
|
|
SerializationOptions(const SerializationOptions &) = delete;
|
|
void operator=(const SerializationOptions &) = delete;
|
|
|
|
public:
|
|
SerializationOptions() = default;
|
|
SerializationOptions(SerializationOptions &&) = default;
|
|
SerializationOptions &operator=(SerializationOptions &&) = default;
|
|
~SerializationOptions() = default;
|
|
|
|
const char *OutputPath = nullptr;
|
|
const char *DocOutputPath = nullptr;
|
|
|
|
StringRef GroupInfoPath;
|
|
StringRef ImportedHeader;
|
|
StringRef ModuleLinkName;
|
|
ArrayRef<std::string> ExtraClangOptions;
|
|
|
|
struct FileDependency {
|
|
uint64_t Size;
|
|
uint64_t ModificationTime;
|
|
std::string Path;
|
|
};
|
|
ArrayRef<FileDependency> Dependencies;
|
|
|
|
bool AutolinkForceLoad = false;
|
|
bool EnableNestedTypeLookupTable = false;
|
|
bool SerializeAllSIL = false;
|
|
bool SerializeOptionsForDebugging = false;
|
|
bool IsSIB = false;
|
|
};
|
|
|
|
} // end namespace swift
|
|
#endif
|