www.digitalmars.com         C & C++   DMDScript  

D - Build Process

reply Russ Lewis <russ deming-os.org> writes:
I must admit that while I am very excited about the language, I don't yet
understand how I will be using it (efficiently) in my build environment.

Does D still build .o files?  If not, do I have to build my entire program
in one pass (going to be slow on projects with hundreds of source files)?

If D builds .o files, what exactly is in each .o file?  If foo.d imports
all of bar.d, (and bar.d includes the implementations of its functions),
then will foo.o include the definitions of bar.d, or just those from
foo.d?

Is there any way to make it so the compiler doesn't have to parse every .d
file every time - since many .o files share the same .d files, wouldn't it
make sense to parse each of them only once?
Feb 13 2002
parent "Walter" <walter digitalmars.com> writes:
"Russ Lewis" <russ deming-os.org> wrote in message
news:Pine.LNX.4.33.0202130059150.26789-100000 deming-os.org...
 I must admit that while I am very excited about the language, I don't yet
 understand how I will be using it (efficiently) in my build environment.

 Does D still build .o files?

Yes.
  If not, do I have to build my entire program
 in one pass (going to be slow on projects with hundreds of source files)?

It is possible to build a D compiler that does that, but the current one does not.
 If D builds .o files, what exactly is in each .o file?  If foo.d imports

then will foo.o include the definitions of bar.d, or just those from foo.d?

It works analogously to a .c and .h file.
 Is there any way to make it so the compiler doesn't have to parse every .d
 file every time - since many .o files share the same .d files, wouldn't it
 make sense to parse each of them only once?

Compiling multiple source files at once means that imports in common only get parsed once. In any case, the parsing goes so fast it hardly seems worth while to build a precompiled version. There also seems no point in doing that optimization until the language has been out for a while. You know what they say about premature optimization <g>.
Feb 13 2002