summaryrefslogtreecommitdiff
path: root/gettext.c
diff options
context:
space:
mode:
authorDan Jacques <dnj@google.com>2018-04-10 15:05:44 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-04-11 09:10:28 (GMT)
commit226c0ddd0d63dd6c8dde497c755af2ad1f02e0c1 (patch)
tree232d124263ccd6aa6370ac0e100c32b68c70fb94 /gettext.c
parent07d90eadb50ee687a7313186b654975b0944a74e (diff)
downloadgit-226c0ddd0d63dd6c8dde497c755af2ad1f02e0c1.zip
git-226c0ddd0d63dd6c8dde497c755af2ad1f02e0c1.tar.gz
git-226c0ddd0d63dd6c8dde497c755af2ad1f02e0c1.tar.bz2
exec_cmd: RUNTIME_PREFIX on some POSIX systems
Enable Git to resolve its own binary location using a variety of OS-specific and generic methods, including: - procfs via "/proc/self/exe" (Linux) - _NSGetExecutablePath (Darwin) - KERN_PROC_PATHNAME sysctl on BSDs. - argv0, if absolute (all, including Windows). This is used to enable RUNTIME_PREFIX support for non-Windows systems, notably Linux and Darwin. When configured with RUNTIME_PREFIX, Git will do a best-effort resolution of its executable path and automatically use this as its "exec_path" for relative helper and data lookups, unless explicitly overridden. Small incidental formatting cleanup of "exec_cmd.c". Signed-off-by: Dan Jacques <dnj@google.com> Thanks-to: Robbie Iannucci <iannucci@google.com> Thanks-to: Junio C Hamano <gitster@pobox.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'gettext.c')
-rw-r--r--gettext.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gettext.c b/gettext.c
index db727ea..6b64d5c 100644
--- a/gettext.c
+++ b/gettext.c
@@ -2,7 +2,8 @@
* Copyright (c) 2010 Ævar Arnfjörð Bjarmason
*/
-#include "git-compat-util.h"
+#include "cache.h"
+#include "exec_cmd.h"
#include "gettext.h"
#include "strbuf.h"
#include "utf8.h"
@@ -157,10 +158,11 @@ static void init_gettext_charset(const char *domain)
void git_setup_gettext(void)
{
- const char *podir = getenv("GIT_TEXTDOMAINDIR");
+ const char *podir = getenv(GIT_TEXT_DOMAIN_DIR_ENVIRONMENT);
if (!podir)
- podir = GIT_LOCALE_PATH;
+ podir = system_path(GIT_LOCALE_PATH);
+
bindtextdomain("git", podir);
setlocale(LC_MESSAGES, "");
setlocale(LC_TIME, "");