Hi !
We're currently working on improving the universal backend, there are a few opened issues on this subject : https://github.com/gambit/gambit/issues
- AFAIK you have to cat 3 files code.php (compiled) code_.php (linked)
and lib/_gambit.php (precompiled) into a standalone script. The step where you compile to code.php (gsc -:=. -target php code.scm) gives me a code.o1 file. Is this a bug?
You can now do :
gsc -target php -exe code.scm
Which will cat the required files in a single executable php script. (You still need to precompile lib/_gambit.php)
- The precompiled library (_gambit.php) is 15 Mb of size. So the first
thing I've tried to do is to reduce the size of this file.
Marc is currently working on this issue : https://github.com/gambit/gambit/issues/246 To make a long story short, there already is a procedure in the compilation process that can drastically shrink the size of the compiled programs by including only what's required, but as soon as you include (eval), you have no choice but to compile everything... For various reasons, (eval) tends to be included more often than you'd think.
With a few tweaks, it is possible to get small executables for small programs (~0.01M for a Hello World instead of 15M), but it's not yet convenient to do. Maybe Marc can tell you more about that if you are interested.
Nicolas