Skip to content

Commit dc1cc5d

Browse files
committed
Only enable LTO in specific builds
1 parent 340e927 commit dc1cc5d

4 files changed

Lines changed: 47 additions & 26 deletions

File tree

.github/workflows/build.yml

Lines changed: 44 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@ on:
44
push:
55

66
env:
7-
CACHE_VERSION: 26
7+
CACHE_VERSION: 27
88
CARDINAL_UNDER_WINE: 1
99
DEBIAN_FRONTEND: noninteractive
1010
HOMEBREW_NO_AUTO_UPDATE: 1
1111
LIBGL_ALWAYS_SOFTWARE: 'true'
12+
WITH_LTO: 'false'
1213

1314
jobs:
1415
linux-arm64:
@@ -43,7 +44,7 @@ jobs:
4344
src/Rack/dep/libsamplerate-0.1.9
4445
src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
4546
src/Rack/dep/zstd-1.4.5
46-
key: linux-arm64-v${{ env.CACHE_VERSION }}
47+
key: linux-arm64-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
4748
- name: Fix GitHub's mess
4849
run: |
4950
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
@@ -62,12 +63,14 @@ jobs:
6263
env:
6364
PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig
6465
run: |
66+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
6567
./deps/PawPaw/bootstrap-cardinal.sh linux-aarch64 && ./deps/PawPaw/.cleanup.sh linux-aarch64
6668
- name: Build linux arm64 cross-compiled
6769
run: |
70+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
6871
pushd deps/PawPaw; source local.env linux-aarch64; popd
6972
make features
70-
make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
73+
make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc)
7174
make unzipfx
7275
- name: Set sha8 (non-release)
7376
if: startsWith(github.ref, 'refs/tags/') != true
@@ -130,7 +133,7 @@ jobs:
130133
src/Rack/dep/libsamplerate-0.1.9
131134
src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
132135
src/Rack/dep/zstd-1.4.5
133-
key: linux-armhf-v${{ env.CACHE_VERSION }}
136+
key: linux-armhf-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
134137
- name: Fix GitHub's mess
135138
run: |
136139
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
@@ -149,12 +152,14 @@ jobs:
149152
env:
150153
PKG_CONFIG_PATH: /usr/lib/arm-linux-gnueabihf/pkgconfig
151154
run: |
155+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
152156
./deps/PawPaw/bootstrap-cardinal.sh linux-armhf && ./deps/PawPaw/.cleanup.sh linux-armhf
153157
- name: Build linux armhf cross-compiled
154158
run: |
159+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
155160
pushd deps/PawPaw; source local.env linux-armhf; popd
156161
make features
157-
make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
162+
make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc)
158163
make unzipfx
159164
- name: Set sha8 (non-release)
160165
if: startsWith(github.ref, 'refs/tags/') != true
@@ -217,7 +222,7 @@ jobs:
217222
src/Rack/dep/libsamplerate-0.1.9
218223
src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
219224
src/Rack/dep/zstd-1.4.5
220-
key: linux-i686-v${{ env.CACHE_VERSION }}
225+
key: linux-i686-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
221226
- name: Fix GitHub's mess
222227
run: |
223228
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
@@ -232,12 +237,14 @@ jobs:
232237
env:
233238
PKG_CONFIG_PATH: /usr/lib/i386-linux-gnu/pkgconfig
234239
run: |
240+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
235241
./deps/PawPaw/bootstrap-cardinal.sh linux-i686 && ./deps/PawPaw/.cleanup.sh linux-i686
236242
- name: Build linux i686
237243
run: |
244+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
238245
pushd deps/PawPaw; source local.env linux-i686; popd
239246
make features
240-
make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
247+
make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc)
241248
make unzipfx
242249
- name: Set sha8 (non-release)
243250
if: startsWith(github.ref, 'refs/tags/') != true
@@ -300,19 +307,21 @@ jobs:
300307
src/Rack/dep/libsamplerate-0.1.9
301308
src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
302309
src/Rack/dep/zstd-1.4.5
303-
key: linux-x86_64-v${{ env.CACHE_VERSION }}
310+
key: linux-x86_64-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
304311
- name: Set up dependencies
305312
run: |
306313
sudo apt-get update -qq
307314
sudo apt-get install -yqq libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev
308315
- name: Build extra dependencies
309316
run: |
317+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
310318
./deps/PawPaw/bootstrap-cardinal.sh linux && ./deps/PawPaw/.cleanup.sh linux
311319
- name: Build linux x86_64
312320
run: |
321+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
313322
pushd deps/PawPaw; source local.env linux; popd
314323
make features
315-
make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
324+
make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc)
316325
make unzipfx
317326
- name: Set sha8 (non-release)
318327
if: startsWith(github.ref, 'refs/tags/') != true
@@ -434,19 +443,22 @@ jobs:
434443
src/Rack/dep/libsamplerate-0.1.9
435444
src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
436445
src/Rack/dep/zstd-1.4.5
437-
key: macos-intel-v${{ env.CACHE_VERSION }}
446+
key: macos-intel-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
438447
- name: Build extra dependencies
439448
run: |
449+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
440450
./deps/PawPaw/bootstrap-cardinal.sh macos && ./deps/PawPaw/.cleanup.sh macos
441451
- name: Build macOS intel (base)
442452
run: |
453+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
443454
pushd deps/PawPaw; source local.env macos; popd
444455
make features
445-
make CIBUILD=true NOOPT=true WITH_LTO=true -j $(sysctl -n hw.logicalcpu)
456+
make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(sysctl -n hw.logicalcpu)
446457
- name: Build macOS intel (AU using juce)
447458
env:
448459
MACOSX_DEPLOYMENT_TARGET: '10.8'
449460
run: |
461+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
450462
pushd deps/PawPaw; source local.env macos; popd
451463
git clone --depth=1 -b 6.1.6 https://github.com/juce-framework/JUCE.git jucewrapper/JUCE
452464
sed -i -e 's/kAudioUnitProperty_SupportsMPE/kAudioUnitProperty_ignore_SupportsMPE/' jucewrapper/JUCE/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h
@@ -520,19 +532,22 @@ jobs:
520532
src/Rack/dep/libsamplerate-0.1.9
521533
src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
522534
src/Rack/dep/zstd-1.4.5
523-
key: macos-universal-v${{ env.CACHE_VERSION }}
535+
key: macos-universal-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
524536
- name: Build extra dependencies
525537
run: |
538+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
526539
./deps/PawPaw/bootstrap-cardinal.sh macos-universal && ./deps/PawPaw/.cleanup.sh macos-universal
527540
- name: Build macOS universal (base)
528541
run: |
542+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
529543
pushd deps/PawPaw; source local.env macos-universal; popd
530544
make features
531-
make CIBUILD=true NOOPT=true WITH_LTO=true -j $(sysctl -n hw.logicalcpu)
545+
make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(sysctl -n hw.logicalcpu)
532546
- name: Build macOS universal (AU using juce)
533547
env:
534548
MACOSX_DEPLOYMENT_TARGET: '10.12'
535549
run: |
550+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
536551
pushd deps/PawPaw; source local.env macos-universal; popd
537552
git clone --depth=1 -b 6.1.6 https://github.com/juce-framework/JUCE.git jucewrapper/JUCE
538553
mkdir -p jucewrapper/build
@@ -585,7 +600,7 @@ jobs:
585600
with:
586601
path: |
587602
~/mod-workdir
588-
key: modduo-static-v${{ env.CACHE_VERSION }}
603+
key: modduo-static-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
589604
- name: Set up dependencies
590605
run: |
591606
sudo apt-get update -qq
@@ -599,7 +614,7 @@ jobs:
599614
$(pwd)/deps/mod-plugin-builder/bootstrap.sh modduo-static minimal && $(pwd)/deps/mod-plugin-builder/.clean-install.sh modduo-static
600615
- name: Build for modduo
601616
run: |
602-
make modduo HEADLESS=true WITH_LTO=true MODDUO=true -j $(nproc)
617+
make modduo HEADLESS=true WITH_LTO=${{ env.WITH_LTO }} MODDUO=true -j $(nproc)
603618
- name: Set sha8
604619
id: slug
605620
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
@@ -624,7 +639,7 @@ jobs:
624639
with:
625640
path: |
626641
~/mod-workdir
627-
key: modduox-v${{ env.CACHE_VERSION }}
642+
key: modduox-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
628643
- name: Set up dependencies
629644
run: |
630645
sudo apt-get update -qq
@@ -638,7 +653,7 @@ jobs:
638653
$(pwd)/deps/mod-plugin-builder/bootstrap.sh modduox-static minimal && $(pwd)/deps/mod-plugin-builder/.clean-install.sh modduox-static
639654
- name: Build for modduox
640655
run: |
641-
make modduox HEADLESS=true WITH_LTO=true -j $(nproc)
656+
make modduox HEADLESS=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc)
642657
- name: Set sha8
643658
id: slug
644659
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
@@ -663,7 +678,7 @@ jobs:
663678
with:
664679
path: |
665680
~/mod-workdir
666-
key: moddwarf-v${{ env.CACHE_VERSION }}
681+
key: moddwarf-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
667682
- name: Set up dependencies
668683
run: |
669684
sudo apt-get update -qq
@@ -677,7 +692,7 @@ jobs:
677692
$(pwd)/deps/mod-plugin-builder/bootstrap.sh moddwarf minimal && $(pwd)/deps/mod-plugin-builder/.clean-install.sh moddwarf
678693
- name: Build for moddwarf
679694
run: |
680-
make moddwarf HEADLESS=true WITH_LTO=true -j $(nproc)
695+
make moddwarf HEADLESS=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc)
681696
- name: Set sha8
682697
id: slug
683698
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
@@ -865,7 +880,7 @@ jobs:
865880
src/Rack/dep/libsamplerate-0.1.9
866881
src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
867882
src/Rack/dep/zstd-1.4.5
868-
key: win32-v${{ env.CACHE_VERSION }}
883+
key: win32-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
869884
- name: Fix GitHub's mess
870885
run: |
871886
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
@@ -879,14 +894,17 @@ jobs:
879894
sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386 qttools5-dev qttools5-dev-tools xvfb
880895
- name: Build extra dependencies
881896
run: |
897+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
882898
./deps/PawPaw/bootstrap-cardinal.sh win32 && ./deps/PawPaw/.cleanup.sh win32
883899
- name: Build win32 cross-compiled (base)
884900
run: |
901+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
885902
pushd deps/PawPaw; source local.env win32; popd
886903
make features
887-
make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
904+
make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc)
888905
- name: Build win64 cross-compiled (carla)
889906
run: |
907+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
890908
pushd deps/PawPaw; source local.env win32; popd
891909
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)
892910
make -C carla EMBED_TARGET=true TESTING=true dist
@@ -958,7 +976,7 @@ jobs:
958976
src/Rack/dep/libsamplerate-0.1.9
959977
src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
960978
src/Rack/dep/zstd-1.4.5
961-
key: win64-v${{ env.CACHE_VERSION }}
979+
key: win64-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
962980
- name: Fix GitHub's mess
963981
run: |
964982
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
@@ -972,14 +990,17 @@ jobs:
972990
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
973991
- name: Build extra dependencies
974992
run: |
993+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
975994
./deps/PawPaw/bootstrap-cardinal.sh win64 && ./deps/PawPaw/.cleanup.sh win64
976995
- name: Build win64 cross-compiled (base)
977996
run: |
997+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
978998
pushd deps/PawPaw; source local.env win64; popd
979999
make features
980-
make CIBUILD=true NOOPT=true WITH_LTO=true -j $(nproc)
1000+
make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc)
9811001
- name: Build win64 cross-compiled (carla)
9821002
run: |
1003+
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
9831004
pushd deps/PawPaw; source local.env win64; popd
9841005
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)
9851006
make -C carla EMBED_TARGET=true TESTING=true dist

deps/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ DEP_MAKE += VERBOSE=1
174174

175175
ifeq ($(shell uname -s),Darwin)
176176
ifeq ($(CIBUILD),true)
177-
DEP_MAKE += SHA256SUM="shasum5.28 -a 256"
177+
DEP_MAKE += SHA256SUM="shasum5.30 -a 256"
178178
else
179179
DEP_MAKE += SHA256SUM="shasum5.30 -a 256"
180180
endif

utils/inno/win32.iss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ OutputDir=.
1616
UsePreviousAppDir=no
1717

1818
[Types]
19-
Name: "full"; Description: "Full installation";
19+
Name: "normal"; Description: "Full installation";
2020
Name: "custom"; Description: "Custom installation"; Flags: iscustom;
2121

2222
[Components]

utils/inno/win64.iss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ OutputDir=.
1717
UsePreviousAppDir=no
1818

1919
[Types]
20-
Name: "full"; Description: "Full installation";
20+
Name: "normal"; Description: "Full installation";
2121
Name: "custom"; Description: "Custom installation"; Flags: iscustom;
2222

2323
[Components]

0 commit comments

Comments
 (0)