Replies: 2 comments 3 replies
-
I haven't heard of anyone using goreleaser to releaser shared libraries, so I'm sure there are things missing... both docs and possibly feature/config wise. The file extensions and lack of We'll probably need to add an option to the build saying "build this as a library" and handle the files et al, as well as a lot of things that assume there's always a binary that would have to be skipped/changed. Do you have interest in working on any of that? Otherwise I can give it a try, but would probably need some support... btw, if you prefer a faster feedback et al, discord |
Beta Was this translation helpful? Give feedback.
-
This is now improved (merged into master, #3511, thanks @borgoat <3) Will be released in v1.13 very soon! |
Beta Was this translation helpful? Give feedback.
-
Hi!
I am building a Go library exporting a C interface. I've been trying to use goreleaser to package it and release it, partially with success, but I feel I'm still missing something. I'd like to gather all the pieces of info required, and possibly contribute some docs or other changes to the code that may help in such a scenario.
For reference, this is the latest configuration I could come up with: https://github.com/borgoat/farmfa/blob/d57c6497cd7b723c2ae15f063426ea84e140d48a/.goreleaser.yml#L13-L36
So far, I have faced these constraints:
.h
) file in the archive. This is generated by the go compiler, and correctly placed in the dist directory, next to the shared object. However, because it is only known at build time, using thefiles
directive in thearchives
stanza is not working..so
on Linux,.dylib
on macOS,.dll
on Windows). This could also apply to static libraries. I did find issue feat: Add support for c-shared and c-archive build modes in windows #1243 adding support for thedll
extension on Windows. Would it make sense to add something similar for other operating systems?Beta Was this translation helpful? Give feedback.
All reactions