diff options
-rw-r--r-- | etc/spack/defaults/config.yaml | 8 | ||||
-rw-r--r-- | lib/spack/spack/build_environment.py | 7 | ||||
-rw-r--r-- | lib/spack/spack/schema/config.py | 1 |
3 files changed, 16 insertions, 0 deletions
diff --git a/etc/spack/defaults/config.yaml b/etc/spack/defaults/config.yaml index 7387203867..f032a64e34 100644 --- a/etc/spack/defaults/config.yaml +++ b/etc/spack/defaults/config.yaml @@ -77,6 +77,14 @@ config: dirty: false + # The language the build environment will use. This will produce English + # compiler messages by default, so the log parser can highlight errors. + # If set to C, it will use English (see man locale). + # If set to the empty string (''), it will use the language from the + # user's environment. + build_language: C + + # When set to true, concurrent instances of Spack will use locks to # avoid modifying the install tree, database file, etc. If false, Spack # will disable all locking, but you must NOT run concurrent instances diff --git a/lib/spack/spack/build_environment.py b/lib/spack/spack/build_environment.py index 71edc65ce7..fa79683717 100644 --- a/lib/spack/spack/build_environment.py +++ b/lib/spack/spack/build_environment.py @@ -142,6 +142,13 @@ def clean_environment(): env.unset('LD_RUN_PATH') env.unset('DYLD_LIBRARY_PATH') + build_lang = spack.config.get('config:build_language') + if build_lang: + # Override language-related variables. This can be used to force + # English compiler messages etc., which allows parse_log_events to + # show useful matches. + env.set('LC_ALL', build_lang) + # Remove any macports installs from the PATH. The macports ld can # cause conflicts with the built-in linker on el capitan. Solves # assembler issues, e.g.: diff --git a/lib/spack/spack/schema/config.py b/lib/spack/spack/schema/config.py index 0ebcd74ade..583fe79fbf 100644 --- a/lib/spack/spack/schema/config.py +++ b/lib/spack/spack/schema/config.py @@ -49,6 +49,7 @@ schema = { 'checksum': {'type': 'boolean'}, 'locks': {'type': 'boolean'}, 'dirty': {'type': 'boolean'}, + 'build_language': {'type': 'string'}, 'build_jobs': {'type': 'integer', 'minimum': 1}, 'ccache': {'type': 'boolean'}, 'db_lock_timeout': {'type': 'integer', 'minimum': 1}, |