Mercurial > sdl-ios-xcode
annotate test/configure.in @ 1748:5e86e34453d4
------- Comment #1 From Max Horn 2006-04-17 03:08 [reply] -------
Created an attachment (id=106) [edit]
Patch for src/joystick/win32/SDL_mmjoystick.c
I am not even a Windows user, so take the following with a grain of salt:
SDL_mmjoystick.c has a function GetJoystickName which obtains the joystick
name by looking at the registry. The way it does that seems very fishy to me.
Namely, it uses the parameter "index" to construct a registry value name (BTW,
those variables used in the code are really badly named). The value of "index"
in turn equals the current value of "numdevs", as called from
SDL_SYS_JoystickInit.
I read through the MSDN docs at
<http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnarinput/html/msdn_extdirect.asp>,
and I believe the simple fix is to replace line 183 of said file
SYS_JoystickName[numdevs] = GetJoystickName(numdevs, joycaps.szRegKey);
by the following:
SYS_JoystickName[numdevs] = GetJoystickName(SYS_JoystickID[i],
joycaps.szRegKey);
However, that is only *hiding* the real issue. Problem is, the list of
joysticks as returned by windows may contains "gaps", and the code deals
incorrectly with that. Namely those gaps occur if joysticks are
removed/(re)added, as the reporter observed.
The attached patch fixes this and another (off-by-one) issue in the code. But
since I have no Windows machine, I can't even test-compile it, so use with
caution.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 29 Apr 2006 20:22:31 +0000 |
parents | 31c2b8e4885e |
children | 0a53c90a37f9 a7cda692b681 |
rev | line source |
---|---|
0 | 1 dnl Process this file with autoconf to produce a configure script. |
2 AC_INIT(README) | |
3 | |
1550 | 4 dnl Detect the canonical build and host environments |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
5 AC_CONFIG_AUX_DIRS($srcdir/../build-scripts) |
1550 | 6 AC_CANONICAL_HOST |
0 | 7 |
8 dnl Check for tools | |
9 | |
10 AC_PROG_CC | |
11 | |
12 dnl Check for compiler environment | |
13 | |
14 AC_C_CONST | |
15 | |
16 dnl Figure out which math library to use | |
1550 | 17 case "$host" in |
0 | 18 *-*-cygwin* | *-*-mingw32*) |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
19 EXE=".exe" |
0 | 20 MATHLIB="" |
21 SYS_GL_LIBS="-lopengl32" | |
22 ;; | |
23 *-*-beos*) | |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
24 EXE="" |
0 | 25 MATHLIB="" |
26 SYS_GL_LIBS="-lGL" | |
27 ;; | |
991
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
28 *-*-darwin* ) |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
29 EXE="" |
0 | 30 MATHLIB="" |
31 SYS_GL_LIBS="" | |
32 ;; | |
33 *-*-aix*) | |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
34 EXE="" |
0 | 35 if test x$ac_cv_prog_gcc = xyes; then |
36 CFLAGS="-mthreads" | |
978
3b1ba22f5a28
Add support for OpenGL on Atari using OSMesa, the offscreen rendering driver from Mesa
Patrice Mandin <patmandin@gmail.com>
parents:
796
diff
changeset
|
37 fi |
0 | 38 SYS_GL_LIBS="" |
39 ;; | |
991
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
40 *-*-mint*) |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
41 EXE="" |
991
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
42 MATHLIB="" |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
43 AC_PATH_PROG(OSMESA_CONFIG, osmesa-config, no) |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
44 if test "x$OSMESA_CONFIG" = "xyes"; then |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
45 OSMESA_CFLAGS=`$OSMESA_CONFIG --cflags` |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
46 OSMESA_LIBS=`$OSMESA_CONFIG --libs` |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
47 CFLAGS="$CFLAGS $OSMESA_CFLAGS" |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
48 SYS_GL_LIBS="$OSMESA_LIBS" |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
49 else |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
50 SYS_GL_LIBS="-lOSMesa" |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
51 fi |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
52 ;; |
0 | 53 *) |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
54 EXE="" |
0 | 55 MATHLIB="-lm" |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
56 SYS_GL_LIBS="-lGL" |
0 | 57 ;; |
58 esac | |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
59 AC_SUBST(EXE) |
0 | 60 AC_SUBST(MATHLIB) |
61 | |
62 dnl Check for SDL | |
1387
835c1831f903
Tests require SDL 1.2.10
Sam Lantinga <slouken@libsdl.org>
parents:
1380
diff
changeset
|
63 SDL_VERSION=1.2.10 |
0 | 64 AM_PATH_SDL($SDL_VERSION, |
65 :, | |
66 AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!]) | |
67 ) | |
68 CFLAGS="$CFLAGS $SDL_CFLAGS" | |
69 LIBS="$LIBS $SDL_LIBS" | |
70 | |
71 dnl Check for OpenGL | |
72 AC_MSG_CHECKING(for OpenGL support) | |
73 have_opengl=no | |
74 AC_TRY_COMPILE([ | |
292
eadc0746dfaf
Added SDL_LockRect() and SDL_UnlockRect()
Sam Lantinga <slouken@libsdl.org>
parents:
214
diff
changeset
|
75 #include "SDL_opengl.h" |
0 | 76 ],[ |
77 ],[ | |
78 have_opengl=yes | |
79 ]) | |
80 AC_MSG_RESULT($have_opengl) | |
81 if test x$have_opengl = xyes; then | |
82 CFLAGS="$CFLAGS -DHAVE_OPENGL" | |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
83 GLLIB="$SYS_GL_LIBS" |
0 | 84 else |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
85 GLLIB="" |
0 | 86 fi |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
87 AC_SUBST(GLLIB) |
0 | 88 |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
89 dnl Finally create all the generated files |
0 | 90 AC_OUTPUT([Makefile]) |