Compile the OS specific toolchain

This commit is contained in:
Alex
2022-12-07 17:08:15 +02:00
parent 59dfe30d64
commit 0f11f3f70c
7 changed files with 6464 additions and 9 deletions

View File

@ -81,6 +81,41 @@ jobs:
if: steps.cache-cross.outputs.cache-hit != 'true'
run: make --quiet -C tools do_gccarm64
buildtoolchaincompiler:
name: Build Toolchain Cross-Compiler (GCC)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Cache cross Folder
id: cache-cross
uses: actions/cache@v3.0.10
with:
path: tools/cross
key: ${{ runner.os }}-cross-${{ hashFiles('tools/Makefile') }}
- name: Update System
if: steps.cache-cross.outputs.cache-hit != 'true'
run: sudo apt-get update
- name: Install GCC Dependencies
if: steps.cache-cross.outputs.cache-hit != 'true'
run: sudo apt install build-essential bison flex libgmp3-dev libmpc-dev libmpfr-dev texinfo libzstd-dev libisl-dev autoconf m4 automake gettext gperf dejagnu guile-3.0 guile-3.0-dev expect tcl autogen tex-common sphinx-common git ssh diffutils patch -y
- name: Prepare Toolchain
if: steps.cache-cross.outputs.cache-hit != 'true'
run: make --quiet -C tools do_prep_toolchain
- name: Compile Toolchain Binutils
if: steps.cache-cross.outputs.cache-hit != 'true'
run: make --quiet -C tools do_toolchain_binutils64
- name: Compile Toolchain GCC
if: steps.cache-cross.outputs.cache-hit != 'true'
run: make --quiet -C tools do_toolchain_gcc64
compilegnuefi:
name: Build GNU-EFI
runs-on: ubuntu-latest
@ -111,7 +146,7 @@ jobs:
analyze:
name: Analyze with CodeQL
runs-on: ubuntu-latest
needs: [buildcompiler, compilegnuefi]
needs: [buildcompiler, compilegnuefi, buildtoolchaincompiler]
permissions:
actions: read
contents: read
@ -171,7 +206,7 @@ jobs:
compile64:
name: Build amd64
runs-on: ubuntu-latest
needs: [buildcompiler, compilegnuefi]
needs: [buildcompiler, compilegnuefi, buildtoolchaincompiler]
steps:
- uses: actions/checkout@v3
with:
@ -180,7 +215,7 @@ jobs:
- name: Update & Install Required Packages
run: |
sudo apt-get update
sudo apt-get install xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y
sudo apt-get install rustc xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y
make --quiet -C tools do_limine
make --quiet -C Drivers prepare
make --quiet -C Userspace prepare
@ -216,7 +251,7 @@ jobs:
compile32:
name: Build i686
runs-on: ubuntu-latest
needs: [buildcompiler, compilegnuefi]
needs: [buildcompiler, compilegnuefi, buildtoolchaincompiler]
steps:
- uses: actions/checkout@v3
with:
@ -225,7 +260,7 @@ jobs:
- name: Update & Install Required Packages
run: |
sudo apt-get update
sudo apt-get install xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y
sudo apt-get install rustc xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y
make --quiet -C tools do_limine
make --quiet -C Drivers prepare
make --quiet -C Userspace prepare
@ -267,7 +302,7 @@ jobs:
compilearm64:
name: Build aarch64
runs-on: ubuntu-latest
needs: [buildcompiler, compilegnuefi]
needs: [buildcompiler, compilegnuefi, buildtoolchaincompiler]
steps:
- uses: actions/checkout@v3
with:
@ -276,7 +311,7 @@ jobs:
- name: Update & Install Required Packages
run: |
sudo apt-get update
sudo apt-get install xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y
sudo apt-get install rustc xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y
make --quiet -C tools do_limine
make --quiet -C Drivers prepare
make --quiet -C Userspace prepare