git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Patrick Steinhardt <ps@pks.im>
To: git@vger.kernel.org
Cc: Eli Schwartz <eschwartz@gentoo.org>
Subject: [RFC PATCH 01/21] Documentation: add comparison of build systems
Date: Wed, 2 Oct 2024 17:15:36 +0200	[thread overview]
Message-ID: <508e3783d284fd2d3bd4840907ed0bdc20bc1b23.1727881164.git.ps@pks.im> (raw)
In-Reply-To: <cover.1727881164.git.ps@pks.im>

We're contemplating whether to eventually replace our build systems with
a build system that is easier to use. Add a comparison of build systems
to our technical documentation as a baseline for discussion.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
---
 Documentation/Makefile                    |   1 +
 Documentation/technical/build-systems.txt | 164 ++++++++++++++++++++++
 2 files changed, 165 insertions(+)
 create mode 100644 Documentation/technical/build-systems.txt

diff --git a/Documentation/Makefile b/Documentation/Makefile
index 0f55baa252..e23cffb5f9 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -111,6 +111,7 @@ TECH_DOCS += MyFirstObjectWalk
 TECH_DOCS += SubmittingPatches
 TECH_DOCS += ToolsForGit
 TECH_DOCS += technical/bitmap-format
+TECH_DOCS += technical/build-systems
 TECH_DOCS += technical/bundle-uri
 TECH_DOCS += technical/hash-function-transition
 TECH_DOCS += technical/long-running-process-protocol
diff --git a/Documentation/technical/build-systems.txt b/Documentation/technical/build-systems.txt
new file mode 100644
index 0000000000..8fac36ce1d
--- /dev/null
+++ b/Documentation/technical/build-systems.txt
@@ -0,0 +1,164 @@
+= Build Systems
+
+The build system is the primary way for both developers and system integrators
+to interact with the Git project. As such, we consider it important to pick a
+build system that fulfills our requirements while being easy to use and extend.
+
+This document outlines the different requirements that we have for the build
+system and then compares available build systems using these criteria.
+
+== Requirements
+
+The following subsections prevent a list of requirements that we have for any
+potential build system. Sections are sorted by decreasing priority, even though
+these priorities will naturally differ between users.
+
+=== Platform support
+
+The most important criterium is whether the build system supports all of the
+platforms that Git supports. The most important platforms include:
+
+  - Linux
+  - macOS
+  - Windows
+  - FreeBSD
+  - OpenBSD
+  - NetBSD
+
+The platforms which must be supported by the tool should be aligned with our
+[platform support policy](platform-support.txt).
+
+=== Auto-detection of supported features
+
+The build system MUST support auto-detection of features which are or aren't
+available on the current platform. Platform maintainers should not be required
+to manually configure the complete build.
+
+Auto-detection of the following items is considered to be important:
+
+  - Check for the existence of headers.
+  - Check for the existence of libraries.
+  - Check for the existence of exectuables.
+  - Check for the runtime behavior of specific functions.
+
+=== Ease of use
+
+The build system SHOULD be both easy to use and easy to extend. While this is
+naturally a subjective metric it is likely not controversial to say that some
+build systems are considerably harder to use than others.
+
+=== IDE support
+
+The build system SHOULD integrate with well-known IDEs. Well-known IDEs include:
+
+  - Microsoft Visual Studio
+  - Visual Studio Code
+  - Xcode
+
+There are four levels of support:
+
+  - Native integration into the IDE.
+  - Integration into the IDE via a plugin.
+  - Integration into the IDE via generating a project description with the build
+    system.
+  - No integration.
+
+Native integration is preferable, but integration via either a plugin or by
+generating a project description via the build system are considered feasible
+alternatives.
+
+Another important distinction is the level of integration. There are two
+features that one generally wants to have:
+
+  - Integration of build targets.
+  - Automatic setup of features like code completion with detected build
+    dependencies.
+
+The first bullet point is the bare minimum, but is not sufficient to be
+considered proper integration.
+
+=== Out-of-tree builds
+
+The build system SHOULD support out-of-tree builds. Out-of-tree builds allow a
+developer to configure multiple different build directories with different
+configuration, e.g. one "debug" build and one "release" build.
+
+=== Rust support
+
+Many long-time Git contributors are nowadays in favor of adopting Rust as a
+second language next to C. The build system SHOULD thus support Rust such that
+we do not have to reopen the discussion once we decide to pick up Rust.
+
+== Comparison
+
+The following list of build systems are considered:
+
+- GNU Make
+- autoconf
+- CMake
+- Meson
+
+=== GNU Make
+
+- Platform support: ubitquitous on all platforms, but not well-integrated into Windows.
+- Auto-detection: no built-in support for auto-detection of features.
+- Ease of use: easy to use, but discovering available options is hard. Makefile
+  rules can quickly get out of hand once reaching a certain scope.
+- IDE support: execution of Makefile targets is supported by many IDEs
+- Out-of-tree builds: supported in theory, not wired up in practice.
+- Rust: can be added.
+
+=== autoconf
+
+- Platform support: ubiquitous on all platforms, but not well-integrated into Windows.
+- Auto-detection: supported.
+- Ease of use: easy to use, discovering available options is comparatively
+  easy. The autoconf syntax is prohibitively hard to extend though due to its
+  complex set of interacting files and the hard-to-understand M4 language.
+- IDE support: no integration into IDEs at generation time. The generated
+  Makefiles have the same level of support as GNU Make.
+- Out-of-tree builds: supported in theory, not wired up in practice.
+- Rust: not supported.
+
+=== CMake
+
+- Platform support: not as extensive as GNU Make or autoconf, but all major
+  platforms are supported.
+  - AIX
+  - Cygwin
+  - FreeBSD
+  - Linux
+  - OpenBSD
+  - Solaris
+  - Windows
+  - macOS
+- Ease of use: easy to use, discovering available options is not always
+  trivial. The scripting language used by CMake is somewhat cumbersome to use,
+  but extending CMake build instructions is doable.
+- IDE support: natively integrated into Microsoft Visual Studio. Can generate
+  project descriptions for Xcode. An extension is available for Visual Studio
+  Code. Many other IDEs have plugins for CMake.
+- Out-of-tree builds: supported.
+- Rust: not supported.
+
+=== Meson
+
+- Platform: not as extensive as GNU Make or autoconf, but all major platforms
+  and some smaller ones are supported.
+  - AIX
+  - Cygwin
+  - DragonflyBSD
+  - FreeBSD
+  - Haiku
+  - Linux
+  - NetBSD
+  - OpenBSD
+  - Solaris
+  - Windows
+  - macOS
+- Ease of use: easy to use, discovering available options is easy. The
+  scripting language is straight-forward to use.
+- IDE support: Supports generating build instructions for Xcode and Microsoft
+  Visual Studio, a plugin exists for Visual Studio Code.
+- Out-of-tree builds: supported.
+- Rust: supported.
-- 
2.47.0.rc0.dirty


  reply	other threads:[~2024-10-02 15:15 UTC|newest]

Thread overview: 386+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-02 15:15 [RFC PATCH 00/21] Modernize the build system Patrick Steinhardt
2024-10-02 15:15 ` Patrick Steinhardt [this message]
2024-10-02 18:14   ` [RFC PATCH 01/21] Documentation: add comparison of build systems Junio C Hamano
2024-10-06 20:14     ` Eli Schwartz
2024-10-07 10:18     ` Patrick Steinhardt
2024-10-07 21:08       ` Junio C Hamano
2024-10-02 20:24   ` Eric Sunshine
2024-10-07 10:17     ` Patrick Steinhardt
2024-10-02 15:15 ` [RFC PATCH 02/21] t/test-lib: fix quoting of TEST_RESULTS_SAN_FILE Patrick Steinhardt
2024-10-02 15:15 ` [RFC PATCH 03/21] t/lib-gitweb: test against the build version of gitweb Patrick Steinhardt
2024-10-02 15:15 ` [RFC PATCH 04/21] t/lib-gpg: fix setup of GNUPGHOME in MinGW Patrick Steinhardt
2024-10-02 21:49   ` Eric Sunshine
2024-10-07 10:18     ` Patrick Steinhardt
2024-10-02 15:15 ` [RFC PATCH 05/21] t3404: work around platform-specific behaviour on macOS 10.15 Patrick Steinhardt
2024-10-02 21:43   ` Eric Sunshine
2024-10-03 15:15     ` Phillip Wood
2024-10-03 22:22       ` Eric Sunshine
2024-10-03 23:19         ` Junio C Hamano
2024-10-07 10:18           ` Patrick Steinhardt
2024-10-07 10:18       ` Patrick Steinhardt
2024-10-07 10:18     ` Patrick Steinhardt
2024-10-02 15:15 ` [RFC PATCH 06/21] t/unit-tests: update clar unit test framework Patrick Steinhardt
2024-10-02 15:15 ` [RFC PATCH 07/21] t/clar: simplify how the clar derives `struct stat` Patrick Steinhardt
2024-10-02 15:16 ` [RFC PATCH 08/21] builtin/credential-cache: fix missing parameter for stub function Patrick Steinhardt
2024-10-02 15:16 ` [RFC PATCH 09/21] http: fix build error on FreeBSD Patrick Steinhardt
2024-10-02 15:16 ` [RFC PATCH 10/21] Makefile: extract script to generate clar declarations Patrick Steinhardt
2024-10-02 15:16 ` [RFC PATCH 11/21] Makefile: extract script to massage Perl scripts Patrick Steinhardt
2024-10-02 15:16 ` [RFC PATCH 12/21] Makefile: refactor GIT-VERSION-GEN to be reusable Patrick Steinhardt
2024-10-02 15:16 ` [RFC PATCH 13/21] Makefile: refactor generators to be PWD-independent Patrick Steinhardt
2024-10-02 15:16 ` [RFC PATCH 14/21] Makefile: use common template for GIT-BUILD-OPTIONS Patrick Steinhardt
2024-10-02 15:16 ` [RFC PATCH 15/21] Makefile: consistently use @PLACEHOLDER@ to substitute Patrick Steinhardt
2024-10-08 14:04   ` Phillip Wood
2024-10-08 14:23     ` Patrick Steinhardt
2024-10-02 15:16 ` [RFC PATCH 16/21] Makefile: consistently use PERL_PATH Patrick Steinhardt
2024-10-02 15:16 ` [RFC PATCH 17/21] Makefile: allow "bin-wrappers/" directory to exist Patrick Steinhardt
2024-10-02 15:16 ` [RFC PATCH 18/21] Makefile: simplify building of templates Patrick Steinhardt
2024-10-02 15:16 ` [RFC PATCH 19/21] t: better support for out-of-tree builds Patrick Steinhardt
2024-10-02 15:16 ` [RFC PATCH 20/21] t: allow overriding build dir Patrick Steinhardt
2024-10-08 14:04   ` Phillip Wood
2024-10-08 14:23     ` Patrick Steinhardt
2024-10-02 15:16 ` [RFC PATCH 21/21] Introduce support for the Meson build system Patrick Steinhardt
2024-10-08 14:11 ` [RFC PATCH 00/21] Modernize the " Phillip Wood
2024-10-08 14:23   ` Patrick Steinhardt
2024-10-09 14:56 ` [RFC PATCH v2 00/24] Modernize our " Patrick Steinhardt
2024-10-09 14:56   ` [RFC PATCH v2 01/24] t/test-lib: fix quoting of TEST_RESULTS_SAN_FILE Patrick Steinhardt
2024-10-09 14:56   ` [RFC PATCH v2 02/24] t/test-lib: wire up NO_ICONV prerequisite Patrick Steinhardt
2024-10-09 14:56   ` [RFC PATCH v2 03/24] t/lib-gitweb: test against the build version of gitweb Patrick Steinhardt
2024-10-09 14:56   ` [RFC PATCH v2 04/24] t/lib-gpg: fix setup of GNUPGHOME in MinGW Patrick Steinhardt
2024-10-09 14:56   ` [RFC PATCH v2 05/24] t1401: make invocation of tar(1) work with Win32-provided one Patrick Steinhardt
2024-10-09 14:56   ` [RFC PATCH v2 06/24] t3404: work around platform-specific behaviour on macOS 10.15 Patrick Steinhardt
2024-10-09 14:56   ` [RFC PATCH v2 07/24] t5500, t5601: skip tests which exercise paths with '[::1]' on Cygwin Patrick Steinhardt
2024-10-09 14:56   ` [RFC PATCH v2 08/24] t7300: work around platform-specific behaviour with long paths on MinGW Patrick Steinhardt
2024-10-09 14:56   ` [RFC PATCH v2 09/24] t/unit-tests: update clar unit test framework Patrick Steinhardt
2024-10-09 14:56   ` [RFC PATCH v2 10/24] builtin/credential-cache: fix missing parameter for stub function Patrick Steinhardt
2024-10-09 14:56   ` [RFC PATCH v2 11/24] http: fix build error on FreeBSD Patrick Steinhardt
2024-10-09 14:56   ` [RFC PATCH v2 12/24] Makefile: extract script to generate clar declarations Patrick Steinhardt
2024-10-09 14:56   ` [RFC PATCH v2 13/24] Makefile: extract script to massage Perl scripts Patrick Steinhardt
2024-10-09 14:56   ` [RFC PATCH v2 14/24] Makefile: refactor GIT-VERSION-GEN to be reusable Patrick Steinhardt
2024-10-09 14:56   ` [RFC PATCH v2 15/24] Makefile: refactor generators to be PWD-independent Patrick Steinhardt
2024-10-09 14:56   ` [RFC PATCH v2 16/24] Makefile: use common template for GIT-BUILD-OPTIONS Patrick Steinhardt
2024-10-09 14:56   ` [RFC PATCH v2 17/24] Makefile: consistently use @PLACEHOLDER@ to substitute Patrick Steinhardt
2024-10-09 14:56   ` [RFC PATCH v2 18/24] Makefile: consistently use PERL_PATH Patrick Steinhardt
2024-10-09 14:57   ` [RFC PATCH v2 19/24] Makefile: allow "bin-wrappers/" directory to exist Patrick Steinhardt
2024-10-09 14:57   ` [RFC PATCH v2 20/24] Makefile: simplify building of templates Patrick Steinhardt
2024-10-09 14:57   ` [RFC PATCH v2 21/24] t: better support for out-of-tree builds Patrick Steinhardt
2024-10-09 14:57   ` [RFC PATCH v2 22/24] t: allow overriding build dir Patrick Steinhardt
2024-10-09 14:57   ` [RFC PATCH v2 23/24] Documentation: add comparison of build systems Patrick Steinhardt
2024-10-14 15:23     ` Phillip Wood
2024-10-15 12:12       ` Patrick Steinhardt
2024-10-16 13:36         ` phillip.wood123
2024-10-17  9:36           ` Patrick Steinhardt
2024-10-17 10:58             ` Patrick Steinhardt
2024-10-09 14:57   ` [RFC PATCH v2 24/24] Introduce support for the Meson build system Patrick Steinhardt
2024-10-14  2:07     ` Eli Schwartz
2024-10-14  5:20       ` Patrick Steinhardt
2024-10-10  5:26   ` [RFC PATCH v2 00/24] Modernize our " Junio C Hamano
2024-10-10  5:28     ` Patrick Steinhardt
2024-10-10  5:49       ` Patrick Steinhardt
2024-10-12  2:04   ` Junio C Hamano
2024-10-12 15:58     ` Taylor Blau
2024-10-18 12:23 ` [RFC PATCH v3 00/15] Modernize the " Patrick Steinhardt
2024-10-18 12:23   ` [RFC PATCH v3 01/15] Makefile: use common template for GIT-BUILD-OPTIONS Patrick Steinhardt
2024-10-19  5:00     ` Eric Sunshine
2024-10-23 12:04       ` Patrick Steinhardt
2024-10-18 12:23   ` [RFC PATCH v3 02/15] Makefile: consistently use @PLACEHOLDER@ to substitute Patrick Steinhardt
2024-10-18 12:23   ` [RFC PATCH v3 03/15] Makefile: consistently use PERL_PATH Patrick Steinhardt
2024-10-18 12:23   ` [RFC PATCH v3 04/15] Makefile: extract script to massage Perl scripts Patrick Steinhardt
2024-10-18 12:24   ` [RFC PATCH v3 05/15] Makefile: use "generate-perl.sh" to massage Perl library Patrick Steinhardt
2024-10-18 12:24   ` [RFC PATCH v3 06/15] Makefile: extract script to massage Shell scripts Patrick Steinhardt
2024-10-18 12:24   ` [RFC PATCH v3 07/15] Makefile: extract script to generate gitweb.cgi Patrick Steinhardt
2024-10-18 12:24   ` [RFC PATCH v3 08/15] Makefile: refactor GIT-VERSION-GEN to be reusable Patrick Steinhardt
2024-10-18 12:24   ` [RFC PATCH v3 09/15] Makefile: refactor generators to be PWD-independent Patrick Steinhardt
2024-10-19  5:06     ` Eric Sunshine
2024-10-18 12:24   ` [RFC PATCH v3 10/15] Makefile: allow "bin-wrappers/" directory to exist Patrick Steinhardt
2024-10-18 12:24   ` [RFC PATCH v3 11/15] Makefile: simplify building of templates Patrick Steinhardt
2024-10-19  5:09     ` Eric Sunshine
2024-10-18 12:24   ` [RFC PATCH v3 12/15] t: better support for out-of-tree builds Patrick Steinhardt
2024-10-18 12:24   ` [RFC PATCH v3 13/15] t: allow overriding build dir Patrick Steinhardt
2024-10-19  5:11     ` Eric Sunshine
2024-10-18 12:24   ` [RFC PATCH v3 14/15] Documentation: add comparison of build systems Patrick Steinhardt
2024-10-18 12:24   ` [RFC PATCH v3 15/15] Introduce support for the Meson build system Patrick Steinhardt
2024-10-19  5:21     ` Eric Sunshine
2024-10-18 16:08   ` [RFC PATCH v3 00/15] Modernize the " Ramsay Jones
2024-10-20  8:51     ` Eli Schwartz
2024-10-21 22:56       ` Ramsay Jones
2024-10-23 12:04         ` Patrick Steinhardt
2024-10-23 14:38           ` Ramsay Jones
2024-10-23 15:58             ` Eli Schwartz
2024-10-24  1:43               ` Ramsay Jones
2024-10-24  7:19                 ` Patrick Steinhardt
2024-10-24  7:19             ` Patrick Steinhardt
2024-10-24 17:34               ` Ramsay Jones
2024-10-25  5:20                 ` Patrick Steinhardt
2024-10-25 16:36                   ` Ramsay Jones
2024-11-04 12:16                     ` Patrick Steinhardt
2024-10-23 12:04     ` Patrick Steinhardt
2024-10-18 21:09   ` Taylor Blau
2024-10-23 12:04     ` Patrick Steinhardt
2024-10-23 20:15       ` Taylor Blau
2024-10-24  7:20         ` Patrick Steinhardt
2024-10-21 22:10   ` Taylor Blau
2024-10-23 12:04     ` Patrick Steinhardt
2024-10-23 20:12       ` Taylor Blau
2024-10-24 12:39 ` [RFC PATCH v4 00/19] " Patrick Steinhardt
2024-10-24 12:39   ` [RFC PATCH v4 01/19] Makefile: use common template for GIT-BUILD-OPTIONS Patrick Steinhardt
2024-10-24 12:39   ` [RFC PATCH v4 02/19] Makefile: consistently use @PLACEHOLDER@ to substitute Patrick Steinhardt
2024-10-24 12:39   ` [RFC PATCH v4 03/19] Makefile: consistently use PERL_PATH Patrick Steinhardt
2024-10-24 12:39   ` [RFC PATCH v4 04/19] Makefile: extract script to massage Perl scripts Patrick Steinhardt
2024-11-10 14:36     ` Phillip Wood
2024-11-11 10:36       ` Patrick Steinhardt
2024-10-24 12:39   ` [RFC PATCH v4 05/19] Makefile: use "generate-perl.sh" to massage Perl library Patrick Steinhardt
2024-11-11 10:53     ` Phillip Wood
2024-11-11 14:13       ` Patrick Steinhardt
2024-11-11 14:18         ` Paul Smith
2024-11-11 14:48           ` Patrick Steinhardt
2024-10-24 12:40   ` [RFC PATCH v4 06/19] Makefile: extract script to massage Shell scripts Patrick Steinhardt
2024-11-10 14:42     ` Phillip Wood
2024-10-24 12:40   ` [RFC PATCH v4 07/19] Makefile: extract script to generate gitweb.cgi Patrick Steinhardt
2024-10-24 12:40   ` [RFC PATCH v4 08/19] Makefile: refactor GIT-VERSION-GEN to be reusable Patrick Steinhardt
2024-10-24 12:40   ` [RFC PATCH v4 09/19] Makefile: refactor generators to be PWD-independent Patrick Steinhardt
2024-10-24 12:40   ` [RFC PATCH v4 10/19] Makefile: allow "bin-wrappers/" directory to exist Patrick Steinhardt
2024-10-24 12:40   ` [RFC PATCH v4 11/19] Makefile: simplify building of templates Patrick Steinhardt
2024-10-24 12:40   ` [RFC PATCH v4 12/19] Documentation: allow sourcing generated includes from separate dir Patrick Steinhardt
2024-10-24 12:40   ` [RFC PATCH v4 13/19] Documentation: teach "cmd-list.perl" about out-of-tree builds Patrick Steinhardt
2024-10-24 12:40   ` [RFC PATCH v4 14/19] Documentation: extract script to generate a list of mergetools Patrick Steinhardt
2024-10-24 12:40   ` [RFC PATCH v4 15/19] t: better support for out-of-tree builds Patrick Steinhardt
2024-10-24 12:40   ` [RFC PATCH v4 16/19] t: allow overriding build dir Patrick Steinhardt
2024-10-24 12:40   ` [RFC PATCH v4 17/19] Documentation: add comparison of build systems Patrick Steinhardt
2024-10-24 12:40   ` [RFC PATCH v4 18/19] Introduce support for the Meson build system Patrick Steinhardt
2024-10-24 12:40   ` [RFC PATCH v4 19/19] meson: fix conflicts with in-flight topics Patrick Steinhardt
2024-10-24 16:02   ` [RFC PATCH v4 00/19] Modernize the build system Taylor Blau
2024-10-25 19:59   ` Taylor Blau
2024-11-04 12:17     ` Patrick Steinhardt
2024-11-04 15:03       ` Eli Schwartz
2024-11-11 10:36         ` Patrick Steinhardt
2024-11-04 15:18       ` Taylor Blau
2024-11-09 12:58         ` David Aguilar
2024-11-10  1:07           ` Eli Schwartz
2024-11-11 10:36           ` Patrick Steinhardt
2024-11-11 21:48             ` Eli Schwartz
2024-11-12 10:48               ` Patrick Steinhardt
2024-11-12 15:56                 ` Patrick Steinhardt
2024-11-13  9:21             ` David Aguilar
2024-11-13 13:29               ` Patrick Steinhardt
2024-11-13 14:57                 ` Eli Schwartz
2024-11-14  8:15                   ` Patrick Steinhardt
2024-11-14  4:24                 ` Junio C Hamano
2024-11-14  4:46                   ` Eli Schwartz
2024-11-14  8:15                     ` Patrick Steinhardt
2024-11-14 23:06                       ` Junio C Hamano
2024-11-13 14:57               ` Eli Schwartz
2024-11-14  8:15               ` Patrick Steinhardt
2024-11-11 10:36         ` Patrick Steinhardt
2024-11-11 21:06           ` Jeff King
2024-11-11 21:39             ` Eli Schwartz
2024-11-11 22:13               ` Jeff King
2024-11-11 23:55                 ` Eli Schwartz
2024-11-12  2:21                   ` Jeff King
2024-11-12  2:36                     ` Eli Schwartz
2024-11-12  4:52                       ` Jeff King
2024-11-12  5:07                         ` Junio C Hamano
2024-11-12 10:48                           ` Patrick Steinhardt
2024-11-12  5:29                         ` Eli Schwartz
2024-11-04 15:11     ` Eli Schwartz
2024-10-28 21:34   ` Ramsay Jones
2024-11-04 12:16     ` Patrick Steinhardt
2024-11-11 15:30 ` [RFC PATCH v5 " Patrick Steinhardt
2024-11-11 15:30   ` [RFC PATCH v5 01/19] Makefile: use common template for GIT-BUILD-OPTIONS Patrick Steinhardt
2024-11-11 15:30   ` [RFC PATCH v5 02/19] Makefile: consistently use @PLACEHOLDER@ to substitute Patrick Steinhardt
2024-11-11 15:30   ` [RFC PATCH v5 03/19] Makefile: consistently use PERL_PATH Patrick Steinhardt
2024-11-11 15:30   ` [RFC PATCH v5 04/19] Makefile: extract script to massage Perl scripts Patrick Steinhardt
2024-11-11 15:30   ` [RFC PATCH v5 05/19] Makefile: use "generate-perl.sh" to massage Perl library Patrick Steinhardt
2024-11-11 15:30   ` [RFC PATCH v5 06/19] Makefile: extract script to massage Shell scripts Patrick Steinhardt
2024-11-11 15:30   ` [RFC PATCH v5 07/19] Makefile: extract script to generate gitweb.cgi Patrick Steinhardt
2024-11-11 15:30   ` [RFC PATCH v5 08/19] Makefile: refactor GIT-VERSION-GEN to be reusable Patrick Steinhardt
2024-11-11 15:30   ` [RFC PATCH v5 09/19] Makefile: refactor generators to be PWD-independent Patrick Steinhardt
2024-11-11 15:31   ` [RFC PATCH v5 10/19] Makefile: allow "bin-wrappers/" directory to exist Patrick Steinhardt
2024-11-11 15:31   ` [RFC PATCH v5 11/19] Makefile: simplify building of templates Patrick Steinhardt
2024-11-11 15:31   ` [RFC PATCH v5 12/19] Documentation: allow sourcing generated includes from separate dir Patrick Steinhardt
2024-11-11 15:31   ` [RFC PATCH v5 13/19] Documentation: teach "cmd-list.perl" about out-of-tree builds Patrick Steinhardt
2024-11-11 15:31   ` [RFC PATCH v5 14/19] Documentation: extract script to generate a list of mergetools Patrick Steinhardt
2024-11-11 15:31   ` [RFC PATCH v5 15/19] t: better support for out-of-tree builds Patrick Steinhardt
2024-11-11 15:31   ` [RFC PATCH v5 16/19] t: allow overriding build dir Patrick Steinhardt
2024-11-11 15:31   ` [RFC PATCH v5 17/19] Documentation: add comparison of build systems Patrick Steinhardt
2024-11-11 15:31   ` [RFC PATCH v5 18/19] Introduce support for the Meson build system Patrick Steinhardt
2024-11-11 15:31   ` [RFC PATCH v5 19/19] meson: fix conflicts with in-flight topics Patrick Steinhardt
2024-11-13  3:10   ` [RFC PATCH v5 00/19] Modernize the build system Ramsay Jones
2024-11-12 17:02 ` [PATCH RFC v6 " Patrick Steinhardt
2024-11-12 17:02   ` [PATCH RFC v6 01/19] Makefile: use common template for GIT-BUILD-OPTIONS Patrick Steinhardt
2024-11-13  7:13     ` Junio C Hamano
2024-11-13 13:24       ` Patrick Steinhardt
2024-11-12 17:02   ` [PATCH RFC v6 02/19] Makefile: consistently use @PLACEHOLDER@ to substitute Patrick Steinhardt
2024-11-12 17:02   ` [PATCH RFC v6 03/19] Makefile: consistently use PERL_PATH Patrick Steinhardt
2024-11-12 17:02   ` [PATCH RFC v6 04/19] Makefile: extract script to massage Perl scripts Patrick Steinhardt
2024-11-12 17:02   ` [PATCH RFC v6 05/19] Makefile: use "generate-perl.sh" to massage Perl library Patrick Steinhardt
2024-11-12 17:02   ` [PATCH RFC v6 06/19] Makefile: extract script to massage Shell scripts Patrick Steinhardt
2024-11-12 17:02   ` [PATCH RFC v6 07/19] Makefile: extract script to generate gitweb.cgi Patrick Steinhardt
2024-11-12 17:02   ` [PATCH RFC v6 08/19] Makefile: refactor GIT-VERSION-GEN to be reusable Patrick Steinhardt
2024-11-13 16:30     ` Phillip Wood
2024-11-14  9:10       ` Patrick Steinhardt
2024-11-14 23:12         ` Junio C Hamano
2024-11-12 17:02   ` [PATCH RFC v6 09/19] Makefile: refactor generators to be PWD-independent Patrick Steinhardt
2024-11-12 17:02   ` [PATCH RFC v6 10/19] Makefile: allow "bin-wrappers/" directory to exist Patrick Steinhardt
2024-11-12 17:02   ` [PATCH RFC v6 11/19] Makefile: simplify building of templates Patrick Steinhardt
2024-11-12 17:02   ` [PATCH RFC v6 12/19] Documentation: allow sourcing generated includes from separate dir Patrick Steinhardt
2024-11-12 17:02   ` [PATCH RFC v6 13/19] Documentation: teach "cmd-list.perl" about out-of-tree builds Patrick Steinhardt
2024-11-12 17:02   ` [PATCH RFC v6 14/19] Documentation: extract script to generate a list of mergetools Patrick Steinhardt
2024-11-12 17:02   ` [PATCH RFC v6 15/19] t: better support for out-of-tree builds Patrick Steinhardt
2024-11-12 17:02   ` [PATCH RFC v6 16/19] t: allow overriding build dir Patrick Steinhardt
2024-11-12 17:03   ` [PATCH RFC v6 17/19] Documentation: add comparison of build systems Patrick Steinhardt
2024-11-12 17:03   ` [PATCH RFC v6 18/19] Introduce support for the Meson build system Patrick Steinhardt
2024-11-13  6:47     ` Junio C Hamano
2024-11-13 13:24       ` Patrick Steinhardt
2024-11-13 16:30     ` Phillip Wood
2024-11-12 17:03   ` [PATCH RFC v6 19/19] meson: fix conflicts with in-flight topics Patrick Steinhardt
2024-11-13  3:30   ` [-SPAM-] [PATCH RFC v6 00/19] Modernize the build system Ramsay Jones
2024-11-13 13:24     ` Patrick Steinhardt
2024-11-13 10:45   ` Christian Couder
2024-11-13 13:24     ` Patrick Steinhardt
2024-11-15  7:21 ` [PATCH RFC v7 00/22] " Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 01/22] Makefile: use common template for GIT-BUILD-OPTIONS Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 02/22] Makefile: consistently use @PLACEHOLDER@ to substitute Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 03/22] Makefile: refactor GIT-VERSION-GEN to be reusable Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 04/22] Makefile: propagate Git version via generated header Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 05/22] Makefile: generate "git.rc" via GIT-VERSION-GEN Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 06/22] Makefile: consistently use PERL_PATH Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 07/22] Makefile: extract script to massage Perl scripts Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 08/22] Makefile: use "generate-perl.sh" to massage Perl library Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 09/22] Makefile: extract script to massage Shell scripts Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 10/22] Makefile: extract script to generate gitweb.cgi Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 11/22] Makefile: extract script to generate gitweb.js Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 12/22] Makefile: refactor generators to be PWD-independent Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 13/22] Makefile: allow "bin-wrappers/" directory to exist Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 14/22] Makefile: simplify building of templates Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 15/22] Documentation: allow sourcing generated includes from separate dir Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 16/22] Documentation: teach "cmd-list.perl" about out-of-tree builds Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 17/22] Documentation: extract script to generate a list of mergetools Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 18/22] t: better support for out-of-tree builds Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 19/22] t: allow overriding build dir Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 20/22] Documentation: add comparison of build systems Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 21/22] Introduce support for the Meson build system Patrick Steinhardt
2024-11-15 12:20     ` Christian Couder
2024-11-18  9:29       ` Patrick Steinhardt
2024-11-15  7:21   ` [PATCH RFC v7 22/22] meson: fix conflicts with in-flight topics Patrick Steinhardt
2024-11-15 11:17   ` [PATCH RFC v7 00/22] Modernize the build system Patrick Steinhardt
2024-11-16  1:23   ` [-SPAM-] " Ramsay Jones
2024-11-18  9:30     ` Patrick Steinhardt
2024-11-18 12:48       ` Junio C Hamano
2024-11-18 13:05         ` Patrick Steinhardt
2024-11-18 23:39           ` Junio C Hamano
2024-11-19 11:50 ` [PATCH v8 00/23] " Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 01/23] Makefile: use common template for GIT-BUILD-OPTIONS Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 02/23] Makefile: consistently use @PLACEHOLDER@ to substitute Patrick Steinhardt
2024-11-19 19:23     ` Johannes Sixt
2024-11-20  8:35       ` Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 03/23] Makefile: refactor GIT-VERSION-GEN to be reusable Patrick Steinhardt
2024-11-20  3:47     ` Junio C Hamano
2024-11-20  9:44       ` Patrick Steinhardt
2024-11-21  0:03         ` Junio C Hamano
2024-11-25  9:03           ` Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 04/23] Makefile: propagate Git version via generated header Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 05/23] Makefile: generate "git.rc" via GIT-VERSION-GEN Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 06/23] Makefile: generate doc versions " Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 07/23] Makefile: consistently use PERL_PATH Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 08/23] Makefile: extract script to massage Perl scripts Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 09/23] Makefile: use "generate-perl.sh" to massage Perl library Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 10/23] Makefile: extract script to massage Shell scripts Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 11/23] Makefile: extract script to generate gitweb.cgi Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 12/23] Makefile: extract script to generate gitweb.js Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 13/23] Makefile: refactor generators to be PWD-independent Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 14/23] Makefile: allow "bin-wrappers/" directory to exist Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 15/23] Makefile: simplify building of templates Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 16/23] Documentation: allow sourcing generated includes from separate dir Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 17/23] Documentation: teach "cmd-list.perl" about out-of-tree builds Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 18/23] Documentation: extract script to generate a list of mergetools Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 19/23] t: better support for out-of-tree builds Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 20/23] t: allow overriding build dir Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 21/23] Documentation: add comparison of build systems Patrick Steinhardt
2024-11-19 11:50   ` [PATCH v8 22/23] Introduce support for the Meson build system Patrick Steinhardt
2024-11-19 11:51   ` [PATCH v8 23/23] meson: fix conflicts with in-flight topics Patrick Steinhardt
2024-11-20  5:15   ` [PATCH v8 00/23] Modernize the build system Junio C Hamano
2024-11-20  8:56     ` Patrick Steinhardt
2024-11-25  9:56 ` [PATCH v9 " Patrick Steinhardt
2024-11-25  9:56   ` [PATCH v9 01/23] Makefile: use common template for GIT-BUILD-OPTIONS Patrick Steinhardt
2024-11-25  9:56   ` [PATCH v9 02/23] Makefile: consistently use @PLACEHOLDER@ to substitute Patrick Steinhardt
2024-11-25  9:56   ` [PATCH v9 03/23] Makefile: refactor GIT-VERSION-GEN to be reusable Patrick Steinhardt
2024-11-25  9:56   ` [PATCH v9 04/23] Makefile: propagate Git version via generated header Patrick Steinhardt
2024-11-25  9:56   ` [PATCH v9 05/23] Makefile: generate "git.rc" via GIT-VERSION-GEN Patrick Steinhardt
2024-11-25  9:56   ` [PATCH v9 06/23] Makefile: generate doc versions " Patrick Steinhardt
2025-01-13 20:17     ` Renato Botelho
2025-01-17  9:04       ` Patrick Steinhardt
2024-11-25  9:56   ` [PATCH v9 07/23] Makefile: consistently use PERL_PATH Patrick Steinhardt
2024-11-25  9:56   ` [PATCH v9 08/23] Makefile: extract script to massage Perl scripts Patrick Steinhardt
2024-11-25  9:56   ` [PATCH v9 09/23] Makefile: use "generate-perl.sh" to massage Perl library Patrick Steinhardt
2024-11-25  9:56   ` [PATCH v9 10/23] Makefile: extract script to massage Shell scripts Patrick Steinhardt
2024-11-25  9:56   ` [PATCH v9 11/23] Makefile: extract script to generate gitweb.cgi Patrick Steinhardt
2024-11-25  9:57   ` [PATCH v9 12/23] Makefile: extract script to generate gitweb.js Patrick Steinhardt
2024-11-25  9:57   ` [PATCH v9 13/23] Makefile: refactor generators to be PWD-independent Patrick Steinhardt
2024-11-25  9:57   ` [PATCH v9 14/23] Makefile: allow "bin-wrappers/" directory to exist Patrick Steinhardt
2024-11-25  9:57   ` [PATCH v9 15/23] Makefile: simplify building of templates Patrick Steinhardt
2024-11-25  9:57   ` [PATCH v9 16/23] Documentation: allow sourcing generated includes from separate dir Patrick Steinhardt
2024-11-25  9:57   ` [PATCH v9 17/23] Documentation: teach "cmd-list.perl" about out-of-tree builds Patrick Steinhardt
2024-11-25  9:57   ` [PATCH v9 18/23] Documentation: extract script to generate a list of mergetools Patrick Steinhardt
2024-11-25  9:57   ` [PATCH v9 19/23] t: better support for out-of-tree builds Patrick Steinhardt
2024-11-25  9:57   ` [PATCH v9 20/23] t: allow overriding build dir Patrick Steinhardt
2024-11-25  9:57   ` [PATCH v9 21/23] Documentation: add comparison of build systems Patrick Steinhardt
2024-11-25  9:57   ` [PATCH v9 22/23] Introduce support for the Meson build system Patrick Steinhardt
2024-11-25  9:57   ` [PATCH v9 23/23] meson: fix conflicts with in-flight topics Patrick Steinhardt
2024-11-28 16:12 ` [PATCH v10 00/23] Modernize the build system Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 01/23] Makefile: use common template for GIT-BUILD-OPTIONS Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 02/23] Makefile: consistently use @PLACEHOLDER@ to substitute Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 03/23] Makefile: refactor GIT-VERSION-GEN to be reusable Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 04/23] Makefile: propagate Git version via generated header Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 05/23] Makefile: generate "git.rc" via GIT-VERSION-GEN Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 06/23] Makefile: generate doc versions " Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 07/23] Makefile: consistently use PERL_PATH Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 08/23] Makefile: extract script to massage Perl scripts Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 09/23] Makefile: use "generate-perl.sh" to massage Perl library Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 10/23] Makefile: extract script to massage Shell scripts Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 11/23] Makefile: extract script to generate gitweb.cgi Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 12/23] Makefile: extract script to generate gitweb.js Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 13/23] Makefile: refactor generators to be PWD-independent Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 14/23] Makefile: allow "bin-wrappers/" directory to exist Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 15/23] Makefile: simplify building of templates Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 16/23] Documentation: allow sourcing generated includes from separate dir Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 17/23] Documentation: teach "cmd-list.perl" about out-of-tree builds Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 18/23] Documentation: extract script to generate a list of mergetools Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 19/23] t: better support for out-of-tree builds Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 20/23] t: allow overriding build dir Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 21/23] Documentation: add comparison of build systems Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 22/23] Introduce support for the Meson build system Patrick Steinhardt
2024-11-28 16:12   ` [PATCH v10 23/23] meson: fix conflicts with in-flight topics Patrick Steinhardt
2024-12-06 13:24 ` [PATCH v11 00/26] Modernize the build system Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 01/26] Makefile: use common template for GIT-BUILD-OPTIONS Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 02/26] Makefile: consistently use @PLACEHOLDER@ to substitute Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 03/26] Makefile: refactor GIT-VERSION-GEN to be reusable Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 04/26] Makefile: propagate Git version via generated header Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 05/26] Makefile: generate "git.rc" via GIT-VERSION-GEN Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 06/26] Makefile: generate doc versions " Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 07/26] Makefile: consistently use PERL_PATH Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 08/26] Makefile: extract script to massage Perl scripts Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 09/26] Makefile: use "generate-perl.sh" to massage Perl library Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 10/26] Makefile: extract script to massage Shell scripts Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 11/26] Makefile: extract script to massage Python scripts Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 12/26] Makefile: extract script to generate gitweb.cgi Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 13/26] Makefile: extract script to generate gitweb.js Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 14/26] Makefile: refactor generators to be PWD-independent Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 15/26] Makefile: allow "bin-wrappers/" directory to exist Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 16/26] Makefile: write absolute program path into bin-wrappers Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 17/26] Makefile: simplify building of templates Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 18/26] Documentation: allow sourcing generated includes from separate dir Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 19/26] Documentation: teach "cmd-list.perl" about out-of-tree builds Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 20/26] Documentation: extract script to generate a list of mergetools Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 21/26] t: better support for out-of-tree builds Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 22/26] t: allow overriding build dir Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 23/26] Documentation: add comparison of build systems Patrick Steinhardt
2024-12-06 13:24   ` [PATCH v11 24/26] Introduce support for the Meson build system Patrick Steinhardt
2024-12-06 13:25   ` [PATCH v11 25/26] meson: fix conflicts with in-flight topics Patrick Steinhardt
2024-12-08  3:00     ` Junio C Hamano
2024-12-09  1:20       ` Junio C Hamano
2024-12-09  6:16       ` Patrick Steinhardt
2024-12-09  7:58         ` Junio C Hamano
2024-12-10 11:20           ` Patrick Steinhardt
2024-12-10 12:03             ` Junio C Hamano
2024-12-06 13:25   ` [PATCH v11 26/26] Revert "meson: fix conflicts with in-flight topics" Patrick Steinhardt
2024-12-06 16:10     ` Patrick Steinhardt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=508e3783d284fd2d3bd4840907ed0bdc20bc1b23.1727881164.git.ps@pks.im \
    --to=ps@pks.im \
    --cc=eschwartz@gentoo.org \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).