Re: [-SPAM-] [PATCH RFC v6 00/19] Modernize the build system

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

 




On 12/11/2024 17:02, Patrick Steinhardt wrote:
> Hi,
> 
> this patch series modernizes our build infrasturcture. It refactors
> various parts of it to make it possible to perform out-of-tree builds in
> theory.
> 
> The series then continues to wire up Meson as a proposed alternative as
> a modern replacement for our current build systems. It provides better
> integration into IDEs than our Makefiles, better usability than our
> Makefiles and CMake, better configuration and discoverability thereof
> than autoconf and CMake (which is of course my personal opinion).
> 
> The intent is to have Meson replace autoconf, which is mostly unused and
> broken. Eventually, the plan would to also replace CMake and our
> Makefiles in case we figure out that this replacement is indeed a net
> benefit for the project, but all of this would happen over the course of
> multiple releases.
> 
> Changes in v6:
> 
>   - Add documentation for how to use Meson.
> 
>   - Fix compilation in case libintl exists, but required tools like
>     msgfmt and related don't. Instead of failing, we now automatically
>     compile with the equivalent of NO_GETTEXT=YesPlease.
> 
>   - Update last patch that fixes semantic merge conflics with in-flight
>     topics in "seen".
> 
>   - I've changed the series to be based on "master" at b31fb630c0 (Merge
>     https://github.com/j6t/git-gui, 2024-11-11) as all prereqs of this
>     series have since landed. This doesn't make any difference though
>     as there aren't any merge conflicts or additional changes caused by
>     this. I mostly mention this so that there is no confusion around the
>     changed base commit.
> 

Tested this version, without issue, on Linux and cygwin (build + test).

On cygwin, the unit test now no longer times out:

  $ cd git/build
  $ tail test-out
  1030/1030 t9902-completion                               OK             114.74s

  Ok:                 1030
  Expected Fail:      0   
  Fail:               0   
  Unexpected Pass:    0   
  Skipped:            0   
  Timeout:            0   

  Full log written to /home/ramsay/git/build/meson-logs/testlog.txt
  $ 

Having said that, I was expecting to see an 'Unexpected Pass', since
meson decides to not set NO_REGEX. (The 'make' build on cygwin will
set 'NO_REGEX = UnfortunatelyYes' in the config.mak.uname).

In the meson-logs/testlog.txt file, for the t7815-grep-binary.sh test
stdout, we find:

----------------------------------- stdout -----------------------------------
ok 1 - setup
ok 2 - git grep ina a
ok 3 - git grep -ah ina a
ok 4 - git grep -I ina a
ok 5 - git grep -c ina a
ok 6 - git grep -l ina a
ok 7 - git grep -L bar a
ok 8 - git grep -q ina a
ok 9 - git grep -F ile a
ok 10 - git grep -Fi iLE a
ok 11 - git grep ile a
ok 12 - git grep .fi a # TODO known breakage vanished
ok 13 - grep respects binary diff attribute
ok 14 - grep --cached respects binary diff attribute
ok 15 - grep --cached respects binary diff attribute (2)
ok 16 - grep revision respects binary diff attribute
ok 17 - grep respects not-binary diff attribute
ok 18 - setup textconv filters
ok 19 - grep does not honor textconv
ok 20 - grep --textconv honors textconv
ok 21 - grep --no-textconv does not honor textconv
ok 22 - grep --textconv blob honors textconv
# 1 known breakage(s) vanished; please update test(s)
# passed all remaining 21 test(s)
1..22
==============================================================================

Note the 'TODO known breakage vanished' on test 12.

Setting NO_REGEX on cygwin is for 'reasons' (not necessarily good) and we
need a way to override it's decision here. (In general, we need to be able
to use *any* of the many build variables to override meson's automatic
setting of these build variables).


Thanks!

ATB,
Ramsay Jones







[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