test/aclocal.m4
changeset 6250 cce0ddcf6747
parent 5310 a9945ce48999
child 6272 f3dbef2cc0f2
equal deleted inserted replaced
6248:7fe4b2b78acc 6250:cce0ddcf6747
     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..."
   163           echo "*** If you have an old version installed, it is best to remove it, although"
   184           echo "*** If you have an old version installed, it is best to remove it, although"
   164           echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
   185           echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
   165         [ echo "*** The test program failed to compile or link. See the file config.log for the"
   186         [ echo "*** The test program failed to compile or link. See the file config.log for the"
   166           echo "*** exact error that occured. This usually means SDL was incorrectly installed"
   187           echo "*** exact error that occured. This usually means SDL was incorrectly installed"
   167           echo "*** or that you have moved SDL since it was installed. In the latter case, you"
   188           echo "*** or that you have moved SDL since it was installed. In the latter case, you"
   168           echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ])
   189           echo "*** may want to edit the sdl2-config script: $SDL_CONFIG" ])
   169           CFLAGS="$ac_save_CFLAGS"
   190           CFLAGS="$ac_save_CFLAGS"
   170           CXXFLAGS="$ac_save_CXXFLAGS"
   191           CXXFLAGS="$ac_save_CXXFLAGS"
   171           LIBS="$ac_save_LIBS"
   192           LIBS="$ac_save_LIBS"
   172        fi
   193        fi
   173      fi
   194      fi
   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