From: Patrick Steinhardt <ps@pks.im>
To: git@vger.kernel.org
Cc: M Hickford <mirth.hickford@gmail.com>,
Junio C Hamano <gitster@pobox.com>, Johannes Sixt <j6t@kdbg.org>
Subject: [PATCH v2 01/10] GIT-BUILD-OPTIONS: propagate project's source directory
Date: Wed, 19 Feb 2025 14:13:41 +0100 [thread overview]
Message-ID: <20250219-b4-pks-meson-contrib-v2-1-1ba5d7fde0b9@pks.im> (raw)
In-Reply-To: <20250219-b4-pks-meson-contrib-v2-0-1ba5d7fde0b9@pks.im>
A couple of our tests require knowledge around where to find the
project's source directory in order to locate files required for the
test itself. Until now we have been wiring these up ad-hoc via new,
specialized variables catered to the specific usecase. This is quite
awkward though, as every test that potentially needs to locate paths
relative to the source directory needs to grow another variable.
Introduce a new "GIT_SOURCE_DIR" variable into GIT-BUILD-OPTIONS to stop
this proliferation. Remove existing variables that can be derived from
it.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
---
GIT-BUILD-OPTIONS.in | 3 +--
Makefile | 3 +--
contrib/buildsystems/CMakeLists.txt | 3 +--
meson.build | 3 +--
t/lib-gettext.sh | 2 +-
t/t7609-mergetool--lib.sh | 2 +-
6 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/GIT-BUILD-OPTIONS.in b/GIT-BUILD-OPTIONS.in
index ada575fbcb7..0a9884e0ade 100644
--- a/GIT-BUILD-OPTIONS.in
+++ b/GIT-BUILD-OPTIONS.in
@@ -9,14 +9,13 @@ GIT_PERF_MAKE_COMMAND=@GIT_PERF_MAKE_COMMAND@
GIT_PERF_MAKE_OPTS=@GIT_PERF_MAKE_OPTS@
GIT_PERF_REPEAT_COUNT=@GIT_PERF_REPEAT_COUNT@
GIT_PERF_REPO=@GIT_PERF_REPO@
+GIT_SOURCE_DIR=@GIT_SOURCE_DIR@
GIT_TEST_CMP=@GIT_TEST_CMP@
GIT_TEST_CMP_USE_COPIED_CONTEXT=@GIT_TEST_CMP_USE_COPIED_CONTEXT@
GIT_TEST_GITPERLLIB=@GIT_TEST_GITPERLLIB@
GIT_TEST_INDEX_VERSION=@GIT_TEST_INDEX_VERSION@
-GIT_TEST_MERGE_TOOLS_DIR=@GIT_TEST_MERGE_TOOLS_DIR@
GIT_TEST_OPTS=@GIT_TEST_OPTS@
GIT_TEST_PERL_FATAL_WARNINGS=@GIT_TEST_PERL_FATAL_WARNINGS@
-GIT_TEST_POPATH=@GIT_TEST_POPATH@
GIT_TEST_TEMPLATE_DIR=@GIT_TEST_TEMPLATE_DIR@
GIT_TEST_TEXTDOMAINDIR=@GIT_TEST_TEXTDOMAINDIR@
GIT_TEST_UTF8_LOCALE=@GIT_TEST_UTF8_LOCALE@
diff --git a/Makefile b/Makefile
index cd0806e1e69..a3483e15c4a 100644
--- a/Makefile
+++ b/Makefile
@@ -3192,14 +3192,13 @@ GIT-BUILD-OPTIONS: FORCE
-e "s|@GIT_PERF_MAKE_OPTS@|\'$(GIT_PERF_MAKE_OPTS)\'|" \
-e "s|@GIT_PERF_REPEAT_COUNT@|\'$(GIT_PERF_REPEAT_COUNT)\'|" \
-e "s|@GIT_PERF_REPO@|\'$(GIT_PERF_REPO)\'|" \
+ -e "s|@GIT_SOURCE_DIR@|\'$(shell pwd)\'|" \
-e "s|@GIT_TEST_CMP@|\'$(GIT_TEST_CMP)\'|" \
-e "s|@GIT_TEST_CMP_USE_COPIED_CONTEXT@|\'$(GIT_TEST_CMP_USE_COPIED_CONTEXT)\'|" \
-e "s|@GIT_TEST_GITPERLLIB@|\'$(shell pwd)/perl/build/lib\'|" \
-e "s|@GIT_TEST_INDEX_VERSION@|\'$(GIT_TEST_INDEX_VERSION)\'|" \
- -e "s|@GIT_TEST_MERGE_TOOLS_DIR@|\'$(shell pwd)/mergetools\'|" \
-e "s|@GIT_TEST_OPTS@|\'$(GIT_TEST_OPTS)\'|" \
-e "s|@GIT_TEST_PERL_FATAL_WARNINGS@|\'$(GIT_TEST_PERL_FATAL_WARNINGS)\'|" \
- -e "s|@GIT_TEST_POPATH@|\'$(shell pwd)/po\'|" \
-e "s|@GIT_TEST_TEMPLATE_DIR@|\'$(shell pwd)/templates/blt\'|" \
-e "s|@GIT_TEST_TEXTDOMAINDIR@|\'$(shell pwd)/po/build/locale\'|" \
-e "s|@GIT_TEST_UTF8_LOCALE@|\'$(GIT_TEST_UTF8_LOCALE)\'|" \
diff --git a/contrib/buildsystems/CMakeLists.txt b/contrib/buildsystems/CMakeLists.txt
index 3179e7ff7a3..c6fbd57e158 100644
--- a/contrib/buildsystems/CMakeLists.txt
+++ b/contrib/buildsystems/CMakeLists.txt
@@ -1169,14 +1169,13 @@ string(REPLACE "@GIT_PERF_MAKE_COMMAND@" "" git_build_options "${git_build_optio
string(REPLACE "@GIT_PERF_MAKE_OPTS@" "" git_build_options "${git_build_options}")
string(REPLACE "@GIT_PERF_REPEAT_COUNT@" "" git_build_options "${git_build_options}")
string(REPLACE "@GIT_PERF_REPO@" "" git_build_options "${git_build_options}")
+string(REPLACE "@GIT_SOURCE_DIR@" "${CMAKE_SOURCE_DIR}" git_build_options "${git_build_options}")
string(REPLACE "@GIT_TEST_CMP@" "" git_build_options "${git_build_options}")
string(REPLACE "@GIT_TEST_CMP_USE_COPIED_CONTEXT@" "" git_build_options "${git_build_options}")
string(REPLACE "@GIT_TEST_GITPERLLIB@" "'${CMAKE_BINARY_DIR}/perl/build/lib'" git_build_options "${git_build_options}")
string(REPLACE "@GIT_TEST_INDEX_VERSION@" "" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_TEST_MERGE_TOOLS_DIR@" "'${CMAKE_BINARY_DIR}/mergetools'" git_build_options "${git_build_options}")
string(REPLACE "@GIT_TEST_OPTS@" "" git_build_options "${git_build_options}")
string(REPLACE "@GIT_TEST_PERL_FATAL_WARNINGS@" "" git_build_options "${git_build_options}")
-string(REPLACE "@GIT_TEST_POPATH@" "'${CMAKE_BINARY_DIR}/po'" git_build_options "${git_build_options}")
string(REPLACE "@GIT_TEST_TEMPLATE_DIR@" "'${CMAKE_BINARY_DIR}/templates/blt'" git_build_options "${git_build_options}")
string(REPLACE "@GIT_TEST_TEXTDOMAINDIR@" "'${CMAKE_BINARY_DIR}/po/build/locale'" git_build_options "${git_build_options}")
string(REPLACE "@GIT_TEST_UTF8_LOCALE@" "" git_build_options "${git_build_options}")
diff --git a/meson.build b/meson.build
index 0df3872c6ad..d77d7b6b603 100644
--- a/meson.build
+++ b/meson.build
@@ -1960,10 +1960,9 @@ subdir('contrib')
foreach key, value : {
'DIFF': diff.full_path(),
+ 'GIT_SOURCE_DIR': meson.project_source_root(),
'GIT_TEST_CMP': diff.full_path() + ' -u',
'GIT_TEST_GITPERLLIB': meson.project_build_root() / 'perl',
- 'GIT_TEST_MERGE_TOOLS_DIR': meson.project_source_root() / 'mergetools',
- 'GIT_TEST_POPATH': meson.project_source_root() / 'po',
'GIT_TEST_TEMPLATE_DIR': meson.project_build_root() / 'templates',
'GIT_TEST_TEXTDOMAINDIR': meson.project_build_root() / 'po',
'PAGER_ENV': get_option('pager_environment'),
diff --git a/t/lib-gettext.sh b/t/lib-gettext.sh
index 7a734c6973e..b3dd68b0b95 100644
--- a/t/lib-gettext.sh
+++ b/t/lib-gettext.sh
@@ -7,7 +7,7 @@
. ./test-lib.sh
GIT_TEXTDOMAINDIR="$GIT_TEST_TEXTDOMAINDIR"
-GIT_PO_PATH="$GIT_TEST_POPATH"
+GIT_PO_PATH="$GIT_SOURCE_DIR/po"
export GIT_TEXTDOMAINDIR GIT_PO_PATH
if test -n "$GIT_TEST_INSTALLED"
diff --git a/t/t7609-mergetool--lib.sh b/t/t7609-mergetool--lib.sh
index e8e205707e4..af3ad284eed 100755
--- a/t/t7609-mergetool--lib.sh
+++ b/t/t7609-mergetool--lib.sh
@@ -7,7 +7,7 @@ Testing basic merge tools options'
. ./test-lib.sh
test_expect_success 'mergetool --tool=vimdiff creates the expected layout' '
- . "$GIT_TEST_MERGE_TOOLS_DIR"/vimdiff &&
+ . "$GIT_SOURCE_DIR"/mergetools/vimdiff &&
run_unit_tests
'
--
2.48.1.666.gff9fcf71b7.dirty
next prev parent reply other threads:[~2025-02-19 13:14 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-18 7:45 [PATCH 00/12] meson: wire up bits and pieces from "contrib/" Patrick Steinhardt
2025-02-18 7:45 ` [PATCH 01/12] GIT-BUILD-OPTIONS: propagate project's source directory Patrick Steinhardt
2025-02-18 7:45 ` [PATCH 02/12] contrib/credential: fix "netrc" tests with out-of-tree builds Patrick Steinhardt
2025-02-18 7:45 ` [PATCH 03/12] contrib/credential: fix compilation of wincred helper with MSVC Patrick Steinhardt
2025-02-18 7:45 ` [PATCH 04/12] contrib/credential: fix compiling "libsecret" helper Patrick Steinhardt
2025-02-18 7:45 ` [PATCH 05/12] contrib/credential: fix compilation of "osxkeychain" helper Patrick Steinhardt
2025-02-18 7:45 ` [PATCH 06/12] meson: wire up credential helpers Patrick Steinhardt
2025-02-18 10:11 ` M Hickford
2025-02-18 11:13 ` Patrick Steinhardt
2025-03-29 7:15 ` M Hickford
2025-03-31 6:55 ` Patrick Steinhardt
2025-02-18 7:45 ` [PATCH 07/12] meson: wire up git-contacts(1) Patrick Steinhardt
2025-02-18 7:45 ` [PATCH 08/12] meson: wire up static analysis via Coccinelle Patrick Steinhardt
2025-02-18 7:45 ` [PATCH 09/12] gitk: extract script to build Gitk Patrick Steinhardt
2025-02-18 22:25 ` Junio C Hamano
2025-02-19 5:53 ` Patrick Steinhardt
2025-02-19 11:42 ` Johannes Sixt
2025-02-19 11:51 ` Patrick Steinhardt
2025-02-19 17:32 ` Johannes Sixt
2025-02-18 7:45 ` [PATCH 10/12] meson: wire up Gitk Patrick Steinhardt
2025-02-18 7:45 ` [PATCH 11/12] ci: fix propagating UTF-8 test locale in musl-based Meson job Patrick Steinhardt
2025-02-18 7:46 ` [PATCH 12/12] ci: exercise credential helpers Patrick Steinhardt
2025-02-18 10:10 ` [PATCH 00/12] meson: wire up bits and pieces from "contrib/" M Hickford
2025-02-19 13:13 ` [PATCH v2 00/10] " Patrick Steinhardt
2025-02-19 13:13 ` Patrick Steinhardt [this message]
2025-02-19 13:13 ` [PATCH v2 02/10] contrib/credential: fix "netrc" tests with out-of-tree builds Patrick Steinhardt
2025-02-19 13:13 ` [PATCH v2 03/10] contrib/credential: fix compilation of wincred helper with MSVC Patrick Steinhardt
2025-02-19 13:13 ` [PATCH v2 04/10] contrib/credential: fix compiling "libsecret" helper Patrick Steinhardt
2025-02-19 13:13 ` [PATCH v2 05/10] contrib/credential: fix compilation of "osxkeychain" helper Patrick Steinhardt
2025-02-19 13:13 ` [PATCH v2 06/10] meson: wire up credential helpers Patrick Steinhardt
2025-02-19 13:13 ` [PATCH v2 07/10] meson: wire up git-contacts(1) Patrick Steinhardt
2025-02-19 13:13 ` [PATCH v2 08/10] meson: wire up static analysis via Coccinelle Patrick Steinhardt
2025-02-19 13:13 ` [PATCH v2 09/10] ci: fix propagating UTF-8 test locale in musl-based Meson job Patrick Steinhardt
2025-02-19 13:13 ` [PATCH v2 10/10] ci: exercise credential helpers Patrick Steinhardt
2025-02-20 1:25 ` [-SPAM-] [PATCH v2 00/10] meson: wire up bits and pieces from "contrib/" Ramsay Jones
2025-02-20 6:25 ` Patrick Steinhardt
2025-02-21 19:50 ` Ramsay Jones
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=20250219-b4-pks-meson-contrib-v2-1-1ba5d7fde0b9@pks.im \
--to=ps@pks.im \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=j6t@kdbg.org \
--cc=mirth.hickford@gmail.com \
/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).