Loading...
cache_builder/BuilderOptions.h dyld-1340 /dev/null
--- dyld/dyld-1340/cache_builder/BuilderOptions.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/* -*- mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-
-*
-* Copyright (c) 2017 Apple Inc. All rights reserved.
-*
-* @APPLE_LICENSE_HEADER_START@
-*
-* This file contains Original Code and/or Modifications of Original Code
-* as defined in and that are subject to the Apple Public Source License
-* Version 2.0 (the 'License'). You may not use this file except in
-* compliance with the License. Please obtain a copy of the License at
-* http://www.opensource.apple.com/apsl/ and read it before using this
-* file.
-*
-* The Original Code and all software distributed under the License are
-* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
-* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
-* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
-* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
-* Please see the License for the specific language governing rights and
-* limitations under the License.
-*
-* @APPLE_LICENSE_HEADER_END@
-*/
-
-#ifndef BuilderOptions_hpp
-#define BuilderOptions_hpp
-
-#include "Architecture.h"
-#include "Error.h"
-#include "JSON.h"
-#include "MachOFile.h"
-#include "Platform.h"
-
-#include <string>
-#include <unordered_map>
-
-namespace cache_builder
-{
-
-enum class LocalSymbolsMode {
-    keep,
-    unmap,
-    strip
-};
-
-enum class CacheKind
-{
-    development,
-    universal
-};
-
-struct BuilderOptions
-{
-    BuilderOptions(std::string_view archName, mach_o::Platform platform,
-                   bool dylibsRemovedFromDisk, bool isLocallyBuiltCache,
-                   CacheKind kind, bool forceDevelopmentSubCacheSuffix,
-                   std::string_view updateName, std::string_view deviceName);
-
-    bool isSimulator() const;
-    bool isExclaveKit() const;
-
-    // Core fields
-    mach_o::Architecture                        arch;
-    const mach_o::GradedArchitectures&          gradedArchs;
-    std::string                                 mainCacheFileName;
-    mach_o::Platform                            platform;
-    bool                                        dylibsRemovedFromDisk;
-    bool                                        isLocallyBuiltCache;
-    bool                                        forceDevelopmentSubCacheSuffix;
-    CacheKind                                   kind;
-    LocalSymbolsMode                            localSymbolsMode;
-    std::string                                 updateName;
-    std::string                                 deviceName;
-
-    // Logging/printing
-    std::string                                 logPrefix;
-    bool                                        timePasses          = false;
-    bool                                        stats               = false;
-    bool                                        debug               = false;
-    bool                                        debugIMPCaches      = false;
-    bool                                        debugCacheLayout    = false;
-
-    // Other
-    std::unordered_map<std::string, unsigned>   dylibOrdering;
-    std::unordered_map<std::string, unsigned>   dirtyDataSegmentOrdering;
-    json::Node                                  objcOptimizations;
-    std::string                                 swiftGenericMetadataFile;
-    std::string                                 prewarmingOptimizations;
-};
-
-// Inputs to the builder can be dylibs, executables, bundles, etc.
-struct InputFile
-{
-    const dyld3::MachOFile* mf      = nullptr;
-    uint64_t                inode   = 0;
-    uint64_t                mtime   = 0;
-    uint64_t                size    = 0;
-    std::string             path;
-    bool                    forceNotCacheEligible = false;
-
-    bool                            hasError() const;
-    std::span<const error::Error>   getErrors() const;
-    void                            addError(error::Error&& err);
-
-private:
-    // These are reason(s) this input file can't be used.  If its a dylib then
-    // its likely reasons the dylib is ineligible to be in the cache.  If its
-    // an executable then likely the reason the executable can't get a prebuilt closure.
-    // Despite the name, these may not be surfaced as errors to the user, as these
-    // might not be fatal errors, but at the very least they'll be warnings the user
-    // can choose to be fatal or not
-    std::vector<error::Error> errors;
-};
-
-// Alias for an input file
-struct FileAlias
-{
-    std::string             realPath;
-    std::string             aliasPath;
-};
-
-} // namespace cache_builder
-
-#endif /* BuilderOptions_hpp */