66
77 . ${CONFIG:- config}
88
9+
10+
11+ # for full rebuild
12+ # rm emsdk/.complete
13+
914 if [ -d emsdk ]
1015 then
1116 echo "
1217 * using emsdk from $( realpath emsdk)
1318 with sys python $SYS_PYTHON
1419" 1>&2
1520 else
16- # emsdk could have been deleted for full rebuild
17- rm emsdk/.complete
21+ git clone --no-tags --depth 1 --single-branch --branch main https://github.com/emscripten-core/emsdk.git
22+ pushd emsdk
23+ # git checkout 91f8563a9d1a4a0ec03bbb2be23485367d85a091
24+ ./emsdk install ${EMFLAVOUR:- latest}
25+ ./emsdk activate ${EMFLAVOUR:- latest}
26+ popd
27+ fi
1828
19- if git clone --no-tags --depth 1 --single-branch --branch main https://github.com/emscripten-core/emsdk.git
20- then
21- pushd emsdk
22- # git checkout 91f8563a9d1a4a0ec03bbb2be23485367d85a091
23- ./emsdk install ${EMFLAVOUR:- latest}
24- ./emsdk activate ${EMFLAVOUR:- latest}
2529
2630
27- pushd upstream/emscripten
28- echo " FIXME: applying stdio* are not const"
29- sed -i ' s|extern FILE \*const|extern FILE \*|g' cache/sysroot/include/stdio.h
3031
31- echo " FIXME: Applying https://github.com/emscripten-core/emscripten/pull/20281 dylink.js : handle ** argument case"
32- if [ -f test/other/test_em_js_side.c b/test/other/test_em_js_side.c ]
33- then
34- wget https://patch-diff.githubusercontent.com/raw/emscripten-core/emscripten/pull/20281.diff
35- patch -p1 < 20281.diff
36- else
37- patch -p1 << END
32+
33+ if [ -f emsdk/.complete ]
34+ then
35+ echo " * found emsdk/.complete : not patching/building emsdk"
36+ else
37+ pushd emsdk/upstream/emscripten
38+
39+
40+
41+
42+ echo " FIXME: applying stdio* are not const"
43+ sed -i ' s|extern FILE \*const|extern FILE \*|g' cache/sysroot/include/stdio.h
44+
45+
46+
47+
48+ echo " FIXME: Applying https://github.com/emscripten-core/emscripten/pull/20281 dylink.js : handle ** argument case"
49+ if [ -f test/other/test_em_js_side.c b/test/other/test_em_js_side.c ]
50+ then
51+ wget https://patch-diff.githubusercontent.com/raw/emscripten-core/emscripten/pull/20281.diff
52+ patch -p1 < 20281.diff
53+ else
54+ patch -p1 << END
3855diff --git a/src/library_dylink.js b/src/library_dylink.js
3956index 632e20aa61e3..ebb13995d6c3 100644
4057--- a/src/library_dylink.js
@@ -50,28 +67,30 @@ index 632e20aa61e3..ebb13995d6c3 100644
5067 var func = ` (${jsArgs} ) => ${body} ; ` ;
5168END
5269
53- fi
54- echo " FIXME: Applying https://github.com/emscripten-core/emscripten/pull/17956 file corruption when using emscripten_run_preload_plugins with BrowserFS"
55- wget https://patch-diff.githubusercontent.com/raw/emscripten-core/emscripten/pull/17956.diff
56-
57- if patch -p1 < 17956.diff
58- then
59- echo applied https://github.com/emscripten-core/emscripten/pull/17956
60- # 18941 has been merged
61- else
62- # deal with old version of emsdk for the above 3.1.45 patch
63- sed -i ' s|new Uint8Array(data.object.contents), true, true|FS.readFile(_file), true, true|g' src/library_browser.js
64- # merged since 3.1.34 which quite the more stable atm
65- # echo "MAYBE FIXME: Applying https://github.com/emscripten-core/emscripten/pull/18941"
66- # wget https://patch-diff.githubusercontent.com/raw/emscripten-core/emscripten/pull/18941.diff
67- # patch -p1 < 18941.diff
68- fi
69- popd
70+ fi
71+
72+
73+ echo " FIXME: Applying https://github.com/emscripten-core/emscripten/pull/17956 file corruption when using emscripten_run_preload_plugins with BrowserFS"
74+ wget https://patch-diff.githubusercontent.com/raw/emscripten-core/emscripten/pull/17956.diff
75+
76+ if patch -p1 < 17956.diff
77+ then
78+ echo applied https://github.com/emscripten-core/emscripten/pull/17956
79+ # 18941 has been merged
80+ else
81+ # deal with old version of emsdk for the above 3.1.45 patch
82+ sed -i ' s|new Uint8Array(data.object.contents), true, true|FS.readFile(_file), true, true|g' src/library_browser.js
83+ # merged since 3.1.34 which quite the more stable atm
84+ # echo "MAYBE FIXME: Applying https://github.com/emscripten-core/emscripten/pull/18941"
85+ # wget https://patch-diff.githubusercontent.com/raw/emscripten-core/emscripten/pull/18941.diff
86+ # patch -p1 < 18941.diff
87+ fi
88+ popd # emsdk/upstream/emscripten
7089
7190# wget https://raw.githubusercontent.com/paradust7/minetest-wasm/main/emsdk_emcc.patch
7291# patch -p1 < emsdk_emcc.patch
7392
74- pushd upstream/emscripten
93+ pushd upstream/emscripten
7594 echo " FIXME: Applying https://github.com/emscripten-core/emscripten/pull/21472 glfw3: gl level version major/minor hints"
7695 wget https://patch-diff.githubusercontent.com/raw/emscripten-core/emscripten/pull/21472.diff
7796 patch -p1 < 21472.diff
94113 # echo "FIXME: scriptDirectory workaround" MERGER
95114 # wget https://patch-diff.githubusercontent.com/raw/emscripten-core/emscripten/pull/22605.diff
96115 # patch -p1 < 22605.diff
97- popd
116+ popd # upstream/emscripten
98117
99118
100119
101- # https://github.com/paradust7/minetest-wasm/blob/main/emsdk_dirperms.patch
102- patch -p1 << END
120+ # https://github.com/paradust7/minetest-wasm/blob/main/emsdk_dirperms.patch
121+ patch -p1 << END
103122--- emsdk-orig/upstream/emscripten/system/lib/wasmfs/wasmfs.cpp 2022-07-29 17:22:28.000000000 +0000
104123+++ emsdk/upstream/emscripten/system/lib/wasmfs/wasmfs.cpp 2022-08-06 02:07:24.098196400 +0000
105124@@ -141,7 +141,7 @@
133152# END
134153
135154
136- # https://raw.githubusercontent.com/paradust7/minetest-wasm/main/emsdk_setlk.patch
137- patch -p1 << END
155+ # https://raw.githubusercontent.com/paradust7/minetest-wasm/main/emsdk_setlk.patch
156+ patch -p1 << END
138157--- emsdk-orig/upstream/emscripten/system/lib/wasmfs/syscalls.cpp 2022-07-29 17:22:28.000000000 +0000
139158+++ emsdk/upstream/emscripten/system/lib/wasmfs/syscalls.cpp 2022-08-06 05:05:17.014502697 +0000
140159@@ -1419,7 +1419,7 @@
148167 case F_SETOWN:
149168END
150169
151-
152-
153-
154- popd
155- fi
156- fi
170+ fi # emsdk/.complete
157171
158172 export EMSDK_PYTHON=$SYS_PYTHON
159173
0 commit comments