diff options
Diffstat (limited to 'toolsrc/include')
| -rw-r--r-- | toolsrc/include/vcpkg/build.h | 10 | ||||
| -rw-r--r-- | toolsrc/include/vcpkg/vcpkgpaths.h | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/toolsrc/include/vcpkg/build.h b/toolsrc/include/vcpkg/build.h index 83d797fd1..99effe475 100644 --- a/toolsrc/include/vcpkg/build.h +++ b/toolsrc/include/vcpkg/build.h @@ -305,6 +305,13 @@ namespace vcpkg::Build fs::path tag_file; }; + struct CompilerInfo + { + std::string id; + std::string version; + std::string hash; + }; + struct AbiInfo { std::unique_ptr<PreBuildInfo> pre_build_info; @@ -312,6 +319,7 @@ namespace vcpkg::Build Optional<const std::string&> triplet_abi; std::string package_abi; Optional<fs::path> abi_tag_file; + Optional<const CompilerInfo&> compiler_info; }; void compute_all_abis(const VcpkgPaths& paths, @@ -325,12 +333,14 @@ namespace vcpkg::Build const System::Environment& get_action_env(const VcpkgPaths& paths, const AbiInfo& abi_info); const std::string& get_triplet_info(const VcpkgPaths& paths, const AbiInfo& abi_info); + const CompilerInfo& get_compiler_info(const VcpkgPaths& paths, const AbiInfo& abi_info); private: struct TripletMapEntry { std::string hash; Cache<std::string, std::string> compiler_hashes; + Cache<std::string, CompilerInfo> compiler_info; }; Cache<fs::path, TripletMapEntry> m_triplet_cache; Cache<fs::path, std::string> m_toolchain_cache; diff --git a/toolsrc/include/vcpkg/vcpkgpaths.h b/toolsrc/include/vcpkg/vcpkgpaths.h index 8abc84129..da0e2ec14 100644 --- a/toolsrc/include/vcpkg/vcpkgpaths.h +++ b/toolsrc/include/vcpkg/vcpkgpaths.h @@ -37,6 +37,7 @@ namespace vcpkg { struct PreBuildInfo; struct AbiInfo; + struct CompilerInfo; } namespace System @@ -121,6 +122,7 @@ namespace vcpkg const System::Environment& get_action_env(const Build::AbiInfo& abi_info) const; const std::string& get_triplet_info(const Build::AbiInfo& abi_info) const; + const Build::CompilerInfo& get_compiler_info(const Build::AbiInfo& abi_info) const; bool manifest_mode_enabled() const { return get_manifest().has_value(); } void track_feature_flag_metrics() const; |
