Skip to content

Amalgamated release builds? #688

Closed
Closed
@bnoordhuis

Description

@bnoordhuis

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:

  1. Bundle quickjs.c (and quickjs.h) etc. with qjs.c so you only have to cc -o qjs qjc.c

  2. Ditto for qjs.c

  3. We don't ship run-test262.c, unicode_gen.c, etc.

  4. 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?)

  5. We must ship quickjs.h of course but do we also roll a separate-but-identical copy into the amalgamated quickjs.c?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions