September 18, 2013
On Wednesday, 18 September 2013 at 16:05:18 UTC, Andrej Mitrovic wrote:
> On 9/18/13, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> wrote:
>>> Problem is, 80% of the code I write is C code still... :(
>>
>> join me
>
> I don't suppose GCC and other compilers have some kind of verbose
> output that exports include declarations? Or maybe just modify an RDMD
> fork to run the preprocessor over a C/C++ file. What I'm saying is, I
> think a tool like RDMD could be used for C/C++ (with some trickery).

You can get this information from gcc and use it to define 100% correct dependencies. However, it highlights another issue common for build tools not coupled with compiler - to generate dependency graph reliably you need now to parse all the source files which contradicts one of core motivations to do it. The way C preprocessor works does not help the matter either.
September 18, 2013
On Wednesday, 18 September 2013 at 15:43:21 UTC, Manu wrote:

> I've had lots of problems in the past where a header included by another
> header doesn't prompt the dependent code to be rebuilt, and I ended up in a
> conservative state of rebuild-all-ing every time... :/
> Maybe I should try working with that environment more...
>

This is what makes tup so interesting to me. It tracks every file that is read in during a compile so it knows what to recompile when a particular header changes.
September 18, 2013
On Wed, Sep 18, 2013 at 06:36:19PM +0200, David Eagen wrote:
> On Wednesday, 18 September 2013 at 15:43:21 UTC, Manu wrote:
> 
> >I've had lots of problems in the past where a header included by another header doesn't prompt the dependent code to be rebuilt, and I ended up in a conservative state of rebuild-all-ing every time... :/ Maybe I should try working with that environment more...
> >
> 
> This is what makes tup so interesting to me. It tracks every file that is read in during a compile so it knows what to recompile when a particular header changes.

+1.

Anyone who's ever had to 'make clean; make' just to make sure everything was up-to-date seriously should ditch make and use a real build system like tup. SCons is also pretty good, though algorithm-wise, tup is probably better.


T

-- 
Just because you can, doesn't mean you should.
September 18, 2013
Am 18.09.2013 18:24, schrieb Adam D. Ruppe:
> On Wednesday, 18 September 2013 at 16:22:27 UTC, Iain Buclaw wrote:
>> Takes about 30-40 seconds with gdc. ;-)
>
> Yikes.
>
> Though that reminds me of something, I don't use dmd -O very often,
> which is horribly slow too. I guess in game dev, even when
> debugging/toying around, you'd probably want to optimize so maybe that
> is a problem.

I think, ideally we should have Turbo Pascal/Delphi compilation times, without requiring dependencies to be available as text files.

--
Paulo
September 18, 2013
On 9/18/13 9:05 AM, Andrej Mitrovic wrote:
> On 9/18/13, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> wrote:
>>> Problem is, 80% of the code I write is C code still... :(
>>
>> join me
>
> I don't suppose GCC and other compilers have some kind of verbose
> output that exports include declarations? Or maybe just modify an RDMD
> fork to run the preprocessor over a C/C++ file. What I'm saying is, I
> think a tool like RDMD could be used for C/C++ (with some trickery).

http://scottmcpeak.com/autodepend/autodepend.html

But what I meant to say was join me in a place where you get to write D.


Andrei

September 18, 2013
On 9/18/13 9:09 AM, Manu wrote:
> On 19 September 2013 02:05, Andrej Mitrovic <andrej.mitrovich@gmail.com
> <mailto:andrej.mitrovich@gmail.com>> wrote:
>
>     On 9/18/13, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org
>     <mailto:SeeWebsiteForEmail@erdani.org>> wrote:
>      >> Problem is, 80% of the code I write is C code still... :(
>      >
>      > join me
>
>     I don't suppose GCC and other compilers have some kind of verbose
>     output that exports include declarations? Or maybe just modify an RDMD
>     fork to run the preprocessor over a C/C++ file. What I'm saying is, I
>     think a tool like RDMD could be used for C/C++ (with some trickery).
>
>
> rdmd implies rebuild-all every time. It doesn't really scale.
> If you have a few hundred thousand LOC, its probably not the man for the
> job.

That is correct.

Andrei
September 18, 2013
On 9/18/13 9:15 AM, Adam D. Ruppe wrote:
> On Wednesday, 18 September 2013 at 16:09:46 UTC, Manu wrote:
>> rdmd implies rebuild-all every time. It doesn't really scale.
>
> Have you actually tried it? My biggest D program is coming up on 100,000
> lines of code, plus phobos, and I still compile it all at once, every
> time. The compile time is ~15 seconds, slower than I'd like (due to ctfe
> more than anything else) but not bad.

Interesting! I'm pleasantly surprised.

Andrei

September 18, 2013
On Wednesday, 18 September 2013 at 17:25:21 UTC, Andrei Alexandrescu wrote:
> But what I meant to say was join me in a place where you get to write D.

Facebook is using D for actual projects? Can you elaborate any more?

September 18, 2013
On Wednesday, 18 September 2013 at 16:24:19 UTC, Adam D. Ruppe wrote:
> On Wednesday, 18 September 2013 at 16:22:27 UTC, Iain Buclaw wrote:
>> Takes about 30-40 seconds with gdc. ;-)
>
> Yikes.
>
> Though that reminds me of something, I don't use dmd -O very often, which is horribly slow too. I guess in game dev, even when debugging/toying around, you'd probably want to optimize so maybe that is a problem.

Yes, development builds are generally optimised for game dev.

When debugging in MSVC, you can use

#pragma optimize("", off)
...
#pragma optimize("", on)

To selectively de-optimise regions of code... or just get used to debugging optimised builds, which isn't that difficult once you know what registers to look in ;-)
September 18, 2013
On 9/18/13 10:32 AM, Peter Alexander wrote:
> On Wednesday, 18 September 2013 at 17:25:21 UTC, Andrei Alexandrescu wrote:
>> But what I meant to say was join me in a place where you get to write D.
>
> Facebook is using D for actual projects? Can you elaborate any more?

Not yet. I mean I am not at liberty to elaborate yet.

Andrei