Bundle assets in a C program

New mailing list added

10 days ago

#palimpsest — bundle assets in a c program

palimpsest is a library and accompanying utility to embed files within a C program. It also has the ability to overlay virtual "files" over the system filesystem.

builds.sr.ht status license: MPL-2.0 standards: C99 & POSIX 2008


After building and installing palimpsest, you can build a bundle with the palimpsest utility and read the bundle from your program after including palimpsest.h. The man pages have examples and comprehensive documentation. palimpsest -h will also provide a short help text for the utility.




  • POSIX-compatible sh(1).
  • POSIX-compatible make(1). Most makes (including GNU Make and BSD Make) support the POSIX standard.
  • C compiler and libc supporting the C99 and POSIX.1-2008 standard.
  • POSIX-compatible ar(1) (optional, only for building static library)
  • POSIX-compatible m4(1) (optional, only when installing pkg-config file)

#Compiling & Installing

git clone https://git.sr.ht/~nytpu/palimpsest && cd palimpsest

# build and install all palimpsest components
sudo make install

# build and install static library only
make static
sudo make install-static

# build and install shared library only
make shared
sudo make install-shared

# build and install palimpsest utility only
make utility
sudo make install-utility

See ./configure -h for additional build configuration options.


The upstream URL of this project is https://sr.ht/~nytpu/palimpsest. Send suggestions, bugs, patches, and other contributions to ~nytpu/public-inbox@lists.sr.ht. For help sending a patch through email, see https://git-send-email.io. You can browse the list archives at https://lists.sr.ht/~nytpu/public-inbox.

If you have a very large set of changes, please use git request-pull rather than sending a large patchset.

Copyright (C) 2021 nytpu <alex [at] nytpu.com>.

Licensed under the terms of the Mozilla Public License version 2.0. You can view a copy of the MPL in LICENSE or at https://www.mozilla.org/en-US/MPL/2.0/.


The build system and source code all conform to IEEE Std 1003.1-2008 ("POSIX.1") and ISO/IEC 9899:1999 ("ISO C99") in all cases where the said standards are applicable.

The documentation conforms to CommonMark Version 0.30 or mandoc Version 1.14.