If you need help, I'm available and very familiar with meson.

On 21.10.23 05:24, tobia...@gmx.de wrote:
https://github.com/sagemath/sage/pull/36489 now implements a basic meson setup that replaces autoconf for sage library. Given the complexities mentioned above, I've restricted attention to when all the dependencies are provided via conda, which reduced the problem to something manageable. Thus, with this the build looks as follows: use conda to setup all dependencies, use meson to get a few config settings needed, then use setuptools to install sage library. Of course, the last step you ideally also want to replace with meson. Would love to collaborate on this.
On Wednesday, May 3, 2023 at 3:28:12 AM UTC+8 Michael Orlitzky wrote:

    On Tue, 2023-05-02 at 10:35 -0700, Volker Weißmann wrote:
    > Hello,
    >
    > I'm a developer that worked quite a bit with the meson build
    system and
    > looked at sagemath for a few days. I thought that redoing the build
    > system with meson instead of autoconf would be quite a bit of
    work, but
    > would
    >
    > 1. Be far, far more readable.
    > 2. Result in far faster incremental builds if very little has
    changed since
    > the last build.
    >
    > What do you think? Is this a good idea? Would you appreciate
    (and merge)
    > such an endeavour?
    >

    Meson is my second favorite build system, but there are a few
    obstacles
    to a rewrite:

    * Autotools is nicer for end users, because all you need to run it is
    a posix shell. The tradeoff is that writing autotools sucks for
    developers. It is however already written.

    * Related to the first item, meson has bootstrapping issues because
    it's written in python (which we use autotools to detect), and
    because meson sometimes introduces new features. If we use those
    new features then users need newer versions of meson which need
    newer versions of python... This is offset somewhat by the fact
    that we already have a set of bootstrap dependencies but it would
    be one more thing we'd have to worry about. (There is also a C99
    implementation of meson called muon.)

    * The ./configure && make process is "standard" and familiar to
    everyone while meson is less so. This could change in a few years.

    * The sage build system is perpetually in flux and it would be very
    hard to coordinate a rewrite.

    And the big one:

    * You probably haven't looked hard enough at the existing build
    system. We've got mountains of highly unusual autoconf code and
    hand-written Makefiles that all interact in weird ways with
    sage's own package manager. Meson makes the standard build tasks
    simple, but a lot of what we're doing is non-standard. Trying to
    rewrite those bits in meson might only make things worse.

    So I commend your bravery but I think you would waste a lot of time
    before eventually giving up. And IMO the benefits would be dubious.

    Some day we may reach a point where the sage library is an
    independent
    package with its own standard ./configure script that just looks for
    headers and libraries and substitutes strings into files. At that
    point
    this would be a less crazy idea.

--
You received this message because you are subscribed to a topic in the Google Groups "sage-devel" group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/sage-devel/D_Vv8dt811E/unsubscribe. To unsubscribe from this group and all its topics, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/82f72404-26f7-44a0-8ffc-a234f77e5b9fn%40googlegroups.com <https://groups.google.com/d/msgid/sage-devel/82f72404-26f7-44a0-8ffc-a234f77e5b9fn%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/c4ef8f6b-ebd0-405c-9ae9-5f13d4e6320a%40gmail.com.

Reply via email to