-
-
Notifications
You must be signed in to change notification settings - Fork 119
Shared Library? #138
Comments
This looks pretty cool. I'm not super anxious to do this work now, given that go 1.5 is several months from from general release. But once 1.5 releases, it looks very interesting. The plugin model may work very well for adding support for nicely extending transports too! |
OK, status update: Built 1.5 bootstrapped with 1.4 (from this commit: golang/go@f04e7bb) Running
It's not necessarily worth looking into an error generated by a pre-release compiler, but wanted to report here anyway in case it's useful. As a comparision, the tests and benchmarks work well when compiled with Go 1.4 Release. |
Status update: Not sure what I'm doing yet! But it seems I'll need to create a small wrapper that defines the exports (or something like that...)
|
Status update: Not sure if
Currently, only linux and android platforms supported (not Windows and OS X): https://github.com/golang/go/blob/de305a197f5c9ca3bb09da024e06ba7be0c7435d/src/cmd/go/build.go#L326-L341 |
Support slated for Go 1.6: golang/go#11058 |
This is now deferred indefinitely from 1.6 to Unplanned: golang/go#11058 (comment) |
I think I'm going to close this issue for now. When it works reasonably reliably well and is supported by Go on the major Go platforms, then we should revisit. I'm also less convinced this offers much benefit except to people wanting to use mangos from non-Go platforms. Given the existence of nanomsg, its unclear that there is much demand for this. Further, I'd have some pretty serious concerns about supporting this in non-Go runtimes. For an example of the heartache that can occur, see the discussion around fork-safety and nanomsg recently. There is a certain bliss achieved by simply pretending such things don't happen in the real world, and supporting other runtimes / environments would shatter my utopian world view, hurling me from my perfect nirvana. :-) |
With new development slated for Go 1.5 (link: http://talks.golang.org/2015/state-of-go-may.slide#13) and the option
-buildmode=c-shared
, I'm wondering how feasible it is to build mangos as a self-contained shared library.To begin a technical investigation, with Go 1.5 still not released, even as a pre-release package, it appears one would need to compile Go 1.5 against 1.4 (link to bootstrapping plan: http://golang.org/s/go15bootstrap). I've casually started working on this as spare time permits, but wanted to go ahead and kick off a conversation here.
Thoughts?
The text was updated successfully, but these errors were encountered: