Why is libphobos not a shared library?

Iain Buclaw ibuclaw at ubuntu.com
Fri Jun 15 01:31:10 PDT 2012


On 15 June 2012 09:06, Dejan Lekic <dejan.lekic at gmail.com> wrote:
> On Thu, 14 Jun 2012 15:28:44 +0100, Iain Buclaw wrote:
>
>> On 14 June 2012 14:18, Matthew Caron <Matt.Caron at redlion.net> wrote:
>>> On 06/14/2012 09:08 AM, Iain Buclaw wrote:
>>>>
>>>> Hi Matthew,
>>>>
>>>> This is a pet peeve with us at the moment.  Yes, I can produce a
>>>> shared libphobos for you, but the default runtime implementation does
>>>> not support it, and the current workaround is specific to Linux
>>>> systems only - possibly other related POSIX systems too, so long as
>>>> /proc/self/maps exists on the system.
>>>>
>>>> Regards
>>>
>>>
>>> I am not professing to have copious amounts of time, but how might I be
>>> able to help, even if it is just to test things?
>>>
>>> I have, at my disposal, the standard complement of x86 Linux boxen, as
>>> well as a variety of ARM-ish processors (hence my interest in cross
>>> compiling D), ranging from ARM9 (armv5t) up to Cortex-A8.
>>>
>>> If adoption of D at my company proceeds, this will become more of a
>>> hot-button issue because demand for it will increase. As such, I might
>>> be able to actually devote some on the clock engineering time to it,
>>> rather than doing it in my spare time. As of right now, it is termed
>>> "not for production use", because D and GDC are both fairly new. (Yes,
>>> I know both D2 and GDC are both over 5 years old, but we're that
>>> conservative.). The crux of the issue is that, when you're trying to
>>> cram as much as you can into 16MB of NAND, shared libraries are your
>>> best friend.
>>>
>>>
>>>
>> If the idea is to cram as much into 16MB of NAND, I would suggest that
>> you avoid building libphobos at all, and just have the libdruntime
>> library.  I will need to add this as a switch to the build for you. If
>> you need any guidance on building as a shared library, I'll be available
>> on IRC from around 7.30pm GMT+0 time.  Either on Freenode or OFTC in #d
>> and #d.gdc.
>>
>>
>> Regards
>
> I wish I could do that with DMD... DMD has -defaultlib=<name> but if
> developer leaves <name> to be empty compilation will fail.
>
>

You mean something like -nodefaultlib or -nophoboslib? (both which are
options in gdc ;)


-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';


More information about the D.gnu mailing list