#! /bin/sh
. "${srcdir=.}/init.sh"; path_prepend_ . ../src

# Test that gettext() in multithreaded applications works correctly if
# different threads operate in different locales referring to the same
# catalog file but with different encodings.

# Let's use two locales that configure already checked for: French.
# The PO file is actually German, not French, but that doesn't matter.

test -d in-th-3 || mkdir in-th-3
test -d in-th-3/fr || mkdir in-th-3/fr
test -d in-th-3/fr/LC_MESSAGES || mkdir in-th-3/fr/LC_MESSAGES

: ${MSGFMT=msgfmt}
${MSGFMT} -o in-th-3/fr/LC_MESSAGES/tstthread.mo "$wabs_srcdir"/intl-thread-3.po

: ${LOCALE_FR=fr_FR}
: ${LOCALE_FR_UTF8=fr_FR.UTF-8}
if test $LOCALE_FR != none && test $LOCALE_FR_UTF8 != none; then
  prepare_locale_ in-th-3/fr in-th-3/$LOCALE_FR
  prepare_locale_ in-th-3/fr in-th-3/$LOCALE_FR_UTF8
  ../intl-thread-3-prg $LOCALE_FR $LOCALE_FR_UTF8 > in-th-3.out
  case $? in
    0) ;;
    77)
      echo "Skipping test: POSIX per-thread locales not supported"
      Exit 77
      ;;
    *)
      Exit 1
      ;;
  esac
else
  if test -f /usr/bin/localedef; then
    echo "Skipping test: no traditional and modern french locales are installed"
  else
    echo "Skipping test: no traditional and modern french locales are supported"
  fi
  Exit 77
fi

Exit 0
