On Sat, 10 Aug 2013 22:48:14 -0700 Walter Bright <[email protected]> wrote:
> On 8/10/2013 4:21 PM, Jonathan M Davis wrote: > > On Saturday, August 10, 2013 14:35:04 Nick Sabalausky wrote: > >> Is this something that would be acceptable, or does building DMD > >> for Windows need to stay as DM make? > > > > I don't see any problem with it, but that doesn't mean that Walter > > won't. > > Tools built for Unix never work right on Windows. It's why, for > example, I run git on Linux and don't use the Windows badly ported > versions of git. Tiresome problems revolve around failure to adapt to > \ path separators, ; in PATH, CRLF line endings, Windows SEH, case > insensitive file names, no symbolic links, etc., no Perl installed, > etc. > Fair point. > > > Another suggestion that I kind of liked was to just build them all > > with a single script written in D and ditch make entirely, which > > would seriously reduce the amount of duplication across platforms. > > But that's obviously a much bigger change and would likely be much > > more controversial than simply using a more standard make. > > I don't see much point in that. The dmd build is straightforward, and > I see no particular gain from reinventing that wheel. > The current state is fairly awful when trying to do cross-platform automation of anything that involves building DMD. The make targets are completely different, the available configuration options and defaults are completely different, and the output locations are completely different. Trying to deal with and accommodate the divergent behaviors of posix.mak and win*.mak is a minefield that leads to fragile, tangled code even with my best attempts to keep it clean. And this isn't the first time I've automated building DMD, either. And yea, all those differences can be addressed, but as long as we're maintaining posix/win buildscripts separately - and in essentially two separate languages (two flavors of make) - then divergence is only going to reoccur.
