www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - dlang.org makefile pains

reply Jakob Ovrum <jakobovrum gmail.com> writes:
I used to contribute to dlang.org now and then before the 
makefile revamp. Now every time I try, I end up fighting with the 
makefile.

 make -f posix.mak apidocs-serve
 LATEST=2.070.2 <-- place in the command line to skip network 
 traffic
 *starts downloading crap from downloads.dlang.org that I 
 already have*
Alright, let's try that again.
 make -f posix.mak apidocs-serve LATEST=2.070.2
 *still downloads crap I already have*
 *Phobos build errors because latest Phobos isn't compatible 
 with DMD 2.069.2*
How do I make it use ../dmd and ../phobos? I've looked at CONTRIBUTING.md and the Wiki and I don't see this explained anywhere. All I want to do is test DDox with local dlang.org changes and local Phobos changes.
Mar 15 2016
next sibling parent Seb <seb wilzba.ch> writes:
On Tuesday, 15 March 2016 at 11:15:12 UTC, Jakob Ovrum wrote:
 I used to contribute to dlang.org now and then before the 
 makefile revamp. Now every time I try, I end up fighting with 
 the makefile.

 make -f posix.mak apidocs-serve
 LATEST=2.070.2 <-- place in the command line to skip network 
 traffic
 *starts downloading crap from downloads.dlang.org that I 
 already have*
Alright, let's try that again.
 make -f posix.mak apidocs-serve LATEST=2.070.2
 *still downloads crap I already have*
 *Phobos build errors because latest Phobos isn't compatible 
 with DMD 2.069.2*
How do I make it use ../dmd and ../phobos? I've looked at CONTRIBUTING.md and the Wiki and I don't see this explained anywhere. All I want to do is test DDox with local dlang.org changes and local Phobos changes.
I don't know whether this helps you, but I underwent the same troubles and couldn't find a solution either. The bright sight is that I use ArchLinux with the most recent dmd version, so the downloads run through smoothly and afaict it picks up my local version of phobos in phobos-prerelease.
Mar 15 2016
prev sibling next sibling parent reply Jakob Ovrum <jakobovrum gmail.com> writes:
On Tuesday, 15 March 2016 at 11:15:12 UTC, Jakob Ovrum wrote:
 All I want to do is test DDox with local dlang.org changes and 
 local Phobos changes.
Bump. Please help. If Martin is the only one who understands the makefile then we have a serious problem.
Mar 22 2016
next sibling parent reply Piotrek <starpit tlen.pl> writes:
On Tuesday, 22 March 2016 at 23:23:56 UTC, Jakob Ovrum wrote:
 Bump. Please help. If Martin is the only one who understands 
 the makefile then we have a serious problem.
Makefiles are for chosen people. That's why I suggested moving to a d build system. However I'm aware it's not political correct. Piotrek
Mar 24 2016
parent reply "H. S. Teoh via Digitalmars-d" <digitalmars-d puremagic.com> writes:
On Thu, Mar 24, 2016 at 06:51:32PM +0000, Piotrek via Digitalmars-d wrote:
 On Tuesday, 22 March 2016 at 23:23:56 UTC, Jakob Ovrum wrote:
Bump. Please help. If Martin is the only one who understands the
makefile then we have a serious problem.
Makefiles are for chosen people. That's why I suggested moving to a d build system. However I'm aware it's not political correct.
[...] Since when? I thought a year or two ago, when the same discussion came up, people seemed amiable to the idea of a D-based build system. Of course, actually implementing a compelling candidate for such a system is another story. T -- "Computer Science is no more about computers than astronomy is about telescopes." -- E.W. Dijkstra
Mar 24 2016
parent Atila Neves <atila.neves gmail.com> writes:
On Thursday, 24 March 2016 at 18:56:00 UTC, H. S. Teoh wrote:
 On Thu, Mar 24, 2016 at 06:51:32PM +0000, Piotrek via 
 Digitalmars-d wrote:
 On Tuesday, 22 March 2016 at 23:23:56 UTC, Jakob Ovrum wrote:
Bump. Please help. If Martin is the only one who understands 
the makefile then we have a serious problem.
Makefiles are for chosen people. That's why I suggested moving to a d build system. However I'm aware it's not political correct.
[...] Since when? I thought a year or two ago, when the same discussion came up, people seemed amiable to the idea of a D-based build system. Of course, actually implementing a compelling candidate for such a system is another story. T
There was this: http://forum.dlang.org/post/kjbmzcnhhzlimfkjcsan forum.dlang.org Atila
Mar 29 2016
prev sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 03/22/2016 07:23 PM, Jakob Ovrum wrote:
 On Tuesday, 15 March 2016 at 11:15:12 UTC, Jakob Ovrum wrote:
 All I want to do is test DDox with local dlang.org changes and local
 Phobos changes.
Bump. Please help. If Martin is the only one who understands the makefile then we have a serious problem.
I understand the makefile. So I see you tried make -f posix.mak apidocs-serve LATEST=2.070.2 Let's first try: make -f posix.mak LATEST=2.070.2 Building the latest documentation in /path/to/dlang.org assumes you have /path/to/dmd, /path/to/druntime, and /path/to/phobos synced up. If they are out of sync, things won't work. Regarding the redundant download - I complained about that to Martin (particularly since we already have a different mechanism for loading specific versions of dmd/druntime/phobos) and he said to not worry about it, it's a small download. I mildly disagree with him, but there's only so many hours in the day. I'd welcome a PR to fix that. So get a clean tree and build it. If there are errors paste the output. Andrei
Mar 24 2016
parent Jakob Ovrum <jakobovrum gmail.com> writes:
Thanks all for the responses.

On Thursday, 24 March 2016 at 19:26:54 UTC, Andrei Alexandrescu 
wrote:
 On 03/22/2016 07:23 PM, Jakob Ovrum wrote:
 On Tuesday, 15 March 2016 at 11:15:12 UTC, Jakob Ovrum wrote:
 All I want to do is test DDox with local dlang.org changes 
 and local
 Phobos changes.
Bump. Please help. If Martin is the only one who understands the makefile then we have a serious problem.
I understand the makefile. So I see you tried make -f posix.mak apidocs-serve LATEST=2.070.2 Let's first try: make -f posix.mak LATEST=2.070.2 Building the latest documentation in /path/to/dlang.org assumes you have /path/to/dmd, /path/to/druntime, and /path/to/phobos synced up. If they are out of sync, things won't work.
I was under the impression that it was trying to build the docs for my local Phobos with DMD 2.069, which of course won't work, but I must have misunderstood, because I don't think it does that.
 Regarding the redundant download - I complained about that to 
 Martin (particularly since we already have a different 
 mechanism for loading specific versions of dmd/druntime/phobos) 
 and he said to not worry about it, it's a small download. I 
 mildly disagree with him, but there's only so many hours in the 
 day. I'd welcome a PR to fix that.
It's more confusing than anything. It's hard to tell what goes wrong when building the docs builds like 6? big codebases.
Mar 26 2016
prev sibling next sibling parent Vladimir Panteleev <thecybershadow.lists gmail.com> writes:
On Tuesday, 15 March 2016 at 11:15:12 UTC, Jakob Ovrum wrote:
 I used to contribute to dlang.org now and then before the 
 makefile revamp. Now every time I try, I end up fighting with 
 the makefile.

 make -f posix.mak apidocs-serve
 LATEST=2.070.2 <-- place in the command line to skip network 
 traffic
 *starts downloading crap from downloads.dlang.org that I 
 already have*
Alright, let's try that again.
 make -f posix.mak apidocs-serve LATEST=2.070.2
 *still downloads crap I already have*
 *Phobos build errors because latest Phobos isn't compatible 
 with DMD 2.069.2*
How do I make it use ../dmd and ../phobos? I've looked at CONTRIBUTING.md and the Wiki and I don't see this explained anywhere. All I want to do is test DDox with local dlang.org changes and local Phobos changes.
What is it downloading? It needs to get the stable versions of dmd/phobos to build the stable documentation. It places those in ../{dmd,phobos,druntime}-$LATEST. It also needs to have a host D compiler to build DMD. I don't remember what the default is, but IIRC you can set either HOST_DMD to the full path to a working DMD binary, or AUTO_BOOTSTRAP=1 to have it download one. (BTW, Digger can build dlang.org if you specify --with=website, but it will also download stuff you may already have.)
Mar 24 2016
prev sibling parent reply Jakob Ovrum <jakobovrum gmail.com> writes:
On Tuesday, 15 March 2016 at 11:15:12 UTC, Jakob Ovrum wrote:
 All I want to do is test DDox with local dlang.org changes and 
 local Phobos changes.
Now I'm hitting an old issue again - whether using the default make target or apidocs-serve, DDox doesn't seem to generate updated docs when I make changes in Phobos after the first build, while the DDoc output *does* update. i.e. make root/dlang.org with default target, edit root/phobos in a way that changes generated documentation, then make the docs again. root/dlang.org/web/phobos-prerelease/ will be updated but root/dlang.org/web/library-prerelease/ will remain unchanged from the first build. It works when rebuilding after make clean, which of course takes a significant amount of time.
Mar 26 2016
parent Vladimir Panteleev <thecybershadow.lists gmail.com> writes:
On Sunday, 27 March 2016 at 06:05:08 UTC, Jakob Ovrum wrote:
 On Tuesday, 15 March 2016 at 11:15:12 UTC, Jakob Ovrum wrote:
 All I want to do is test DDox with local dlang.org changes and 
 local Phobos changes.
Now I'm hitting an old issue again - whether using the default make target or apidocs-serve, DDox doesn't seem to generate updated docs when I make changes in Phobos after the first build, while the DDoc output *does* update. i.e. make root/dlang.org with default target, edit root/phobos in a way that changes generated documentation, then make the docs again. root/dlang.org/web/phobos-prerelease/ will be updated but root/dlang.org/web/library-prerelease/ will remain unchanged from the first build. It works when rebuilding after make clean, which of course takes a significant amount of time.
Yeah, DDox doesn't track dependencies. For apidocs-serve, I think regenerating the JSON file should be enough.
Mar 27 2016