Mercurial > pidgin
comparison setup-gettext @ 3420:bd05f8566531
[gaim-migrate @ 3442]
Latest version of setup-gettext. Fixes some of the bashisms, but not the
sed issue.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Sat, 24 Aug 2002 02:15:37 +0000 |
parents | d7c90e6ecc23 |
children | 3efe967c8524 |
comparison
equal
deleted
inserted
replaced
3419:284a0ad6a7f0 | 3420:bd05f8566531 |
---|---|
1 #!/bin/sh | 1 #!/bin/sh |
2 | 2 # |
3 VERSION=0.1.0 | 3 # setup-gettext - Provides compatibility with versions of gettext |
4 # from the 0.10.x series and 0.11.x. | |
5 # | |
6 # Copyright (C) 2002 Christian Hammond. | |
7 # | |
8 # This program is free software; you can redistribute it and/or | |
9 # modify it under the terms of the GNU General Public License as | |
10 # published by the Free Software Foundation; either version 2 of | |
11 # the License, or (at your option) any later version. | |
12 # | |
13 # This program is distributed in the hope that it will be useful, | |
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 # GNU General Public License for more details. | |
17 # | |
18 # You should have received a copy of the GNU General Public | |
19 # License along with this program; if not, write to the Free | |
20 # Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |
21 # MA 02111-1307 USA | |
22 # | |
23 | |
24 VERSION=0.1.3 | |
25 | |
26 VERBOSE=0 | |
4 | 27 |
5 parse_gettext_version() { | 28 parse_gettext_version() { |
6 GETTEXT_VERSION=`$GETTEXT_TOOL --version | sed -n 's/^.*\([0-9]\+\)\.\([0-9]\+\)\.\([0-9]\+\).*$/\1.\2.\3/p'` | 29 GETTEXT_VERSION=`$GETTEXT_TOOL --version | sed -n 's/^.*\([0-9]\+\)\.\([0-9]\+\)\.\([0-9]\+\).*$/\1.\2.\3/p'` |
7 GETTEXT_MAJOR_VERSION=`echo $GETTEXT_VERSION | sed -n 's/^\([0-9]\+\).*/\1/p'` | 30 GETTEXT_MAJOR_VERSION=`echo $GETTEXT_VERSION | sed -n 's/^\([0-9]\+\).*/\1/p'` |
8 GETTEXT_MINOR_VERSION=`echo $GETTEXT_VERSION | sed -n 's/^[0-9]\+\.\([0-9]\+\).*/\1/p'` | 31 GETTEXT_MINOR_VERSION=`echo $GETTEXT_VERSION | sed -n 's/^[0-9]\+\.\([0-9]\+\).*/\1/p'` |
19 GETTEXT_TOOL= | 42 GETTEXT_TOOL= |
20 } | 43 } |
21 } | 44 } |
22 } | 45 } |
23 | 46 |
47 install() { | |
48 [ -f configure.in ] && { | |
49 cp configure.in .tmp-configure.in | |
50 sed -f 's/^AM_GNU_GETTEXT\(.*\)$/AM_GNU_GETTEXT\1\ | |
51 AM_GNU_GETTEXT_VERSION(0.10.40)/' < .tmp-configure.in > configure.in | |
52 rm .tmp-configure.in | |
53 } | |
54 | |
55 [ -f configure.ac ] && { | |
56 cp configure.ac .tmp-configure.ac | |
57 sed -f 's/^AM_GNU_GETTEXT\(.*\)$/AM_GNU_GETTEXT\1\ | |
58 AM_GNU_GETTEXT_VERSION(0.10.40)/' < .tmp-configure.ac > configure.ac | |
59 rm .tmp-configure.ac | |
60 } | |
61 | |
62 [ -f autogen.sh ] && { | |
63 cp autogen.sh .tmp-autogen.sh | |
64 sed -f 's/\(gettextize\|autopoint\) --version/.\/setup-gettext --gettext-tool/1' -f 's/^\(echo.*|[\t ]*\)\?\(gettextize\|autopoint\) -.*$/.\/setup-gettext/1' < .tmp-autogen.sh > autogen.sh | |
65 rm .tmp-autogen.sh | |
66 } | |
67 | |
68 echo 'AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])' >> acinclude.m4 | |
69 } | |
70 | |
24 backup_m4() { | 71 backup_m4() { |
25 [ -d m4 ] && mv m4 m4~ | 72 [ -d m4 ] && mv m4 m4~ |
26 } | 73 } |
27 | 74 |
28 restore_m4() { | 75 restore_m4() { |
31 mv m4~ m4 | 78 mv m4~ m4 |
32 } | 79 } |
33 } | 80 } |
34 | 81 |
35 restore_files() { | 82 restore_files() { |
36 [ -e configure.in~ ] && mv -f configure.in~ configure.in | 83 [ -f configure.in~ ] && mv -f configure.in~ configure.in |
37 [ -e configure.ac~ ] && mv -f configure.ac~ configure.ac | 84 [ -f configure.ac~ ] && mv -f configure.ac~ configure.ac |
38 [ -e Makefile.am~ ] && mv -f Makefile.am~ Makefile.am | 85 [ -f Makefile.am~ ] && mv -f Makefile.am~ Makefile.am |
39 } | 86 } |
40 | 87 |
41 abort() { | 88 abort() { |
42 restore_files | 89 restore_files |
43 restore_m4 | 90 restore_m4 |
48 # Main code | 95 # Main code |
49 | 96 |
50 find_gettext | 97 find_gettext |
51 | 98 |
52 # See if a version of gettext and its tools are installed. | 99 # See if a version of gettext and its tools are installed. |
53 if [ x$GETTEXT_TOOL == x ]; then | 100 if [ x$GETTEXT_TOOL = x ]; then |
54 echo | 101 echo |
55 echo "You do not have a version of gettext installed." | 102 echo "You do not have a version of gettext installed." |
56 echo "Please download one from your local package repository or" | 103 echo "Please download one from your local package repository or" |
57 echo "from ftp://ftp.gnu.org/pub/gnu/gettext/" | 104 echo "from ftp://ftp.gnu.org/pub/gnu/gettext/" |
58 echo | 105 echo |
66 if [ $NUMVAR -gt 0 ]; then | 113 if [ $NUMVAR -gt 0 ]; then |
67 if [ $NUMVAR -gt 1 ]; then | 114 if [ $NUMVAR -gt 1 ]; then |
68 echo "Only one option at a time!" | 115 echo "Only one option at a time!" |
69 exit 1 | 116 exit 1 |
70 | 117 |
71 elif [ $1 == "--gettext-tool" ]; then | 118 elif [ $1 = "--gettext-tool" ]; then |
72 echo $GETTEXT_TOOL | 119 echo $GETTEXT_TOOL |
73 exit 0 | 120 exit 0 |
74 | 121 |
75 elif [ $1 == "--help" ]; then | 122 elif [ $1 = "--help" ]; then |
76 echo "setup-gettext v$VERSION" | 123 echo "setup-gettext v$VERSION" |
77 echo "Usage:" | 124 echo "Usage:" |
78 echo " --gettext-tool Returns gettextize or autopoint, depending" | 125 echo " --gettext-tool Returns gettextize or autopoint, depending" |
79 echo " on the version of gettext installed." | 126 echo " on the version of gettext installed." |
80 echo " --gettext-version Returns the version of gettext installed." | 127 echo " --gettext-version Returns the version of gettext installed." |
83 echo " --gettext-micro-version Returns the micro version of gettext installed." | 130 echo " --gettext-micro-version Returns the micro version of gettext installed." |
84 echo " --help Displays this help screen." | 131 echo " --help Displays this help screen." |
85 echo | 132 echo |
86 exit 0 | 133 exit 0 |
87 | 134 |
88 elif [ $1 == "--version" ]; then | 135 elif [ $1 = "--version" ]; then |
89 echo $VERSION | 136 echo $VERSION |
90 exit 0 | 137 exit 0 |
91 | 138 |
92 elif [ $1 == "--gettext-version" ]; then | 139 elif [ $1 = "--gettext-version" ]; then |
93 echo $GETTEXT_VERSION | 140 echo $GETTEXT_VERSION |
94 exit 0 | 141 exit 0 |
95 | 142 |
96 elif [ $1 == "--gettext-major-version" ]; then | 143 elif [ $1 = "--gettext-major-version" ]; then |
97 echo $GETTEXT_MAJOR_VERSION | 144 echo $GETTEXT_MAJOR_VERSION |
98 exit 0 | 145 exit 0 |
99 | 146 |
100 elif [ $1 == "--gettext-minor-version" ]; then | 147 elif [ $1 = "--gettext-minor-version" ]; then |
101 echo $GETTEXT_MINOR_VERSION | 148 echo $GETTEXT_MINOR_VERSION |
102 exit 0 | 149 exit 0 |
103 | 150 |
104 elif [ $1 == "--gettext-micro-version" ]; then | 151 elif [ $1 = "--gettext-micro-version" ]; then |
105 echo $GETTEXT_MICRO_VERSION | 152 echo $GETTEXT_MICRO_VERSION |
106 exit 0 | 153 exit 0 |
107 | 154 |
108 elif [ $1 == "--happy-url" ]; then | 155 elif [ $1 = "--install" ]; then |
156 install | |
157 echo "setup-gettext installed." | |
158 exit 0 | |
159 | |
160 elif [ $1 = "--happy-url" ]; then | |
109 echo http://gaim.sf.net/forkgettext.jpg | 161 echo http://gaim.sf.net/forkgettext.jpg |
110 exit 0 | 162 exit 0 |
163 | |
164 elif [ $1 = "--verbose" ]; then | |
165 VERBOSE=1 | |
111 | 166 |
112 else | 167 else |
113 echo "Invalid option '$1'" | 168 echo "Invalid option '$1'" |
114 exit 1 | 169 exit 1 |
115 fi | 170 fi |
116 fi | 171 fi |
117 | 172 |
118 # Okay, run the main stuff | 173 # Okay, run the main stuff |
119 if [ "$GETTEXT_TOOL" == "autopoint" ]; then | 174 if [ "$GETTEXT_TOOL" = "autopoint" ]; then |
120 backup_m4 | 175 backup_m4 |
176 [ $VERBOSE -eq 1 ] && echo " autopoint --force" | |
121 echo n | autopoint --force || abort | 177 echo n | autopoint --force || abort |
122 restore_m4 | 178 restore_m4 |
123 else | 179 else |
124 if [ $GETTEXT_MINOR_VERSION -eq 11 ]; then | 180 if [ $GETTEXT_MINOR_VERSION -eq 11 ]; then |
125 backup_m4 | 181 backup_m4 |
126 | 182 |
127 # Gettext is pure evil. It DEMANDS that we press Return no matter | 183 # Gettext is pure evil. It DEMANDS that we press Return no matter |
128 # what. This gets rid of their happy "feature" of doom. | 184 # what. This gets rid of their happy "feature" of doom. |
185 [ $VERBOSE -eq 1 ] && \ | |
186 echo " gettextize --copy --force --intl --no-changelog" | |
187 | |
129 sed 's:read .*< /dev/tty::' `which gettextize` > .temp-gettextize | 188 sed 's:read .*< /dev/tty::' `which gettextize` > .temp-gettextize |
130 chmod +x .temp-gettextize | 189 chmod +x .temp-gettextize |
131 echo n | ./.temp-gettextize --copy --force --intl --no-changelog || abort | 190 echo n | ./.temp-gettextize --copy --force --intl --no-changelog || abort |
132 rm .temp-gettextize | 191 rm .temp-gettextize |
133 | 192 |
134 restore_files | 193 restore_files |
135 restore_m4 | 194 restore_m4 |
136 | 195 |
137 [ -e po/Makevars.template ] && mv po/Makevars.template po/Makevars | 196 [ -f po/Makevars.template ] && mv po/Makevars.template po/Makevars |
138 else | 197 else |
198 [ $VERBOSE -eq 1 ] && echo " gettextize --copy --force" | |
139 echo n | gettextize --copy --force || exit; | 199 echo n | gettextize --copy --force || exit; |
140 fi | 200 fi |
141 fi | 201 fi |
142 | 202 |