3 # stolen from Manish Singh |
3 # stolen from Manish Singh |
4 # stolen back from Frank Belew |
4 # stolen back from Frank Belew |
5 # stolen from Manish Singh |
5 # stolen from Manish Singh |
6 # Shamelessly stolen from Owen Taylor |
6 # Shamelessly stolen from Owen Taylor |
7 |
7 |
|
8 # serial 1 |
|
9 |
8 dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) |
10 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 |
11 dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS |
10 dnl |
12 dnl |
11 AC_DEFUN([AM_PATH_SDL], |
13 AC_DEFUN([AM_PATH_SDL], |
12 [dnl |
14 [dnl |
13 dnl Get the cflags and libraries from the sdl-config script |
15 dnl Get the cflags and libraries from the sdl2-config script |
14 dnl |
16 dnl |
15 AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], |
17 AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], |
16 sdl_prefix="$withval", sdl_prefix="") |
18 sdl_prefix="$withval", sdl_prefix="") |
17 AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)], |
19 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="") |
20 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], |
21 AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program], |
20 , enable_sdltest=yes) |
22 , enable_sdltest=yes) |
21 |
23 |
22 if test x$sdl_exec_prefix != x ; then |
24 min_sdl_version=ifelse([$1], ,0.9.0,$1) |
23 sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix" |
25 |
24 if test x${SDL_CONFIG+set} != xset ; then |
26 if test "x$sdl_prefix$sdl_exec_prefix" = x ; then |
25 SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config |
27 PKG_CHECK_MODULES([SDL], [sdl2 >= $min_sdl_version], |
|
28 [sdl_pc=yes], |
|
29 [sdl_pc=no]) |
|
30 else |
|
31 sdl_pc=no |
|
32 if test x$sdl_exec_prefix != x ; then |
|
33 sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix" |
|
34 if test x${SDL_CONFIG+set} != xset ; then |
|
35 SDL_CONFIG=$sdl_exec_prefix/bin/sdl2-config |
|
36 fi |
|
37 fi |
|
38 if test x$sdl_prefix != x ; then |
|
39 sdl_config_args="$sdl_config_args --prefix=$sdl_prefix" |
|
40 if test x${SDL_CONFIG+set} != xset ; then |
|
41 SDL_CONFIG=$sdl_prefix/bin/sdl2-config |
|
42 fi |
26 fi |
43 fi |
27 fi |
44 fi |
28 if test x$sdl_prefix != x ; then |
45 |
29 sdl_args="$sdl_args --prefix=$sdl_prefix" |
46 if test "x$sdl_pc" = xyes ; then |
30 if test x${SDL_CONFIG+set} != xset ; then |
47 no_sdl="" |
31 SDL_CONFIG=$sdl_prefix/bin/sdl-config |
48 SDL_CONFIG="pkg-config sdl2" |
32 fi |
49 else |
33 fi |
50 as_save_PATH="$PATH" |
34 |
51 if test "x$prefix" != xNONE && test "$cross_compiling" != yes; then |
35 if test "x$prefix" != xNONE; then |
52 PATH="$prefix/bin:$prefix/usr/bin:$PATH" |
36 PATH="$prefix/bin:$prefix/usr/bin:$PATH" |
53 fi |
37 fi |
54 AC_PATH_PROG(SDL_CONFIG, sdl2-config, no, [$PATH]) |
38 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH]) |
55 PATH="$as_save_PATH" |
39 min_sdl_version=ifelse([$1], ,0.11.0,$1) |
56 AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) |
40 AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) |
57 no_sdl="" |
41 no_sdl="" |
58 |
42 if test "$SDL_CONFIG" = "no" ; then |
59 if test "$SDL_CONFIG" = "no" ; then |
43 no_sdl=yes |
60 no_sdl=yes |
44 else |
61 else |
45 SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags` |
62 SDL_CFLAGS=`$SDL_CONFIG $sdl_config_args --cflags` |
46 SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs` |
63 SDL_LIBS=`$SDL_CONFIG $sdl_config_args --libs` |
47 |
64 |
48 sdl_major_version=`$SDL_CONFIG $sdl_args --version | \ |
65 sdl_major_version=`$SDL_CONFIG $sdl_config_args --version | \ |
49 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` |
66 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` |
50 sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \ |
67 sdl_minor_version=`$SDL_CONFIG $sdl_config_args --version | \ |
51 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` |
68 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` |
52 sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ |
69 sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ |
53 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` |
70 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` |
54 if test "x$enable_sdltest" = "xyes" ; then |
71 if test "x$enable_sdltest" = "xyes" ; then |
55 ac_save_CFLAGS="$CFLAGS" |
72 ac_save_CFLAGS="$CFLAGS" |
56 ac_save_CXXFLAGS="$CXXFLAGS" |
73 ac_save_CXXFLAGS="$CXXFLAGS" |
57 ac_save_LIBS="$LIBS" |
74 ac_save_LIBS="$LIBS" |
58 CFLAGS="$CFLAGS $SDL_CFLAGS" |
75 CFLAGS="$CFLAGS $SDL_CFLAGS" |
59 CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" |
76 CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" |
60 LIBS="$LIBS $SDL_LIBS" |
77 LIBS="$LIBS $SDL_LIBS" |
61 dnl |
78 dnl |
62 dnl Now check if the installed SDL is sufficiently new. (Also sanity |
79 dnl Now check if the installed SDL is sufficiently new. (Also sanity |
63 dnl checks the results of sdl-config to some extent |
80 dnl checks the results of sdl2-config to some extent |
64 dnl |
81 dnl |
65 rm -f conf.sdltest |
82 rm -f conf.sdltest |
66 AC_TRY_RUN([ |
83 AC_TRY_RUN([ |
67 #include <stdio.h> |
84 #include <stdio.h> |
68 #include <stdlib.h> |
85 #include <stdlib.h> |
108 { |
125 { |
109 return 0; |
126 return 0; |
110 } |
127 } |
111 else |
128 else |
112 { |
129 { |
113 printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); |
130 printf("\n*** 'sdl2-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); |
114 printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); |
131 printf("*** of SDL required is %d.%d.%d. If sdl2-config is correct, then it is\n", major, minor, micro); |
115 printf("*** best to upgrade to the required version.\n"); |
132 printf("*** best to upgrade to the required version.\n"); |
116 printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); |
133 printf("*** If sdl2-config was wrong, set the environment variable SDL_CONFIG\n"); |
117 printf("*** to point to the correct copy of sdl-config, and remove the file\n"); |
134 printf("*** to point to the correct copy of sdl2-config, and remove the file\n"); |
118 printf("*** config.cache before re-running configure\n"); |
135 printf("*** config.cache before re-running configure\n"); |
119 return 1; |
136 return 1; |
120 } |
137 } |
121 } |
138 } |
122 |
139 |
123 ],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) |
140 ],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) |
124 CFLAGS="$ac_save_CFLAGS" |
141 CFLAGS="$ac_save_CFLAGS" |
125 CXXFLAGS="$ac_save_CXXFLAGS" |
142 CXXFLAGS="$ac_save_CXXFLAGS" |
126 LIBS="$ac_save_LIBS" |
143 LIBS="$ac_save_LIBS" |
127 fi |
144 fi |
|
145 fi |
|
146 if test "x$no_sdl" = x ; then |
|
147 AC_MSG_RESULT(yes) |
|
148 else |
|
149 AC_MSG_RESULT(no) |
|
150 fi |
128 fi |
151 fi |
129 if test "x$no_sdl" = x ; then |
152 if test "x$no_sdl" = x ; then |
130 AC_MSG_RESULT(yes) |
153 ifelse([$2], , :, [$2]) |
131 ifelse([$2], , :, [$2]) |
154 else |
132 else |
|
133 AC_MSG_RESULT(no) |
|
134 if test "$SDL_CONFIG" = "no" ; then |
155 if test "$SDL_CONFIG" = "no" ; then |
135 echo "*** The sdl-config script installed by SDL could not be found" |
156 echo "*** The sdl2-config script installed by SDL could not be found" |
136 echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" |
157 echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" |
137 echo "*** your path, or set the SDL_CONFIG environment variable to the" |
158 echo "*** your path, or set the SDL_CONFIG environment variable to the" |
138 echo "*** full path to sdl-config." |
159 echo "*** full path to sdl2-config." |
139 else |
160 else |
140 if test -f conf.sdltest ; then |
161 if test -f conf.sdltest ; then |
141 : |
162 : |
142 else |
163 else |
143 echo "*** Could not run SDL test program, checking why..." |
164 echo "*** Could not run SDL test program, checking why..." |
177 fi |
198 fi |
178 AC_SUBST(SDL_CFLAGS) |
199 AC_SUBST(SDL_CFLAGS) |
179 AC_SUBST(SDL_LIBS) |
200 AC_SUBST(SDL_LIBS) |
180 rm -f conf.sdltest |
201 rm -f conf.sdltest |
181 ]) |
202 ]) |
|
203 # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- |
|
204 # serial 1 (pkg-config-0.24) |
|
205 # |
|
206 # Copyright © 2004 Scott James Remnant <scott@netsplit.com>. |
|
207 # |
|
208 # This program is free software; you can redistribute it and/or modify |
|
209 # it under the terms of the GNU General Public License as published by |
|
210 # the Free Software Foundation; either version 2 of the License, or |
|
211 # (at your option) any later version. |
|
212 # |
|
213 # This program is distributed in the hope that it will be useful, but |
|
214 # WITHOUT ANY WARRANTY; without even the implied warranty of |
|
215 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
216 # General Public License for more details. |
|
217 # |
|
218 # You should have received a copy of the GNU General Public License |
|
219 # along with this program; if not, write to the Free Software |
|
220 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
|
221 # |
|
222 # As a special exception to the GNU General Public License, if you |
|
223 # distribute this file as part of a program that contains a |
|
224 # configuration script generated by Autoconf, you may include it under |
|
225 # the same distribution terms that you use for the rest of that program. |
|
226 |
|
227 # PKG_PROG_PKG_CONFIG([MIN-VERSION]) |
|
228 # ---------------------------------- |
|
229 AC_DEFUN([PKG_PROG_PKG_CONFIG], |
|
230 [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) |
|
231 m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) |
|
232 AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) |
|
233 AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) |
|
234 AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) |
|
235 |
|
236 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then |
|
237 AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) |
|
238 fi |
|
239 if test -n "$PKG_CONFIG"; then |
|
240 _pkg_min_version=m4_default([$1], [0.9.0]) |
|
241 AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) |
|
242 if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then |
|
243 AC_MSG_RESULT([yes]) |
|
244 else |
|
245 AC_MSG_RESULT([no]) |
|
246 PKG_CONFIG="" |
|
247 fi |
|
248 fi[]dnl |
|
249 ])# PKG_PROG_PKG_CONFIG |
|
250 |
|
251 # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) |
|
252 # |
|
253 # Check to see whether a particular set of modules exists. Similar |
|
254 # to PKG_CHECK_MODULES(), but does not set variables or print errors. |
|
255 # |
|
256 # Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) |
|
257 # only at the first occurence in configure.ac, so if the first place |
|
258 # it's called might be skipped (such as if it is within an "if", you |
|
259 # have to call PKG_CHECK_EXISTS manually |
|
260 # -------------------------------------------------------------- |
|
261 AC_DEFUN([PKG_CHECK_EXISTS], |
|
262 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl |
|
263 if test -n "$PKG_CONFIG" && \ |
|
264 AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then |
|
265 m4_default([$2], [:]) |
|
266 m4_ifvaln([$3], [else |
|
267 $3])dnl |
|
268 fi]) |
|
269 |
|
270 # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) |
|
271 # --------------------------------------------- |
|
272 m4_define([_PKG_CONFIG], |
|
273 [if test -n "$$1"; then |
|
274 pkg_cv_[]$1="$$1" |
|
275 elif test -n "$PKG_CONFIG"; then |
|
276 PKG_CHECK_EXISTS([$3], |
|
277 [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], |
|
278 [pkg_failed=yes]) |
|
279 else |
|
280 pkg_failed=untried |
|
281 fi[]dnl |
|
282 ])# _PKG_CONFIG |
|
283 |
|
284 # _PKG_SHORT_ERRORS_SUPPORTED |
|
285 # ----------------------------- |
|
286 AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], |
|
287 [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) |
|
288 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
|
289 _pkg_short_errors_supported=yes |
|
290 else |
|
291 _pkg_short_errors_supported=no |
|
292 fi[]dnl |
|
293 ])# _PKG_SHORT_ERRORS_SUPPORTED |
|
294 |
|
295 |
|
296 # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], |
|
297 # [ACTION-IF-NOT-FOUND]) |
|
298 # |
|
299 # |
|
300 # Note that if there is a possibility the first call to |
|
301 # PKG_CHECK_MODULES might not happen, you should be sure to include an |
|
302 # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac |
|
303 # |
|
304 # |
|
305 # -------------------------------------------------------------- |
|
306 AC_DEFUN([PKG_CHECK_MODULES], |
|
307 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl |
|
308 AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl |
|
309 AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl |
|
310 |
|
311 pkg_failed=no |
|
312 AC_MSG_CHECKING([for $1]) |
|
313 |
|
314 _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) |
|
315 _PKG_CONFIG([$1][_LIBS], [libs], [$2]) |
|
316 |
|
317 m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS |
|
318 and $1[]_LIBS to avoid the need to call pkg-config. |
|
319 See the pkg-config man page for more details.]) |
|
320 |
|
321 if test $pkg_failed = yes; then |
|
322 AC_MSG_RESULT([no]) |
|
323 _PKG_SHORT_ERRORS_SUPPORTED |
|
324 if test $_pkg_short_errors_supported = yes; then |
|
325 $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` |
|
326 else |
|
327 $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` |
|
328 fi |
|
329 # Put the nasty error message in config.log where it belongs |
|
330 echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD |
|
331 |
|
332 m4_default([$4], [AC_MSG_ERROR( |
|
333 [Package requirements ($2) were not met: |
|
334 |
|
335 $$1_PKG_ERRORS |
|
336 |
|
337 Consider adjusting the PKG_CONFIG_PATH environment variable if you |
|
338 installed software in a non-standard prefix. |
|
339 |
|
340 _PKG_TEXT])dnl |
|
341 ]) |
|
342 elif test $pkg_failed = untried; then |
|
343 AC_MSG_RESULT([no]) |
|
344 m4_default([$4], [AC_MSG_FAILURE( |
|
345 [The pkg-config script could not be found or is too old. Make sure it |
|
346 is in your PATH or set the PKG_CONFIG environment variable to the full |
|
347 path to pkg-config. |
|
348 |
|
349 _PKG_TEXT |
|
350 |
|
351 To get pkg-config, see <http://pkg-config.freedesktop.org/>.])dnl |
|
352 ]) |
|
353 else |
|
354 $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS |
|
355 $1[]_LIBS=$pkg_cv_[]$1[]_LIBS |
|
356 AC_MSG_RESULT([yes]) |
|
357 $3 |
|
358 fi[]dnl |
|
359 ])# PKG_CHECK_MODULES |