This repository has been archived by the owner on Mar 23, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathgcc.yaml
101 lines (99 loc) · 2.98 KB
/
gcc.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package:
name: gcc
version: 12.2.0
epoch: 1
description: "the GNU compiler collection (cross compilation)"
target-architecture:
- all
copyright:
- paths:
- "*"
attestation: TODO
license: GPL-3.0-or-later
dependencies:
runtime:
- binutils
environment:
contents:
repositories:
- https://mirrors.edge.kernel.org/alpine/edge/main
- https://packages.wolfi.dev/bootstrap/stage1
keyring:
- /usr/share/apk/keys/x86_64/[email protected]
- /usr/share/apk/keys/x86_64/[email protected]
- /usr/share/apk/keys/x86_64/[email protected]
- /usr/share/apk/keys/aarch64/[email protected]
- /usr/share/apk/keys/aarch64/[email protected]
- /usr/share/apk/keys/armv7/[email protected]
- /usr/share/apk/keys/armv7/[email protected]
- https://packages.wolfi.dev/bootstrap/stage1/wolfi-signing.rsa.pub
packages:
- alpine-baselayout-data
- busybox
- build-base
- scanelf
- ssl_client
- ca-certificates-bundle
- texinfo
- gawk
- bison
- flex
- gmp-dev
- mpfr-dev
- mpc1-dev
- isl-dev
- zlib-dev
- cross-binutils-stage1
- cross-gcc-stage1
- cross-libstdc++-stage1
- cross-glibc-stage1
- cross-gmp
- cross-mpfr
- cross-mpc
- cross-isl
- cross-zlib
- cross-linux-headers
pipeline:
- uses: fetch
with:
uri: https://gcc.gnu.org/pub/gcc/releases/gcc-${{package.version}}/gcc-${{package.version}}.tar.gz
expected-sha256: ac6b317eb4d25444d87cf29c0d141dedc1323a1833ec9995211b13e1a851261c
- name: 'Set up build directory'
runs: |
mkdir build
- name: 'Configure GCC'
runs: |
cd build
../configure \
--build=$(uname -m)-alpine-linux-musl \
--host=${{cross.triplet.gnu.glibc}} \
--target=${{cross.triplet.gnu.glibc}} \
--prefix=/usr \
--with-build-sysroot=/usr/${{cross.triplet.gnu.glibc}} \
--disable-nls \
--disable-werror \
--with-glibc-version=2.35 \
--enable-initfini-array \
--disable-nls \
--disable-shared \
--disable-multilib \
--disable-libcc1 \
--disable-decimal-float \
--disable-threads \
--disable-libatomic \
--disable-libgomp \
--disable-libquadmath \
--disable-libssp \
--disable-libvtv \
--disable-libstdcxx \
--enable-languages=c,c++
- runs: |
make -C build -j$(nproc)
- runs: |
make -C build -j$(nproc) install DESTDIR="${{targets.destdir}}"
- runs: |
ln -s gcc ${{targets.destdir}}/usr/bin/cc
- name: 'Clean up documentation'
runs: |
rm -rf ${{targets.destdir}}/usr/share/info
- uses: strip