mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-28 09:38:53 +00:00
139a2cfae9
We used to export 'LC_COLLATE=C' for the environment of Genode tools. This was meant to ensure that sorting is always done C-style and not dependent on the users locale settings. This is required, for instance, to ensure that the same archive always yields the same hash. However, 'export LC_COLLATE=C' is not sufficient. It can be outruled by an 'LC_ALL' setting in the users environment. The manual of 'sort' recommends to set 'LC_ALL=C' locally if you want reliable results and this is what this commit does. Furthermore it removes the former 'export LC_COLLATE=C' directives. Note that I couldn't find a way to set 'LC_ALL' local to 'exec ... sort' in TCL. This is why I set it global instead using TCLs 'env' array. Note that the Make directive '$(sort ...)' and the TCL directive 'lsort', unlike the Shell directive 'sort', are not affected by the users locale settings. Fixes #4144
36 lines
595 B
PHP
36 lines
595 B
PHP
#
|
|
# \brief Common environment
|
|
# \author Norman Feske
|
|
# \date 2014-05-27
|
|
#
|
|
|
|
SHELL := bash
|
|
VERBOSE ?= @
|
|
ECHO := echo -e
|
|
HASHSUM := sha1sum
|
|
|
|
MAKEFLAGS += --no-print-directory
|
|
|
|
BRIGHT_COL ?= \x1b[01;33m
|
|
DARK_COL ?= \x1b[00;33m
|
|
DEFAULT_COL ?= \x1b[0m
|
|
|
|
MSG_PREFIX_TXT := $(DARK_COL)$(TARGET) $(DEFAULT_COL)
|
|
MSG_PREFIX := $(ECHO) "$(MSG_PREFIX_TXT)"
|
|
|
|
define NEWLINE
|
|
|
|
|
|
endef
|
|
|
|
EMPTY :=
|
|
|
|
#
|
|
# Utility to read content from a file if it exists and the given file name
|
|
# is not empty.
|
|
#
|
|
file_content = $(if $(wildcard $1),$(shell cat $1),)
|
|
|
|
# Force stable sorting order
|
|
SORT := LC_ALL=C sort
|