Statistics
| Branch: | Tag: | Revision:

mongoose / tools @ ac921d46

Name Size Revision Age Author Comment
README.md 904 Bytes c848372b about 5 years Marko Mikulicic Rename tools/amalgam to tools/amalgam.py PUBLI...
amalgam.py 5.8 KB ac921d46 almost 5 years Dmitry Frank Improve includes in the amalgamation script No...
unamalgam.py 1.12 KB c9721d4d about 5 years Deomid Ryabkov Re-enable amalgam tools publishing PUBLISHED_F...

Latest revisions

# Date Author Comment
ac921d46 01/13/2017 12:24 AM Dmitry Frank

Improve includes in the amalgamation script

Now it also tries to find the included file relatively to the "parent"
file. This is required for amalgamation of the frozen into mjs, since
`frozen.c` includes `frozen.h` instead of `frozen/frozen.h`.

PUBLISHED_FROM=8f670a1509a30cfdfb22e454b7851f4cf28fb98d

c9721d4d 11/21/2016 10:36 PM Deomid Ryabkov

Re-enable amalgam tools publishing

PUBLISHED_FROM=f7fb01509b3f3982724cc3b05e357d8dd385a546

c848372b 11/21/2016 10:19 PM Marko Mikulicic

Rename tools/amalgam to tools/amalgam.py

PUBLISHED_FROM=7c6cb5517d0d2b13f29af29c511dd7f0baa5acc6

d63fb70c 09/27/2016 03:36 PM Deomid Ryabkov

Publish the amalgamation tools

PUBLISHED_FROM=27ed0bd32e33252495b92361d2943a3450448f62

View revisions

README


Amalgamation

Mongoose is distributed as two files, mongoose.c and mongoose.h for ease of integration. However, when developing Mongoose itself, it can be quite difficult to work with them. Internally, these files are an amalgamation of source an header modules. This directory contains utilities to split and re-constitute amalgamated files.

Here's how mongoose.c can be split into its consituent parts: $ tools/unamalgam.py mongoose.c => mongoose/src/internal.h => common/cs_dbg.h ...

This produces directories and files under mongoose/ and common/ that are easeier to work with. It also produces mongoose.c.manifest which can later be used to reconstruct the file back: $ tools/amalgam.py --prefix=MG --public-header=mongoose.h $(cat mongoose.c.manifest) > mongoose.c

The same applies to mongoose.h, except --public-header should be omitted during amalgamation.

Also available in: Atom