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