Mercurial > sdl-ios-xcode
annotate sdl.m4 @ 3696:47d923feedb0
Fixed bug #935
Patrice Mandin
Hello,
I originally added pth support for threads in SDL 1.2 because on the Atari
platform we did not have any thread library.
I think pth support could be removed from SDL 1.3 for two reasons:
- Atari platform removed
- pth does not provides real (preemptive) threads, because it is user space,
and expect the application to call one of its function to give CPU to another
thread. So it is not exactly useful for applications, that expect threads to
run simultaneously.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 24 Jan 2010 20:47:20 +0000 |
parents | 3dd59e993979 |
children | e3033ab628a1 |
rev | line source |
---|---|
0 | 1 # Configure paths for SDL |
2 # Sam Lantinga 9/21/99 | |
3 # stolen from Manish Singh | |
4 # stolen back from Frank Belew | |
5 # stolen from Manish Singh | |
6 # Shamelessly stolen from Owen Taylor | |
7 | |
8 dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) | |
9 dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS | |
10 dnl | |
794
a5defa3b93e1
Updated for the latest version of automake
Sam Lantinga <slouken@libsdl.org>
parents:
489
diff
changeset
|
11 AC_DEFUN([AM_PATH_SDL], |
0 | 12 [dnl |
13 dnl Get the cflags and libraries from the sdl-config script | |
14 dnl | |
15 AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], | |
16 sdl_prefix="$withval", sdl_prefix="") | |
17 AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)], | |
18 sdl_exec_prefix="$withval", sdl_exec_prefix="") | |
19 AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program], | |
20 , enable_sdltest=yes) | |
21 | |
3340 | 22 min_sdl_version=ifelse([$1], ,1.2.0,$1) |
23 | |
24 if test "x$sdl_prefix$sdl_exec_prefix" = x ; then | |
25 PKG_CHECK_MODULES(SDL, [sdl >= $min_sdl_version], | |
26 [sdl_pc=yes], | |
27 [dnl | |
28 AC_MSG_RESULT(no) | |
29 sdl_pc=no | |
30 ]) | |
31 else | |
32 sdl_pc=no | |
33 if test x$sdl_exec_prefix != x ; then | |
34 sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix" | |
35 if test x${SDL_CONFIG+set} != xset ; then | |
36 SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config | |
37 fi | |
1755
91063c450171
Don't add NONE/bin to the path - inexplicably fixes building on mingw+msys, apparently
Sam Lantinga <slouken@libsdl.org>
parents:
1550
diff
changeset
|
38 fi |
3340 | 39 if test x$sdl_prefix != x ; then |
40 sdl_config_args="$sdl_config_args --prefix=$sdl_prefix" | |
41 if test x${SDL_CONFIG+set} != xset ; then | |
42 SDL_CONFIG=$sdl_prefix/bin/sdl-config | |
43 fi | |
1755
91063c450171
Don't add NONE/bin to the path - inexplicably fixes building on mingw+msys, apparently
Sam Lantinga <slouken@libsdl.org>
parents:
1550
diff
changeset
|
44 fi |
0 | 45 fi |
46 | |
3340 | 47 if test "x$sdl_pc" = xyes ; then |
48 no_sdl="" | |
3379
3dd59e993979
pkg-config replaced sdl-config in these cases.
Sam Lantinga <slouken@libsdl.org>
parents:
3340
diff
changeset
|
49 SDL_CONFIG="pkg-config sdl" |
0 | 50 else |
3340 | 51 as_save_PATH="$PATH" |
52 if test "x$prefix" != xNONE && test "$cross_compiling" != yes; then | |
53 PATH="$prefix/bin:$prefix/usr/bin:$PATH" | |
54 fi | |
55 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH]) | |
56 PATH="$as_save_PATH" | |
57 AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) | |
58 no_sdl="" | |
0 | 59 |
3340 | 60 if test "$SDL_CONFIG" = "no" ; then |
61 no_sdl=yes | |
62 else | |
63 SDL_CFLAGS=`$SDL_CONFIG $sdl_config_args --cflags` | |
64 SDL_LIBS=`$SDL_CONFIG $sdl_config_args --libs` | |
65 | |
66 sdl_major_version=`$SDL_CONFIG $sdl_config_args --version | \ | |
67 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` | |
68 sdl_minor_version=`$SDL_CONFIG $sdl_config_args --version | \ | |
69 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` | |
70 sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ | |
71 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` | |
72 if test "x$enable_sdltest" = "xyes" ; then | |
73 ac_save_CFLAGS="$CFLAGS" | |
74 ac_save_CXXFLAGS="$CXXFLAGS" | |
75 ac_save_LIBS="$LIBS" | |
76 CFLAGS="$CFLAGS $SDL_CFLAGS" | |
77 CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" | |
78 LIBS="$LIBS $SDL_LIBS" | |
0 | 79 dnl |
80 dnl Now check if the installed SDL is sufficiently new. (Also sanity | |
81 dnl checks the results of sdl-config to some extent | |
82 dnl | |
83 rm -f conf.sdltest | |
84 AC_TRY_RUN([ | |
85 #include <stdio.h> | |
86 #include <stdlib.h> | |
87 #include <string.h> | |
88 #include "SDL.h" | |
89 | |
90 char* | |
91 my_strdup (char *str) | |
92 { | |
93 char *new_str; | |
94 | |
95 if (str) | |
96 { | |
97 new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); | |
98 strcpy (new_str, str); | |
99 } | |
100 else | |
101 new_str = NULL; | |
102 | |
103 return new_str; | |
104 } | |
105 | |
106 int main (int argc, char *argv[]) | |
107 { | |
108 int major, minor, micro; | |
109 char *tmp_version; | |
110 | |
111 /* This hangs on some systems (?) | |
112 system ("touch conf.sdltest"); | |
113 */ | |
114 { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } | |
115 | |
116 /* HP/UX 9 (%@#!) writes to sscanf strings */ | |
117 tmp_version = my_strdup("$min_sdl_version"); | |
118 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { | |
119 printf("%s, bad version string\n", "$min_sdl_version"); | |
120 exit(1); | |
121 } | |
122 | |
123 if (($sdl_major_version > major) || | |
124 (($sdl_major_version == major) && ($sdl_minor_version > minor)) || | |
125 (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) | |
126 { | |
127 return 0; | |
128 } | |
129 else | |
130 { | |
131 printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); | |
132 printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); | |
133 printf("*** best to upgrade to the required version.\n"); | |
134 printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); | |
135 printf("*** to point to the correct copy of sdl-config, and remove the file\n"); | |
136 printf("*** config.cache before re-running configure\n"); | |
137 return 1; | |
138 } | |
139 } | |
140 | |
141 ],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) | |
3340 | 142 CFLAGS="$ac_save_CFLAGS" |
143 CXXFLAGS="$ac_save_CXXFLAGS" | |
144 LIBS="$ac_save_LIBS" | |
145 fi | |
146 fi | |
147 if test "x$no_sdl" = x ; then | |
148 AC_MSG_RESULT(yes) | |
149 else | |
150 AC_MSG_RESULT(no) | |
151 fi | |
0 | 152 fi |
153 if test "x$no_sdl" = x ; then | |
3340 | 154 ifelse([$2], , :, [$2]) |
0 | 155 else |
156 if test "$SDL_CONFIG" = "no" ; then | |
157 echo "*** The sdl-config script installed by SDL could not be found" | |
158 echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" | |
159 echo "*** your path, or set the SDL_CONFIG environment variable to the" | |
160 echo "*** full path to sdl-config." | |
161 else | |
162 if test -f conf.sdltest ; then | |
163 : | |
164 else | |
165 echo "*** Could not run SDL test program, checking why..." | |
166 CFLAGS="$CFLAGS $SDL_CFLAGS" | |
1118
65f4b2dd46b7
Date: Wed, 17 Aug 2005 11:23:40 -0400
Ryan C. Gordon <icculus@icculus.org>
parents:
794
diff
changeset
|
167 CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" |
0 | 168 LIBS="$LIBS $SDL_LIBS" |
169 AC_TRY_LINK([ | |
170 #include <stdio.h> | |
171 #include "SDL.h" | |
1
cf2af46e9e2a
Changes since SDL 1.2.0 release
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
172 |
cf2af46e9e2a
Changes since SDL 1.2.0 release
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
173 int main(int argc, char *argv[]) |
cf2af46e9e2a
Changes since SDL 1.2.0 release
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
174 { return 0; } |
cf2af46e9e2a
Changes since SDL 1.2.0 release
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
175 #undef main |
cf2af46e9e2a
Changes since SDL 1.2.0 release
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
176 #define main K_and_R_C_main |
0 | 177 ], [ return 0; ], |
178 [ echo "*** The test program compiled, but did not run. This usually means" | |
179 echo "*** that the run-time linker is not finding SDL or finding the wrong" | |
180 echo "*** version of SDL. If it is not finding SDL, you'll need to set your" | |
181 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" | |
182 echo "*** to the installed location Also, make sure you have run ldconfig if that" | |
183 echo "*** is required on your system" | |
184 echo "***" | |
185 echo "*** If you have an old version installed, it is best to remove it, although" | |
186 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], | |
187 [ echo "*** The test program failed to compile or link. See the file config.log for the" | |
188 echo "*** exact error that occured. This usually means SDL was incorrectly installed" | |
189 echo "*** or that you have moved SDL since it was installed. In the latter case, you" | |
190 echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ]) | |
191 CFLAGS="$ac_save_CFLAGS" | |
1118
65f4b2dd46b7
Date: Wed, 17 Aug 2005 11:23:40 -0400
Ryan C. Gordon <icculus@icculus.org>
parents:
794
diff
changeset
|
192 CXXFLAGS="$ac_save_CXXFLAGS" |
0 | 193 LIBS="$ac_save_LIBS" |
194 fi | |
195 fi | |
196 SDL_CFLAGS="" | |
197 SDL_LIBS="" | |
198 ifelse([$3], , :, [$3]) | |
199 fi | |
200 AC_SUBST(SDL_CFLAGS) | |
201 AC_SUBST(SDL_LIBS) | |
202 rm -f conf.sdltest | |
203 ]) |