digitalmars.D - D infrastructure: make/cmake -> Meson ?
- Denis Feklushkin (11/11) Mar 17 2020 Hi!
- H. S. Teoh (10/14) Mar 17 2020 [...]
- Denis Feklushkin (9/23) Mar 17 2020 Strictly, Meson can use make to build, so, make will be
- Ben Jones (6/30) Mar 17 2020 Most of the Makefiles from dmd have been put into build.d and I
- Denis Feklushkin (4/20) Mar 17 2020 Mmmm. build.d contains 1692 lines of code...
- MoonlightSentinel (4/5) Mar 17 2020 To put this in perspective:
- MoonlightSentinel (3/5) Mar 17 2020 EDIT: lines, not LOC
- Mathias Lang (13/24) Mar 17 2020 The community has put a lot of effort over the year to transition
- Denis Feklushkin (10/39) Mar 17 2020 DUB becomes to substitute make for druntime and phobos?
- Denis Feklushkin (3/5) Mar 18 2020 This is used not for something like simplification of compiler
Hi! Will community accept PRs for switching build of druntime, Phobos, maybe DMD and maybe LDC from make/cmake to Meson build system? An important condition: current build system should be abandoned immediately after sucessful testing of new build system. This should not be a parallel existence of several build systems, because it will not give any advantages but will strengthen disadvantages. Related: https://forum.dlang.org/post/oyuxvperqmddgndvmlyx forum.dlang.org
Mar 17 2020
On Tue, Mar 17, 2020 at 05:53:46PM +0000, Denis Feklushkin via Digitalmars-d wrote:Hi! Will community accept PRs for switching build of druntime, Phobos, maybe DMD and maybe LDC from make/cmake to Meson build system?[...] The problem with replacement build systems is that everyone agrees that `make` sux, but everyone has a different opinion about what's the best replacement. So while I applaud the effort to abandon make, unless you can get unanimous agreement on which replacement build system to use, it's probably not going to happen. Unfortunately. T -- The fact that anyone still uses AOL shows that even the presence of options doesn't stop some people from picking the pessimal one. - Mike Ellis
Mar 17 2020
On Tuesday, 17 March 2020 at 18:14:50 UTC, H. S. Teoh wrote:On Tue, Mar 17, 2020 at 05:53:46PM +0000, Denis Feklushkin via Digitalmars-d wrote:Strictly, Meson can use make to build, so, make will be presented, but its role will be decreased. The current situation with make is dead end: everyone sees that there is a lot of copy-pasted code inside of make scripts, but no one wants to deal with it. I believe that this suggests that it is time to get rid of make. Against cmake community "voted": if we would have liked cmake it would already have been merged from LDC branches.Hi! Will community accept PRs for switching build of druntime, Phobos, maybe DMD and maybe LDC from make/cmake to Meson build system?[...] The problem with replacement build systems is that everyone agrees that `make` sux, but everyone has a different opinion about what's the best replacement. So while I applaud the effort to abandon make, unless you can get unanimous agreement on which replacement build system to use, it's probably not going to happen. Unfortunately.
Mar 17 2020
On Tuesday, 17 March 2020 at 18:21:43 UTC, Denis Feklushkin wrote:On Tuesday, 17 March 2020 at 18:14:50 UTC, H. S. Teoh wrote:Most of the Makefiles from dmd have been put into build.d and I think for all targets now, the makefile just forwards to build.d. Might be worth doing something similar for druntime? Seems easiest to convince people here to switch to D rather than something else.On Tue, Mar 17, 2020 at 05:53:46PM +0000, Denis Feklushkin via Digitalmars-d wrote:Strictly, Meson can use make to build, so, make will be presented, but its role will be decreased. The current situation with make is dead end: everyone sees that there is a lot of copy-pasted code inside of make scripts, but no one wants to deal with it. I believe that this suggests that it is time to get rid of make. Against cmake community "voted": if we would have liked cmake it would already have been merged from LDC branches.Hi! Will community accept PRs for switching build of druntime, Phobos, maybe DMD and maybe LDC from make/cmake to Meson build system?[...] The problem with replacement build systems is that everyone agrees that `make` sux, but everyone has a different opinion about what's the best replacement. So while I applaud the effort to abandon make, unless you can get unanimous agreement on which replacement build system to use, it's probably not going to happen. Unfortunately.
Mar 17 2020
On Tuesday, 17 March 2020 at 19:07:53 UTC, Ben Jones wrote:Mmmm. build.d contains 1692 lines of code... By the way, I think it will be more productive to rewrite Meson whole on D.Strictly, Meson can use make to build, so, make will be presented, but its role will be decreased. The current situation with make is dead end: everyone sees that there is a lot of copy-pasted code inside of make scripts, but no one wants to deal with it. I believe that this suggests that it is time to get rid of make. Against cmake community "voted": if we would have liked cmake it would already have been merged from LDC branches.Most of the Makefiles from dmd have been put into build.d and I think for all targets now, the makefile just forwards to build.d. Might be worth doing something similar for druntime? Seems easiest to convince people here to switch to D rather than something else.
Mar 17 2020
On Tuesday, 17 March 2020 at 19:14:07 UTC, Denis Feklushkin wrote:Mmmm. build.d contains 1692 lines of code...To put this in perspective: The actual target definitions need <500 LOC (comments included) and work for Posix + Windows.
Mar 17 2020
On Tuesday, 17 March 2020 at 19:43:48 UTC, MoonlightSentinel wrote:The actual target definitions need <500 LOC (comments included) and work for Posix + Windows.EDIT: lines, not LOC
Mar 17 2020
On Tuesday, 17 March 2020 at 17:53:46 UTC, Denis Feklushkin wrote:Hi! Will community accept PRs for switching build of druntime, Phobos, maybe DMD and maybe LDC from make/cmake to Meson build system? An important condition: current build system should be abandoned immediately after sucessful testing of new build system. This should not be a parallel existence of several build systems, because it will not give any advantages but will strengthen disadvantages. Related: https://forum.dlang.org/post/oyuxvperqmddgndvmlyx forum.dlang.orgThe community has put a lot of effort over the year to transition to `build.d` and friends. While it originally felt very NIH, it works and the situation is much better than it used to be, so I came to like it more and more. We actually ended up doing the same thing in dub a few months ago (https://github.com/dlang/dub/commit/3115922a933b7a00a85e112d1ebb18529f3919cb), and when it comes to cross-platform, it felt like a big step up. To me it seems like the contributors have already voted on this way. Also abandoning the current build system *immediately* is out of the question. There is too much out there that depends on it. Packages, digger, other kind of tools. It's just a big nuisance for everyone involved. The benefit of switching to a (allegedly) better build system would be dwarfed by the amount of breakage it'd cause.
Mar 17 2020
On Wednesday, 18 March 2020 at 05:01:24 UTC, Mathias Lang wrote:On Tuesday, 17 March 2020 at 17:53:46 UTC, Denis Feklushkin wrote:Anyway, we build it not directly but calling make with makefiles.Hi! Will community accept PRs for switching build of druntime, Phobos, maybe DMD and maybe LDC from make/cmake to Meson build system? An important condition: current build system should be abandoned immediately after sucessful testing of new build system. This should not be a parallel existence of several build systems, because it will not give any advantages but will strengthen disadvantages. Related: https://forum.dlang.org/post/oyuxvperqmddgndvmlyx forum.dlang.orgThe community has put a lot of effort over the year to transition to `build.d` and friends. While it originally felt very NIH, it works and the situation is much better than it used to be, so I came to like it more and more.We actually ended up doing the same thing in dub a few months ago (https://github.com/dlang/dub/commit/3115922a933b7a00a85e11 d1ebb18529f3919cb), and when it comes to cross-platform, it felt like a big step up. To me it seems like the contributors have already voted on this way.DUB becomes to substitute make for druntime and phobos?Also abandoning the current build system *immediately*Of course we give time to maintainers. Just during this time we will forced to support two build systems and this will complicate codebase changes even more.is out of the question. There is too much out there that depends on it. Packages, digger, other kind of tools. It's just a big nuisance for everyone involved. The benefit of switching to a (allegedly) better build system would be dwarfed by the amount of breakage it'd cause.Not the fact that such a breakdown will happen. As a result file Meson is able to generate a Makefile that running by usual way, but some of the targets may change their name of course, and env options also will be changed.
Mar 17 2020
On Wednesday, 18 March 2020 at 05:01:24 UTC, Mathias Lang wrote:The community has put a lot of effort over the year to transition to `build.d` and friends.This is used not for something like simplification of compiler bootstrapping?
Mar 18 2020