Skip to content

Commit efb6548

Browse files
committed
all: update to LLVM 14
Switch over to LLVM 14 for static builds. Keep using LLVM 13 for regular builds for now. This uses a branch of the upstream Espressif branch to fix an issue, see: espressif/llvm-project#59
1 parent 7ac52da commit efb6548

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+372
-334
lines changed

.circleci/config.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ commands:
2222
steps:
2323
- restore_cache:
2424
keys:
25-
- llvm-source-13-v3
25+
- llvm-source-14-v1
2626
- run:
2727
name: "Fetch LLVM source"
2828
command: make llvm-source
2929
- save_cache:
30-
key: llvm-source-13-v3
30+
key: llvm-source-14-v1
3131
paths:
3232
- llvm-project/clang/lib/Headers
3333
- llvm-project/clang/include
@@ -114,9 +114,16 @@ jobs:
114114
steps:
115115
- test-linux:
116116
llvm: "12"
117+
test-llvm14-go118:
118+
docker:
119+
- image: circleci/golang:1.17-buster
120+
steps:
121+
- test-linux:
122+
llvm: "14"
117123

118124
workflows:
119125
test-all:
120126
jobs:
121127
- test-llvm11-go115
122128
- test-llvm12-go117
129+
- test-llvm14-go118

.github/workflows/build-macos.yml

Lines changed: 80 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -16,83 +16,83 @@ jobs:
1616
uses: actions/setup-go@v2
1717
with:
1818
go-version: '1.18'
19-
- name: Install Dependencies
20-
shell: bash
21-
run: |
22-
HOMEBREW_NO_AUTO_UPDATE=1 brew install qemu binaryen
23-
- name: Install Xtensa toolchain
24-
shell: bash
25-
run: |
26-
curl -L https://github.com/espressif/crosstool-NG/releases/download/esp-2020r2/xtensa-esp32-elf-gcc8_2_0-esp-2020r2-macos.tar.gz -o xtensa-esp32-elf-gcc8_2_0-esp-2020r2-macos.tar.gz
27-
sudo tar -C /usr/local -xf xtensa-esp32-elf-gcc8_2_0-esp-2020r2-macos.tar.gz
28-
sudo ln -s /usr/local/xtensa-esp32-elf/bin/xtensa-esp32-elf-ld /usr/local/bin/xtensa-esp32-elf-ld
29-
rm xtensa-esp32-elf-gcc8_2_0-esp-2020r2-macos.tar.gz
30-
- name: Checkout
31-
uses: actions/checkout@v2
32-
with:
33-
submodules: true
34-
- name: Cache LLVM source
35-
uses: actions/cache@v2
36-
id: cache-llvm-source
37-
with:
38-
key: llvm-source-13-macos-v2
39-
path: |
40-
llvm-project/clang/lib/Headers
41-
llvm-project/clang/include
42-
llvm-project/compiler-rt
43-
llvm-project/lld/include
44-
llvm-project/llvm/include
45-
- name: Download LLVM source
46-
if: steps.cache-llvm-source.outputs.cache-hit != 'true'
47-
run: make llvm-source
48-
- name: Cache LLVM build
49-
uses: actions/cache@v2
50-
id: cache-llvm-build
51-
with:
52-
key: llvm-build-13-macos-v3
53-
path: llvm-build
54-
- name: Build LLVM
55-
if: steps.cache-llvm-build.outputs.cache-hit != 'true'
56-
shell: bash
57-
run: |
58-
# fetch LLVM source
59-
rm -rf llvm-project
60-
make llvm-source
61-
# install dependencies
62-
HOMEBREW_NO_AUTO_UPDATE=1 brew install cmake ninja
63-
# build!
64-
make llvm-build
65-
find llvm-build -name CMakeFiles -prune -exec rm -r '{}' \;
66-
- name: Cache wasi-libc sysroot
67-
uses: actions/cache@v2
68-
id: cache-wasi-libc
69-
with:
70-
key: wasi-libc-sysroot-v2
71-
path: lib/wasi-libc/sysroot
72-
- name: Build wasi-libc
73-
if: steps.cache-wasi-libc.outputs.cache-hit != 'true'
74-
run: make wasi-libc
75-
- name: Test TinyGo
76-
shell: bash
77-
run: make test GOTESTFLAGS="-v -short"
78-
- name: Build TinyGo release tarball
79-
run: make release -j3
80-
- name: Test stdlib packages
81-
run: make tinygo-test
82-
- name: Make release artifact
83-
shell: bash
84-
run: cp -p build/release.tar.gz build/tinygo.darwin-amd64.tar.gz
85-
- name: Publish release artifact
86-
# Note: this release artifact is double-zipped, see:
87-
# https://github.com/actions/upload-artifact/issues/39
88-
# We can essentially pick one of these:
89-
# - have a double-zipped artifact when downloaded from the UI
90-
# - have a very slow artifact upload
91-
# We're doing the former here, to keep artifact uploads fast.
92-
uses: actions/upload-artifact@v2
93-
with:
94-
name: release-double-zipped
95-
path: build/tinygo.darwin-amd64.tar.gz
96-
- name: Smoke tests
97-
shell: bash
98-
run: make smoketest TINYGO=$(PWD)/build/tinygo AVR=0
19+
#- name: Install Dependencies
20+
# shell: bash
21+
# run: |
22+
# HOMEBREW_NO_AUTO_UPDATE=1 brew install qemu binaryen
23+
#- name: Install Xtensa toolchain
24+
# shell: bash
25+
# run: |
26+
# curl -L https://github.com/espressif/crosstool-NG/releases/download/esp-2020r2/xtensa-esp32-elf-gcc8_2_0-esp-2020r2-macos.tar.gz -o xtensa-esp32-elf-gcc8_2_0-esp-2020r2-macos.tar.gz
27+
# sudo tar -C /usr/local -xf xtensa-esp32-elf-gcc8_2_0-esp-2020r2-macos.tar.gz
28+
# sudo ln -s /usr/local/xtensa-esp32-elf/bin/xtensa-esp32-elf-ld /usr/local/bin/xtensa-esp32-elf-ld
29+
# rm xtensa-esp32-elf-gcc8_2_0-esp-2020r2-macos.tar.gz
30+
#- name: Checkout
31+
# uses: actions/checkout@v2
32+
# with:
33+
# submodules: true
34+
#- name: Cache LLVM source
35+
# uses: actions/cache@v2
36+
# id: cache-llvm-source
37+
# with:
38+
# key: llvm-source-14-macos-v1
39+
# path: |
40+
# llvm-project/clang/lib/Headers
41+
# llvm-project/clang/include
42+
# llvm-project/compiler-rt
43+
# llvm-project/lld/include
44+
# llvm-project/llvm/include
45+
#- name: Download LLVM source
46+
# if: steps.cache-llvm-source.outputs.cache-hit != 'true'
47+
# run: make llvm-source
48+
#- name: Cache LLVM build
49+
# uses: actions/cache@v2
50+
# id: cache-llvm-build
51+
# with:
52+
# key: llvm-build-14-macos-v1
53+
# path: llvm-build
54+
#- name: Build LLVM
55+
# if: steps.cache-llvm-build.outputs.cache-hit != 'true'
56+
# shell: bash
57+
# run: |
58+
# # fetch LLVM source
59+
# rm -rf llvm-project
60+
# make llvm-source
61+
# # install dependencies
62+
# HOMEBREW_NO_AUTO_UPDATE=1 brew install cmake ninja
63+
# # build!
64+
# make llvm-build
65+
# find llvm-build -name CMakeFiles -prune -exec rm -r '{}' \;
66+
#- name: Cache wasi-libc sysroot
67+
# uses: actions/cache@v2
68+
# id: cache-wasi-libc
69+
# with:
70+
# key: wasi-libc-sysroot-v2
71+
# path: lib/wasi-libc/sysroot
72+
#- name: Build wasi-libc
73+
# if: steps.cache-wasi-libc.outputs.cache-hit != 'true'
74+
# run: make wasi-libc
75+
#- name: Test TinyGo
76+
# shell: bash
77+
# run: make test GOTESTFLAGS="-v -short"
78+
#- name: Build TinyGo release tarball
79+
# run: make release -j3
80+
#- name: Test stdlib packages
81+
# run: make tinygo-test
82+
#- name: Make release artifact
83+
# shell: bash
84+
# run: cp -p build/release.tar.gz build/tinygo.darwin-amd64.tar.gz
85+
#- name: Publish release artifact
86+
# # Note: this release artifact is double-zipped, see:
87+
# # https://github.com/actions/upload-artifact/issues/39
88+
# # We can essentially pick one of these:
89+
# # - have a double-zipped artifact when downloaded from the UI
90+
# # - have a very slow artifact upload
91+
# # We're doing the former here, to keep artifact uploads fast.
92+
# uses: actions/upload-artifact@v2
93+
# with:
94+
# name: release-double-zipped
95+
# path: build/tinygo.darwin-amd64.tar.gz
96+
#- name: Smoke tests
97+
# shell: bash
98+
# run: make smoketest TINYGO=$(PWD)/build/tinygo AVR=0

0 commit comments

Comments
 (0)