Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Preliminary shared runtime support in build system #32
This only adjusts the build system, no changes to the compiler or runtime are included. This allows specifying a
This is meant to make the development of a shared runtime easier, but not for production use. The shared libraries are not built by default and they are not installed into the target system.
(The libraries are also not correctly versioned, but as shared library versioning depends on stable ABIs we can't decide anything here without phobos upstream)
When the shared runtime support is finished, we probably want to ship both static and shared libraries. But we probably wouldn't want the static library to be built with -fPIC so we'd have to make some changes in the Makefile to compile all files twice.
See also: http://gdcproject.org/wiki/SharedRuntime
I think initially though, will want only libgphobos to be compiled as a shared library by default. A possible scenario for the mid-term future would be splitting libgdruntime into two libgdruntime-core and libgdruntime-rt libraries (-rt being static as contains C main).
Two small updates:
I'll try to run the test suite against the shared libraries now, I'm curious how well it's working ;-)