taisei/src/vfs/meson.build
Andrei Alexeyev 3de1d96f52
vfs: transparent decompression of *.zst files
A zstd-compressed file "foobar.foo.zst" will appear in the filesystem as
a normal uncompressed file "foobar.foo". The raw compressed data is
still available under the original .zst filename.

If both "foobar.foo" and "foobar.foo.zst" exist, the former is
preferred and won't be shadowed.

This is implemented as a wrapper layer, much like readonly_wrapper.
It is currently applied on top of plain directories that contribute to
/res, but not to zipped packages. Zip files support zstd as a
compression method, so we'll probably rely on that instead.
2021-03-26 21:45:57 +02:00

54 lines
1 KiB
Meson

vfs_src = files(
'decompress_wrapper.c',
'loadpacks.c',
'nodeapi.c',
'pathutil.c',
'private.c',
'public.c',
'readonly_wrapper.c',
'syspath_public.c',
'union.c',
'union_public.c',
'vdir.c',
'zipfile_public.c',
)
if taisei_deps.contains(dep_zip)
vfs_src += files(
'zipfile.c',
'zippath.c',
)
else
vfs_src += files(
'zipfile_null.c',
)
endif
if have_posix
vfs_src += files('syspath_posix.c')
elif host_machine.system() == 'windows'
vfs_src += files('syspath_win32.c')
else
vfs_src += files('syspath_posix.c') # eeehh, maybe it'll work ¯\_(ツ)_/¯
endif
if host_machine.system() == 'emscripten'
vfs_src += files(
'setup_emscripten.c',
'sync_emscripten.c',
)
elif host_machine.system() == 'nx'
vfs_src += files(
'setup_switch.c',
'sync_noop.c',
)
else
vfs_src += files(
'setup_generic.c',
'sync_noop.c',
)
endif
subdir('platform_paths')
vfs_src += vfs_platform_paths_src