February 06, 2007
Bill Baxter wrote:
> Gregor Richards wrote:
> 
>> Fixed some bugs introduced in rebuild 0.2, and also fixed support for 'version=' statements.
>>
>> http://www.dsource.org/projects/dsss/wiki/Rebuild
>>
>>  - Gregor Richards
> 
> 
> Two questions:
> 
> Does rebuild support environment variables in a build file?  Like
>    -I$(DMDDIR)/dmd/import
> 
> Is there some way to read commands from build files other than the '@file' syntax?  Like '-f filename' for example.
> 
> --bb

Rebuild does not, at present, support response files. I don't find them particularly useful, since simply making a .bat or .sh and putting 'rebuild' at the beginning suffices for a more powerful method with negligible learning curve.

I suppose if there is demand, I will add support. My personal distaste for them shouldn't be the be-all end-all.

 - Gregor Richards
February 07, 2007
Gregor Richards wrote:
> Fixed some bugs introduced in rebuild 0.2, and also fixed support for 'version=' statements.
> 
> http://www.dsource.org/projects/dsss/wiki/Rebuild
> 
>  - Gregor Richards

rebuild does not appear to be checking the date an exe to determine if linking is necessary. Here is a transcript.

C:\>dir hello.* /OD
...
02/06/2007  07:02 PM           106,524 hello.exe
02/06/2007  07:02 PM             2,390 hello.map
02/06/2007  07:04 PM                61 hello.d
02/06/2007  07:11 PM               701 hello.obj
...

C:\>rebuild -v hello.d
...
compile   dmd -c hello.d  -Ic:\dmd\bin\..\src\phobos  -od.
no link necessary

C:\>rebuild
ReBuild version 0.3 (based on DMD 1.005)
...

Thanks,
  Bradley
February 07, 2007
Bradley Smith wrote:
> Gregor Richards wrote:
> 
>> Fixed some bugs introduced in rebuild 0.2, and also fixed support for 'version=' statements.
>>
>> http://www.dsource.org/projects/dsss/wiki/Rebuild
>>
>>  - Gregor Richards
> 
> 
> rebuild does not appear to be checking the date an exe to determine if linking is necessary. Here is a transcript.
> 
> C:\>dir hello.* /OD
> ...
> 02/06/2007  07:02 PM           106,524 hello.exe
> 02/06/2007  07:02 PM             2,390 hello.map
> 02/06/2007  07:04 PM                61 hello.d
> 02/06/2007  07:11 PM               701 hello.obj
> ...
> 
> C:\>rebuild -v hello.d
> ...
> compile   dmd -c hello.d  -Ic:\dmd\bin\..\src\phobos  -od.
> no link necessary
> 
> C:\>rebuild
> ReBuild version 0.3 (based on DMD 1.005)
> ...
> 
> Thanks,
>   Bradley

Rebuild checks all of the dates whenever it compiles ...

For the moment just use -full. I'm not sure why this is happening but I'll try to replicate and eradicate. It may be Windows-related.

 - Gregor Richards
February 07, 2007
Gregor Richards wrote:
> Bradley Smith wrote:
> 
>> Gregor Richards wrote:
>>
>>> Fixed some bugs introduced in rebuild 0.2, and also fixed support for 'version=' statements.
>>>
>>> http://www.dsource.org/projects/dsss/wiki/Rebuild
>>>
>>>  - Gregor Richards
>>
>>
>>
>> rebuild does not appear to be checking the date an exe to determine if linking is necessary. Here is a transcript.
>>
>> C:\>dir hello.* /OD
>> ...
>> 02/06/2007  07:02 PM           106,524 hello.exe
>> 02/06/2007  07:02 PM             2,390 hello.map
>> 02/06/2007  07:04 PM                61 hello.d
>> 02/06/2007  07:11 PM               701 hello.obj
>> ...
>>
>> C:\>rebuild -v hello.d
>> ...
>> compile   dmd -c hello.d  -Ic:\dmd\bin\..\src\phobos  -od.
>> no link necessary
>>
>> C:\>rebuild
>> ReBuild version 0.3 (based on DMD 1.005)
>> ...
>>
>> Thanks,
>>   Bradley
> 
> 
> Rebuild checks all of the dates whenever it compiles ...
> 
> For the moment just use -full. I'm not sure why this is happening but I'll try to replicate and eradicate. It may be Windows-related.
> 
>  - Gregor Richards

This may help? http://msdn2.microsoft.com/en-us/library/ms724290.aspx

The timestamps on Win32 are perhaps not the most accurate

:)
February 07, 2007
Fixed some issues with timestamps (Re Bradley Smith).

http://www.dsource.org/projects/dsss/wiki/Rebuild

 - Gregor Richards

(Ah, the young project, with the fast release cycle)
February 08, 2007
Gregor Richards wrote:
> Bill Baxter wrote:
>> Gregor Richards wrote:
>>
>>> Fixed some bugs introduced in rebuild 0.2, and also fixed support for 'version=' statements.
>>>
>>> http://www.dsource.org/projects/dsss/wiki/Rebuild
>>>
>>>  - Gregor Richards
>>
>>
>> Two questions:
>>
>> Does rebuild support environment variables in a build file?  Like
>>    -I$(DMDDIR)/dmd/import
>>
>> Is there some way to read commands from build files other than the '@file' syntax?  Like '-f filename' for example.
>>
>> --bb
> 
> Rebuild does not, at present, support response files. I don't find them particularly useful, since simply making a .bat or .sh and putting 'rebuild' at the beginning suffices for a more powerful method with negligible learning curve.

Ok I guess I misunderstood the help message then.  What does this mean?

f:\>rebuild
ReBuild version 0.2 (based on DMD 1.005)
Copyright (c) 1999-2007 by Digital Mars and Gregor Richards, written by Walter Bright and Gregor Richards
Documentation: www.digitalmars.com/d/index.html
Usage:
  rebuild files.d ... { -switch }
  files.d        D source files
  @cmdfile       read arguments from cmdfile
  ...

specifically the "@cmdfile" part.

> I suppose if there is demand, I will add support. My personal distaste for them shouldn't be the be-all end-all.

Well the problem with making a .bat or .sh is that it is platform specific.  I don't care if it's a 'response file' or just some configuration file in some other format that looks different from command line options. But I do find the ability to put a build config in a file to be very useful.  And I do find the @file syntax, where some particular suffix is implied, to be kind of annoying, because tab completion in most any shell completes whole filenames not partial ones.  That's why I'd prefer a "-f filename" syntax.  *With* the space in between -f and filename if possible.

--bb
February 08, 2007
Bill Baxter wrote:
> Gregor Richards wrote:
>> Bill Baxter wrote:
>>> Gregor Richards wrote:
>>>
>>>> Fixed some bugs introduced in rebuild 0.2, and also fixed support for 'version=' statements.
>>>>
>>>> http://www.dsource.org/projects/dsss/wiki/Rebuild
>>>>
>>>>  - Gregor Richards
>>>
>>>
>>> Two questions:
>>>
>>> Does rebuild support environment variables in a build file?  Like
>>>    -I$(DMDDIR)/dmd/import
>>>
>>> Is there some way to read commands from build files other than the '@file' syntax?  Like '-f filename' for example.
>>>
>>> --bb
>>
>> Rebuild does not, at present, support response files. I don't find them particularly useful, since simply making a .bat or .sh and putting 'rebuild' at the beginning suffices for a more powerful method with negligible learning curve.
> 
> Ok I guess I misunderstood the help message then.  What does this mean?
> 
> f:\>rebuild
> ReBuild version 0.2 (based on DMD 1.005)
> Copyright (c) 1999-2007 by Digital Mars and Gregor Richards, written by Walter Bright and Gregor Richards
> Documentation: www.digitalmars.com/d/index.html
> Usage:
>   rebuild files.d ... { -switch }
>   files.d        D source files
>   @cmdfile       read arguments from cmdfile
>   ...
> 
> specifically the "@cmdfile" part.

Bloody ... wtf ... mars.c is a bit weird:

printf("\
Documentation: www.digitalmars.com/d/index.html\n\
Usage:\n\
  rebuild files.d ... { -switch }\n\
\n\
  files.d        D source files\n%s\
...
",
#if WIN32
"  @cmdfile       read arguments from cmdfile\n"
#else
""
#endif
);

That "#if WIN32" should be "#if __DMC__", since it later reads the response file with a DMC-specific feature.

That shouldn't be there, and indeed isn't there on Posix X_X

> 
>> I suppose if there is demand, I will add support. My personal distaste for them shouldn't be the be-all end-all.
> 
> Well the problem with making a .bat or .sh is that it is platform specific.  I don't care if it's a 'response file' or just some configuration file in some other format that looks different from command line options. But I do find the ability to put a build config in a file to be very useful.  And I do find the @file syntax, where some particular suffix is implied, to be kind of annoying, because tab completion in most any shell completes whole filenames not partial ones.  That's why I'd prefer a "-f filename" syntax.  *With* the space in between -f and filename if possible.
> 
> --bb

I'll add a flag. It probably won't be -f, that's just a bit too generic for my taste ;)

 - Gregor Richards
February 09, 2007
Thank you for the great tool, it works much better than bud.

The only thing I couldn't get to work is the documentation generation with candydoc.

The command

-------------8<---------------------------------------
dmd <list_of_my_source_files>
    -Dd<path_to_my_documentation>
    <path_to_my_documentation>/candydoc/candy.ddoc
    <path_to_my_documentation>/candydoc/modules.ddoc
-------------8<---------------------------------------

generates source documentation with candydoc, but the command

-------------8<---------------------------------------
rebuild <my_entry_point_source_file>
    -Dd<path_to_my_documentation>
    <path_to_my_documentation>/candydoc/candy.ddoc
    <path_to_my_documentation>/candydoc/modules.ddoc
-------------8<---------------------------------------

generates the source documentation without candydoc. Presumably the extra parameters for candydoc are neglected.


Regards,
David


Gregor Richards wrote:

> Fixed some issues with timestamps (Re Bradley Smith).
> 
> http://www.dsource.org/projects/dsss/wiki/Rebuild
> 
>   - Gregor Richards
> 
> (Ah, the young project, with the fast release cycle)

February 09, 2007
David Ferenczi wrote:
> Gregor Richards wrote:
> 
> 
>>Fixed some issues with timestamps (Re Bradley Smith).
>>
>>http://www.dsource.org/projects/dsss/wiki/Rebuild
>>
>>  - Gregor Richards
>>
>>(Ah, the young project, with the fast release cycle)
> 
> 
> Thank you for the great tool, it works much better than bud.
> 
> The only thing I couldn't get to work is the documentation generation with
> candydoc. 
> 
> The command
> 
> -------------8<---------------------------------------
> dmd <list_of_my_source_files>
>     -Dd<path_to_my_documentation>
>     <path_to_my_documentation>/candydoc/candy.ddoc
>     <path_to_my_documentation>/candydoc/modules.ddoc
> -------------8<---------------------------------------
> 
> generates source documentation with candydoc, but the command
> 
> -------------8<---------------------------------------
> rebuild <my_entry_point_source_file>
>     -Dd<path_to_my_documentation>
>     <path_to_my_documentation>/candydoc/candy.ddoc
>     <path_to_my_documentation>/candydoc/modules.ddoc
> -------------8<---------------------------------------
> 
> generates the source documentation without candydoc. Presumably the extra
> parameters for candydoc are neglected.
> 
> 
> Regards,
> David
> 
> 

You are correct, those parameters (anything named .ddoc, actually) end up ignored. I'm fixing this in subversion, the next release should not have that issue.

Thanks for the bug report :)

 - Gregor Richards
February 09, 2007
Many thanks!

Gregor Richards wrote:
> You are correct, those parameters (anything named .ddoc, actually) end up ignored. I'm fixing this in subversion, the next release should not have that issue.
> 
> Thanks for the bug report :)
> 
>   - Gregor Richards

1 2 3
Next ›   Last »