Mercurial > sdl-ios-xcode
annotate test/missing @ 1212:7663bb0f52c7
To: sdl@libsdl.org
From: Christian Walther <cwalther@gmx.ch>
Date: Thu, 15 Dec 2005 21:19:53 +0100
Subject: [SDL] More mouse enhancements for Mac OS X
The attached patch brings two more enhancements to mouse handling on Mac
OS X (Quartz):
1. Currently, after launching an SDL application, SDL's notion of the
mouse position is stuck in the top left corner (0,0) until the first
time the mouse is moved. That's because the UpdateMouse() function isn't
implemented in the Quartz driver. This patch adds it.
2. When grabbing input while the mouse cursor is hidden, the function
CGAssociateMouseAndMouseCursorPosition(0) is called, which prevents the
system's notion of the mouse location from moving (and therefore leaving
the SDL window) even when the mouse is moved. However, apparently the
Wacom tablet driver (and maybe other special pointing device drivers)
doesn't care about that setting and still allows the mouse location to
go outside of the window. Interestingly, the system cursor, which is
made visible by the existing code in SDL in that case, does not follow
the mouse location, but appears in the middle of the SDL window. The
mouse location being outside of the window however means that mouse
button events go to background applications (or the dock or whatever is
there), which is very confusing to the user who sees no cursor outside
of the SDL window.
I have not found any way of intercepting these events (and that's
probably by design, as "normal" applications shouldn't prevent the user
from bringing other applications' windows to the front by clicking on
them). An idea would be placing a fully transparent, screen-filling
window in front of everything, but I fear that this might affect
rendering performance (by doing unnecessary compositing, using up
memory, or whatever).
The deluxe solution to the problem would be talking to the tablet
driver using AppleEvents to tell it to constrain its mapped area to the
window (see Wacom's "TabletEventDemo" sample app,
http://www.wacomeng.com/devsupport/mac/downloads.html), but I think that
the bloat that solution would add to SDL would outweigh its usefulness.
What I did instead in my patch is reassociating mouse and cursor when
the mouse leaves the window while an invisible grab is in effect, and
restoring the grab when the window is entered. That way, the grab can
still be effectively broken by a tablet, but at least it's obvious to
the user that it is broken. That change is minimal - it doesn't affect
operation with a mouse (or a trackpad), and the code that it adds is not
executed on every PumpEvents() call, only when entering and leaving the
window.
Unless there are any concerns about the patch, please apply. Feel free
to shorten the lengthy comment in SDL_QuartzEvents.m if you think it's
too verbose.
Thanks
-Christian
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Mon, 02 Jan 2006 00:31:00 +0000 |
parents | dac996d69abb |
children |
rev | line source |
---|---|
0 | 1 #! /bin/sh |
2 # Common stub for a few missing GNU programs while installing. | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
3 # Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
4 # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. |
0 | 5 |
6 # This program is free software; you can redistribute it and/or modify | |
7 # it under the terms of the GNU General Public License as published by | |
8 # the Free Software Foundation; either version 2, or (at your option) | |
9 # any later version. | |
10 | |
11 # This program is distributed in the hope that it will be useful, | |
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 # GNU General Public License for more details. | |
15 | |
16 # You should have received a copy of the GNU General Public License | |
17 # along with this program; if not, write to the Free Software | |
18 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | |
19 # 02111-1307, USA. | |
20 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
21 # As a special exception to the GNU General Public License, if you |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
22 # distribute this file as part of a program that contains a |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
23 # configuration script generated by Autoconf, you may include it under |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
24 # the same distribution terms that you use for the rest of that program. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
25 |
0 | 26 if test $# -eq 0; then |
27 echo 1>&2 "Try \`$0 --help' for more information" | |
28 exit 1 | |
29 fi | |
30 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
31 run=: |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
32 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
33 # In the cases where this matters, `missing' is being run in the |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
34 # srcdir already. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
35 if test -f configure.ac; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
36 configure_ac=configure.ac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
37 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
38 configure_ac=configure.in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
39 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
40 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
41 case "$1" in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
42 --run) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
43 # Try to run requested program, and just exit if it succeeds. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
44 run= |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
45 shift |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
46 "$@" && exit 0 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
47 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
48 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
49 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
50 # If it does not exist, or fails to run (possibly an outdated version), |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
51 # try to emulate it. |
0 | 52 case "$1" in |
53 | |
54 -h|--h|--he|--hel|--help) | |
55 echo "\ | |
56 $0 [OPTION]... PROGRAM [ARGUMENT]... | |
57 | |
58 Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an | |
59 error status if there is no known handling for PROGRAM. | |
60 | |
61 Options: | |
62 -h, --help display this help and exit | |
63 -v, --version output version information and exit | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
64 --run try to run the given command, and emulate it if it fails |
0 | 65 |
66 Supported PROGRAM values: | |
67 aclocal touch file \`aclocal.m4' | |
68 autoconf touch file \`configure' | |
69 autoheader touch file \`config.h.in' | |
70 automake touch all \`Makefile.in' files | |
71 bison create \`y.tab.[ch]', if possible, from existing .[ch] | |
72 flex create \`lex.yy.c', if possible, from existing .c | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
73 help2man touch the output file |
0 | 74 lex create \`lex.yy.c', if possible, from existing .c |
75 makeinfo touch the output file | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
76 tar try tar, gnutar, gtar, then tar without non-portable flags |
0 | 77 yacc create \`y.tab.[ch]', if possible, from existing .[ch]" |
78 ;; | |
79 | |
80 -v|--v|--ve|--ver|--vers|--versi|--versio|--version) | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
81 echo "missing 0.4 - GNU automake" |
0 | 82 ;; |
83 | |
84 -*) | |
85 echo 1>&2 "$0: Unknown \`$1' option" | |
86 echo 1>&2 "Try \`$0 --help' for more information" | |
87 exit 1 | |
88 ;; | |
89 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
90 aclocal*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
91 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
92 # We have it, but it failed. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
93 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
94 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
95 |
0 | 96 echo 1>&2 "\ |
97 WARNING: \`$1' is missing on your system. You should only need it if | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
98 you modified \`acinclude.m4' or \`${configure_ac}'. You might want |
0 | 99 to install the \`Automake' and \`Perl' packages. Grab them from |
100 any GNU archive site." | |
101 touch aclocal.m4 | |
102 ;; | |
103 | |
104 autoconf) | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
105 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
106 # We have it, but it failed. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
107 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
108 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
109 |
0 | 110 echo 1>&2 "\ |
111 WARNING: \`$1' is missing on your system. You should only need it if | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
112 you modified \`${configure_ac}'. You might want to install the |
0 | 113 \`Autoconf' and \`GNU m4' packages. Grab them from any GNU |
114 archive site." | |
115 touch configure | |
116 ;; | |
117 | |
118 autoheader) | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
119 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
120 # We have it, but it failed. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
121 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
122 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
123 |
0 | 124 echo 1>&2 "\ |
125 WARNING: \`$1' is missing on your system. You should only need it if | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
126 you modified \`acconfig.h' or \`${configure_ac}'. You might want |
0 | 127 to install the \`Autoconf' and \`GNU m4' packages. Grab them |
128 from any GNU archive site." | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
129 files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` |
0 | 130 test -z "$files" && files="config.h" |
131 touch_files= | |
132 for f in $files; do | |
133 case "$f" in | |
134 *:*) touch_files="$touch_files "`echo "$f" | | |
135 sed -e 's/^[^:]*://' -e 's/:.*//'`;; | |
136 *) touch_files="$touch_files $f.in";; | |
137 esac | |
138 done | |
139 touch $touch_files | |
140 ;; | |
141 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
142 automake*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
143 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
144 # We have it, but it failed. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
145 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
146 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
147 |
0 | 148 echo 1>&2 "\ |
149 WARNING: \`$1' is missing on your system. You should only need it if | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
150 you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. |
0 | 151 You might want to install the \`Automake' and \`Perl' packages. |
152 Grab them from any GNU archive site." | |
153 find . -type f -name Makefile.am -print | | |
154 sed 's/\.am$/.in/' | | |
155 while read f; do touch "$f"; done | |
156 ;; | |
157 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
158 autom4te) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
159 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
160 # We have it, but it failed. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
161 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
162 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
163 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
164 echo 1>&2 "\ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
165 WARNING: \`$1' is needed, and you do not seem to have it handy on your |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
166 system. You might have modified some files without having the |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
167 proper tools for further handling them. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
168 You can get \`$1Help2man' as part of \`Autoconf' from any GNU |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
169 archive site." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
170 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
171 file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
172 test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
173 if test -f "$file"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
174 touch $file |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
175 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
176 test -z "$file" || exec >$file |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
177 echo "#! /bin/sh" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
178 echo "# Created by GNU Automake missing as a replacement of" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
179 echo "# $ $@" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
180 echo "exit 0" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
181 chmod +x $file |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
182 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
183 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
184 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
185 |
0 | 186 bison|yacc) |
187 echo 1>&2 "\ | |
188 WARNING: \`$1' is missing on your system. You should only need it if | |
189 you modified a \`.y' file. You may need the \`Bison' package | |
190 in order for those modifications to take effect. You can get | |
191 \`Bison' from any GNU archive site." | |
192 rm -f y.tab.c y.tab.h | |
193 if [ $# -ne 1 ]; then | |
194 eval LASTARG="\${$#}" | |
195 case "$LASTARG" in | |
196 *.y) | |
197 SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` | |
198 if [ -f "$SRCFILE" ]; then | |
199 cp "$SRCFILE" y.tab.c | |
200 fi | |
201 SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` | |
202 if [ -f "$SRCFILE" ]; then | |
203 cp "$SRCFILE" y.tab.h | |
204 fi | |
205 ;; | |
206 esac | |
207 fi | |
208 if [ ! -f y.tab.h ]; then | |
209 echo >y.tab.h | |
210 fi | |
211 if [ ! -f y.tab.c ]; then | |
212 echo 'main() { return 0; }' >y.tab.c | |
213 fi | |
214 ;; | |
215 | |
216 lex|flex) | |
217 echo 1>&2 "\ | |
218 WARNING: \`$1' is missing on your system. You should only need it if | |
219 you modified a \`.l' file. You may need the \`Flex' package | |
220 in order for those modifications to take effect. You can get | |
221 \`Flex' from any GNU archive site." | |
222 rm -f lex.yy.c | |
223 if [ $# -ne 1 ]; then | |
224 eval LASTARG="\${$#}" | |
225 case "$LASTARG" in | |
226 *.l) | |
227 SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` | |
228 if [ -f "$SRCFILE" ]; then | |
229 cp "$SRCFILE" lex.yy.c | |
230 fi | |
231 ;; | |
232 esac | |
233 fi | |
234 if [ ! -f lex.yy.c ]; then | |
235 echo 'main() { return 0; }' >lex.yy.c | |
236 fi | |
237 ;; | |
238 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
239 help2man) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
240 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
241 # We have it, but it failed. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
242 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
243 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
244 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
245 echo 1>&2 "\ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
246 WARNING: \`$1' is missing on your system. You should only need it if |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
247 you modified a dependency of a manual page. You may need the |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
248 \`Help2man' package in order for those modifications to take |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
249 effect. You can get \`Help2man' from any GNU archive site." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
250 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
251 file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
252 if test -z "$file"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
253 file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
254 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
255 if [ -f "$file" ]; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
256 touch $file |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
257 else |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
258 test -z "$file" || exec >$file |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
259 echo ".ab help2man is required to generate this page" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
260 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
261 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
262 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
263 |
0 | 264 makeinfo) |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
265 if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
266 # We have makeinfo, but it failed. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
267 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
268 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
269 |
0 | 270 echo 1>&2 "\ |
271 WARNING: \`$1' is missing on your system. You should only need it if | |
272 you modified a \`.texi' or \`.texinfo' file, or any other file | |
273 indirectly affecting the aspect of the manual. The spurious | |
274 call might also be the consequence of using a buggy \`make' (AIX, | |
275 DU, IRIX). You might want to install the \`Texinfo' package or | |
276 the \`GNU make' package. Grab either from any GNU archive site." | |
277 file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` | |
278 if test -z "$file"; then | |
279 file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` | |
280 file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` | |
281 fi | |
282 touch $file | |
283 ;; | |
284 | |
729
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
285 tar) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
286 shift |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
287 if test -n "$run"; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
288 echo 1>&2 "ERROR: \`tar' requires --run" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
289 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
290 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
291 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
292 # We have already tried tar in the generic part. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
293 # Look for gnutar/gtar before invocation to avoid ugly error |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
294 # messages. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
295 if (gnutar --version > /dev/null 2>&1); then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
296 gnutar "$@" && exit 0 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
297 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
298 if (gtar --version > /dev/null 2>&1); then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
299 gtar "$@" && exit 0 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
300 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
301 firstarg="$1" |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
302 if shift; then |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
303 case "$firstarg" in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
304 *o*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
305 firstarg=`echo "$firstarg" | sed s/o//` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
306 tar "$firstarg" "$@" && exit 0 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
307 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
308 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
309 case "$firstarg" in |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
310 *h*) |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
311 firstarg=`echo "$firstarg" | sed s/h//` |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
312 tar "$firstarg" "$@" && exit 0 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
313 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
314 esac |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
315 fi |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
316 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
317 echo 1>&2 "\ |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
318 WARNING: I can't seem to be able to run \`tar' with the given arguments. |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
319 You may want to install GNU tar or Free paxutils, or check the |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
320 command line arguments." |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
321 exit 1 |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
322 ;; |
dac996d69abb
Updated libtool support so Mingw32 builds work.
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
323 |
0 | 324 *) |
325 echo 1>&2 "\ | |
326 WARNING: \`$1' is needed, and you do not seem to have it handy on your | |
327 system. You might have modified some files without having the | |
328 proper tools for further handling them. Check the \`README' file, | |
329 it often tells you about the needed prerequirements for installing | |
330 this package. You may also peek at any GNU archive site, in case | |
331 some other package would contain this missing \`$1' program." | |
332 exit 1 | |
333 ;; | |
334 esac | |
335 | |
336 exit 0 |