From ed0a01f5d0c8da9a42c1ca6575943b6cace08999 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 2 Feb 2024 11:23:27 -0800 Subject: [PATCH 01/20] wip --- .github/workflows/emscripten.yml | 4 +--- Makefile | 4 ++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index b9c73949d698a..308b6508f59bf 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -47,9 +47,7 @@ jobs: run: ./build-scripts/prepare-web-data.sh - name: Install ccache - run: | - sudo apt-get update - sudo apt-get install ccache + run: emsdk install ccache - name: Get ccache vars id: get-vars diff --git a/Makefile b/Makefile index f486363ad2ff3..07b0fa991750b 100644 --- a/Makefile +++ b/Makefile @@ -635,6 +635,10 @@ endif ifeq ($(NATIVE), emscripten) CXX=emcc LD=emcc + ifeq ($(CCACHE), 1) + CXX = $(CCACHEBIN) $(CXX) + LD = $(CCACHEBIN) $(LD) + endif # Flags that are common across compile and link phases. EMCC_COMMON_FLAGS = -sUSE_SDL=2 -sUSE_SDL_IMAGE=2 -sUSE_SDL_TTF=2 -sSDL2_IMAGE_FORMATS=['png'] From 421a6837d8366f793eae9a4ddcb6bea8eeb24f8e Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 2 Feb 2024 11:29:01 -0800 Subject: [PATCH 02/20] fix --- .github/workflows/emscripten.yml | 4 +++- Makefile | 4 ---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index 308b6508f59bf..588cf2eaf7ddf 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -47,7 +47,9 @@ jobs: run: ./build-scripts/prepare-web-data.sh - name: Install ccache - run: emsdk install ccache + run: | + emsdk install ccache-git-emscripten-64bit + emsdk activate ccache-git-emscripten-64bit - name: Get ccache vars id: get-vars diff --git a/Makefile b/Makefile index 07b0fa991750b..f486363ad2ff3 100644 --- a/Makefile +++ b/Makefile @@ -635,10 +635,6 @@ endif ifeq ($(NATIVE), emscripten) CXX=emcc LD=emcc - ifeq ($(CCACHE), 1) - CXX = $(CCACHEBIN) $(CXX) - LD = $(CCACHEBIN) $(LD) - endif # Flags that are common across compile and link phases. EMCC_COMMON_FLAGS = -sUSE_SDL=2 -sUSE_SDL_IMAGE=2 -sUSE_SDL_TTF=2 -sSDL2_IMAGE_FORMATS=['png'] From 9365f7a3cf89cd4e591151b4ed328b10f6e56d96 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 2 Feb 2024 11:36:55 -0800 Subject: [PATCH 03/20] fix --- .github/workflows/emscripten.yml | 11 +++++++++-- build-scripts/build-emscripten.sh | 5 ----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index 588cf2eaf7ddf..1018550230fe7 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -67,12 +67,19 @@ jobs: ccache-master-emscripten-- - name: Build with emcc (emscripten) - run: ./build-scripts/build-emscripten.sh + run: | + emsdk activate ccache-git-emscripten-64bit + ccache --zero-stats + # Increase cache size because debug builds generate large object files + ccache -M 5G + ccache --show-stats --verbose + + ./build-scripts/build-emscripten.sh - name: post-build ccache manipulation run: | ccache --show-stats --verbose - ccache -M 4G + ccache -M 5G ccache -c ccache --show-stats --verbose diff --git a/build-scripts/build-emscripten.sh b/build-scripts/build-emscripten.sh index 9ebd4195e2403..b9c489570ca6e 100755 --- a/build-scripts/build-emscripten.sh +++ b/build-scripts/build-emscripten.sh @@ -4,9 +4,4 @@ set -exo pipefail emsdk install 3.1.51 emsdk activate 3.1.51 -ccache --zero-stats -# Increase cache size because debug builds generate large object files -ccache -M 5G -ccache --show-stats --verbose - make -j`nproc` NATIVE=emscripten BACKTRACE=0 TILES=1 TESTS=0 RUNTESTS=0 RELEASE=1 CCACHE=1 LINTJSON=0 cataclysm-tiles.js From a1fb579956cd13e279d06f7ce775f83da1f016aa Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 2 Feb 2024 11:49:36 -0800 Subject: [PATCH 04/20] fix? --- .github/workflows/emscripten.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index 1018550230fe7..e6b32f06d33bd 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -69,6 +69,7 @@ jobs: - name: Build with emcc (emscripten) run: | emsdk activate ccache-git-emscripten-64bit + source */emsdk-main/emsdk_env.sh ccache --zero-stats # Increase cache size because debug builds generate large object files ccache -M 5G @@ -78,6 +79,7 @@ jobs: - name: post-build ccache manipulation run: | + source */emsdk-main/emsdk_env.sh ccache --show-stats --verbose ccache -M 5G ccache -c From 0d7e76ff0ed111cd55a74ce293f993cf59ce3bbf Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 2 Feb 2024 12:36:58 -0800 Subject: [PATCH 05/20] what if we don't try to invoke ccache directly? --- .github/workflows/emscripten.yml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index e6b32f06d33bd..cb9e080d55efc 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -69,26 +69,26 @@ jobs: - name: Build with emcc (emscripten) run: | emsdk activate ccache-git-emscripten-64bit - source */emsdk-main/emsdk_env.sh - ccache --zero-stats + #source */emsdk-main/emsdk_env.sh + #ccache --zero-stats # Increase cache size because debug builds generate large object files - ccache -M 5G - ccache --show-stats --verbose + #ccache -M 5G + #ccache --show-stats --verbose ./build-scripts/build-emscripten.sh - - name: post-build ccache manipulation - run: | - source */emsdk-main/emsdk_env.sh - ccache --show-stats --verbose - ccache -M 5G - ccache -c - ccache --show-stats --verbose - - - name: clear ccache on PRs - if: ${{ github.ref_name != 'master' && !failure() }} - run: | - ccache -C +# - name: post-build ccache manipulation +# run: | +# source */emsdk-main/emsdk_env.sh +# ccache --show-stats --verbose +# ccache -M 5G +# ccache -c +# ccache --show-stats --verbose +# +# - name: clear ccache on PRs +# if: ${{ github.ref_name != 'master' && !failure() }} +# run: | +# ccache -C - name: Assemble web bundle run: ./build-scripts/prepare-web.sh From 55f02e196597e0323bfc82933f9d0056e9a1d664 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 2 Feb 2024 15:26:09 -0800 Subject: [PATCH 06/20] more debugging --- .github/workflows/emscripten.yml | 34 ++++++++++++++++---------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index cb9e080d55efc..4f00a8486f29c 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -41,7 +41,7 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: mymindstorm/setup-emsdk@v13 + - uses: mymindstorm/setup-emsdk@v14 - name: Prepare web data run: ./build-scripts/prepare-web-data.sh @@ -69,26 +69,26 @@ jobs: - name: Build with emcc (emscripten) run: | emsdk activate ccache-git-emscripten-64bit - #source */emsdk-main/emsdk_env.sh - #ccache --zero-stats + echo $PATH + ccache --zero-stats # Increase cache size because debug builds generate large object files - #ccache -M 5G - #ccache --show-stats --verbose + ccache -M 5G + ccache --show-stats --verbose ./build-scripts/build-emscripten.sh -# - name: post-build ccache manipulation -# run: | -# source */emsdk-main/emsdk_env.sh -# ccache --show-stats --verbose -# ccache -M 5G -# ccache -c -# ccache --show-stats --verbose -# -# - name: clear ccache on PRs -# if: ${{ github.ref_name != 'master' && !failure() }} -# run: | -# ccache -C + - name: post-build ccache manipulation + run: | + source */emsdk-main/emsdk_env.sh + ccache --show-stats --verbose + ccache -M 5G + ccache -c + ccache --show-stats --verbose + + - name: clear ccache on PRs + if: ${{ github.ref_name != 'master' && !failure() }} + run: | + ccache -C - name: Assemble web bundle run: ./build-scripts/prepare-web.sh From 6eedd61452409863d93d98fc9a9f696634b3e4b9 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 2 Feb 2024 16:08:44 -0800 Subject: [PATCH 07/20] try, try again --- .github/workflows/emscripten.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index 4f00a8486f29c..74592e5eeac3e 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -69,6 +69,7 @@ jobs: - name: Build with emcc (emscripten) run: | emsdk activate ccache-git-emscripten-64bit + source "$(which emsdk_env.sh)" echo $PATH ccache --zero-stats # Increase cache size because debug builds generate large object files @@ -79,7 +80,7 @@ jobs: - name: post-build ccache manipulation run: | - source */emsdk-main/emsdk_env.sh + source "$(which emsdk_env.sh)" ccache --show-stats --verbose ccache -M 5G ccache -c From eed6f9df66d65e7a2fbb18995112d90e13b61116 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 2 Feb 2024 16:22:14 -0800 Subject: [PATCH 08/20] wip --- .github/workflows/emscripten.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index 74592e5eeac3e..c918ff3a85494 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -69,8 +69,10 @@ jobs: - name: Build with emcc (emscripten) run: | emsdk activate ccache-git-emscripten-64bit - source "$(which emsdk_env.sh)" echo $PATH + ls ${PATH%%:*} + ls ${PATH%%:*}/../.. + source "$(which emsdk_env.sh)" ccache --zero-stats # Increase cache size because debug builds generate large object files ccache -M 5G From 5972e935bc6be54060f46f20bcb95d8869beb70d Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 2 Feb 2024 16:58:21 -0800 Subject: [PATCH 09/20] ??? --- .github/workflows/emscripten.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index c918ff3a85494..b54cb3084c406 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -70,9 +70,7 @@ jobs: run: | emsdk activate ccache-git-emscripten-64bit echo $PATH - ls ${PATH%%:*} - ls ${PATH%%:*}/../.. - source "$(which emsdk_env.sh)" + source "${PATH%%:*}/../../emsdk_env.sh" ccache --zero-stats # Increase cache size because debug builds generate large object files ccache -M 5G @@ -82,7 +80,7 @@ jobs: - name: post-build ccache manipulation run: | - source "$(which emsdk_env.sh)" + source "${PATH%%:*}/../../emsdk_env.sh" ccache --show-stats --verbose ccache -M 5G ccache -c From 50f45ad099a3d823d39515e16c581050d8e3ec3d Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 2 Feb 2024 20:57:13 -0800 Subject: [PATCH 10/20] ???? --- .github/workflows/emscripten.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index b54cb3084c406..9b4fe92d98b8a 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -69,8 +69,8 @@ jobs: - name: Build with emcc (emscripten) run: | emsdk activate ccache-git-emscripten-64bit + export PATH="${PATH%%:*}/../../ccache/git-emscripten_64bit/bin":$PATH echo $PATH - source "${PATH%%:*}/../../emsdk_env.sh" ccache --zero-stats # Increase cache size because debug builds generate large object files ccache -M 5G @@ -80,7 +80,9 @@ jobs: - name: post-build ccache manipulation run: | - source "${PATH%%:*}/../../emsdk_env.sh" + emsdk activate ccache-git-emscripten-64bit + export PATH="${PATH%%:*}/../../ccache/git-emscripten_64bit/bin":$PATH + echo $PATH ccache --show-stats --verbose ccache -M 5G ccache -c From 7fff29481e0562f4af0d749f483d6541e9fe2332 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 2 Feb 2024 22:46:04 -0800 Subject: [PATCH 11/20] --verbose not supported? --- .github/workflows/emscripten.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index 9b4fe92d98b8a..4c6629ce48804 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -74,7 +74,7 @@ jobs: ccache --zero-stats # Increase cache size because debug builds generate large object files ccache -M 5G - ccache --show-stats --verbose + ccache --show-stats ./build-scripts/build-emscripten.sh @@ -83,10 +83,10 @@ jobs: emsdk activate ccache-git-emscripten-64bit export PATH="${PATH%%:*}/../../ccache/git-emscripten_64bit/bin":$PATH echo $PATH - ccache --show-stats --verbose + ccache --show-stats ccache -M 5G ccache -c - ccache --show-stats --verbose + ccache --show-stats - name: clear ccache on PRs if: ${{ github.ref_name != 'master' && !failure() }} From 21953ea76cfed4525fd951e3ac56270309fd137d Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Sat, 3 Feb 2024 21:08:33 -0800 Subject: [PATCH 12/20] more fix --- .github/workflows/emscripten.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index 4c6629ce48804..f035ee42e53b2 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -82,7 +82,6 @@ jobs: run: | emsdk activate ccache-git-emscripten-64bit export PATH="${PATH%%:*}/../../ccache/git-emscripten_64bit/bin":$PATH - echo $PATH ccache --show-stats ccache -M 5G ccache -c @@ -91,6 +90,8 @@ jobs: - name: clear ccache on PRs if: ${{ github.ref_name != 'master' && !failure() }} run: | + emsdk activate ccache-git-emscripten-64bit + export PATH="${PATH%%:*}/../../ccache/git-emscripten_64bit/bin":$PATH ccache -C - name: Assemble web bundle From 39325ec00ffa5713e95ff0edcca43e4f8cbd710d Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Sun, 4 Feb 2024 14:38:00 -0800 Subject: [PATCH 13/20] maybe not having ccache in the activate line means it gets deactivated..? --- build-scripts/build-emscripten.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-scripts/build-emscripten.sh b/build-scripts/build-emscripten.sh index b9c489570ca6e..5cc9a4a6253d9 100755 --- a/build-scripts/build-emscripten.sh +++ b/build-scripts/build-emscripten.sh @@ -2,6 +2,6 @@ set -exo pipefail emsdk install 3.1.51 -emsdk activate 3.1.51 +emsdk activate 3.1.51 ccache-git-emscripten-64bit make -j`nproc` NATIVE=emscripten BACKTRACE=0 TILES=1 TESTS=0 RUNTESTS=0 RELEASE=1 CCACHE=1 LINTJSON=0 cataclysm-tiles.js From 5663cf45b723cc34a92281e93fa10c35d1de7e1d Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Tue, 6 Feb 2024 20:51:53 -0800 Subject: [PATCH 14/20] Reapply "use ccache for emscripten builds (#71422)" (#71524) This reverts commit ef75f2020857832145f7763f944ae594d6ca93a1. --- .github/workflows/emscripten.yml | 32 +++++++++++++++++++++++++++++++ build-scripts/build-emscripten.sh | 7 ++++++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index f3882ab5f774d..b9c73949d698a 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -46,9 +46,41 @@ jobs: - name: Prepare web data run: ./build-scripts/prepare-web-data.sh + - name: Install ccache + run: | + sudo apt-get update + sudo apt-get install ccache + + - name: Get ccache vars + id: get-vars + run: | + echo "datetime=$(/bin/date -u "+%Y%m%d%H%M")" >> $GITHUB_OUTPUT + echo "ccache-path=$(echo '~/.cache/ccache')" >> $GITHUB_OUTPUT + + - name: ccache cache files + uses: actions/cache@v4 + with: + path: ${{ steps.get-vars.outputs.ccache-path }} + # double-dash after compiler is not a typo, it is to disambiguate between g++- and g++-11- for restore key prefix matching + key: ccache-${{ github.ref_name }}-emscripten--${{ steps.get-vars.outputs.datetime }} + restore-keys: | + ccache-master-emscripten-- + - name: Build with emcc (emscripten) run: ./build-scripts/build-emscripten.sh + - name: post-build ccache manipulation + run: | + ccache --show-stats --verbose + ccache -M 4G + ccache -c + ccache --show-stats --verbose + + - name: clear ccache on PRs + if: ${{ github.ref_name != 'master' && !failure() }} + run: | + ccache -C + - name: Assemble web bundle run: ./build-scripts/prepare-web.sh diff --git a/build-scripts/build-emscripten.sh b/build-scripts/build-emscripten.sh index c7ec1738a8717..9ebd4195e2403 100755 --- a/build-scripts/build-emscripten.sh +++ b/build-scripts/build-emscripten.sh @@ -4,4 +4,9 @@ set -exo pipefail emsdk install 3.1.51 emsdk activate 3.1.51 -make -j`nproc` NATIVE=emscripten BACKTRACE=0 TILES=1 TESTS=0 RUNTESTS=0 RELEASE=1 cataclysm-tiles.js +ccache --zero-stats +# Increase cache size because debug builds generate large object files +ccache -M 5G +ccache --show-stats --verbose + +make -j`nproc` NATIVE=emscripten BACKTRACE=0 TILES=1 TESTS=0 RUNTESTS=0 RELEASE=1 CCACHE=1 LINTJSON=0 cataclysm-tiles.js From 54bc1b7404328e5a6c0eb4e112734e6870a763b1 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Tue, 6 Feb 2024 20:53:46 -0800 Subject: [PATCH 15/20] explicitly invoke ccache i guess --- Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Makefile b/Makefile index f486363ad2ff3..b665158e3b358 100644 --- a/Makefile +++ b/Makefile @@ -635,6 +635,10 @@ endif ifeq ($(NATIVE), emscripten) CXX=emcc LD=emcc + ifeq ($(CCACHE), 1) + CXX=$(CCACHEBIN) $(CXX) + LD=$(CCACHEBIN) $(LD) + endif # Flags that are common across compile and link phases. EMCC_COMMON_FLAGS = -sUSE_SDL=2 -sUSE_SDL_IMAGE=2 -sUSE_SDL_TTF=2 -sSDL2_IMAGE_FORMATS=['png'] From e0278b8ed4c904f1c3a3bc0a6797ca6f4342a363 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Wed, 7 Feb 2024 10:40:35 -0800 Subject: [PATCH 16/20] fix makefile --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index b665158e3b358..41e8b0636aa56 100644 --- a/Makefile +++ b/Makefile @@ -636,8 +636,8 @@ ifeq ($(NATIVE), emscripten) CXX=emcc LD=emcc ifeq ($(CCACHE), 1) - CXX=$(CCACHEBIN) $(CXX) - LD=$(CCACHEBIN) $(LD) + CXX=$(CCACHEBIN) emcc + LD=$(CCACHEBIN) emcc endif # Flags that are common across compile and link phases. From 64521fff3c89ddfbda9a4f03839f1ea7e82f6f79 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Wed, 7 Feb 2024 11:07:20 -0800 Subject: [PATCH 17/20] maybe CCACHE_SLOPPINESS is causing issues? --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 41e8b0636aa56..3599c82a72e84 100644 --- a/Makefile +++ b/Makefile @@ -636,8 +636,8 @@ ifeq ($(NATIVE), emscripten) CXX=emcc LD=emcc ifeq ($(CCACHE), 1) - CXX=$(CCACHEBIN) emcc - LD=$(CCACHEBIN) emcc + CXX=ccache emcc + LD=ccache emcc endif # Flags that are common across compile and link phases. From 440b968aa7b7cbce59aa09ce754205d438158dfe Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 16 Feb 2024 10:31:38 -0800 Subject: [PATCH 18/20] emcc ccache seems to have a problem with EM_CONFIG not being set i think --- .github/workflows/emscripten.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index f035ee42e53b2..533f97fc2ae7e 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -71,6 +71,7 @@ jobs: emsdk activate ccache-git-emscripten-64bit export PATH="${PATH%%:*}/../../ccache/git-emscripten_64bit/bin":$PATH echo $PATH + export EM_CONFIG=$EMSDK/.emscripten ccache --zero-stats # Increase cache size because debug builds generate large object files ccache -M 5G From 860db4254bcc5af5240b93396292d344b5fb7ce9 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 16 Feb 2024 13:46:07 -0800 Subject: [PATCH 19/20] use CCACHEBIN for sloppiness --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 3599c82a72e84..41e8b0636aa56 100644 --- a/Makefile +++ b/Makefile @@ -636,8 +636,8 @@ ifeq ($(NATIVE), emscripten) CXX=emcc LD=emcc ifeq ($(CCACHE), 1) - CXX=ccache emcc - LD=ccache emcc + CXX=$(CCACHEBIN) emcc + LD=$(CCACHEBIN) emcc endif # Flags that are common across compile and link phases. From 9401ea1edcb707973a5c6a8ed45e4f761eb235b8 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 16 Feb 2024 14:55:10 -0800 Subject: [PATCH 20/20] add comments --- .github/workflows/emscripten.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index 533f97fc2ae7e..a038effe1fd80 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -69,11 +69,15 @@ jobs: - name: Build with emcc (emscripten) run: | emsdk activate ccache-git-emscripten-64bit + # This $PATH manipulation is to work around a bug in emsdk, see + # https://github.com/emscripten-core/emsdk/pull/1345 + # Once that bug is fixed, we should be able to drop this weird PATH + # stuff. export PATH="${PATH%%:*}/../../ccache/git-emscripten_64bit/bin":$PATH - echo $PATH + # The forked ccache seems to crash unless EM_CONFIG is defined, I'm not + # sure why this isn't figured out automatically. export EM_CONFIG=$EMSDK/.emscripten ccache --zero-stats - # Increase cache size because debug builds generate large object files ccache -M 5G ccache --show-stats