From 9f19b848e470663a4112a5ed47952d69d45b19c5 Mon Sep 17 00:00:00 2001
From: Tobias Hunger <tobias.hunger@nokia.com>
Date: Tue, 15 Nov 2011 12:57:14 +0000
Subject: [PATCH] Override LC_ALL for the make step

Override LC_ALL in the makestep, not LANG in the toolchain's
addToEnvironment.

Task-number: QTCREATORBUG-6488
Change-Id: Ic3de4f53f99b6b9d88a1337c65aa7f4839d4099d
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
---
 src/plugins/projectexplorer/gcctoolchain.cpp |  1 -
 src/plugins/qt4projectmanager/makestep.cpp   | 13 ++++++++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp
index 13dc89fff0b..24aeb959082 100644
--- a/src/plugins/projectexplorer/gcctoolchain.cpp
+++ b/src/plugins/projectexplorer/gcctoolchain.cpp
@@ -382,7 +382,6 @@ void GccToolChain::addToEnvironment(Utils::Environment &env) const
 {
     if (!m_compilerPath.isEmpty())
         env.prependOrSetPath(QFileInfo(m_compilerPath).absolutePath());
-    env.set(QLatin1String("LANG"), QLatin1String("C"));
 }
 
 void GccToolChain::setDebuggerCommand(const QString &d)
diff --git a/src/plugins/qt4projectmanager/makestep.cpp b/src/plugins/qt4projectmanager/makestep.cpp
index 0feadd5924d..5dc01d82fc8 100644
--- a/src/plugins/qt4projectmanager/makestep.cpp
+++ b/src/plugins/qt4projectmanager/makestep.cpp
@@ -143,6 +143,11 @@ bool MakeStep::init()
     pp->setMacroExpander(bc->macroExpander());
 
     Utils::Environment environment = bc->environment();
+
+    // Force output to english for the parsers. Do this here and not in the toolchain's
+    // addToEnvironment() to not screw up the users run environment.
+    environment.set(QLatin1String("LC_ALL"), QLatin1String("C"));
+
     pp->setEnvironment(environment);
 
     QString workingDirectory;
@@ -342,7 +347,13 @@ void MakeStepConfigWidget::updateDetails()
     ProjectExplorer::ProcessParameters param;
     param.setMacroExpander(bc->macroExpander());
     param.setWorkingDirectory(bc->buildDirectory());
-    param.setEnvironment(bc->environment());
+    Utils::Environment environment = bc->environment();
+
+    // Force output to english for the parsers. Do this here and not in the toolchain's
+    // addToEnvironment() to not screw up the users run environment.
+    environment.set(QLatin1String("LC_ALL"), QLatin1String("C"));
+    param.setEnvironment(environment);
+
     QString makeCmd = bc->makeCommand();
     if (!m_makeStep->m_makeCmd.isEmpty())
         makeCmd = m_makeStep->m_makeCmd;
-- 
GitLab