comp.lang.ada
 help / color / mirror / Atom feed
From: Stephane Carrez <stephane.carrez@gmail.com>
Subject: ANN: Ada Resource Embedder for C, Ada and Go
Date: Fri, 11 Jun 2021 06:30:42 -0700 (PDT)	[thread overview]
Message-ID: <34845325-0cb5-43ee-a03f-df95a8df1f22n@googlegroups.com> (raw)

Hi all,

I created a new tool to allow embedding any file in an Ada, C or Go binary.
While embedding files, you can apply some transformations such as
running a Javascript minifier (closure), compressing the file, encrypting it, ...
The tool generates Ada, C or Go files that you compile with your program.
In its simplest form, you can access the embedded content as a:

type Content_Access is access constant Ada.Streams.Stream_Element_Array;

So the generated code only depends on Ada.Streams.

There are many modes that are explained in the documentation.
For an overview, have a look at:

https://blog.vacs.fr/vacs/blogs/post.html?post=2021/06/11/Advanced-Resource-Embedder

And don't hesitate to fork, hack, and submit pull requests to:

https://github.com/stcarrez/resource-embedder

Well, for me it was a fun project :-)

Stephane

Ps: Go has a `go:embed` but It was fun to write the Go generator :-)

             reply	other threads:[~2021-06-11 13:30 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-11 13:30 Stephane Carrez [this message]
2021-06-11 13:51 ` ANN: Ada Resource Embedder for C, Ada and Go Stéphane Rivière
2021-06-11 15:41   ` Doctor Who
2021-06-12 11:41     ` Doctor Who
2021-06-12 12:03     ` Stéphane Rivière
2021-06-12 12:51       ` Doctor Who
2021-06-11 16:19   ` Dmitry A. Kazakov
2021-06-11 17:32     ` Stephane Carrez
2021-06-11 18:25       ` Dmitry A. Kazakov
2021-06-11 18:44         ` Stephane Carrez
2021-06-11 19:53           ` Dmitry A. Kazakov
2021-06-12  6:15             ` Stephane Carrez
2021-06-12 11:31           ` Stéphane Rivière
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox