Announcement

Collapse
No announcement yet.

Meson: A Next-Gen Build System Showing Promise

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Meson: A Next-Gen Build System Showing Promise

    Phoronix: Meson: A Next-Gen Build System Showing Promise

    Meson is a new, open-source build system under development showing good results over the likes of SCons...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Faster no-op builds are always great, so let's see how this evolves. Jussi Pakkanen admits there is a dependency bug, so maybe things become slower when that bug (and similar bugs) is (are) fixed.

    Assuming 0.04s is the all-inclusive "scan any transitive dependency file to see if it was changed since the last build", that's impressive. If there's a bug that results in only 1% of the dependant files being checked, then it's? well, useless right now.

    Also, please don't forget functional requirements for a build system. See for example https://wiki.debian.org/UpstreamGuide#SCons for why Debian thinks scons is not a good build system. If Meson gets those things right, cool!

    I haven't actually tried this, so it may very well be a very nice project. Just my thoughts when I read about a new and very fast build system. :-)

    Comment


    • #3
      I've always wished someone would try to do a pythonic build system. Scons is derived from a Perl build tool, Waf is really object oriented, etc. Meson likes its build files.

      I wonder why we don't have just a pip package build tool that you just import and it does the build stuff. Maybe you set some global variables and let it go. I just get the feeling from using Scons and Waf it does a lot of premature optimization for big projects - albeit, I'm just armchairing here, and need the free time to take a month writing yet another build system™. It is just that all these python based build utilties (yeah, I watched the fosdem vid and read the tutorial) come off as "make a build tool modeled after <something else> in python, rather than make a build tool in python to replace <something else>".

      Comment


      • #4
        The design goals of Meson are remarkably similar to Waf's. Has anyone compared the two in depth?

        Waf, by the way, has changed my life. It is exactly true that it's ridiculous to try to incorporate a dedicated programming language into a build system when there already are terrific dynamic languages out there, such as Python. With Waf, it's a pleasure to be able to do everything I need to do in my build script. And of course its built-in API handles so many important (and complicated) build tasks for me. What would Meson do differently?

        Comment


        • #5
          Meson is written in Python 3 and is designed to be high-performance
          One can't use "Python" and "high performance" in the same sentence unless it's a PR substitute for "not (too) slow".

          Comment


          • #6
            Originally posted by mark45 View Post
            One can't use "Python" and "high performance" in the same sentence unless it's a PR substitute for "not (too) slow".
            No, its not.

            Just like with JS. Or any other language for that matter.

            90% of computation is done in 10% of code.
            And You never know which one that will be before hand.


            For that critical part one can use C.
            (And also You gain smaller code for that 90% -> less bugs)

            Comment


            • #7
              How does Meson compare to http://community.haskell.org/~ndm/shake/ which is currently all the rage in the Haskell community?

              Comment


              • #8
                Originally posted by zanny View Post
                I've always wished someone would try to do a pythonic build system. Scons is derived from a Perl build tool, Waf is really object oriented, etc. Meson likes its build files.

                I wonder why we don't have just a pip package build tool that you just import and it does the build stuff. Maybe you set some global variables and let it go. I just get the feeling from using Scons and Waf it does a lot of premature optimization for big projects - albeit, I'm just armchairing here, and need the free time to take a month writing yet another build system™. It is just that all these python based build utilties (yeah, I watched the fosdem vid and read the tutorial) come off as "make a build tool modeled after <something else> in python, rather than make a build tool in python to replace <something else>".
                There is GYP of Google.

                I personally use it and think it is clean and awesome. Mostly automated and high level yet still I can easily add rules for my custom compilation targets (e.g. compiling a Qt resource file) like I can do in a makefile.

                It needs a little more time to mature though.

                Comment


                • #9
                  Re

                  There is also Gradle which is way more powerful and stable...

                  Comment


                  • #10
                    Requires python -> instantly dropped.

                    Why yes, I've had really bad experiences with scons, waf, jam, cmake, and other build systems of the week.

                    Comment

                    Working...
                    X