From 0b172ce174011d8c72037ce49ad3917a48a9d99d Mon Sep 17 00:00:00 2001 From: Diavolo Date: Thu, 29 Jun 2023 19:33:57 +0200 Subject: [PATCH] build: linux attempt arm64 without mold --- .github/workflows/build.yml | 16 +++------------- premake5.lua | 21 ++++++++++++++------- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 438c7fc..a0bd303 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -88,9 +88,6 @@ jobs: sudo apt-get update sudo apt-get -y install crossbuild-essential-arm64 - - name: Install Mold - uses: rui314/setup-mold@staging - - name: Install Premake5 uses: abel0b/setup-premake@v2.2 with: @@ -102,20 +99,13 @@ jobs: - name: Set up problem matching uses: ammaraskar/gcc-problem-matcher@master - - name: Set up CC environment variable - if: matrix.arch == 'arm64' - run: | - echo "CC=aarch64-linux-gnu-gcc" >> $GITHUB_ENV - - - name: Set up CXX environment variable - if: matrix.arch == 'arm64' - run: | - echo "CXX=aarch64-linux-gnu-g++" >> $GITHUB_ENV - - name: Build ${{matrix.configuration}} ${{matrix.arch}} binaries run: | pushd build make config=${{matrix.config}}_${{matrix.arch}} -j$(nproc) + env: + CC: clang + CXX: clang++ - name: Upload ${{matrix.configuration}} ${{matrix.arch}} binaries uses: actions/upload-artifact@v3.1.2 diff --git a/premake5.lua b/premake5.lua index 1f89638..6db67bd 100644 --- a/premake5.lua +++ b/premake5.lua @@ -74,17 +74,24 @@ editandcontinue "Off" warnings "Extra" characterset "ASCII" -if os.istarget("linux") or os.istarget("darwin") then +filter { "system:linux", "system:macosx" } buildoptions "-pthread" linkoptions "-pthread" +filter {} + +if os.istarget("linux") then + filter { "platforms:arm64" } + buildoptions "--target=arm64-linux-gnu" + linkoptions "--target=arm64-linux-gnu" + filter {} + + linkoptions "-fuse-ld=lld" end -if os.istarget("darwin") then - filter "platforms:arm64" - buildoptions "-arch arm64" - linkoptions "-arch arm64" - filter {} -end +filter { "system:macosx", "platforms:arm64" } + buildoptions "-arch arm64" + linkoptions "-arch arm64" +filter {} if os.getenv("CI") then defines "CI"