Outputting generated .di files to correct module structure
Rene Zwanenburg
renezwanenburg at gmail.com
Wed Feb 29 08:00:10 PST 2012
Done:
http://d.puremagic.com/issues/show_bug.cgi?id=7610
On Wednesday, 29 February 2012 at 15:35:23 UTC, Andrei
Alexandrescu wrote:
> On 2/29/12 9:25 AM, Rene Zwanenburg wrote:
>> The project I'm currently working on is becoming quite large,
>> and is
>> being compiled to a few different lib files. This is useful,
>> so the
>> application and tools only have to link to the libraries they
>> need.
>>
>> We use DMD's interface generation option to create the header
>> files,
>> which is an awesome feature, but the problem is that it
>> doesn't output
>> interface files in the package hierarchy. For example, if
>> there are two
>> modules 'basepackage/package1/module1.d' and
>> 'basepackage/package2/module2.d', the interfaces end up as
>> 'headers/module1.di' and 'headers/module2.di'.
>>
>> Now, when we add the 'headers' directory to the include path,
>> the
>> compiler won't be able to find module1 when importing
>> 'basepackage/package1/module1'. It works when I simply import
>> 'module1',
>> which surprises me since the interface retains the original
>> module
>> declaration.
>>
>> Anyway, DMD not outputting interfaces in the package hierarchy
>> makes the
>> feature pretty much useless for large projects. Is there a
>> reason for
>> this behavior, or was this simply never considered? I'm
>> willing to try
>> and add a new switch to the compiler so it creates the
>> hierarchy, but
>> I've never touched DMD's source so I'm not sure if I'm the
>> right person
>> for the job.
>
> I'd put this bug together with the recently-discussed bug that
> the object file names clash when coming from different
> packages, in the same bin - the "growing pains" bin.
>
> A lot of stuff has been thought for large modular projects in
> D, but until recently that boundary hasn't been pushed strongly
> enough. Therefore, a lot of small logistical details like this
> one were not paid attention to.
>
> Rene, could you please submit this bug to our bugzilla with
> importance "critical"? I think this is an important category of
> bugs because it stymies progress for D's most invested users.
>
>
> Thanks,
>
> Andrei
More information about the Digitalmars-d
mailing list