A betterC modular standard library?
Ilya Yaroshenko via Digitalmars-d
digitalmars-d at puremagic.com
Tue Dec 20 04:30:03 PST 2016
On Tuesday, 20 December 2016 at 12:00:43 UTC, Walter Bright wrote:
> On 12/18/2016 1:02 PM, Ilya Yaroshenko wrote:
>> I need to understand how it is can be done because I did not
>> find a valid solution.
>>
>> mir-cpuid has global symbols, they are accessed using
>> extern(C) API. If multiple
>> libraries trying to initialize it than it will be initialized
>> only once.
>>
>> extern C API does not solve a problem with DRuntime because
>> current DRuntime is
>> not a betterC library and it is huge. A huge betterC library
>> is a problem too
>> because it is less portable.
>
> cpuid can be written in a manner that it is self-contained. If
> so, it doesn't matter how large druntime is, as it won't have
> references to any of the rest of it and so the rest won't be
> pulled in by the linker.
This is true for application but not for libraries. mir-glas
depends on mir-cpuid. If I want GLAS to be ported for a new
target then I will release a new CPUID version and will be able
to use it the same day. With DRuntime (as solid project), I need
to wait up to 6 months before it will be released with DMD and
then with LDC. Workaround are possible, but they requires more
efforts, more time, more code.
Please do not force Mir to use DRuntime. We need a solid solution
I do not force anyone to drop DRuntime: Mir libraries can be used
with DRuntime/Phobos. We have full backward compatibility.
DRuntime does not satisfy portability requirements (which was
repeated multiple times in this thread). DRuntime (at least for
now and future few years) is a big constraint for betterC libs to
replace existing C analogs. Please do not force me to use
DRuntime.
More information about the Digitalmars-d
mailing list