Modules/packages correspondence to file system

BCS BCS at pathlink.com
Tue Jul 25 11:43:17 PDT 2006


Derek wrote:
> On Mon, 24 Jul 2006 09:44:50 -0500, BCS wrote:
> 
>>
>>Build is good for what it does, mostly D projects that might have a few 
>>non D parts. But it seems a bit clumsy when things start getting more 
>>complicated.
> 
> 
> Agreed. However, I would like to hear from people about the "more
> complicated" builds so that maybe I can do something about them.
> Personally, I try to avoid complications of this sort ;-)
> 

Some of my more complicate builds have involved things like using Enki 
to generate d code compiling that into a program that then generates 
more d code and them compiling that. For example look at my NetIDL 
source, I have a makefile file that will start with only the hand 
generate files and build everything right on out through the examples. I 
use a hacked version of Enki so I have considered even putting it's 
bootstrap and build into the makefile.

Other things I have done include a sort of poor mans version control 
(copy everything needed into a new directory) which is pure shell scripting.

Some other makefiles use the generated executable to do things (like in 
the first case, but not code generation).

> I'm currently looking at the "multiple compile" idea in which a source can
> be made to under go mutliple compiles with different switch/options each
> time.
> 
> 
>>I just had a neat thought, build figures out all of the dependencies of 
>>a build, could it be made to generate a makefile that will have the same 
>>effect?
> 
> 
> Yes it could, but why? 

Have Build generate this make file, run it through something like sed to 
apply arbitrary modifications and then make the result. This would gain 
many of the benefits of build (automatic dependency searching) while 
being flexible enough to be used where build would be at its worst (lots 
of non D stuff)
I haven't spent much time looking at Build so It might already do what I 
want.



More information about the Digitalmars-d mailing list