1111"
1212
1313
14- export PYTHON_FOR_BUILD=${PYTHON_FOR_BUILD:- ${HOST_PREFIX} / bin / python3 }
14+ export PYTHON_FOR_BUILD=${PYTHON_FOR_BUILD:- ${HPY} }
1515
1616# remove old compiler wrapper to avoid conflicts
17- rm $HOST_PREFIX /bin/cc
18-
17+ [ -f $HOST_PREFIX /bin/cc ] && rm $HOST_PREFIX /bin/cc
1918
2019. ./scripts/emsdk-fetch.sh
2120
@@ -25,7 +24,7 @@ REBUILD_WASM=${REBUILD_WASMPY:-false}
2524if $REBUILD || $REBUILD_WASMPY
2625then
2726 rm -rf build/cpython-wasm/ build/pycache/config.cache
28- rm build/cpython-wasm/libpython3. ${PYMINOR } .a 2> /dev/null
27+ rm build/cpython-wasm/libpython ${PYBUILD } .a 2> /dev/null
2928 REBUILD=true
3029fi
3130
6059
6160 export EMCC_CFLAGS=" -O0 -g0 -fPIC"
6261
63- CFLAGS=" -O0 -g0 -fPIC" \
64- emconfigure $ROOT /src/libffi/configure --host=wasm32-tot-linux\
62+ CFLAGS=" -O0 -g0 -fPIC" \
63+ emconfigure $ROOT /src/libffi/configure --host=wasm32-tot-linux\
6564 --prefix=$PREFIX --enable-static --disable-shared --disable-dependency-tracking\
66- --disable-builddir --disable-multi-os-directory --disable-raw-api --disable-docs > /dev/null
65+ --disable-builddir --disable-multi-os-directory --disable-raw-api --disable-docs
6766
68- emmake make install > /dev/null
67+ emmake make install
6968
7069 unset EMCC_CFLAGS
7170 popd
@@ -95,8 +94,7 @@ TESTSUITE=$TESTSUITE
9594"
9695
9796
98-
99- if [ -f build/cpython-wasm/libpython3.${PYMINOR} .a ]
97+ if [ -f build/cpython-wasm/libpython${PYBUILD} .a ]
10098then
10199 echo "
102100 * not rebuilding cpython-wasm for [$PYDK_PYTHON_HOST_PLATFORM ]
@@ -108,6 +106,15 @@ else
108106"
109107
110108
109+ if [ -f /lowend ]
110+ then
111+ # yes, i only have a amd200GE with 32G
112+ NPROC=1
113+ export EMSDK_NUM_CORES=1
114+ else
115+ NPROC=$( nproc)
116+ fi
117+
111118
112119 mkdir -p build/cpython-wasm $PREFIX
113120 pushd build/cpython-wasm
142149_decimal
143150END
144151
152+
145153 if EMCC_CFLAGS=" -sUSE_ZLIB -sUSE_BZIP2" \
146- emmake make -j$( nproc ) WASM_ASSETS_DIR=$( realpath ${PYTHONPYCACHEPREFIX} /empty) @/
154+ emmake make -j$NPROC WASM_ASSETS_DIR=$( realpath ${PYTHONPYCACHEPREFIX} /empty) @/
147155 then
148156 EMCC_CFLAGS=" -sUSE_ZLIB -sUSE_BZIP2" \
149157 emmake make WASM_ASSETS_DIR=$( realpath ${PYTHONPYCACHEPREFIX} /empty) @/ install
@@ -161,23 +169,27 @@ EMCC_CFLAGS="-sUSE_ZLIB -sUSE_BZIP2" emmake make WASM_ASSETS_DIR=$(realpath ${PY
161169
162170 popd
163171
164- mkdir -p ${ROOT} /prebuilt/emsdk
172+ mkdir -p ${SDKROOT} /prebuilt/emsdk/${PYBUILD} /site-packages
173+ mkdir -p ${SDKROOT} /prebuilt/emsdk/${PYBUILD} /lib-dynload
165174
166- # move them to MEMFS
167- mv $PREFIX /lib/python3.${PYMINOR} /lib-dynload/* $ROOT /prebuilt/emsdk/site-packages
175+ if [ -d $PREFIX /lib/python${PYBUILD} /lib-dynload ]
176+ then
177+ # move them to MEMFS
178+ mv $PREFIX /lib/python${PYBUILD} /lib-dynload/* ${SDKROOT} /prebuilt/emsdk/${PYBUILD} /lib-dynload/
168179
169- # specific platform support
170- cp -Rfv $ROOT /support/__EMSCRIPTEN__.patches/3. ${PYMINOR } /. $HOST_PREFIX /lib/python3. ${PYMINOR } /
180+ # specific platform support
181+ cp -Rfv $ROOT /support/__EMSCRIPTEN__.patches/${PYBUILD } /. $HOST_PREFIX /lib/python ${PYBUILD } /
171182
172- cp -vf build/cpython-wasm/libpython3.* .a prebuilt/emsdk/
173- rmdir $PREFIX /lib/python3.${PYMINOR} /lib-dynload
183+ cp -vf build/cpython-wasm/libpython3.* .a prebuilt/emsdk/
184+ rmdir $PREFIX /lib/python${PYBUILD} /lib-dynload
185+ fi
174186fi
175187
176188mkdir -p $PYTHONPYCACHEPREFIX /sysconfig
177189
178190
179191# FIXME: seems CI cannot locate that one with python3-wasm
180- cp $PREFIX /lib/python3. ${PYMINOR } /_sysconfigdata__emscripten_wasm32-emscripten.py $PYTHONPYCACHEPREFIX /sysconfig/_sysconfigdata__emscripten_debug.py
192+ cp $PREFIX /lib/python ${PYBUILD } /_sysconfigdata__emscripten_wasm32-emscripten.py $PYTHONPYCACHEPREFIX /sysconfig/_sysconfigdata__emscripten_debug.py
181193sed -i ' s|-Os|-O0|g' $PYTHONPYCACHEPREFIX /sysconfig/_sysconfigdata__emscripten_debug.py
182194sed -i ' s|-g0|-g3|g' $PYTHONPYCACHEPREFIX /sysconfig/_sysconfigdata__emscripten_debug.py
183195
273285
274286cat > $HOST_PREFIX /bin/python3-wasm << END
275287#!/bin/bash
288+ export PYBUILD=\$ {PYBUILD:-$PYBUILD }
289+ export PYMAJOR=$( echo -n \$ PYBUILD| cut -d. -f1)
290+ export PYMINOR=$( echo -n \$ PYBUILD| cut -d. -f2)
291+
276292. $ROOT /${PYDK_PYTHON_HOST_PLATFORM} -shell.sh
277293
278294# most important
@@ -287,15 +303,15 @@ export PYTHONHOME=$PREFIX
287303
288304# find sysconfig ( tweaked )
289305# but still can load dynload and setuptools
290- PYTHONPATH=$( echo -n ${HOST_PREFIX} /lib/python3. ${PYMINOR } /site-packages) :\$ PYTHONPATH
291- export PYTHONPATH=$PYTHONPYCACHEPREFIX /sysconfig:$( echo -n ${HOST_PREFIX} /lib/python3. ${PYMINOR } /lib-dynload) :\$ PYTHONPATH
306+ PYTHONPATH=$( echo -n ${HOST_PREFIX} /lib/python/ \$ {PYBUILD }/site-packages) :\$ PYTHONPATH
307+ export PYTHONPATH=$PYTHONPYCACHEPREFIX /sysconfig:$( echo -n ${HOST_PREFIX} /lib/python \$ {PYBUILD }/lib-dynload) :\$ PYTHONPATH
292308
293309
294310#probably useless
295311export _PYTHON_HOST_PLATFORM=${PYDK_PYTHON_HOST_PLATFORM}
296312export PYTHON_FOR_BUILD=${PYTHON_FOR_BUILD}
297313
298- $HPY -u -B \$ @
314+ ${HOST_PREFIX} /bin/python \$ {PYBUILD} -u -B \$ @
299315END
300316
301317chmod +x $HOST_PREFIX /bin/python3-wasm
0 commit comments