@@ -30,17 +30,24 @@ if test -z "$1"; then
3030fi
3131
3232WASI_SDK_PATH=" ${WASI_SDK_PATH:-/ opt/ wasi-sdk} "
33+ WASI_SYSROOT=" ${WASI_SDK_PATH} /share/wasi-sysroot"
34+ WASIX_PATH=" ${WASIX_PATH:-/ opt/ wasix} "
3335
3436if ! test -x " ${WASI_SDK_PATH} /bin/clang" ; then
3537 echo " Error: ${WASI_SDK_PATH} /bin/clang does not exist." >&2
3638 exit 2
3739fi
3840
41+ CC=" ${WASI_SDK_PATH} /bin/clang"
42+ CPP=" ${WASI_SDK_PATH} /bin/clang-cpp"
43+ CXX=" ${WASI_SDK_PATH} /bin/clang++"
44+
3945# --sysroot is required if WASI-SDK is not installed in /opt/wasi-sdk.
40- WASI_SYSROOT=" ${WASI_SDK_PATH} /share/wasi-sysroot"
41- CC=" ${WASI_SDK_PATH} /bin/clang --sysroot=${WASI_SYSROOT} "
42- CPP=" ${WASI_SDK_PATH} /bin/clang-cpp --sysroot=${WASI_SYSROOT} "
43- CXX=" ${WASI_SDK_PATH} /bin/clang++ --sysroot=${WASI_SYSROOT} "
46+ if test " ${WASI_SDK_PATH} " ! = " /opt/wasi-sdk" ; then
47+ CC=" ${CC} --sysroot=${WASI_SYSROOT} "
48+ CPP=" ${CPP} --sysroot=${WASI_SYSROOT} "
49+ CXX=" ${CXX} --sysroot=${WASI_SYSROOT} "
50+ fi
4451
4552# use ccache if available
4653if command -v ccache > /dev/null 2>&1 ; then
@@ -58,10 +65,17 @@ PKG_CONFIG_PATH=""
5865PKG_CONFIG_LIBDIR=" ${WASI_SYSROOT} /lib/pkgconfig:${WASI_SYSROOT} /share/pkgconfig"
5966PKG_CONFIG_SYSROOT_DIR=" ${WASI_SYSROOT} "
6067
61- PATH=" ${WASI_SDK_PATH} /bin:$PATH "
68+ # add WASIX (POSIX stubs for WASI) if WASIX is installed
69+ if test -f " ${WASIX_PATH} /lib/libwasix.a" ; then
70+ CFLAGS=" ${CFLAGS} -isystem ${WASIX_PATH} /include"
71+ LDFLAGS=" ${LDFLAGS} -L${WASIX_PATH} /lib -lwasix"
72+ fi
73+
74+ PATH=" ${WASI_SDK_PATH} /bin:${PATH} "
6275
63- export WASI_SDK_PATH
76+ export WASI_SDK_PATH WASI_SYSROOT
6477export CC CPP CXX LDSHARED AR RANLIB
78+ export CFLAGS LDFLAGS
6579export PKG_CONFIG_PATH PKG_CONFIG_LIBDIR PKG_CONFIG_SYSROOT_DIR
6680export PATH
6781
0 commit comments