[Haskell-cafe] Best practice for embedding files in a
GHC-compiled tool?
Aaron Tomb
atomb at galois.com
Sat Feb 9 11:52:34 EST 2008
On Feb 9, 2008, at 8:03 AM, Bertram Felgenhauer wrote:
> Dave Bayer wrote:
>> What is the best way to embed an arbitrary file in a Haskell program?
>
> I don't know the best way. I'd probably use FFI.
<snip>
> The idea is then to use some existing tool that embeds binary
> data in C programs.
Since you're specifically interested in OS X, I'd follow this advice,
and then look at /usr/include/mach-o/getsect.h. This header declares a
function
extern char *getsectdata(
const char *segname,
const char *sectname,
unsigned long *size);
which seems like it'll give you all of the data in one of the sections
of the executable file for the currently running program. I haven't
used it, though, so I'm not positive about how it works.
I think it's then fairly straightforward to tell the linker to just
include an arbitrary file into a section with a name of your choice.
Aaron
More information about the Haskell-Cafe
mailing list