All Projects → zufuliu → Llvm Utils

zufuliu / Llvm Utils

Licence: apache-2.0
LLVM/Clang for Visual Studio 2019, 2017, 2015, 2013, 2012 and 2010. clang-cl for Python3 distutils. Utils for Clang Static Analyzer

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Llvm Utils

Llvm 9.0 Learner Tutorial
A blog for LLVM(v9.0.0 or v11.0.0) beginner, step by step, with detailed documents and comments. Record the way I learn LLVM and accomplish a complete project for FPGA High-Level Synthesis with it.
Stars: ✭ 58 (-52.85%)
Mutual labels:  llvm, clang
Bsodsurvivor
This project aims to facilitate debugging a kernel driver in windows by adding support for a code change on the fly without reboot/unload, and more!
Stars: ✭ 122 (-0.81%)
Mutual labels:  llvm, clang
Cxxctp
DEPRECATED. USE INSTEAD github.com/blockspacer/flextool
Stars: ✭ 58 (-52.85%)
Mutual labels:  llvm, clang
Woboq codebrowser
Woboq CodeBrowser
Stars: ✭ 837 (+580.49%)
Mutual labels:  llvm, clang
Codechecker
CodeChecker is an analyzer tooling, defect database and viewer extension for the Clang Static Analyzer and Clang Tidy
Stars: ✭ 1,209 (+882.93%)
Mutual labels:  llvm, clang
C2goasm
C to Go Assembly
Stars: ✭ 1,072 (+771.54%)
Mutual labels:  llvm, clang
Optviewer Demo
Demonstration of LLVM's opt-viewer tool
Stars: ✭ 63 (-48.78%)
Mutual labels:  llvm, clang
Swiftweekly.github.io
A community-driven weekly newsletter about Swift.org
Stars: ✭ 305 (+147.97%)
Mutual labels:  llvm, clang
Meta Clang
Clang C/C++ cross compiler and runtime for OpenEmbedded/Yocto Project
Stars: ✭ 76 (-38.21%)
Mutual labels:  llvm, clang
Seeless
C IDE for iOS
Stars: ✭ 71 (-42.28%)
Mutual labels:  llvm, clang
Fcd
An optimizing decompiler
Stars: ✭ 622 (+405.69%)
Mutual labels:  llvm, clang
Termux Ndk
android-ndk for termux
Stars: ✭ 91 (-26.02%)
Mutual labels:  llvm, clang
Enzyme
High-performance automatic differentiation of LLVM.
Stars: ✭ 418 (+239.84%)
Mutual labels:  llvm, clang
Cppinsights
C++ Insights - See your source code with the eyes of a compiler
Stars: ✭ 1,382 (+1023.58%)
Mutual labels:  llvm, clang
Clangkit
ClangKit provides an Objective-C frontend to LibClang. Source tokenization, diagnostics and fix-its are actually implemented.
Stars: ✭ 330 (+168.29%)
Mutual labels:  llvm, clang
Zapcc
zapcc is a caching C++ compiler based on clang, designed to perform faster compilations
Stars: ✭ 1,109 (+801.63%)
Mutual labels:  llvm, clang
Olifant
A simple programming language targeting LLVM
Stars: ✭ 58 (-52.85%)
Mutual labels:  llvm, clang
Clang Power Tools
Bringing clang-tidy magic to Visual Studio C++ developers.
Stars: ✭ 285 (+131.71%)
Mutual labels:  llvm, clang
Avalonstudio
Cross platform IDE and Shell
Stars: ✭ 1,132 (+820.33%)
Mutual labels:  llvm, clang
Llvm Vs2017 Integration
MSBuild 15.0 Toolset integration for multiple LLVM (From v5 to v8)
Stars: ✭ 84 (-31.71%)
Mutual labels:  llvm, clang

LLVM Utils

LLVM for Visual Studio

License

Latest release

LLVM for Visual Studio 2017 and 2019

Installation

Please download and install LLVM from https://github.com/llvm/llvm-project/releases, https://llvm.org/builds/ or https://releases.llvm.org/.

VS2017\install.bat can be used to install MSBuild script for Visual Studio 2017 and 2019. (may require Administrator privilege. In Windows 8 or later, you can quickly open an elevated PowerShell prompt by File -> Open Windows PowerShell -> Open PowerShell as Administrator).

Visual Studio 2019

The Platform Toolset is "LLVM for Visual Studio 2019 (LLVM_v142)", "LLVM for Visual Studio 2017 (LLVM_v141)" and "LLVM for Visual Studio 2017 - Windows XP (LLVM_v141_xp)".

Assume VS_PATH is your Visual Studio 2019 installation path (C:\Program Files (x86)\Microsoft Visual Studio\2019\Community), please manually copy folders under VS2017 to their target paths.

Folder Target Path
VS2017\LLVM %VS_PATH%\MSBuild\Microsoft\VC\v160\
VS2017\LLVM_v142 %VS_PATH%\MSBuild\Microsoft\VC\v160\Platforms\x64\PlatformToolsets\
VS2017\LLVM_v142 %VS_PATH%\MSBuild\Microsoft\VC\v160\Platforms\Win32\PlatformToolsets\
VS2017\LLVM_v142 %VS_PATH%\MSBuild\Microsoft\VC\v160\Platforms\ARM64\PlatformToolsets\
VS2017\LLVM_v142 %VS_PATH%\MSBuild\Microsoft\VC\v160\Platforms\ARM\PlatformToolsets\
VS2017\LLVM %VS_PATH%\MSBuild\Microsoft\VC\v150\
VS2017\LLVM_v141 %VS_PATH%\MSBuild\Microsoft\VC\v150\Platforms\x64\PlatformToolsets\
VS2017\LLVM_v141_xp %VS_PATH%\MSBuild\Microsoft\VC\v150\Platforms\x64\PlatformToolsets\
VS2017\LLVM_v141 %VS_PATH%\MSBuild\Microsoft\VC\v150\Platforms\Win32\PlatformToolsets\
VS2017\LLVM_v141_xp %VS_PATH%\MSBuild\Microsoft\VC\v150\Platforms\Win32\PlatformToolsets\
VS2017\LLVM_v141 %VS_PATH%\MSBuild\Microsoft\VC\v150\Platforms\ARM64\PlatformToolsets\
VS2017\LLVM_v141 %VS_PATH%\MSBuild\Microsoft\VC\v150\Platforms\ARM\PlatformToolsets\

Visual Studio 2017

The Platform Toolset is "LLVM for Visual Studio 2017 (LLVM_v141)" and "LLVM for Visual Studio 2017 - Windows XP (LLVM_v141_xp)".

Assume VS_PATH is your Visual Studio 2017 installation path (e.g: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community), please manually copy folders under VS2017 to their target paths.

Folder Target Path
VS2017\LLVM %VS_PATH%\Common7\IDE\VC\VCTargets\
VS2017\LLVM_v141 %VS_PATH%\Common7\IDE\VC\VCTargets\Platforms\x64\PlatformToolsets\
VS2017\LLVM_v141_xp %VS_PATH%\Common7\IDE\VC\VCTargets\Platforms\x64\PlatformToolsets\
VS2017\LLVM_v141 %VS_PATH%\Common7\IDE\VC\VCTargets\Platforms\Win32\PlatformToolsets\
VS2017\LLVM_v141_xp %VS_PATH%\Common7\IDE\VC\VCTargets\Platforms\Win32\PlatformToolsets\
VS2017\LLVM_v141 %VS_PATH%\Common7\IDE\VC\VCTargets\Platforms\ARM64\PlatformToolsets\
VS2017\LLVM_v141 %VS_PATH%\Common7\IDE\VC\VCTargets\Platforms\ARM\PlatformToolsets\

LLVM for Visual Studio 2010, 2012, 2013 and 2015

Assume MB_PATH is the MSBuild path for Visual C++ (e.g.: C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0 or C:\Program Files\MSBuild\Microsoft.Cpp\v4.0), please manually copy VS2017\LLVM and related folders under VS2015 to their target paths.

VS2015\install.bat (based on install script for LLVM 6.0.1) can be used to install MSBuild script for Visual Studio 2010, 2012, 2013 and 2015.

Visual Studio 2015

The Platform Toolset is "LLVM for Visual Studio 2015 (LLVM_v140)" and "LLVM for Visual Studio 2015 - Windows XP (LLVM_v140_xp)".

Folder Target Path
VS2017\LLVM %MB_PATH%\V140\
VS2015\LLVM_v140 %MB_PATH%\V140\Platforms\x64\PlatformToolsets\
VS2015\LLVM_v140_xp %MB_PATH%\V140\Platforms\x64\PlatformToolsets\
VS2015\LLVM_v140 %MB_PATH%\V140\Platforms\Win32\PlatformToolsets\
VS2015\LLVM_v140_xp %MB_PATH%\V140\Platforms\Win32\PlatformToolsets\

Visual Studio 2013

The Platform Toolset is "LLVM for Visual Studio 2013 (LLVM_v120)" and "LLVM for Visual Studio 2013 - Windows XP (LLVM_v120_xp)".

Folder Target Path
VS2017\LLVM %MB_PATH%\v120\
VS2015\LLVM_v120 %MB_PATH%\v120\Platforms\x64\PlatformToolsets\
VS2015\LLVM_v120_xp %MB_PATH%\v120\Platforms\x64\PlatformToolsets\
VS2015\LLVM_v120 %MB_PATH%\v120\Platforms\Win32\PlatformToolsets\
VS2015\LLVM_v120_xp %MB_PATH%\v120\Platforms\Win32\PlatformToolsets\

Visual Studio 2012

The Platform Toolset is "LLVM for Visual Studio 2012 (LLVM_v110)" and "LLVM for Visual Studio 2012 - Windows XP (LLVM_v110_xp)".

Folder Target Path
VS2017\LLVM %MB_PATH%\v110\
VS2015\x64\LLVM_v110 %MB_PATH%\v110\Platforms\x64\PlatformToolsets\
VS2015\x64\LLVM_v110_xp %MB_PATH%\v110\Platforms\x64\PlatformToolsets\
VS2015\Win32\LLVM_v110 %MB_PATH%\v110\Platforms\Win32\PlatformToolsets\
VS2015\Win32\LLVM_v110_xp %MB_PATH%\v110\Platforms\Win32\PlatformToolsets\

Visual Studio 2010

The Platform Toolset is "LLVM for Visual Studio 2010 (LLVM_v100)" and "LLVM for Visual Studio 2008 (LLVM_v90)".

Folder Target Path
VS2017\LLVM %MB_PATH%\
VS2015\x64\LLVM_v100 %MB_PATH%\Platforms\x64\PlatformToolsets\
VS2015\x64\LLVM_v90 %MB_PATH%\Platforms\x64\PlatformToolsets\
VS2015\Win32\LLVM_v100 %MB_PATH%\Platforms\Win32\PlatformToolsets\
VS2015\Win32\LLVM_v90 %MB_PATH%\Platforms\Win32\PlatformToolsets\

Install to AppVeyor or GitHub Actions Build Image

Install LLVM on the build image

curl -fsSL -o "LLVM-10.0.0-win64.exe" "https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/LLVM-10.0.0-win64.exe"
LLVM-10.0.0-win64.exe /S

Install from release archives

Archive Name Visual Studio Version
LLVM_VS2017.zip 2017 and 2019
LLVM_VS2010_2015.zip 2010, 2012, 2013 and 2015
LLVM_VS2015.zip 2015
LLVM_VS2013.zip 2013
LLVM_VS2012.zip 2012
LLVM_VS2010.zip 2010

Examples:

curl -fsSL -o "LLVM_VS2017.zip" "https://github.com/zufuliu/llvm-utils/releases/download/v19.05/LLVM_VS2017.zip"
7z x -y "LLVM_VS2017.zip" >NUL
CALL "LLVM_VS2017\install.bat" 1

curl -fsSL -o "LLVM_VS2010_2015.zip" "https://github.com/zufuliu/llvm-utils/releases/download/v19.05/LLVM_VS2010_2015.zip"
7z x -y "LLVM_VS2010_2015.zip" >NUL
CALL "LLVM_VS2010_2015\install.bat" 1

Install from latest master source code

curl -fsSL -o "llvm-utils-master.zip" "https://github.com/zufuliu/llvm-utils/archive/master.zip"
7z x -y "llvm-utils-master.zip" >NUL
CALL "llvm-utils-master\VS2017\install.bat" 1
CALL "llvm-utils-master\VS2015\install.bat" 1

or

git clone -q --depth=1 --branch=master https://github.com/zufuliu/llvm-utils.git c:\projects\llvm-utils
CALL "c:\projects\llvm-utils\VS2017\install.bat" 1
CALL "c:\projects\llvm-utils\VS2015\install.bat" 1

clang-cl for Python 3 distutils

See clang\clang-cl-py3.diff for the changes on hwo to use clang-cl as distutils compiler. After apply these changes, you can build your extension with

python setup.py build --compiler=clang-cl

LLVM Windows Symbolic Link Maker

The huge size of LLVM Windows installation can be reduced dramatically by using Windows symbolic link (see mklink command.

Usage

Just copy llvm\llvm-link.bat to LLVM installation path (e.g.: C:\Program Files\LLVM\), and run it (may require Administrator privilege).

Related Links

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].