Closed
Description
Amalgamated = bundling all source files into a single source file, for easy distribution and building. Well-known example: sqlite
The split into quickjs.c, quickjs-libc.c, libunicode.c, etc., isn't really relevant or interesting to downstream users, just a minor nuisance when trying to integrate it into your build.
One way amalgamation could work is:
-
Bundle quickjs.c (and quickjs.h) etc. with qjs.c so you only have to
cc -o qjs qjc.c
-
Ditto for qjs.c
-
We don't ship run-test262.c, unicode_gen.c, etc.
-
Amalgamated quickjs.c is a bundle of quickjs.c, quickjs-libc.c, etc. with a define to enable/disable quickjs-libc (default on or off?)
-
We must ship quickjs.h of course but do we also roll a separate-but-identical copy into the amalgamated quickjs.c?