CTFE and DI: The Crossroads of D
Adam Wilson
flyboynw at gmail.com
Wed May 9 15:41:11 PDT 2012
On Wed, 09 May 2012 15:29:23 -0700, Adam D. Ruppe
<destructionator at gmail.com> wrote:
> On Wednesday, 9 May 2012 at 22:15:02 UTC, Adam Wilson wrote:
>> Sure, but a lot of software developers, particularly those with money,
>> don't want their source getting out, and in a lot of cases, there is no
>> good reason to distribute the source.
>
> Yeah, you're preaching to the choir... which is why I'm
> against changing anything for druntime's sake.
>
> Your path for the .di files does the right thing. Don't
> change that just because it breaks druntime.
>
> druntime is open source, so there's no need for it to
> be using .di generation in the first place, whether it
> is a shared library or not
Actually there is a need for a shared library DRT, and that is when there
are other multiple libraries that depend on DRT (anything made with D)
being linked into the same executable. Specifically, what is happening is
that static libraries that are compiled with two different versions of the
DRT will crash on start due to conflicts between the two codebases. This
was particularly noticeable anytime the GC changed between two releases.
But if both are compiled against a shared library, and the DRT API hasn't
changed then it doesn't matter which version of the DRT is used, both
shared libs are dynamically linked to the same version of the DRT. This
was discussed a few months ago and it was agreed that DRT needs a shared
library variant. IIRC that was actually the impetus for much of the shared
library work that went into 2.058.
--
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/
More information about the Digitalmars-d
mailing list