vcpkg/ports/llvm/vcpkg.json
MonicaLiu da4b78d350
[llvm] Fix error caused by the upcoming By-Design of MSVC (#38235)
In an internal version of Visual Studio, llvm install failed with
following error, the reason is missing `typename` keyword.
```
[4444/5079] C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1438~1.331\bin\Hostx64\x64\cl.exe   /TP -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -ID:\b\llvm\x64-windows-dbg\tools\dsymutil -ID:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil -ID:\b\llvm\x64-windows-dbg\include -ID:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\include -external:ID:\installed\x64-windows\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8   /MP  /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Oi /bigobj /permissive- /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -w14062 -we4238 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  -std:c++17 -MDd  /EHsc /GR /showIncludes /Fotools\dsymutil\CMakeFiles\dsymutil.dir\DwarfLinkerForBinary.cpp.obj /Fdtools\dsymutil\CMakeFiles\dsymutil.dir\ /FS -c D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp
FAILED: tools/dsymutil/CMakeFiles/dsymutil.dir/DwarfLinkerForBinary.cpp.obj 
C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1438~1.331\bin\Hostx64\x64\cl.exe   /TP -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -ID:\b\llvm\x64-windows-dbg\tools\dsymutil -ID:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil -ID:\b\llvm\x64-windows-dbg\include -ID:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\include -external:ID:\installed\x64-windows\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8   /MP  /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Oi /bigobj /permissive- /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -w14062 -we4238 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  -std:c++17 -MDd  /EHsc /GR /showIncludes /Fotools\dsymutil\CMakeFiles\dsymutil.dir\DwarfLinkerForBinary.cpp.obj /Fdtools\dsymutil\CMakeFiles\dsymutil.dir\ /FS -c D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(954): error C2275: 'llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::ValidReloc': expected an expression instead of a type
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(954): note: the template instantiation context (the oldest one first) is
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(557): note: see reference to function template instantiation 'bool llvm::dsymutil::DwarfLinkerForBinary::linkImpl<llvm::dwarflinker_parallel::DWARFLinker,llvm::dwarflinker_parallel::DWARFFile,llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>>(const llvm::dsymutil::DebugMap &,llvm::dwarflinker_parallel::DWARFLinker::OutputFileType)' being compiled
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(651): note: see reference to function template instantiation 'llvm::ErrorOr<std::unique_ptr<llvm::dwarflinker_parallel::DWARFFile,std::default_delete<llvm::dwarflinker_parallel::DWARFFile>>> llvm::dsymutil::DwarfLinkerForBinary::loadObject<llvm::dwarflinker_parallel::DWARFFile,llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>>(const llvm::dsymutil::DebugMapObject &,const llvm::dsymutil::DebugMap &,llvm::remarks::RemarkLinker &)' being compiled
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(237): note: see reference to class template instantiation 'std::unique_ptr<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>,std::default_delete<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>>>' being compiled
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.38.33130\include\memory(3335): note: see reference to class template instantiation 'std::default_delete<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>>' being compiled
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.38.33130\include\memory(3298): note: while compiling class template member function 'void std::default_delete<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>>::operator ()(_Ty *) noexcept const'
        with
        [
            _Ty=llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>
        ]
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.38.33130\include\memory(3410): note: see the first reference to 'std::default_delete<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>>::operator ()' in 'std::unique_ptr<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>,std::default_delete<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>>>::~unique_ptr'
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(235): note: see the first reference to 'std::unique_ptr<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>,std::default_delete<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>>>::~unique_ptr' in 'llvm::dsymutil::DwarfLinkerForBinary::loadObject'
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.38.33130\include\memory(3299): note: see reference to class template instantiation 'llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>' being compiled
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(1034): note: while compiling class template member function 'std::optional<int64_t> llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::getExprOpAddressRelocAdjustment(llvm::DWARFUnit &,const llvm::DWARFExpression::Operation &,uint64_t,uint64_t)'
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(952): note: while compiling class template member function 'std::vector<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::ValidReloc,std::allocator<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::ValidReloc>> llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::getRelocations(const std::vector<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::ValidReloc,std::allocator<llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::ValidReloc>> &,uint64_t,uint64_t)'
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(1114): note: see the first reference to 'llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::getRelocations' in 'llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::applyValidRelocs'
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(953): error C2923: 'std::vector': 'llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::ValidReloc' is not a valid template type argument for parameter '_Ty'
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(954): note: see declaration of 'llvm::dsymutil::DwarfLinkerForBinary::AddressManager<llvm::dwarflinker_parallel::AddressesMap>::ValidReloc'
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(953): error C2976: 'std::vector': too few template arguments
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.38.33130\include\vector(429): note: see declaration of 'std::vector'
D:\b\llvm\src\org-17.0.2-5fdca9a361.clean\llvm\tools\dsymutil\DwarfLinkerForBinary.cpp(955): error C2641: cannot deduce template arguments for 'std::vector'
```

Reported upstream: https://github.com/llvm/llvm-project/issues/89056.

- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] ~SHA512s are updated for each updated download.~
- [ ] ~The "supports" clause reflects platforms that may be fixed by
this new version.~
- [ ] ~Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.~
- [ ] ~Any patches that are no longer applied are deleted from the
port's directory.~
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is added to each modified port's versions file.

---------

Co-authored-by: Monica <v-liumonica@microsoft.com>
2024-04-22 16:28:02 -04:00

460 lines
10 KiB
JSON

{
"name": "llvm",
"version": "17.0.2",
"port-version": 5,
"description": "The LLVM Compiler Infrastructure.",
"homepage": "https://llvm.org",
"license": "Apache-2.0",
"supports": "!uwp & !(arm & windows)",
"dependencies": [
{
"name": "atl",
"platform": "windows & !mingw"
},
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
},
{
"name": "vcpkg-cmake-get-vars",
"host": true
}
],
"default-features": [
"clang",
"default-targets",
"enable-bindings",
"enable-terminfo",
"enable-zlib",
"enable-zstd",
"lld",
"tools"
],
"features": {
"bolt": {
"description": "BOLT is a post-link optimizer developed to speed up large applications.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"tools"
]
}
]
},
"clang": {
"description": "Include C Language Family Front-end.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"tools"
]
}
]
},
"clang-tools-extra": {
"description": "Include Clang tools.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"clang"
]
}
]
},
"compiler-rt": {
"description": "Include compiler's runtime libraries.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"clang"
]
}
]
},
"default-targets": {
"description": "Build with platform-specific default targets.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"target-aarch64"
],
"platform": "arm64"
},
{
"name": "llvm",
"default-features": false,
"features": [
"target-x86"
],
"platform": "x86 | x64"
},
{
"name": "llvm",
"default-features": false,
"features": [
"target-arm"
],
"platform": "arm & !arm64"
}
]
},
"enable-abi-breaking-checks": {
"description": "Build LLVM with LLVM_ABI_BREAKING_CHECKS=FORCE_ON."
},
"enable-assertions": {
"description": "Build LLVM with assertions."
},
"enable-bindings": {
"description": "Build bindings."
},
"enable-eh": {
"description": "Build LLVM with exception handler.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"enable-rtti"
]
}
]
},
"enable-ffi": {
"description": "Build LLVM with FFI.",
"dependencies": [
"libffi"
]
},
"enable-ios": {
"description": "Build compiler-rt for iOS SDK.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"target-arm"
]
}
]
},
"enable-libxml2": {
"description": "Build with LibXml2.",
"dependencies": [
"libxml2"
]
},
"enable-mlir-python-bindings": {
"description": "Build MLIR Python bindings.",
"supports": "!(windows & static)",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"mlir"
]
},
"pybind11",
"python3"
]
},
"enable-rtti": {
"description": "Build LLVM with run-time type information."
},
"enable-terminfo": {
"description": "Use terminfo database if available."
},
"enable-zlib": {
"description": "Build with ZLib.",
"dependencies": [
"zlib"
]
},
"enable-zstd": {
"description": "Build with zstd.",
"dependencies": [
"zstd"
]
},
"flang": {
"description": "Include Fortran front end.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"clang",
"mlir",
"tools"
]
}
]
},
"libc": {
"description": "Include libc library.",
"supports": "linux",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"clang",
"tools"
]
}
]
},
"libclc": {
"description": "Include OpenCL library."
},
"libcxx": {
"description": "Include libcxx library.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"clang",
"libcxxabi",
"tools"
]
}
]
},
"libcxxabi": {
"description": "Include libcxxabi library.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"clang",
"libcxx",
"tools"
]
}
]
},
"libunwind": {
"description": "Include libunwind library.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"tools"
]
}
]
},
"lld": {
"description": "Include LLVM linker.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"tools"
]
}
]
},
"lldb": {
"description": "Include LLVM debugger.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"clang",
"enable-terminfo",
"tools"
]
}
]
},
"mlir": {
"description": "Include MLIR (Multi-Level IR Compiler Framework) project.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"tools",
"utils"
]
}
]
},
"openmp": {
"description": "Include LLVM OpenMP libraries.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"clang",
"utils"
]
}
]
},
"polly": {
"description": "Include Polly (Polyhedral optimizations for LLVM) project.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"tools",
"utils"
]
}
]
},
"pstl": {
"description": "Include pstl (Parallel STL) library.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"tools"
]
}
]
},
"target-aarch64": {
"description": "Build with AArch64 backend."
},
"target-all": {
"description": "Build with all backends.",
"dependencies": [
{
"name": "llvm",
"default-features": false,
"features": [
"target-aarch64",
"target-amdgpu",
"target-arc",
"target-arm",
"target-avr",
"target-bpf",
"target-csky",
"target-directx",
"target-hexagon",
"target-lanai",
"target-loongarch",
"target-m68k",
"target-mips",
"target-msp430",
"target-nvptx",
"target-powerpc",
"target-riscv",
"target-sparc",
"target-spirv",
"target-systemz",
"target-ve",
"target-webassembly",
"target-x86",
"target-xcore",
"target-xtensa"
]
}
]
},
"target-amdgpu": {
"description": "Build with AMDGPU backend."
},
"target-arc": {
"description": "Build with ARC backend (experimental)."
},
"target-arm": {
"description": "Build with ARM backend."
},
"target-avr": {
"description": "Build with AVR backend."
},
"target-bpf": {
"description": "Build with BPF backend."
},
"target-csky": {
"description": "Build with CSKY backend (experimental)."
},
"target-directx": {
"description": "Build with DirectX backend (experimental)."
},
"target-hexagon": {
"description": "Build with Hexagon backend."
},
"target-lanai": {
"description": "Build with Lanai backend."
},
"target-loongarch": {
"description": "Build with LoongArch backend."
},
"target-m68k": {
"description": "Build with M68k backend (experimental)."
},
"target-mips": {
"description": "Build with Mips backend."
},
"target-msp430": {
"description": "Build with MSP430 backend."
},
"target-nvptx": {
"description": "Build with NVPTX backend."
},
"target-powerpc": {
"description": "Build with PowerPC backend."
},
"target-riscv": {
"description": "Build with RISC-V backend."
},
"target-sparc": {
"description": "Build with Sparc backend."
},
"target-spirv": {
"description": "Build with SPIRV backend (experimental)."
},
"target-systemz": {
"description": "Build with SystemZ backend."
},
"target-ve": {
"description": "Build with VE backend."
},
"target-webassembly": {
"description": "Build with WebAssembly backend."
},
"target-x86": {
"description": "Build with X86 backend."
},
"target-xcore": {
"description": "Build with XCore backend."
},
"target-xtensa": {
"description": "Build with Xtensa backend (experimental)."
},
"tools": {
"description": "Build LLVM tools."
},
"utils": {
"description": "Build LLVM utils."
}
}
}