]> gitweb.factorcode.org Git - factor.git/blob - basis/tools/deploy/embed/embed.factor
Switch to https urls
[factor.git] / basis / tools / deploy / embed / embed.factor
1 ! Copyright (C) 2010 Joe Groff
2 ! See https://factorcode.org/license.txt for BSD license.
3 USING: alien.c-types alien.data bootstrap.image.private
4 destructors io io.directories io.encodings.binary io.files
5 kernel system ;
6 IN: tools.deploy.embed
7
8 :: embed-image ( image executable -- )
9     executable binary <file-appender> [| out |
10         out stream-tell :> offset
11         image binary <file-reader> [| in |
12             in out stream-copy*
13         ] with-disposal
14         image-magic uintptr_t <ref> out stream-write
15         offset uintptr_t <ref> out stream-write
16     ] with-disposal ;
17
18 : make-embedded-image* ( from-image from-executable to-executable -- )
19     swap [ copy-file ] keep embed-image ;
20
21 : make-embedded-image ( from-image to-executable -- )
22     vm-path swap make-embedded-image* ;