Re: [RFC PATCH v4 00/19] Modernize the build system

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Nov 11, 2024 at 11:36:30AM +0100, Patrick Steinhardt wrote:

> >   - Long-time Git contributors are going to be the ones who will most
> >     frequently use the new build system. I am definitely sympathetic to
> >     getting too comfortable with our existing tools, but so far in your
> >     response I have not seen a compelling reason to switch the project
> >     to use Meson.
> 
> Yes, that's certainly true. And while I think we should optimize more
> for newcomers as stated, I still think that Meson is very much
> preferable over Makefiles for long-time contributors, as well. The
> transition period may take some time, but in the end it just feels
> superior to Make from my poin of view.

The number one thing I care about as a developer is that the build is
_reliable_. Right now, if I move forwards and backwards in history and
type "make" I will almost[1] always get a correct result based on the
current tree, with the minimal required amount of building. This is
important for bisecting.

When I have worked on other projects, especially those that use
autotools, I quite frequently run into cases where building from a dirty
state cause bizarre problems that go away with a "git clean &&
./configure && make". But then bisection is _much_ slower because we're
building from scratch (not to mention that autoconf itself is
horrifically slow).

How does the meson build do here? I don't have any reason to think it
would be bad, but I am nervous of any change.

[1] I say "almost" because there are one or two spots in our history
    where you can run into link errors jumping over them. But for a
    20-year project that's not too bad, and they happen infrequently
    enough that I don't worry about it.

> Out of curiosity: did you try the Meson build? I personally have to say
> that I already prefer working with it because the workflow with it is so
> much nicer. It has nicer output, is faster, has out-of-tree builds,
> makes it easier to configure and test execution feels way nicer compared
> to my previous workflow with make.

I hadn't tried it. I did now, checking out origin/ps/build^ (to drop the
"seen" resolution topic), but it didn't work:

  $ meson setup build
  [...]
  Program msgfmt found: NO
  po/meson.build:3: WARNING: Gettext not found, all translation (po) targets will be ignored.

  po/meson.build:3:20: ERROR: Can not assign void to variable.

I guess the assignment of "translations" there needs to be made
conditional?

-Peff




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux