diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2022-07-27 14:11:00 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-27 14:11:00 (GMT) |
commit | 25086f1eed14b64b3681746569b535d70ff94b1c (patch) | |
tree | f08be91fadcc847238cd3bc2d5060abba98c3d4d /Tools/wasm | |
parent | e14c4d5a2bd1e83bdc5749b90823551265d4de10 (diff) | |
download | cpython-25086f1eed14b64b3681746569b535d70ff94b1c.zip cpython-25086f1eed14b64b3681746569b535d70ff94b1c.tar.gz cpython-25086f1eed14b64b3681746569b535d70ff94b1c.tar.bz2 |
gh-95174: Move WASIX logic into wasi-env (GH-95320)
wasi-env now sets WASIX flags. This allows us to control all build
parameter for wasm32-wasi buildbot from CPython repository.
Also export and improve SYSROOT parameter.
(cherry picked from commit 2833f3798dc3647e850b303a4d0fa00609a0ae9b)
Co-authored-by: Christian Heimes <christian@python.org>
Diffstat (limited to 'Tools/wasm')
-rw-r--r-- | Tools/wasm/README.md | 5 | ||||
-rwxr-xr-x | Tools/wasm/wasi-env | 26 |
2 files changed, 22 insertions, 9 deletions
diff --git a/Tools/wasm/README.md b/Tools/wasm/README.md index 37bd395..d08e807 100644 --- a/Tools/wasm/README.md +++ b/Tools/wasm/README.md @@ -234,15 +234,14 @@ compatibility stubs. The script ``wasi-env`` sets necessary compiler and linker flags as well as ``pkg-config`` overrides. The script assumes that WASI-SDK is installed in -``/opt/wasi-sdk`` or ``$WASI_SDK_PATH``. +``/opt/wasi-sdk`` or ``$WASI_SDK_PATH`` and WASIX is installed in +``/opt/wasix`` or ``$WASIX_PATH``. ```shell mkdir -p builddir/wasi pushd builddir/wasi CONFIG_SITE=../../Tools/wasm/config.site-wasm32-wasi \ - CFLAGS="-isystem /opt/wasix/include" \ - LDFLAGS="-L/opt/wasix/lib -lwasix" \ ../../Tools/wasm/wasi-env ../../configure -C \ --host=wasm32-unknown-wasi \ --build=$(../../config.guess) \ diff --git a/Tools/wasm/wasi-env b/Tools/wasm/wasi-env index 600072b..06c54e6 100755 --- a/Tools/wasm/wasi-env +++ b/Tools/wasm/wasi-env @@ -30,17 +30,24 @@ if test -z "$1"; then fi WASI_SDK_PATH="${WASI_SDK_PATH:-/opt/wasi-sdk}" +WASI_SYSROOT="${WASI_SDK_PATH}/share/wasi-sysroot" +WASIX_PATH="${WASIX_PATH:-/opt/wasix}" if ! test -x "${WASI_SDK_PATH}/bin/clang"; then echo "Error: ${WASI_SDK_PATH}/bin/clang does not exist." >&2 exit 2 fi +CC="${WASI_SDK_PATH}/bin/clang" +CPP="${WASI_SDK_PATH}/bin/clang-cpp" +CXX="${WASI_SDK_PATH}/bin/clang++" + # --sysroot is required if WASI-SDK is not installed in /opt/wasi-sdk. -WASI_SYSROOT="${WASI_SDK_PATH}/share/wasi-sysroot" -CC="${WASI_SDK_PATH}/bin/clang --sysroot=${WASI_SYSROOT}" -CPP="${WASI_SDK_PATH}/bin/clang-cpp --sysroot=${WASI_SYSROOT}" -CXX="${WASI_SDK_PATH}/bin/clang++ --sysroot=${WASI_SYSROOT}" +if test "${WASI_SDK_PATH}" != "/opt/wasi-sdk"; then + CC="${CC} --sysroot=${WASI_SYSROOT}" + CPP="${CPP} --sysroot=${WASI_SYSROOT}" + CXX="${CXX} --sysroot=${WASI_SYSROOT}" +fi # use ccache if available if command -v ccache >/dev/null 2>&1; then @@ -58,10 +65,17 @@ PKG_CONFIG_PATH="" PKG_CONFIG_LIBDIR="${WASI_SYSROOT}/lib/pkgconfig:${WASI_SYSROOT}/share/pkgconfig" PKG_CONFIG_SYSROOT_DIR="${WASI_SYSROOT}" -PATH="${WASI_SDK_PATH}/bin:$PATH" +# add WASIX (POSIX stubs for WASI) if WASIX is installed +if test -f "${WASIX_PATH}/lib/libwasix.a"; then + CFLAGS="${CFLAGS} -isystem ${WASIX_PATH}/include" + LDFLAGS="${LDFLAGS} -L${WASIX_PATH}/lib -lwasix" +fi + +PATH="${WASI_SDK_PATH}/bin:${PATH}" -export WASI_SDK_PATH +export WASI_SDK_PATH WASI_SYSROOT export CC CPP CXX LDSHARED AR RANLIB +export CFLAGS LDFLAGS export PKG_CONFIG_PATH PKG_CONFIG_LIBDIR PKG_CONFIG_SYSROOT_DIR export PATH |