dmd -c behaviour doesn't take account of packages.
H. S. Teoh
hsteoh at quickfur.ath.cx
Wed Feb 22 16:28:45 PST 2012
On Wed, Feb 22, 2012 at 07:15:37PM -0500, Jonathan M Davis wrote:
> On Wednesday, February 22, 2012 16:08:20 H. S. Teoh wrote:
> > The real solution is that when creating object files, dmd should put
> > the .o files in the modules' respective subdirectories. I.e., it
> > should keep the pathname component of every source file and use that
> > for the object file. Then you have a 1-to-1 mapping between source
> > files and object files.
> Yuck. Yuck. Source should _always_ be separated from object files.
> It's incredibly messy otherwise.
Not really. You just have .d's with their corresponding .o's sitting
side-by-side. It's a 1-to-1 correspondence. No mess.
> > Either that, or duplicate the source tree structure in an object
> > tree (if you like that kind of compile structure -- some projects do
> > that).
> That's definitely the way to organize things.
To each his own. :)
But either way, the point is that the source tree structure *must* be
reflected by the object files. Otherwise you break the 1-to-1
correspondence and all sorts of nasty bugs show up.
It only takes one twig to burn down a forest.
More information about the Digitalmars-d