@@ -13,6 +13,17 @@ export SDKROOT=/opt/python-wasm-sdk
1313export CIVER=${CIVER:- $DISTRIB }
1414export CI=true
1515
16+ if echo $0 | grep -q python-wasm-sdk
17+ then
18+ echo " * adding emsdk to wasm-sdk"
19+ emsdk=true
20+ else
21+ emsdk=false
22+ fi
23+
24+ echo " * adding wasi-sdk to wasm-sdk"
25+ wasisdk=true
26+
1627
1728sudo mkdir -p ${SDKROOT}
1829sudo chmod 777 ${SDKROOT}
2940
3041 if [ -f ${SDKROOT} /dev ]
3142 then
32- rm ${SDKROOT} /emsdk/.complete
43+ echo " ${SDKROOT} /dev found : using build cache "
3344 else
34- rm -rf ${SDKROOT} /*
45+ echo " doing a clean build"
46+ rm -rf ${SDKROOT} /* ${SDKROOT} /.??*
3547 fi
3648
3749 cp -Rf * ${SDKROOT} /
4759 . ${CONFIG:- config}
4860
4961 cd ${SDKROOT}
50- . scripts/cpython-fetch.sh
5162
52- cd ${SDKROOT}
53- . support/__EMSCRIPTEN__.sh
63+ if [ -f $HPY ]
64+ then
65+ echo " re-using host python HPY=$HPY "
66+
67+ else
68+ cd ${SDKROOT}
69+ . scripts/cpython-fetch.sh
70+
71+ cd ${SDKROOT}
72+ . support/__EMSCRIPTEN__.sh
5473
55- . scripts/cpython-build-host.sh 2>&1 > /dev/null
74+ . scripts/cpython-build-host.sh 2>&1 > /dev/null
5675
57- . scripts/cpython-build-host-deps.sh > /dev/null
76+ . scripts/cpython-build-host-deps.sh > /dev/null
5877
59- # cool down machine a bit
60- [ -f /lowend ] && sleep 45
78+ fi
6179
6280 cd ${SDKROOT}
63- # use ./ or emsdk will pollute env
64- ./scripts/emsdk-fetch.sh
6581
66- echo " ------------ building cpython wasm ${PYBUILD} ${CIVER} ----------------" 1>&2
82+ if $wasisdk
83+ then
84+ echo WASI SDK TODO
85+ > ${SDKROOT} /python3-wasi
86+ > ${SDKROOT} /wasm32-wasi-shell.sh
87+
88+ chmod +x ${SDKROOT} /python3-wasi ${SDKROOT} /wasm32-wasi-shell.sh
6789
68- if ./scripts/cpython-build-emsdk.sh > /dev/null
90+ mkdir -p src build ${SDKROOT} /devices/wasi ${SDKROOT} /prebuilt/wasisdk
91+
92+ fi
93+
94+ if $emsdk
6995 then
70- echo " ---------- building cpython wasm plus ${PYBUILD} ${CIVER} ----------- " 1>&2
71- if ./scripts/cpython-build- emsdk-deps .sh > /dev/null
72- then
73- [ -f /lowend ] && sleep 45
96+ # use ./ or emsdk will pollute env
97+ ./scripts/emsdk-fetch .sh
98+
99+ echo " ------------ building cpython wasm ${PYBUILD} ${CIVER} ---------------- " 1>&2
74100
101+ if ./scripts/cpython-build-emsdk.sh > /dev/null
102+ then
103+ echo " ---------- building cpython wasm plus ${PYBUILD} ${CIVER} -----------" 1>&2
104+ if ./scripts/cpython-build-emsdk-deps.sh > /dev/null
105+ then
75106
76- echo " --------- adding some usefull pkg ${PYBUILD} ${CIVER} ---------" 1>&2
77- ./scripts/cpython-build-emsdk-prebuilt.sh
107+ echo " --------- adding some usefull pkg ${PYBUILD} ${CIVER} ---------" 1>&2
108+ ./scripts/cpython-build-emsdk-prebuilt.sh
78109
79110
80- echo "
111+ echo "
81112
82- ==========================================================
83- stripping emsdk ${PYBUILD} ${CIVER}
84- ==========================================================
85- " 1>&2
113+ ==========================================================
114+ stripping emsdk ${PYBUILD} ${CIVER}
115+ ==========================================================
116+ " 1>&2
86117 rm -rf ${SDKROOT} /emsdk/upstream/emscripten/cache/ports*
87118 rm -rf ${SDKROOT} /emsdk/upstream/emscripten/cache/ports/sdl2/SDL-*
88119 rm -rf ${SDKROOT} /emsdk/upstream/emscripten/cache/ports
89120 rm -rf ${SDKROOT} /emsdk/upstream/emscripten/cache/ports-builds
90121 rm -rf ${SDKROOT} /emsdk/upstream/emscripten/tests
91122
92-
93-
94- echo " making tarball" 1>&2
95-
96- cd /
97- mkdir -p /tmp/sdk
98- tar -cpPR \
99- ${SDKROOT} /config \
100- ${SDKROOT} /python3-wasm \
101- ${SDKROOT} /wasm32-* -shell.sh \
102- ${SDKROOT} /emsdk \
103- ${SDKROOT} /devices/* \
104- ${SDKROOT} /prebuilt/* \
105- > /tmp/sdk/python${PYBUILD} -wasm-sdk-${CIVER} .tar
106- lz4 -c --favor-decSpeed --best /tmp/sdk/python${PYBUILD} -wasm-sdk-${CIVER} .tar \
107- > /tmp/sdk/python${PYBUILD} -wasm-sdk-${CIVER} .tar.lz4
108-
109- # if [ -f /lowend ]
110- if true
111- then
112- # bzip2 is energy waste for local build
113- rm /tmp/sdk/python${PYBUILD} -wasm-sdk-${CIVER} .tar
114- else
115- # bzip2 will remove original
116- [ -f /lowend ] || bzip2 -9 /tmp/sdk/python${PYBUILD} -wasm-sdk-${CIVER} .tar
117- fi
123+ else
124+ echo " cpython-build-emsdk-deps failed" 1>&2
125+ exit 124
126+ fi
118127 else
119- echo " cpython-build-emsdk-deps failed" 1>&2
120- exit 111
128+ echo " cpython-build-emsdk failed" 1>&2
129+ exit 128
121130 fi
122- else
123- echo " cpython-build-emsdk failed" 1>&2
124- exit 115
131+
125132 fi
126133
127- echo " done " 1>&2
134+ . ${SDKROOT} /scripts/pack-sdk.sh
128135
129- # cool down
130- [ -f /lowend ] && sleep 60
131136 else
132137 echo " cd failed" 1>&2
133- exit 124
138+ exit 137
134139 fi
135140done
136141
0 commit comments