1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 10:42:39 +01:00

vs integration: Use llvm-lib for librarian

This uses llvm-lib.exe for the librarian instead of Visual Studio
provided lib.exe. Without this it is not possible to create static
libraries with -flto using the plugin.

Original patch by Steven Noonan

This fixes: PR41147

Differential Revision: https://reviews.llvm.org/D61193

llvm-svn: 359430
This commit is contained in:
Russell Gallop 2019-04-29 10:10:17 +00:00
parent d808ff5e65
commit 0f863f5b92
3 changed files with 24 additions and 0 deletions

View File

@ -42,8 +42,10 @@
<LLVMInstallDir Condition="'$(LLVMInstallDir)' != ''">$(LLVMInstallDir)\</LLVMInstallDir>
<ClangClExecutable>$(LLVMInstallDir)bin\clang-cl.exe</ClangClExecutable>
<LldLinkExecutable>$(LLVMInstallDir)bin\lld-link.exe</LldLinkExecutable>
<LlvmLibExecutable>$(LLVMInstallDir)bin\llvm-lib.exe</LlvmLibExecutable>
<UseClangCl>true</UseClangCl>
<UseLldLink>true</UseLldLink>
<UseLlvmLib>true</UseLlvmLib>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.WindowsSDK.props" Condition="Exists('$(VCTargetsPath)\Microsoft.Cpp.WindowsSDK.props')"/>

View File

@ -9,6 +9,7 @@
that the user may have overridden in the UI. -->
<CLToolExe Condition="$(UseClangCl)">$(ClangClExecutable)</CLToolExe>
<LinkToolExe Condition="$(UseLldLink)">$(LldLinkExecutable)</LinkToolExe>
<LIBToolExe Condition="$(UseLlvmLib)">$(LlvmLibExecutable)</LIBToolExe>
</PropertyGroup>
<ItemGroup>

View File

@ -52,4 +52,25 @@
Category="General">
</StringProperty>
<BoolProperty Name="UseLlvmLib"
DisplayName="Use llvm-lib"
Description="Use llvm-lib for managing libraries. If this option is disabled, the Microsoft librarian (lib.exe) will be used instead."
Category="General"
Default="true">
</BoolProperty>
<StringProperty Name="LlvmLibExecutable"
DisplayName="llvm-lib Executable"
Description="Specifies the path to llvm-lib.exe."
Category="General"
Default="$(LLVMInstallDir)bin\llvm-lib.exe"
Subtype="file">
</StringProperty>
<StringProperty Name="LlvmLibAdditionalOptions"
DisplayName="Additional Librarian Options"
Description="Additional options to pass to llvm-lib. This is essentially the same as General > Librarian > Command Line > Additional Options, except that it is safe to put options here that will be rejected by lib.exe in case you switch toolchains back and forth."
Category="General">
</StringProperty>
</Rule>