summaryrefslogtreecommitdiffstats
path: root/source.local/l/gtk+3/update-gtk-immodules-3.0
blob: f4f5f97622ec70310ddcc5b97c41e0469464fe9a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#! /bin/sh
# Updates the immodules in /etc/gtk-3.0/$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/gtk-3.0/$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/gtk-3.0/$host ]; then
   case "$host" in
     i?86*)
         for d in $(ls -d /etc/gtk-3.0/i?86*); do
           host=$(basename $d)
           break
         done
     ;;
   esac
fi

FILE=/etc/gtk-3.0/$host/gtk.immodules

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