On 23 October 2012 22:58, H. S. Teoh <hst...@quickfur.ath.cx> wrote: > On Tue, Oct 23, 2012 at 11:35:29PM +0200, Rob T wrote: > [...] >> Currently I am trying very hard to get rid of Make, really I don't >> have much choice because AFAIK there's no easy way to get a useful >> dependency list out of gdc or dmd that can be used with Make. There >> is an option to produce a dependency list, but the output seems to >> be useless because it does not include full path for some of the >> dependecies, and the format is wrong to boot (needs Make to run an >> editor to clean up), and cgd 4.7 has a bug with producing the output >> rendering it totally useless (I'll try and report this bug on the >> tracker, now that I have an account). > > SCons can figure out the dependencies without needing to be told > explicitly. That is, if it's working correctly. Currently I do have > multi-file D projects, but they haven't grown into multi-folder projects > yet, so admittedly I don't have too much experience in that area. > > >> Given the significant problems I'm experiencing, I really wonder how >> anyone is building anything of significance in D? Since it appears >> that significant apps are being built, I figure I'm trying to do >> things in a C/C++ way when I am expected to do things in a different >> "D way". > [...] > > Well, dmd tends to work best when given the full list of D files, as > opposed to the C/C++ custom of per-file compilation. (It's also faster > that way---significantly so.) The -op flag is your friend when it comes > to using dmd with multi-folder projects. > > And I just tried: gdc works with multiple files too. I'm not sure how > well it handles a full list of D files, though, if some of those files > may not necessarily be real dependencies. > >
To compile multiple modules into one object file, you need to specify '-o', else it compiles one-at-a-time. Otherwise it should work pretty well... -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';