| # 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 <[email protected]> | |
| # 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 | |
| # 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_sigaction=no | |
| # symlinkat is implemented, but fails | |
| ac_cv_func_symlinkat=no | |
| # lchmod/lchown are implemented, but fail with ENOTSUP. | |
| ac_cv_func_lchmod=no | |
| ac_cv_func_lchown=no | |
| # geteuid / getegid are stubs and always return 0 (root). The stub breaks | |
| # code that assume effective user root has special permissions. | |
| ac_cv_func_geteuid=no | |
| ac_cv_func_getegid=no | |
| ac_cv_func_seteuid=no | |
| ac_cv_func_setegid=no | |
| ac_cv_func_getresuid=no | |
| ac_cv_func_getresgid=no | |
| ac_cv_func_setresuid=no | |
| ac_cv_func_setresgid=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_setpriority=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 AF_INET / AF_INET6 in non-blocking mode. | |
| # Disable AF_UNIX and AF_PACKET support, see socketmodule.h. | |
| ac_cv_header_sys_un_h=no | |
| ac_cv_header_netpacket_packet_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 or not implemented error | |
| ac_cv_func_getgroups=no | |
| ac_cv_func_setgroups=no | |
| ac_cv_func_setresuid=no | |
| ac_cv_func_setresgid=no | |
| # Emscripten does not support hard links, always fails with errno 34 | |
| # "Too many links". See emscripten_syscall_stubs.c | |
| ac_cv_func_link=no | |
| ac_cv_func_linkat=no | |
| # Emscripten's faccessat does not accept AT_* flags. | |
| ac_cv_func_faccessat=no | |
| # alarm signal is not delivered, may need a callback into the event loop? | |
| ac_cv_func_alarm=no |