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 dc1cc5d
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 26 deletions.
67 changes: 44 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,14 @@ 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: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
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 +133,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 +152,14 @@ 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: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
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 +222,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 +237,14 @@ 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: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
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 +307,21 @@ 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: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
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,19 +443,22 @@ 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: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
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'
run: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
pushd deps/PawPaw; source local.env macos; popd
git clone --depth=1 -b 6.1.6 https://github.com/juce-framework/JUCE.git jucewrapper/JUCE
sed -i -e 's/kAudioUnitProperty_SupportsMPE/kAudioUnitProperty_ignore_SupportsMPE/' jucewrapper/JUCE/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h
Expand Down Expand Up @@ -520,19 +532,22 @@ 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: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
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'
run: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
pushd deps/PawPaw; source local.env macos-universal; popd
git clone --depth=1 -b 6.1.6 https://github.com/juce-framework/JUCE.git jucewrapper/JUCE
mkdir -p jucewrapper/build
Expand Down Expand Up @@ -585,7 +600,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 +614,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 +639,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 +653,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 +678,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 +692,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 +880,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,14 +894,17 @@ 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: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
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: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
pushd deps/PawPaw; source local.env win32; popd
make -C carla CARLA_BACKEND_NAMESPACE=Cardinal EXTERNAL_PLUGINS=true HAVE_FLUIDSYNTH=false HAVE_ZYN_DEPS=false HAVE_ZYN_UI_DEPS=false HAVE_PYQT=true HAVE_QT5=true HAVE_QT5PKG=true STATIC_PLUGIN_TARGET=true USING_CUSTOM_DPF=true CUSTOM_DPF_PATH=$(pwd)/dpf -j $(nproc)
make -C carla EMBED_TARGET=true TESTING=true dist
Expand Down Expand Up @@ -958,7 +976,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,14 +990,17 @@ 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: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
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: |
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
pushd deps/PawPaw; source local.env win64; popd
make -C carla CARLA_BACKEND_NAMESPACE=Cardinal EXTERNAL_PLUGINS=true HAVE_FLUIDSYNTH=false HAVE_ZYN_DEPS=false HAVE_ZYN_UI_DEPS=false HAVE_PYQT=true HAVE_QT5=true HAVE_QT5PKG=true STATIC_PLUGIN_TARGET=true USING_CUSTOM_DPF=true CUSTOM_DPF_PATH=$(pwd)/dpf all win32r -j $(nproc)
make -C carla EMBED_TARGET=true TESTING=true dist
Expand Down
2 changes: 1 addition & 1 deletion deps/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ DEP_MAKE += VERBOSE=1

ifeq ($(shell uname -s),Darwin)
ifeq ($(CIBUILD),true)
DEP_MAKE += SHA256SUM="shasum5.28 -a 256"
DEP_MAKE += SHA256SUM="shasum5.30 -a 256"
else
DEP_MAKE += SHA256SUM="shasum5.30 -a 256"
endif
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 dc1cc5d

Please sign in to comment.