www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - dlang.org/posix.mak dependencies

reply "Borden" <2013 bordenrhodes.com> writes:
Good evening, all,

I'm making a new thread on this because my question isn't 
strictly related to the DDoc issues I've mentioned in earlier 
threads. Rather, it has to do with the dependencies of the 
posix.mak file in the dlang.org repo (on GitHub, for greater 
clarity):

posix.mak, beginning at line 236, compiles local copies of DMD, 
DRuntime and Phobos. Is all of this extra compilation really 
necessary for someone who, presumably, already installed D using 
the installer packages?

Wouldn't it be more reasonable to see if the most current version 
of DMD is installed and, if not, panic out and tell the user to 
go and fetch the latest copy from the website? Then the rest of 
the makefile could use the installed copies on the user's 
computer rather than download and recompile them?

This question is specific to the dlang.org repo and NOT to any 
other repos hosted at GitHub.
May 27 2013
next sibling parent Jonathan M Davis <jmdavisProg gmx.com> writes:
On Tuesday, May 28, 2013 02:14:06 Borden wrote:
 Good evening, all,
 
 I'm making a new thread on this because my question isn't
 strictly related to the DDoc issues I've mentioned in earlier
 threads. Rather, it has to do with the dependencies of the
 posix.mak file in the dlang.org repo (on GitHub, for greater
 clarity):
 
 posix.mak, beginning at line 236, compiles local copies of DMD,
 DRuntime and Phobos. Is all of this extra compilation really
 necessary for someone who, presumably, already installed D using
 the installer packages?
 
 Wouldn't it be more reasonable to see if the most current version
 of DMD is installed and, if not, panic out and tell the user to
 go and fetch the latest copy from the website? Then the rest of
 the makefile could use the installed copies on the user's
 computer rather than download and recompile them?
 
 This question is specific to the dlang.org repo and NOT to any
 other repos hosted at GitHub.

It's a bad idea to assume that a released version of dmd and Phobos will work with the current git repos. It's far less of an issue than it used to be, but breaking changes still happen (some of which are regressions and get fixed and some of which are on purpose), and there's no guarantee that there haven't been changes which require that you have the latest of everything in order to build the git versions. - Jonathan M Davis
May 27 2013
prev sibling next sibling parent "Borden" <2013 bordenrhodes.com> writes:
On Tuesday, 28 May 2013 at 00:50:04 UTC, Jonathan M Davis wrote:
 On Tuesday, May 28, 2013 02:14:06 Borden wrote:
 Good evening, all,
 
 I'm making a new thread on this because my question isn't
 strictly related to the DDoc issues I've mentioned in earlier
 threads. Rather, it has to do with the dependencies of the
 posix.mak file in the dlang.org repo (on GitHub, for greater
 clarity):
 
 posix.mak, beginning at line 236, compiles local copies of DMD,
 DRuntime and Phobos. Is all of this extra compilation really
 necessary for someone who, presumably, already installed D 
 using
 the installer packages?
 
 Wouldn't it be more reasonable to see if the most current 
 version
 of DMD is installed and, if not, panic out and tell the user to
 go and fetch the latest copy from the website? Then the rest of
 the makefile could use the installed copies on the user's
 computer rather than download and recompile them?
 
 This question is specific to the dlang.org repo and NOT to any
 other repos hosted at GitHub.

It's a bad idea to assume that a released version of dmd and Phobos will work with the current git repos. It's far less of an issue than it used to be, but breaking changes still happen (some of which are regressions and get fixed and some of which are on purpose), and there's no guarantee that there haven't been changes which require that you have the latest of everything in order to build the git versions. - Jonathan M Davis

Good evening, Jonathan, The thing, though, is that, unless I've misread the makefile, dlang.org doesn't have any code that needs compiling. All it needs DMD for is to generate the documentation (which, I'm presuming, can be accomplished by the most current released version) and generate the docfiles for the Phobos libraries (which, I'm guessing, should be compiled against a current release of the libraries).
May 27 2013
prev sibling parent Jonathan M Davis <jmdavisProg gmx.com> writes:
On Tuesday, May 28, 2013 03:05:26 Borden wrote:
 The thing, though, is that, unless I've misread the makefile,
 dlang.org doesn't have any code that needs compiling. All it
 needs DMD for is to generate the documentation (which, I'm
 presuming, can be accomplished by the most current released
 version)

Maybe. Probably. But it's not guaranteed.
 and generate the docfiles for the Phobos libraries
 (which, I'm guessing, should be compiled against a current
 release of the libraries).

IIRC, it compiles both the most recent release and the current git master. To do that, it needs all of the latest stuff. The odds of it working with the released compiler rather than the one in git master are far, far higher than they used to be, but it still may not work some of the time. - Jonathan M Davis
May 27 2013