Skip to content

Commit 8f81c23

Browse files
dschoGit for Windows Build Agent
authored andcommitted
gettext: use a GIT_LOCALE_PATH relative to $(prefix)
On Windows, we simply pass a POSIX path to bindtextdomain(), relying on the current libintl-8.dll implementation to handle that gracefully by resolving the path relative to the "root" directory inferred from the location of the .dll file itself. However, not only does this rely on the custom patches of the gettext library as shipped with MSYS2 (gettext's own source code is not prepared to handle POSIX paths on Windows), it also means that Git itself cannot use the `podir` variable at all because it does not handle absolute POSIX paths in system_path() correctly, leaving them as-is. This patch fixes that behavior by always using a GIT_LOCALE_PATH relative to the (runtime) prefix. Signed-off-by: Johannes Schindelin <[email protected]>
1 parent 4bd5c23 commit 8f81c23

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -479,6 +479,7 @@ lib = lib
479479
# DESTDIR =
480480
pathsep = :
481481

482+
localedir_relative = $(patsubst $(prefix)/%,%,$(localedir))
482483
mandir_relative = $(patsubst $(prefix)/%,%,$(mandir))
483484
infodir_relative = $(patsubst $(prefix)/%,%,$(infodir))
484485
htmldir_relative = $(patsubst $(prefix)/%,%,$(htmldir))
@@ -1707,6 +1708,7 @@ bindir_relative_SQ = $(subst ','\'',$(bindir_relative))
17071708
mandir_relative_SQ = $(subst ','\'',$(mandir_relative))
17081709
infodir_relative_SQ = $(subst ','\'',$(infodir_relative))
17091710
localedir_SQ = $(subst ','\'',$(localedir))
1711+
localedir_relative_SQ = $(subst ','\'',$(localedir_relative))
17101712
gitexecdir_SQ = $(subst ','\'',$(gitexecdir))
17111713
template_dir_SQ = $(subst ','\'',$(template_dir))
17121714
htmldir_relative_SQ = $(subst ','\'',$(htmldir_relative))
@@ -2139,7 +2141,7 @@ attr.sp attr.s attr.o: EXTRA_CPPFLAGS = \
21392141

21402142
gettext.sp gettext.s gettext.o: GIT-PREFIX
21412143
gettext.sp gettext.s gettext.o: EXTRA_CPPFLAGS = \
2142-
-DGIT_LOCALE_PATH='"$(localedir_SQ)"'
2144+
-DGIT_LOCALE_PATH='"$(localedir_relative_SQ)"'
21432145

21442146
http-push.sp http.sp http-walker.sp remote-curl.sp imap-send.sp: SPARSE_FLAGS += \
21452147
-DCURL_DISABLE_TYPECHECK

0 commit comments

Comments
 (0)