#! /bin/sh
# Updates the pango.modules in /etc/pango/$host

umask 022

# Get the machine type from uname:
mtype=$(uname -m)

# Fix $host for arm arch:
case "$mtype" in
  armv[6,7,8]*)
    if readelf /usr/bin/file -A | grep -q "Tag_ABI_VFP_args: VFP registers"
    then
      # Hardfloat, rewrite armv7l -> armv7hl
      mtype="$(echo $mtype | sed -e 's/\(armv.\)/\1h/')"
    fi
    host=$mtype-slackware-linux-gnueabi
    ;;
  arm*)
    # Softfloat:
    host=arm-slackware-linux-gnueabi
    ;;
  *)
    host=${mtype}-slackware-linux
    ;;
esac

# Deriving /etc/pango/$host location
#
# We have had problems in the past with build systems
# changing host from i386 to i686 and appending/dropping
# the -gnu suffix, so try to match up the $host we got
# with whats actually there.
if [ ! -d /etc/pango/$host ]; then
   case "$host" in
     i?86*)
         for d in $(ls -d /etc/pango/i?86*); do
           host=$(basename $d)
           break
         done
     ;;
   esac
fi

FILE=/etc/pango/$host/pango.modules

case "$host" in
  s390x*|x86_64*)
   if [ -x /usr/bin/pango-querymodules-64 ]; then
     if [ "$1" = "--verbose" ]; then
       echo "Updating pango.modules for ${host}:"
       echo "  /usr/bin/pango-querymodules-64 \\"
       echo "  > $FILE"
     fi
     /usr/bin/pango-querymodules-64 > $FILE
     # Check for x86_64 multilib:
     if ls -d /etc/pango/i?86* 1> /dev/null 2> /dev/null ; then
       for d in $(ls -d /etc/pango/i?86*); do
         mlhost=$(basename $d)
         break
       done
       if [ -r /etc/pango/$mlhost/pango.modules -a -x /usr/bin/pango-querymodules-32 ]; then
         FILE=/etc/pango/$mlhost/pango.modules
         if [ "$1" = "--verbose" ]; then
           echo "Updating pango.modules for ${mlhost}:"
           echo "  /usr/bin/pango-querymodules-32 \\"
           echo "  > $FILE"
         fi
         /usr/bin/pango-querymodules-32 > $FILE
       fi
     fi
   else
     if [ "$1" = "--verbose" ]; then
       echo "Updating pango.modules for ${host}:"
       echo "  /usr/bin/pango-querymodules \\"
       echo "  > $FILE"
     fi
     /usr/bin/pango-querymodules > $FILE
   fi
   ;;
  *)
   if [ -x /usr/bin/pango-querymodules-32 ]; then
     if [ "$1" = "--verbose" ]; then
       echo "Updating pango.modules for ${host}:"
       echo "  /usr/bin/pango-querymodules-32 \\"
       echo "  > $FILE"
     fi
     /usr/bin/pango-querymodules-32 > $FILE
   else
     if [ "$1" = "--verbose" ]; then
       echo "Updating pango.modules for ${host}:"
       echo "  /usr/bin/pango-querymodules \\"
       echo "  > $FILE"
     fi
     /usr/bin/pango-querymodules > $FILE
   fi
   ;;
esac

