Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/egor-tensin/setup-clang
GitHub action to set up Clang & LLVM
https://github.com/egor-tensin/setup-clang
action clang github-actions
Last synced: 24 days ago
JSON representation
GitHub action to set up Clang & LLVM
- Host: GitHub
- URL: https://github.com/egor-tensin/setup-clang
- Owner: egor-tensin
- License: mit
- Created: 2020-12-25T01:45:07.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-07-29T13:46:21.000Z (7 months ago)
- Last Synced: 2024-10-14T20:01:45.693Z (4 months ago)
- Topics: action, clang, github-actions
- Language: C++
- Homepage:
- Size: 33.2 KB
- Stars: 64
- Watchers: 6
- Forks: 8
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
Set up Clang
============[](https://github.com/egor-tensin/setup-clang/actions/workflows/test.yml)
This GitHub action sets up Clang & LLVM in your workflow run.
1. Installs either 32-bit or 64-bit Clang & LLVM on either Ubuntu, Windows or
Cygwin.
2. Specify a version to install using the `version` parameter.Use it in your workflow like this:
- name: Set up Clang
uses: egor-tensin/setup-clang@v1
with:
version: latest
platform: x64* `latest` is the default value for the `version` parameter and can be omitted.
* `x64` is the default value for the `platform` parameter and can be omitted.
Use `x86` if you want to build 32-bit binaries.
* Set the `cygwin` parameter to `1` to set up Clang inside an existing Cygwin
installation (you can set up Cygwin itself using my action [setup-cygwin]).
* `cc` and `c++` executables are set up, pointing to the `clang` and `clang++`
executables.
Disable this by setting the `cc` parameter to `0`.[setup-cygwin]: https://github.com/egor-tensin/setup-cygwin
API
---| Input | Value | Default | Description
| --------- | ------- | ------- | -----------
| version | latest | ✓ | Install the latest version available in the repository.
| | *any* | | Install a specific version if it's available (see below).
| platform | x64 | ✓ | Install the x86_64 toolchain.
| | *any* | | Install the i686 toolchain.
| cygwin | *any* | ✓ | Install native binaries.
| | 1 | | Install Cygwin packages.
| cc | 1 | ✓ | Set up `cc`/`clang`/`c++`/`clang++` executables.
| | *any* | | Don't set up the executables.
| hardlinks | *any* | ✓ | Cygwin: don't convert any symlinks.
| | 1 | | Cygwin: convert symlinks in /usr/bin to hardlinks.| Output | Example | Description
| ------- | --------- | -----------
| clang | clang-4.0 | `clang` binary name
| clangxx | clang++-7 | `clang++` binary nameSupported versions
------------------Unless the `version` parameter value is "latest", the official LLVM repository
is used to make more versions available.
You can pass the version number as the `version` parameter value (`5.0`, `8`,
`9`, etc.), and this action will install the corresponding packages.The `version` parameter value is not checked for being an available version for
the current distribution.
The supported versions for a particular distribution are those found in that
distro's repositories & those in the LLVM repository.
For example, you can find the list of available versions as of January 2023
below.| `version` | Bionic | Focal | Jammy
| --------- | ------ | ----- | -----
| 3.9 | ✓ | |
| 4.0 | ✓ | |
| 5.0 | ✓ | |
| 6.0 | ✓ | ✓ |
| 7 | ✓ | ✓ |
| 8 | ✓ | ✓ |
| 9 | ✓ | ✓ |
| 10 | ✓ | ✓ |
| 11 | ✓ | ✓ | ✓
| 12 | ✓ | ✓ | ✓
| 13 | ✓ | ✓ | ✓
| 14 | ✓ | ✓ | ✓
| 15 | ✓ | ✓ | ✓This table should be updated periodically; it's a work-in-progress.
On Windows and Cygwin, the `version` parameter is ignored.
License
-------Distributed under the MIT License.
See [LICENSE.txt] for details.[LICENSE.txt]: LICENSE.txt