Please integrate build framework into the compiler

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sat Mar 21 18:05:08 PDT 2009


grauzone wrote:
> Andrei Alexandrescu wrote:
>> grauzone wrote:
>>> I don't really understand what you mean. But if you want the compiler 
>>> to scan for dependencies, I fully agree.
>>>
>>> I claim that we don't even need incremental compilation. It would be 
>>> better if the compiler would scan for dependencies, and if a source 
>>> file has changed, recompile the whole project in one go. This would 
>>> be simple and efficient.
>>
>> That's precisely what rdmd does.
> 
> This looks really good, but I couldn't get it to work. Am I doing 
> something wrong?
> 
> --- o.d:
> module o;
> 
> import tango.io.Stdout;
> 
> void k() {
>     Stdout("foo").newline;
> }
> 
> --- u.d:
> module u;
> 
> import o;
> 
> void main() {
>     k();
> }
> 
> 
> 
> $ rdmd u.d
> /tmp/u-1000-20-49158160-A46C236CDE107E3B9F053881E4257C2D.o:(.data+0x38): 
> undefined reference to `_D1o12__ModuleInfoZ'
> /tmp/u-1000-20-49158160-A46C236CDE107E3B9F053881E4257C2D.o: In function 
> `_Dmain':
> u.d:(.text._Dmain+0x4): undefined reference to `_D1o1kFZv'
> collect2: ld returned 1 exit status
> --- errorlevel 1
> rdmd: Couldn't compile or execute u.d.
> 
> $ dmd|grep Compiler
> Digital Mars D Compiler v1.041

Should work, but I tested only with D2. You may want to pass --chatty to 
rdmd and see what commands it invokes.


Andrei



More information about the Digitalmars-d mailing list