Skip to content

Commit 9199d1b

Browse files
authored
chore: add aarch64-linux-musl gcc 10.3.0 toolchain (microsoft#47)
1 parent d0c032a commit 9199d1b

File tree

3 files changed

+46
-6
lines changed

3 files changed

+46
-6
lines changed

azure-pipelines.yml

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ stages:
1616
vmImage: 'ubuntu-latest'
1717
timeoutInMinutes: 180
1818
steps:
19-
- template: build-toolchain.yml
19+
- template: build-gnu-toolchain.yml
2020
parameters:
2121
config: aarch64-gcc-10.5.0-glibc-2.28.config
2222
arch: arm64
@@ -28,7 +28,7 @@ stages:
2828
vmImage: 'ubuntu-latest'
2929
timeoutInMinutes: 180
3030
steps:
31-
- template: build-toolchain.yml
31+
- template: build-gnu-toolchain.yml
3232
parameters:
3333
config: aarch64-gcc-8.5.0-glibc-2.28.config
3434
arch: arm64
@@ -40,7 +40,7 @@ stages:
4040
vmImage: 'ubuntu-latest'
4141
timeoutInMinutes: 180
4242
steps:
43-
- template: build-toolchain.yml
43+
- template: build-gnu-toolchain.yml
4444
parameters:
4545
config: x86_64-gcc-10.5.0-glibc-2.28.config
4646
arch: amd64
@@ -52,7 +52,7 @@ stages:
5252
vmImage: 'ubuntu-latest'
5353
timeoutInMinutes: 180
5454
steps:
55-
- template: build-toolchain.yml
55+
- template: build-gnu-toolchain.yml
5656
parameters:
5757
config: x86_64-gcc-8.5.0-glibc-2.28.config
5858
arch: amd64
@@ -64,7 +64,7 @@ stages:
6464
vmImage: 'ubuntu-latest'
6565
timeoutInMinutes: 180
6666
steps:
67-
- template: build-toolchain.yml
67+
- template: build-gnu-toolchain.yml
6868
parameters:
6969
arch: armhf
7070
config: armhf-gcc-10.5.0-glibc-2.28.config
@@ -76,13 +76,23 @@ stages:
7676
vmImage: 'ubuntu-latest'
7777
timeoutInMinutes: 180
7878
steps:
79-
- template: build-toolchain.yml
79+
- template: build-gnu-toolchain.yml
8080
parameters:
8181
arch: armhf
8282
config: armhf-gcc-8.5.0-glibc-2.28.config
8383
tuple: arm-rpi-linux-gnueabihf
8484
pkg: arm-rpi-linux-gnueabihf-glibc-2.28-gcc-8.5.0
8585

86+
- job: aarch64_musl_gcc_10_3_0
87+
pool:
88+
vmImage: 'ubuntu-latest'
89+
timeoutInMinutes: 180
90+
steps:
91+
- template: build-musl-toolchain.yml
92+
parameters:
93+
tuple: aarch64-linux-musl
94+
pkg: aarch64-linux-musl-gcc-10.3.0
95+
8696
- ${{ if parameters.github_release }}:
8797
- stage: Release_toolchain
8898
dependsOn:
@@ -109,6 +119,8 @@ stages:
109119
displayName: Copy aarch64 glibc 2.28 gcc 8.5.0 toolchain
110120
- script: cp $(Pipeline.Workspace)/arm-rpi-linux-gnueabihf-glibc-2.28-gcc-8.5.0/arm-rpi-linux-gnueabihf-glibc-2.28-gcc-8.5.0.tar.gz $(Build.ArtifactStagingDirectory)/arm-rpi-linux-gnueabihf-glibc-2.28-gcc-8.5.0.tar.gz
111121
displayName: Copy armhf glibc 2.28 gcc 8.5.0 toolchain
122+
- script: cp $(Pipeline.Workspace)/aarch64-linux-musl-gcc-10.3.0/aarch64-linux-musl-gcc-10.3.0.tar.gz $(Build.ArtifactStagingDirectory)/aarch64-linux-musl-gcc-10.3.0.tar.gz
123+
displayName: Copy aarch64 musl gcc 10.3.0 toolchain
112124
- script: (cd $(Build.ArtifactStagingDirectory) ; shasum -a 256 *.tar.gz) > $(Build.ArtifactStagingDirectory)/SHASUMS256.txt
113125
displayName: Compute checksums
114126
- task: GithubRelease@1
File renamed without changes.

build-musl-toolchain.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
parameters:
2+
- name: tuple
3+
type: string
4+
- name: pkg
5+
type: string
6+
7+
steps:
8+
- script: |
9+
set -e
10+
sudo apt-get update
11+
sudo apt-get install -y gcc g++ gperf bison flex texinfo help2man make libncurses5-dev \
12+
python3-dev autoconf automake libtool libtool-bin gawk wget bzip2 xz-utils unzip \
13+
patch rsync meson ninja-build git
14+
displayName: 'Prepare dependencies'
15+
- script: |
16+
set -e
17+
git clone https://github.com/richfelker/musl-cross-make/
18+
cd musl-cross-make
19+
make TARGET=${{ parameters.tuple }} GCC_VER=10.3.0 BINUTILS_VER=2.33.1 LINUX_VER=5.8.5 install
20+
displayName: 'Build toolchain'
21+
- script: |
22+
set -e
23+
cd musl-cross-make
24+
tar -czf ${{ parameters.pkg }}.tar.gz output
25+
displayName: 'Create pipeline asset'
26+
- publish: musl-cross-make/${{ parameters.pkg }}.tar.gz
27+
artifact: ${{ parameters.pkg }}
28+
displayName: 'Publish artifact'

0 commit comments

Comments
 (0)