57 lines
2.0 KiB
Plaintext
57 lines
2.0 KiB
Plaintext
# cross file for WASM.
|
|
# use this file by running meson setup --cross-file resources/cross/wasm.txt <builddir>
|
|
|
|
[constants]
|
|
|
|
# a list of functions that can run without being asyncified; proceed with caution
|
|
asyncify_ignores = '["SDL_BlitScaled","SDL_UpperBlitScaled","SDL_MapRGB*","SDL_FillRect","SDL_FreeSurface","SDL_CreateRGBSurface","SDL_GetWindowSurface","SDL_PollEvent","SDL_CreateSystemCursor","SDL_SetWindowTitle","SDL_SetCursor","SDL_GetWindowSize","SDL_GetWindowPosition","lua_push*","lua_rawget*","luaL_check*","pcre2*","FT_*","Bezier_*","g_*","FT_*","ft_*","TT_*","tt_*","__*","*printf","gray_*","fopen","fclose","fread","fflush","qsort","sift"]'
|
|
|
|
# enable advising for optimizing the list above; disable this to prevent flooding logs
|
|
asyncify_advise = '0'
|
|
|
|
# initial heap size in bytes; make sure it is not too low (around 64mb - 250mb)
|
|
initial_heap = '104857600'
|
|
|
|
# Emscripten is not always added to PATH.
|
|
# Replace this variable with the path to Emscripten;
|
|
# or supply a second machine file that defines this variable.
|
|
toolchain = ''
|
|
|
|
|
|
[binaries]
|
|
c = toolchain / 'emcc'
|
|
cpp = toolchain / 'em++'
|
|
ar = toolchain / 'emar'
|
|
strip = toolchain / 'emstrip'
|
|
cmake = [toolchain / 'emmake', 'cmake']
|
|
pkg-config = [toolchain / 'emconfigure', 'pkg-config']
|
|
sdl2-config = [toolchain / 'emconfigure', 'sdl2-config']
|
|
file_packager = ['python3', toolchain / 'tools/file_packager.py']
|
|
|
|
|
|
[properties]
|
|
needs_exe_wrapper = true
|
|
|
|
|
|
[built-in options]
|
|
c_args = []
|
|
c_link_args = []
|
|
cpp_args = []
|
|
cpp_link_args = []
|
|
|
|
|
|
[project options]
|
|
buildtype = 'release'
|
|
portable = true
|
|
arch_tuple = 'wasm32-unknown'
|
|
wrap_mode = 'nofallback'
|
|
force_fallback_for = 'lua,pcre2,freetype2'
|
|
c_link_args = ['-s', 'ALLOW_MEMORY_GROWTH=1', '-s', 'INITIAL_MEMORY=' + initial_heap, '-s', 'ASYNCIFY=1', '-s', 'ASYNCIFY_ADVISE=' + asyncify_advise, '-s', 'ASYNCIFY_STACK_SIZE=6144', '-s', 'ASYNCIFY_REMOVE=' + asyncify_ignores, '-s', 'FORCE_FILESYSTEM=1', '-lidbfs.js']
|
|
|
|
|
|
[host_machine]
|
|
system = 'emscripten'
|
|
cpu_family = 'wasm32'
|
|
cpu = 'wasm32'
|
|
endian = 'little'
|