summaryrefslogtreecommitdiffstats
path: root/Tools/wasm/config.site-wasm32-emscripten
blob: 413506bbc9abd7dc727835651245b8747778e925 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# 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

# breaks build, see https://github.com/ethanhs/python-wasm/issues/16
ac_cv_lib_bz2_BZ2_bzCompress=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

# 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

# To use dlopen, you need to use Emscripten's linking support,
# see https://github.com/emscripten-core/emscripten/wiki/Linking)
ac_cv_func_dlopen=no