Reorganize resources/ + wasm target (#1244)

* add README.md to resources directory
* add cross/ directory for meson cross files
* fix readme list syntax error
* fix reflink
* disable ASYNCIFY_ADVISE by default
* use executable names instead of hardcoding paths
This commit is contained in:
Takase 2023-01-10 05:50:26 +08:00 committed by George Sokianos
parent 04deddbe79
commit 3edd53a835
3 changed files with 72 additions and 0 deletions

23
resources/README.md Normal file
View File

@ -0,0 +1,23 @@
# Resources
This folder contains resources that is used for building or packaging the project.
### Build
- `cross/*.txt`: Meson [cross files][1] for cross-compiling lite-xl on other platforms.
### Packaging
- `icons/icon.{icns,ico,inl,rc,svg}`: lite-xl icon in various formats.
- `linux/org.lite_xl.lite_xl.appdata.xml`: AppStream metadata.
- `linux/org.lite_xl.lite_xl.desktop`: Desktop file for Linux desktops.
- `macos/appdmg.png`: Background image for packaging MacOS DMGs.
- `macos/Info.plist.in`: Template for generating `info.plist` on MacOS. See `macos/macos-retina-display.md` for details.
- `windows/001-lua-unicode.diff`: Patch for allowing Lua to load files with UTF-8 filenames on Windows.
### Development
- `lite_xl_plugin_api.h`: Native plugin API header. See the contents of `lite_xl_plugin_api.h` for more details.
[1]: https://mesonbuild.com/Cross-compilation.html

View File

@ -1,3 +1,6 @@
# cross file for compiling on MacOS ARM (Apple Sillicon).
# use this file by running meson setup --cross-file resources/cross/macos_arm64.txt <builddir>
[host_machine] [host_machine]
system = 'darwin' system = 'darwin'
cpu_family = 'aarch64' cpu_family = 'aarch64'

46
resources/cross/wasm.txt Normal file
View File

@ -0,0 +1,46 @@
# 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'
[binaries]
c = 'emcc'
cpp = 'em++'
ar = 'emar'
strip = 'emstrip'
cmake = ['emmake', 'cmake']
pkg-config = ['emconfigure', 'pkg-config']
sdl2-config = ['emconfigure', 'sdl2-config']
[properties]
needs_exe_wrapper = true
[built-in options]
c_args = []
c_link_args = []
cpp_args = []
cpp_link_args = []
[project options]
buildtype = 'release'
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']
[host_machine]
system = 'emscripten'
cpu_family = 'wasm32'
cpu = 'wasm32'
endian = 'little'