@@ -13,6 +13,17 @@ export SDKROOT=/opt/python-wasm-sdk
13
13
export CIVER=${CIVER:- $DISTRIB }
14
14
export CI=true
15
15
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
+
16
27
17
28
sudo mkdir -p ${SDKROOT}
18
29
sudo chmod 777 ${SDKROOT}
29
40
30
41
if [ -f ${SDKROOT} /dev ]
31
42
then
32
- rm ${SDKROOT} /emsdk/.complete
43
+ echo " ${SDKROOT} /dev found : using build cache "
33
44
else
34
- rm -rf ${SDKROOT} /*
45
+ echo " doing a clean build"
46
+ rm -rf ${SDKROOT} /* ${SDKROOT} /.??*
35
47
fi
36
48
37
49
cp -Rf * ${SDKROOT} /
47
59
. ${CONFIG:- config}
48
60
49
61
cd ${SDKROOT}
50
- . scripts/cpython-fetch.sh
51
62
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
54
73
55
- . scripts/cpython-build-host.sh 2>&1 > /dev/null
74
+ . scripts/cpython-build-host.sh 2>&1 > /dev/null
56
75
57
- . scripts/cpython-build-host-deps.sh > /dev/null
76
+ . scripts/cpython-build-host-deps.sh > /dev/null
58
77
59
- # cool down machine a bit
60
- [ -f /lowend ] && sleep 45
78
+ fi
61
79
62
80
cd ${SDKROOT}
63
- # use ./ or emsdk will pollute env
64
- ./scripts/emsdk-fetch.sh
65
81
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
67
89
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
69
95
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
74
100
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
75
106
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
78
109
79
110
80
- echo "
111
+ echo "
81
112
82
- ==========================================================
83
- stripping emsdk ${PYBUILD} ${CIVER}
84
- ==========================================================
85
- " 1>&2
113
+ ==========================================================
114
+ stripping emsdk ${PYBUILD} ${CIVER}
115
+ ==========================================================
116
+ " 1>&2
86
117
rm -rf ${SDKROOT} /emsdk/upstream/emscripten/cache/ports*
87
118
rm -rf ${SDKROOT} /emsdk/upstream/emscripten/cache/ports/sdl2/SDL-*
88
119
rm -rf ${SDKROOT} /emsdk/upstream/emscripten/cache/ports
89
120
rm -rf ${SDKROOT} /emsdk/upstream/emscripten/cache/ports-builds
90
121
rm -rf ${SDKROOT} /emsdk/upstream/emscripten/tests
91
122
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
118
127
else
119
- echo " cpython-build-emsdk-deps failed" 1>&2
120
- exit 111
128
+ echo " cpython-build-emsdk failed" 1>&2
129
+ exit 128
121
130
fi
122
- else
123
- echo " cpython-build-emsdk failed" 1>&2
124
- exit 115
131
+
125
132
fi
126
133
127
- echo " done " 1>&2
134
+ . ${SDKROOT} /scripts/pack-sdk.sh
128
135
129
- # cool down
130
- [ -f /lowend ] && sleep 60
131
136
else
132
137
echo " cd failed" 1>&2
133
- exit 124
138
+ exit 137
134
139
fi
135
140
done
136
141
0 commit comments