On 03/27/2012 10:57 AM, Stefan Weil wrote:
Some locale settings let make fail or create wrong results
because tr '[:lower:]' '[:upper:]' which is used to convert
from lower to upper case depends on the locale.
With locale tr_TR.UTF-8, lower case 'i' is not converted to 'I'.
This results in wrong entries in config-host.h like these ones:
#define CONFIG_QEMU_PREFiX "/usr/local"
#define CONFIG_QEMU_BiNDiR "/usr/local/bin"
for card in $audio_card_list; do
- def=CONFIG_`echo $card | tr '[:lower:]' '[:upper:]'`
+ def=CONFIG_`echo $card | tr '[a-z]' '[A-Z]'`
NACK. POSIX says that 'tr a-z' is unspecified outside of the POSIX
locale, but without setting LC_ALL=C, you aren't guaranteeing the POSIX
locale. If you want to be portable without use of [:lower:], you have
to spell it out, with abcdefghijklmnopqrstuvwxyz.