package modules and how to generate a shared library plus .di file (I)

kdevel kdevel at vogtner.de
Thu Dec 7 17:53:25 UTC 2017


On Thursday, 7 December 2017 at 17:36:22 UTC, Neia Neutuladh 
wrote:
> If you have a source tree like:
>
> pierce/
>   db/
>     core.d
>   controllers/
>     feed.d
>
> then feed.d can have `import pierce.db.core;` instead of people 
> being confused about how to refer to the parent directory in a 
> relative imports style.
>
> The tradeoff is that you have to type sometimes as many as 
> twelve extra characters in a handful of lines of code.

Okay. So I have now

    mymod/
       foo.d
       bar.d

Now I compile the library

    $ dmd -lib -oflibmymod.a mymod/foo.d mymod/bar.d

now I want to replace all the source code by a single .di file 
containing the protoypes. I know that dmd -H generates protoypes. 
When I use

    $ dmd -H -lib -oflibmymod.a mymod/foo.d mymod/bar.d

I get

    bar.di
    foo.di

at the top level dir. Does that mean, that though the code is 
bundled in one library (libmymod.a) for the prototypes one has as 
many .di files as there
were source files?






More information about the Digitalmars-d-learn mailing list