|  | # Configure paths for SDL | 
|  | # Sam Lantinga 9/21/99 | 
|  | # stolen from Manish Singh | 
|  | # stolen back from Frank Belew | 
|  | # stolen from Manish Singh | 
|  | # Shamelessly stolen from Owen Taylor | 
|  |  | 
|  | # serial 2 | 
|  |  | 
|  | dnl AM_PATH_SDL2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) | 
|  | dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS | 
|  | dnl | 
|  | AC_DEFUN([AM_PATH_SDL2], | 
|  | [dnl | 
|  | dnl Get the cflags and libraries from the sdl2-config script | 
|  | dnl | 
|  | AC_ARG_WITH(sdl-prefix,[  --with-sdl-prefix=PFX   Prefix where SDL is installed (optional)], | 
|  | sdl_prefix="$withval", sdl_prefix="") | 
|  | AC_ARG_WITH(sdl-exec-prefix,[  --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)], | 
|  | sdl_exec_prefix="$withval", sdl_exec_prefix="") | 
|  | AC_ARG_ENABLE(sdltest, [  --disable-sdltest       Do not try to compile and run a test SDL program], | 
|  | , enable_sdltest=yes) | 
|  |  | 
|  | min_sdl_version=ifelse([$1], ,2.0.0,$1) | 
|  |  | 
|  | if test "x$sdl_prefix$sdl_exec_prefix" = x ; then | 
|  | PKG_CHECK_MODULES([SDL], [sdl2 >= $min_sdl_version], | 
|  | [sdl_pc=yes], | 
|  | [sdl_pc=no]) | 
|  | else | 
|  | sdl_pc=no | 
|  | if test x$sdl_exec_prefix != x ; then | 
|  | sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix" | 
|  | if test x${SDL2_CONFIG+set} != xset ; then | 
|  | SDL2_CONFIG=$sdl_exec_prefix/bin/sdl2-config | 
|  | fi | 
|  | fi | 
|  | if test x$sdl_prefix != x ; then | 
|  | sdl_config_args="$sdl_config_args --prefix=$sdl_prefix" | 
|  | if test x${SDL2_CONFIG+set} != xset ; then | 
|  | SDL2_CONFIG=$sdl_prefix/bin/sdl2-config | 
|  | fi | 
|  | fi | 
|  | fi | 
|  |  | 
|  | if test "x$sdl_pc" = xyes ; then | 
|  | no_sdl="" | 
|  | SDL2_CONFIG="pkg-config sdl2" | 
|  | else | 
|  | as_save_PATH="$PATH" | 
|  | if test "x$prefix" != xNONE && test "$cross_compiling" != yes; then | 
|  | PATH="$prefix/bin:$prefix/usr/bin:$PATH" | 
|  | fi | 
|  | AC_PATH_PROG(SDL2_CONFIG, sdl2-config, no, [$PATH]) | 
|  | PATH="$as_save_PATH" | 
|  | AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) | 
|  | no_sdl="" | 
|  |  | 
|  | if test "$SDL2_CONFIG" = "no" ; then | 
|  | no_sdl=yes | 
|  | else | 
|  | SDL_CFLAGS=`$SDL2_CONFIG $sdl_config_args --cflags` | 
|  | SDL_LIBS=`$SDL2_CONFIG $sdl_config_args --libs` | 
|  |  | 
|  | sdl_major_version=`$SDL2_CONFIG $sdl_config_args --version | \ | 
|  | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` | 
|  | sdl_minor_version=`$SDL2_CONFIG $sdl_config_args --version | \ | 
|  | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` | 
|  | sdl_micro_version=`$SDL2_CONFIG $sdl_config_args --version | \ | 
|  | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` | 
|  | if test "x$enable_sdltest" = "xyes" ; then | 
|  | ac_save_CFLAGS="$CFLAGS" | 
|  | ac_save_CXXFLAGS="$CXXFLAGS" | 
|  | ac_save_LIBS="$LIBS" | 
|  | CFLAGS="$CFLAGS $SDL_CFLAGS" | 
|  | CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" | 
|  | LIBS="$LIBS $SDL_LIBS" | 
|  | dnl | 
|  | dnl Now check if the installed SDL is sufficiently new. (Also sanity | 
|  | dnl checks the results of sdl2-config to some extent | 
|  | dnl | 
|  | rm -f conf.sdltest | 
|  | AC_RUN_IFELSE([AC_LANG_SOURCE([[ | 
|  | #include <stdio.h> | 
|  | #include <stdlib.h> | 
|  | #include "SDL.h" | 
|  |  | 
|  | int main (int argc, char *argv[]) | 
|  | { | 
|  | int major, minor, micro; | 
|  | FILE *fp = fopen("conf.sdltest", "w"); | 
|  |  | 
|  | if (fp) fclose(fp); | 
|  |  | 
|  | if (sscanf("$min_sdl_version", "%d.%d.%d", &major, &minor, µ) != 3) { | 
|  | printf("%s, bad version string\n", "$min_sdl_version"); | 
|  | exit(1); | 
|  | } | 
|  |  | 
|  | if (($sdl_major_version > major) || | 
|  | (($sdl_major_version == major) && ($sdl_minor_version > minor)) || | 
|  | (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) | 
|  | { | 
|  | return 0; | 
|  | } | 
|  | else | 
|  | { | 
|  | printf("\n*** 'sdl2-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); | 
|  | printf("*** of SDL required is %d.%d.%d. If sdl2-config is correct, then it is\n", major, minor, micro); | 
|  | printf("*** best to upgrade to the required version.\n"); | 
|  | printf("*** If sdl2-config was wrong, set the environment variable SDL2_CONFIG\n"); | 
|  | printf("*** to point to the correct copy of sdl2-config, and remove the file\n"); | 
|  | printf("*** config.cache before re-running configure\n"); | 
|  | return 1; | 
|  | } | 
|  | } | 
|  |  | 
|  | ]])], [], [no_sdl=yes], [echo $ac_n "cross compiling; assumed OK... $ac_c"]) | 
|  | CFLAGS="$ac_save_CFLAGS" | 
|  | CXXFLAGS="$ac_save_CXXFLAGS" | 
|  | LIBS="$ac_save_LIBS" | 
|  | fi | 
|  | fi | 
|  | if test "x$no_sdl" = x ; then | 
|  | AC_MSG_RESULT(yes) | 
|  | else | 
|  | AC_MSG_RESULT(no) | 
|  | fi | 
|  | fi | 
|  | if test "x$no_sdl" = x ; then | 
|  | ifelse([$2], , :, [$2]) | 
|  | else | 
|  | if test "$SDL2_CONFIG" = "no" ; then | 
|  | echo "*** The sdl2-config script installed by SDL could not be found" | 
|  | echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" | 
|  | echo "*** your path, or set the SDL2_CONFIG environment variable to the" | 
|  | echo "*** full path to sdl2-config." | 
|  | else | 
|  | if test -f conf.sdltest ; then | 
|  | : | 
|  | else | 
|  | echo "*** Could not run SDL test program, checking why..." | 
|  | CFLAGS="$CFLAGS $SDL_CFLAGS" | 
|  | CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" | 
|  | LIBS="$LIBS $SDL_LIBS" | 
|  | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | 
|  | #include <stdio.h> | 
|  | #include "SDL.h" | 
|  |  | 
|  | int main(int argc, char *argv[]) | 
|  | { return 0; } | 
|  | #undef  main | 
|  | #define main K_and_R_C_main | 
|  | ]], [[ return 0; ]])], | 
|  | [ echo "*** The test program compiled, but did not run. This usually means" | 
|  | echo "*** that the run-time linker is not finding SDL or finding the wrong" | 
|  | echo "*** version of SDL. If it is not finding SDL, you'll need to set your" | 
|  | echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" | 
|  | echo "*** to the installed location  Also, make sure you have run ldconfig if that" | 
|  | echo "*** is required on your system" | 
|  | echo "***" | 
|  | echo "*** If you have an old version installed, it is best to remove it, although" | 
|  | echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], | 
|  | [ echo "*** The test program failed to compile or link. See the file config.log for the" | 
|  | echo "*** exact error that occured. This usually means SDL was incorrectly installed" | 
|  | echo "*** or that you have moved SDL since it was installed. In the latter case, you" | 
|  | echo "*** may want to edit the sdl2-config script: $SDL2_CONFIG" ]) | 
|  | CFLAGS="$ac_save_CFLAGS" | 
|  | CXXFLAGS="$ac_save_CXXFLAGS" | 
|  | LIBS="$ac_save_LIBS" | 
|  | fi | 
|  | fi | 
|  | SDL_CFLAGS="" | 
|  | SDL_LIBS="" | 
|  | ifelse([$3], , :, [$3]) | 
|  | fi | 
|  | AC_SUBST(SDL_CFLAGS) | 
|  | AC_SUBST(SDL_LIBS) | 
|  | rm -f conf.sdltest | 
|  | ]) | 
|  | # pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*- | 
|  | # serial 1 (pkg-config-0.24) | 
|  | # | 
|  | # Copyright © 2004 Scott James Remnant <scott@netsplit.com>. | 
|  | # | 
|  | # This program is free software; you can redistribute it and/or modify | 
|  | # it under the terms of the GNU General Public License as published by | 
|  | # the Free Software Foundation; either version 2 of the License, or | 
|  | # (at your option) any later version. | 
|  | # | 
|  | # This program is distributed in the hope that it will be useful, but | 
|  | # WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
|  | # General Public License for more details. | 
|  | # | 
|  | # You should have received a copy of the GNU General Public License | 
|  | # along with this program; if not, write to the Free Software | 
|  | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 
|  | # | 
|  | # As a special exception to the GNU General Public License, if you | 
|  | # distribute this file as part of a program that contains a | 
|  | # configuration script generated by Autoconf, you may include it under | 
|  | # the same distribution terms that you use for the rest of that program. | 
|  |  | 
|  | # PKG_PROG_PKG_CONFIG([MIN-VERSION]) | 
|  | # ---------------------------------- | 
|  | AC_DEFUN([PKG_PROG_PKG_CONFIG], | 
|  | [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) | 
|  | m4_pattern_allow([^PKG_CONFIG(_PATH|_LIBDIR)?$]) | 
|  | AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) | 
|  | AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) | 
|  | AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) | 
|  |  | 
|  | if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then | 
|  | AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) | 
|  | fi | 
|  | if test -n "$PKG_CONFIG"; then | 
|  | _pkg_min_version=m4_default([$1], [0.9.0]) | 
|  | AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) | 
|  | if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then | 
|  | AC_MSG_RESULT([yes]) | 
|  | else | 
|  | AC_MSG_RESULT([no]) | 
|  | PKG_CONFIG="" | 
|  | fi | 
|  | fi[]dnl | 
|  | ])# PKG_PROG_PKG_CONFIG | 
|  |  | 
|  | # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) | 
|  | # | 
|  | # Check to see whether a particular set of modules exists.  Similar | 
|  | # to PKG_CHECK_MODULES(), but does not set variables or print errors. | 
|  | # | 
|  | # Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) | 
|  | # only at the first occurence in configure.ac, so if the first place | 
|  | # it's called might be skipped (such as if it is within an "if", you | 
|  | # have to call PKG_CHECK_EXISTS manually | 
|  | # -------------------------------------------------------------- | 
|  | AC_DEFUN([PKG_CHECK_EXISTS], | 
|  | [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl | 
|  | if test -n "$PKG_CONFIG" && \ | 
|  | AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then | 
|  | m4_default([$2], [:]) | 
|  | m4_ifvaln([$3], [else | 
|  | $3])dnl | 
|  | fi]) | 
|  |  | 
|  | # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) | 
|  | # --------------------------------------------- | 
|  | m4_define([_PKG_CONFIG], | 
|  | [if test -n "$$1"; then | 
|  | pkg_cv_[]$1="$$1" | 
|  | elif test -n "$PKG_CONFIG"; then | 
|  | PKG_CHECK_EXISTS([$3], | 
|  | [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], | 
|  | [pkg_failed=yes]) | 
|  | else | 
|  | pkg_failed=untried | 
|  | fi[]dnl | 
|  | ])# _PKG_CONFIG | 
|  |  | 
|  | # _PKG_SHORT_ERRORS_SUPPORTED | 
|  | # ----------------------------- | 
|  | AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], | 
|  | [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) | 
|  | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 
|  | _pkg_short_errors_supported=yes | 
|  | else | 
|  | _pkg_short_errors_supported=no | 
|  | fi[]dnl | 
|  | ])# _PKG_SHORT_ERRORS_SUPPORTED | 
|  |  | 
|  |  | 
|  | # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], | 
|  | # [ACTION-IF-NOT-FOUND]) | 
|  | # | 
|  | # | 
|  | # Note that if there is a possibility the first call to | 
|  | # PKG_CHECK_MODULES might not happen, you should be sure to include an | 
|  | # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac | 
|  | # | 
|  | # | 
|  | # -------------------------------------------------------------- | 
|  | AC_DEFUN([PKG_CHECK_MODULES], | 
|  | [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl | 
|  | AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl | 
|  | AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl | 
|  |  | 
|  | pkg_failed=no | 
|  | AC_MSG_CHECKING([for $2]) | 
|  |  | 
|  | _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) | 
|  | _PKG_CONFIG([$1][_LIBS], [libs], [$2]) | 
|  |  | 
|  | m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS | 
|  | and $1[]_LIBS to avoid the need to call pkg-config. | 
|  | See the pkg-config man page for more details.]) | 
|  |  | 
|  | if test $pkg_failed = yes; then | 
|  | AC_MSG_RESULT([no]) | 
|  | _PKG_SHORT_ERRORS_SUPPORTED | 
|  | if test $_pkg_short_errors_supported = yes; then | 
|  | $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` | 
|  | else | 
|  | $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` | 
|  | fi | 
|  | # Put the nasty error message in config.log where it belongs | 
|  | echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD | 
|  |  | 
|  | m4_default([$4], [AC_MSG_ERROR( | 
|  | [Package requirements ($2) were not met: | 
|  |  | 
|  | $$1_PKG_ERRORS | 
|  |  | 
|  | Consider adjusting the PKG_CONFIG_PATH environment variable if you | 
|  | installed software in a non-standard prefix. | 
|  |  | 
|  | _PKG_TEXT])[]dnl | 
|  | ]) | 
|  | elif test $pkg_failed = untried; then | 
|  | AC_MSG_RESULT([no]) | 
|  | m4_default([$4], [AC_MSG_FAILURE( | 
|  | [The pkg-config script could not be found or is too old.  Make sure it | 
|  | is in your PATH or set the PKG_CONFIG environment variable to the full | 
|  | path to pkg-config. | 
|  |  | 
|  | _PKG_TEXT | 
|  |  | 
|  | To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl | 
|  | ]) | 
|  | else | 
|  | $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS | 
|  | $1[]_LIBS=$pkg_cv_[]$1[]_LIBS | 
|  | AC_MSG_RESULT([yes]) | 
|  | $3 | 
|  | fi[]dnl | 
|  | ])# PKG_CHECK_MODULES |