annotate missing @ 359:a3e674fade6c

From Jeffrey Morlan: pst_parse_block misreads Table Contexts (aka "type 2") with a multi-block Row Matrix ("ind2"). Rows are never split between blocks - every block except the last has padding at the end which should be ignored. I've only seen this affect the recipients table, but presumably it could affect attachments too. This was causing out-of-bounds memory ranges to be returned from pst_getBlockOffset and later access; patch fixes both the table reading issue and adds a missing bounds check to pst_getBlockOffset (so as not to risk a segfault if the PST is corrupted).
author Carl Byington <carl@five-ten-sg.com>
date Wed, 06 Jul 2016 10:20:12 -0700
parents ec7e344e0dfb
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
1 #! /bin/sh
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
2 # Common stub for a few missing GNU programs while installing.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
3
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
4 scriptversion=2004-09-07.08
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
5
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
6 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
7 # Free Software Foundation, Inc.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
8 # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
9
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
10 # This program is free software; you can redistribute it and/or modify
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
11 # it under the terms of the GNU General Public License as published by
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
12 # the Free Software Foundation; either version 2, or (at your option)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
13 # any later version.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
14
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
15 # This program is distributed in the hope that it will be useful,
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
18 # GNU General Public License for more details.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
19
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
20 # You should have received a copy of the GNU General Public License
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
21 # along with this program; if not, write to the Free Software
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
22 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
23 # 02111-1307, USA.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
24
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
25 # As a special exception to the GNU General Public License, if you
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
26 # distribute this file as part of a program that contains a
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
27 # configuration script generated by Autoconf, you may include it under
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
28 # the same distribution terms that you use for the rest of that program.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
29
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
30 if test $# -eq 0; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
31 echo 1>&2 "Try \`$0 --help' for more information"
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
32 exit 1
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
33 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
34
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
35 run=:
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
36
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
37 # In the cases where this matters, `missing' is being run in the
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
38 # srcdir already.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
39 if test -f configure.ac; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
40 configure_ac=configure.ac
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
41 else
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
42 configure_ac=configure.in
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
43 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
44
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
45 msg="missing on your system"
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
46
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
47 case "$1" in
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
48 --run)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
49 # Try to run requested program, and just exit if it succeeds.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
50 run=
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
51 shift
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
52 "$@" && exit 0
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
53 # Exit code 63 means version mismatch. This often happens
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
54 # when the user try to use an ancient version of a tool on
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
55 # a file that requires a minimum version. In this case we
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
56 # we should proceed has if the program had been absent, or
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
57 # if --run hadn't been passed.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
58 if test $? = 63; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
59 run=:
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
60 msg="probably too old"
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
61 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
62 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
63
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
64 -h|--h|--he|--hel|--help)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
65 echo "\
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
66 $0 [OPTION]... PROGRAM [ARGUMENT]...
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
67
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
68 Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
69 error status if there is no known handling for PROGRAM.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
70
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
71 Options:
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
72 -h, --help display this help and exit
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
73 -v, --version output version information and exit
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
74 --run try to run the given command, and emulate it if it fails
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
75
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
76 Supported PROGRAM values:
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
77 aclocal touch file \`aclocal.m4'
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
78 autoconf touch file \`configure'
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
79 autoheader touch file \`config.h.in'
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
80 automake touch all \`Makefile.in' files
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
81 bison create \`y.tab.[ch]', if possible, from existing .[ch]
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
82 flex create \`lex.yy.c', if possible, from existing .c
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
83 help2man touch the output file
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
84 lex create \`lex.yy.c', if possible, from existing .c
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
85 makeinfo touch the output file
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
86 tar try tar, gnutar, gtar, then tar without non-portable flags
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
87 yacc create \`y.tab.[ch]', if possible, from existing .[ch]
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
88
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
89 Send bug reports to <bug-automake@gnu.org>."
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
90 exit 0
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
91 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
92
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
93 -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
94 echo "missing $scriptversion (GNU Automake)"
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
95 exit 0
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
96 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
97
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
98 -*)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
99 echo 1>&2 "$0: Unknown \`$1' option"
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
100 echo 1>&2 "Try \`$0 --help' for more information"
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
101 exit 1
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
102 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
103
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
104 esac
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
105
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
106 # Now exit if we have it, but it failed. Also exit now if we
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
107 # don't have it and --version was passed (most likely to detect
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
108 # the program).
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
109 case "$1" in
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
110 lex|yacc)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
111 # Not GNU programs, they don't have --version.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
112 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
113
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
114 tar)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
115 if test -n "$run"; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
116 echo 1>&2 "ERROR: \`tar' requires --run"
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
117 exit 1
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
118 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
119 exit 1
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
120 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
121 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
122
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
123 *)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
124 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
125 # We have it, but it failed.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
126 exit 1
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
127 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
128 # Could not run --version or --help. This is probably someone
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
129 # running `$TOOL --version' or `$TOOL --help' to check whether
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
130 # $TOOL exists and not knowing $TOOL uses missing.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
131 exit 1
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
132 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
133 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
134 esac
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
135
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
136 # If it does not exist, or fails to run (possibly an outdated version),
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
137 # try to emulate it.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
138 case "$1" in
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
139 aclocal*)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
140 echo 1>&2 "\
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
141 WARNING: \`$1' is $msg. You should only need it if
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
142 you modified \`acinclude.m4' or \`${configure_ac}'. You might want
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
143 to install the \`Automake' and \`Perl' packages. Grab them from
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
144 any GNU archive site."
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
145 touch aclocal.m4
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
146 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
147
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
148 autoconf)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
149 echo 1>&2 "\
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
150 WARNING: \`$1' is $msg. You should only need it if
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
151 you modified \`${configure_ac}'. You might want to install the
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
152 \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
153 archive site."
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
154 touch configure
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
155 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
156
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
157 autoheader)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
158 echo 1>&2 "\
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
159 WARNING: \`$1' is $msg. You should only need it if
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
160 you modified \`acconfig.h' or \`${configure_ac}'. You might want
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
161 to install the \`Autoconf' and \`GNU m4' packages. Grab them
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
162 from any GNU archive site."
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
163 files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
164 test -z "$files" && files="config.h"
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
165 touch_files=
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
166 for f in $files; do
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
167 case "$f" in
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
168 *:*) touch_files="$touch_files "`echo "$f" |
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
169 sed -e 's/^[^:]*://' -e 's/:.*//'`;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
170 *) touch_files="$touch_files $f.in";;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
171 esac
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
172 done
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
173 touch $touch_files
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
174 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
175
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
176 automake*)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
177 echo 1>&2 "\
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
178 WARNING: \`$1' is $msg. You should only need it if
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
179 you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
180 You might want to install the \`Automake' and \`Perl' packages.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
181 Grab them from any GNU archive site."
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
182 find . -type f -name Makefile.am -print |
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
183 sed 's/\.am$/.in/' |
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
184 while read f; do touch "$f"; done
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
185 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
186
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
187 autom4te)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
188 echo 1>&2 "\
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
189 WARNING: \`$1' is needed, but is $msg.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
190 You might have modified some files without having the
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
191 proper tools for further handling them.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
192 You can get \`$1' as part of \`Autoconf' from any GNU
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
193 archive site."
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
194
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
195 file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
196 test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
197 if test -f "$file"; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
198 touch $file
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
199 else
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
200 test -z "$file" || exec >$file
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
201 echo "#! /bin/sh"
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
202 echo "# Created by GNU Automake missing as a replacement of"
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
203 echo "# $ $@"
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
204 echo "exit 0"
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
205 chmod +x $file
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
206 exit 1
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
207 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
208 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
209
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
210 bison|yacc)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
211 echo 1>&2 "\
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
212 WARNING: \`$1' $msg. You should only need it if
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
213 you modified a \`.y' file. You may need the \`Bison' package
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
214 in order for those modifications to take effect. You can get
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
215 \`Bison' from any GNU archive site."
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
216 rm -f y.tab.c y.tab.h
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
217 if [ $# -ne 1 ]; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
218 eval LASTARG="\${$#}"
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
219 case "$LASTARG" in
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
220 *.y)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
221 SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
222 if [ -f "$SRCFILE" ]; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
223 cp "$SRCFILE" y.tab.c
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
224 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
225 SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
226 if [ -f "$SRCFILE" ]; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
227 cp "$SRCFILE" y.tab.h
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
228 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
229 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
230 esac
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
231 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
232 if [ ! -f y.tab.h ]; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
233 echo >y.tab.h
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
234 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
235 if [ ! -f y.tab.c ]; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
236 echo 'main() { return 0; }' >y.tab.c
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
237 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
238 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
239
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
240 lex|flex)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
241 echo 1>&2 "\
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
242 WARNING: \`$1' is $msg. You should only need it if
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
243 you modified a \`.l' file. You may need the \`Flex' package
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
244 in order for those modifications to take effect. You can get
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
245 \`Flex' from any GNU archive site."
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
246 rm -f lex.yy.c
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
247 if [ $# -ne 1 ]; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
248 eval LASTARG="\${$#}"
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
249 case "$LASTARG" in
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
250 *.l)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
251 SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
252 if [ -f "$SRCFILE" ]; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
253 cp "$SRCFILE" lex.yy.c
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
254 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
255 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
256 esac
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
257 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
258 if [ ! -f lex.yy.c ]; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
259 echo 'main() { return 0; }' >lex.yy.c
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
260 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
261 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
262
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
263 help2man)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
264 echo 1>&2 "\
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
265 WARNING: \`$1' is $msg. You should only need it if
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
266 you modified a dependency of a manual page. You may need the
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
267 \`Help2man' package in order for those modifications to take
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
268 effect. You can get \`Help2man' from any GNU archive site."
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
269
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
270 file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
271 if test -z "$file"; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
272 file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
273 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
274 if [ -f "$file" ]; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
275 touch $file
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
276 else
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
277 test -z "$file" || exec >$file
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
278 echo ".ab help2man is required to generate this page"
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
279 exit 1
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
280 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
281 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
282
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
283 makeinfo)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
284 echo 1>&2 "\
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
285 WARNING: \`$1' is $msg. You should only need it if
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
286 you modified a \`.texi' or \`.texinfo' file, or any other file
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
287 indirectly affecting the aspect of the manual. The spurious
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
288 call might also be the consequence of using a buggy \`make' (AIX,
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
289 DU, IRIX). You might want to install the \`Texinfo' package or
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
290 the \`GNU make' package. Grab either from any GNU archive site."
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
291 file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
292 if test -z "$file"; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
293 file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
294 file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
295 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
296 touch $file
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
297 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
298
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
299 tar)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
300 shift
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
301
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
302 # We have already tried tar in the generic part.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
303 # Look for gnutar/gtar before invocation to avoid ugly error
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
304 # messages.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
305 if (gnutar --version > /dev/null 2>&1); then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
306 gnutar "$@" && exit 0
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
307 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
308 if (gtar --version > /dev/null 2>&1); then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
309 gtar "$@" && exit 0
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
310 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
311 firstarg="$1"
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
312 if shift; then
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
313 case "$firstarg" in
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
314 *o*)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
315 firstarg=`echo "$firstarg" | sed s/o//`
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
316 tar "$firstarg" "$@" && exit 0
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
317 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
318 esac
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
319 case "$firstarg" in
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
320 *h*)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
321 firstarg=`echo "$firstarg" | sed s/h//`
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
322 tar "$firstarg" "$@" && exit 0
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
323 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
324 esac
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
325 fi
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
326
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
327 echo 1>&2 "\
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
328 WARNING: I can't seem to be able to run \`tar' with the given arguments.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
329 You may want to install GNU tar or Free paxutils, or check the
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
330 command line arguments."
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
331 exit 1
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
332 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
333
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
334 *)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
335 echo 1>&2 "\
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
336 WARNING: \`$1' is needed, and is $msg.
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
337 You might have modified some files without having the
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
338 proper tools for further handling them. Check the \`README' file,
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
339 it often tells you about the needed prerequisites for installing
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
340 this package. You may also peek at any GNU archive site, in case
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
341 some other package would contain this missing \`$1' program."
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
342 exit 1
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
343 ;;
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
344 esac
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
345
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
346 exit 0
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
347
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
348 # Local variables:
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
349 # eval: (add-hook 'write-file-hooks 'time-stamp)
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
350 # time-stamp-start: "scriptversion="
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
351 # time-stamp-format: "%:y-%02m-%02d.%02H"
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
352 # time-stamp-end: "$"
ec7e344e0dfb switch to automake/autoconf
carl
parents:
diff changeset
353 # End: