[llvm-dev] Clang API: any way to use a virtual filesystem ?

Jean-Michaël Celerier via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 5 00:44:14 PDT 2020


Hello,
I am shipping my app (https://ossia.io) with an embedded clang to allow
people to write extensions in C++ at run-time.

For that to work I also ship a SDK with all the required headers, libc++,
etc... which is downloaded & extracted in some folder.

Problem is: while on my linux dev. machine this operation is fast,
apparently on Windows and mac extracting a .zip with a few thousand files
takes the better part of a decade - just downloading the sdk.zip makes my
Safari get stuck for ten minutes as this idiot tries to extract it itself
(see the sdk files there:
https://github.com/ossia/score/releases/tag/v3.0.0-a14-1).

My question is: is it possible to hook something in clang to allow it to go
look for files inside a virtual file system à la
https://github.com/yevgeniy-logachev/vfspp for instance ? This way I would
only download the zip, not extract it, and it'd be just opened in ram when
needed.
Or does it necessarily go through fopen() for includes right now ?

Kind regards,
Jean-Michaël
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20201005/177907f5/attachment.html>


More information about the llvm-dev mailing list