richardlehane / siegfried

signature-based file format identification
http://www.itforarchivists.com/siegfried
Apache License 2.0
224 stars 30 forks source link

Shared library build exposing Siegfried API #97

Open pm64 opened 7 years ago

pm64 commented 7 years ago

I wonder the idea of a shared library (Windows DLL, etc) exposing Siegfried's API has ever been considered?

richardlehane commented 7 years ago

Not as yet...

The golang compiler doesn't currently output DLLs (but may do so in the future) - so Windows shared libraries not possible (yet).

Since golang 1.5 you can build C shared libraries ... I've never explored this myself, but it may be possible to build a .so file that would be callable from a C program (or higher language that supports C calls e.g. python, lua). If anyone wanted to try this I'd be happy to assist.

pm64 commented 3 years ago

I wonder if we might revisit this issue? I only follow Go as a casual spectator, but from what I've read, this situation has improved over the last 4 years to where the idea of a Windows DLL should now be within reach. I know there are important considerations beyond this, but just thought I'd check to see if this conversation might be resurrected.

richardlehane commented 3 years ago

yes, I think this is possible now - I'll take a look soon, it would be good to resolve this issue!

pm64 commented 3 years ago

Hi @richardlehane, just a quick note to wish you happy St. Patrick's Day, and perhaps check on the status of this? 😊