| # config.site override for cross compiling to wasm32-emscripten platform |
| # |
| # CONFIG_SITE=Tools/wasm/config.site-wasm32-emscripten \ |
| # emconfigure ./configure --host=wasm32-unknown-emscripten --build=... |
| # |
| # Written by Christian Heimes <christian@python.org> |
| # Partly based on pyodide's pyconfig.undefs.h file. |
| # |
| |
| # cannot be detected in cross builds |
| ac_cv_buggy_getaddrinfo=no |
| |
| # Emscripten has no /dev/pt* |
| ac_cv_file__dev_ptmx=no |
| ac_cv_file__dev_ptc=no |
| |
| # dummy readelf, Emscripten build does not need readelf. |
| ac_cv_prog_ac_ct_READELF=true |
| |
| # new undefined symbols / unsupported features |
| ac_cv_func_posix_spawn=no |
| ac_cv_func_posix_spawnp=no |
| ac_cv_func_eventfd=no |
| ac_cv_func_memfd_create=no |
| ac_cv_func_prlimit=no |
| |
| # unsupported syscall, https://github.com/emscripten-core/emscripten/issues/13393 |
| ac_cv_func_shutdown=no |
| |
| # clock_nanosleep() causes time.sleep() to sleep forever. |
| # nanosleep() works correctly |
| ac_cv_func_clock_nanosleep=no |
| ac_cv_lib_rt_clock_nanosleep=no |
| |
| # The rest is based on pyodide |
| # https://github.com/pyodide/pyodide/blob/main/cpython/pyconfig.undefs.h |
| |
| ac_cv_func_epoll_create=no |
| ac_cv_func_epoll_create1=no |
| ac_cv_header_linux_vm_sockets_h=no |
| ac_cv_func_socketpair=no |
| ac_cv_func_utimensat=no |
| ac_cv_func_sigaction=no |
| |
| # Untested or failing syscalls in emscripten |
| ac_cv_func_openat=no |
| ac_cv_func_mkdirat=no |
| ac_cv_func_faccessat=no |
| ac_cv_func_fchownat=no |
| ac_cv_func_renameat=no |
| ac_cv_func_linkat=no |
| ac_cv_func_symlinkat=no |
| ac_cv_func_readlinkat=no |
| ac_cv_func_fchmodat=no |
| ac_cv_func_dup3=no |
| |
| # Syscalls not implemented in emscripten |
| # [Errno 52] Function not implemented |
| ac_cv_func_preadv2=no |
| ac_cv_func_preadv=no |
| ac_cv_func_pwritev2=no |
| ac_cv_func_pwritev=no |
| ac_cv_func_pipe2=no |
| ac_cv_func_nice=no |
| ac_cv_func_setitimer=no |
| # unsupported syscall: __syscall_prlimit64 |
| ac_cv_func_prlimit=no |
| # unsupported syscall: __syscall_getrusage |
| ac_cv_func_getrusage=no |
| ac_cv_func_posix_fallocate=no |
| |
| # Syscalls that resulted in a segfault |
| ac_cv_func_utimensat=no |
| ac_cv_header_sys_ioctl_h=no |
| |
| # sockets are supported, but only in non-blocking mode |
| # ac_cv_header_sys_socket_h=no |
| |
| # aborts with bad ioctl |
| ac_cv_func_openpty=no |
| ac_cv_func_forkpty=no |
| |
| # mkfifo and mknod are broken, create regular file |
| ac_cv_func_mkfifo=no |
| ac_cv_func_mkfifoat=no |
| ac_cv_func_mknod=no |
| ac_cv_func_mknodat=no |
| |
| # always fails with permission error |
| ac_cv_func_setgroups=no |
| ac_cv_func_setresuid=no |
| ac_cv_func_setresgid=no |
| |
| # alarm signal is not delivered, may need a callback into the event loop? |
| ac_cv_func_alarm=no |
| |
| # To use dlopen, you need to use Emscripten's linking support, |
| # see https://emscripten.org/docs/compiling/Dynamic-Linking.html |
| ac_cv_func_dlopen=no |