-
-
Notifications
You must be signed in to change notification settings - Fork 386
Update host compiler to 2.087 #2693
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Thanks for your pull request and interest in making D better, @JinShil! We are looking forward to reviewing it, and you should be hearing from a maintainer soon.
Please see CONTRIBUTING.md for more information. If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment. Bugzilla referencesYour PR doesn't reference any Bugzilla issue. If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog. |
|
This looks ready to go. Please note that this is likely to cause some disruption as public imports suddenly start appearing in the documentation. I'll do my best be attentive to any issues and solve them if I can. |
|
We should arguably be using master for this, but I don't know that that's my call, and I'm not sure how to implement that in the makefile. This was an easy fix and keeps development moving at least for a while. |
|
Actually, I think it should already be using dmd master, if you look for the |
Co-Authored-By: Petar Kirov <petar.p.kirov@gmail.com>
|
PR title is misleading, this is simply the version used to build the stable docs, not the host DMD version used to build DMD. |
I'm sorry. I didn't realize there was an intermediate step of bootstrapping the compiler. In fact, I still don't get it. The build procedure seems to build master with a 2.079 bootstrap compiler but then downloads the STABLE_DMD_VER to build the docs. Why? I don't know. |
Don't worry about it.
This is optional. The official way to build DMD is to download an older binary release of DMD from dlang.org and use that. Bootstrapping is only needed when the user wishes to avoid using unauditable binaries of any kind, or when porting DMD to a new platform (where cross-compiling is not feasible).
The host DMD version used to build the compiler in git master is as old as possible (and is bumped as rarely as possible) to ensure that the number of steps for from-source bootstrapping is as small as possible.
The stable docs are built with a stable (non-git) version of the compiler. A better question may be why we're not using the compiler version matching the version of the docs being built; the answer to that is probably to minimize the total amount of DMD versions downloaded and cached across many dlang.org builds. |
|
@CyberShadow I understand that, but why is the procedure building DMD and then downloading STABLE_DMD_VER to build the docs? Edit: Shouldn't it be using the DMD binary it just built? |
|
We build master docs and stable docs on dlang.org. Master docs are built with master dmd, stable docs are built with "stable DMD". |
|
Ok, I see now. Thank you. |
|
The stable docs are not built with DMD master to ensure that they remain readable after DMD changes which change the DDoc output. There've been a few over the years, and we'll probably see more with upcoming additional Markdown support. |
|
Should we be using DMD_LATEST to build the stable docs? |
|
Possibly. I'm not sure why we're not doing that. @wilzbach Would you happen to know? |
|
In the past we needed to lock the DMD version used to build ddox as vibe.d couldn't be built with the latest release. For the same reason, it still makes sense imho to use a fixed version. Though now that we have the project tester, I guess we could use DMD_LATEST or even master. OTOH we can't use 2.079, because that was too old and buggy for building ddox and friends. IIRC e.g. it has a dub version without the mirror support and I am not sure whether 2.079 even can build latest vibe.d. |
|
BTW markdown has already been enabled: #2665 |
We need 2.087 to support documenting public imports.
dlang/dmd#9068
https://dlang.org/changelog/2.087.0.html