Skip to content

Commit

Permalink
Only enable LTO in specific builds
Browse files Browse the repository at this point in the history
  • Loading branch information
falkTX committed Aug 2, 2022
1 parent 340e927 commit 0791611
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 25 deletions.
55 changes: 32 additions & 23 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@ on:
push:

env:
CACHE_VERSION: 26
CACHE_VERSION: 27
CARDINAL_UNDER_WINE: 1
DEBIAN_FRONTEND: noninteractive
HOMEBREW_NO_AUTO_UPDATE: 1
LIBGL_ALWAYS_SOFTWARE: 'true'
WITH_LTO: 'false'

jobs:
linux-arm64:
Expand Down Expand Up @@ -43,7 +44,7 @@ jobs:
src/Rack/dep/libsamplerate-0.1.9
src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
src/Rack/dep/zstd-1.4.5
key: linux-arm64-v${{ env.CACHE_VERSION }}
key: linux-arm64-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
- name: Fix GitHub's mess
run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
Expand All @@ -62,12 +63,13 @@ jobs:
env:
PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig
run: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
./deps/PawPaw/bootstrap-cardinal.sh linux-aarch64 && ./deps/PawPaw/.cleanup.sh linux-aarch64
- name: Build linux arm64 cross-compiled
run: |
pushd deps/PawPaw; source local.env linux-aarch64; popd
make features
make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc)
make unzipfx
- name: Set sha8 (non-release)
if: startsWith(github.ref, 'refs/tags/') != true
Expand Down Expand Up @@ -130,7 +132,7 @@ jobs:
src/Rack/dep/libsamplerate-0.1.9
src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
src/Rack/dep/zstd-1.4.5
key: linux-armhf-v${{ env.CACHE_VERSION }}
key: linux-armhf-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
- name: Fix GitHub's mess
run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
Expand All @@ -149,12 +151,13 @@ jobs:
env:
PKG_CONFIG_PATH: /usr/lib/arm-linux-gnueabihf/pkgconfig
run: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
./deps/PawPaw/bootstrap-cardinal.sh linux-armhf && ./deps/PawPaw/.cleanup.sh linux-armhf
- name: Build linux armhf cross-compiled
run: |
pushd deps/PawPaw; source local.env linux-armhf; popd
make features
make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc)
make unzipfx
- name: Set sha8 (non-release)
if: startsWith(github.ref, 'refs/tags/') != true
Expand Down Expand Up @@ -217,7 +220,7 @@ jobs:
src/Rack/dep/libsamplerate-0.1.9
src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
src/Rack/dep/zstd-1.4.5
key: linux-i686-v${{ env.CACHE_VERSION }}
key: linux-i686-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
- name: Fix GitHub's mess
run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
Expand All @@ -232,12 +235,13 @@ jobs:
env:
PKG_CONFIG_PATH: /usr/lib/i386-linux-gnu/pkgconfig
run: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
./deps/PawPaw/bootstrap-cardinal.sh linux-i686 && ./deps/PawPaw/.cleanup.sh linux-i686
- name: Build linux i686
run: |
pushd deps/PawPaw; source local.env linux-i686; popd
make features
make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc)
make unzipfx
- name: Set sha8 (non-release)
if: startsWith(github.ref, 'refs/tags/') != true
Expand Down Expand Up @@ -300,19 +304,20 @@ jobs:
src/Rack/dep/libsamplerate-0.1.9
src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
src/Rack/dep/zstd-1.4.5
key: linux-x86_64-v${{ env.CACHE_VERSION }}
key: linux-x86_64-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
- name: Set up dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -yqq libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev
- name: Build extra dependencies
run: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
./deps/PawPaw/bootstrap-cardinal.sh linux && ./deps/PawPaw/.cleanup.sh linux
- name: Build linux x86_64
run: |
pushd deps/PawPaw; source local.env linux; popd
make features
make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc)
make unzipfx
- name: Set sha8 (non-release)
if: startsWith(github.ref, 'refs/tags/') != true
Expand Down Expand Up @@ -434,15 +439,16 @@ jobs:
src/Rack/dep/libsamplerate-0.1.9
src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
src/Rack/dep/zstd-1.4.5
key: macos-intel-v${{ env.CACHE_VERSION }}
key: macos-intel-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
- name: Build extra dependencies
run: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
./deps/PawPaw/bootstrap-cardinal.sh macos && ./deps/PawPaw/.cleanup.sh macos
- name: Build macOS intel (base)
run: |
pushd deps/PawPaw; source local.env macos; popd
make features
make CIBUILD=true NOOPT=true WITH_LTO=true -j $(sysctl -n hw.logicalcpu)
make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(sysctl -n hw.logicalcpu)
- name: Build macOS intel (AU using juce)
env:
MACOSX_DEPLOYMENT_TARGET: '10.8'
Expand Down Expand Up @@ -520,15 +526,16 @@ jobs:
src/Rack/dep/libsamplerate-0.1.9
src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
src/Rack/dep/zstd-1.4.5
key: macos-universal-v${{ env.CACHE_VERSION }}
key: macos-universal-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
- name: Build extra dependencies
run: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
./deps/PawPaw/bootstrap-cardinal.sh macos-universal && ./deps/PawPaw/.cleanup.sh macos-universal
- name: Build macOS universal (base)
run: |
pushd deps/PawPaw; source local.env macos-universal; popd
make features
make CIBUILD=true NOOPT=true WITH_LTO=true -j $(sysctl -n hw.logicalcpu)
make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(sysctl -n hw.logicalcpu)
- name: Build macOS universal (AU using juce)
env:
MACOSX_DEPLOYMENT_TARGET: '10.12'
Expand Down Expand Up @@ -585,7 +592,7 @@ jobs:
with:
path: |
~/mod-workdir
key: modduo-static-v${{ env.CACHE_VERSION }}
key: modduo-static-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
- name: Set up dependencies
run: |
sudo apt-get update -qq
Expand All @@ -599,7 +606,7 @@ jobs:
$(pwd)/deps/mod-plugin-builder/bootstrap.sh modduo-static minimal && $(pwd)/deps/mod-plugin-builder/.clean-install.sh modduo-static
- name: Build for modduo
run: |
make modduo HEADLESS=true WITH_LTO=true MODDUO=true -j $(nproc)
make modduo HEADLESS=true WITH_LTO=${{ env.WITH_LTO }} MODDUO=true -j $(nproc)
- name: Set sha8
id: slug
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
Expand All @@ -624,7 +631,7 @@ jobs:
with:
path: |
~/mod-workdir
key: modduox-v${{ env.CACHE_VERSION }}
key: modduox-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
- name: Set up dependencies
run: |
sudo apt-get update -qq
Expand All @@ -638,7 +645,7 @@ jobs:
$(pwd)/deps/mod-plugin-builder/bootstrap.sh modduox-static minimal && $(pwd)/deps/mod-plugin-builder/.clean-install.sh modduox-static
- name: Build for modduox
run: |
make modduox HEADLESS=true WITH_LTO=true -j $(nproc)
make modduox HEADLESS=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc)
- name: Set sha8
id: slug
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
Expand All @@ -663,7 +670,7 @@ jobs:
with:
path: |
~/mod-workdir
key: moddwarf-v${{ env.CACHE_VERSION }}
key: moddwarf-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
- name: Set up dependencies
run: |
sudo apt-get update -qq
Expand All @@ -677,7 +684,7 @@ jobs:
$(pwd)/deps/mod-plugin-builder/bootstrap.sh moddwarf minimal && $(pwd)/deps/mod-plugin-builder/.clean-install.sh moddwarf
- name: Build for moddwarf
run: |
make moddwarf HEADLESS=true WITH_LTO=true -j $(nproc)
make moddwarf HEADLESS=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc)
- name: Set sha8
id: slug
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
Expand Down Expand Up @@ -865,7 +872,7 @@ jobs:
src/Rack/dep/libsamplerate-0.1.9
src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
src/Rack/dep/zstd-1.4.5
key: win32-v${{ env.CACHE_VERSION }}
key: win32-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
- name: Fix GitHub's mess
run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
Expand All @@ -879,12 +886,13 @@ jobs:
sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386 qttools5-dev qttools5-dev-tools xvfb
- name: Build extra dependencies
run: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
./deps/PawPaw/bootstrap-cardinal.sh win32 && ./deps/PawPaw/.cleanup.sh win32
- name: Build win32 cross-compiled (base)
run: |
pushd deps/PawPaw; source local.env win32; popd
make features
make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc)
- name: Build win64 cross-compiled (carla)
run: |
pushd deps/PawPaw; source local.env win32; popd
Expand Down Expand Up @@ -958,7 +966,7 @@ jobs:
src/Rack/dep/libsamplerate-0.1.9
src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
src/Rack/dep/zstd-1.4.5
key: win64-v${{ env.CACHE_VERSION }}
key: win64-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
- name: Fix GitHub's mess
run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
Expand All @@ -972,12 +980,13 @@ jobs:
sudo apt-get install -yqq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable qttools5-dev qttools5-dev-tools xvfb
- name: Build extra dependencies
run: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
./deps/PawPaw/bootstrap-cardinal.sh win64 && ./deps/PawPaw/.cleanup.sh win64
- name: Build win64 cross-compiled (base)
run: |
pushd deps/PawPaw; source local.env win64; popd
make features
make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc)
- name: Build win64 cross-compiled (carla)
run: |
pushd deps/PawPaw; source local.env win64; popd
Expand Down
2 changes: 1 addition & 1 deletion utils/inno/win32.iss
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ OutputDir=.
UsePreviousAppDir=no

[Types]
Name: "full"; Description: "Full installation";
Name: "normal"; Description: "Full installation";
Name: "custom"; Description: "Custom installation"; Flags: iscustom;

[Components]
Expand Down
2 changes: 1 addition & 1 deletion utils/inno/win64.iss
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ OutputDir=.
UsePreviousAppDir=no

[Types]
Name: "full"; Description: "Full installation";
Name: "normal"; Description: "Full installation";
Name: "custom"; Description: "Custom installation"; Flags: iscustom;

[Components]
Expand Down

0 comments on commit 0791611

Please sign in to comment.