1dnl aclocal.m4 generated automatically by aclocal 1.4a 2 3dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. 4dnl This file is free software; the Free Software Foundation 5dnl gives unlimited permission to copy and/or distribute it, 6dnl with or without modifications, as long as this notice is preserved. 7 8dnl This program is distributed in the hope that it will be useful, 9dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without 10dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A 11dnl PARTICULAR PURPOSE. 12 13# Configure paths for SDL 14# Sam Lantinga 9/21/99 15# stolen from Manish Singh 16# stolen back from Frank Belew 17# stolen from Manish Singh 18# Shamelessly stolen from Owen Taylor 19 20dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) 21dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS 22dnl 23AC_DEFUN(AM_PATH_SDL, 24[dnl 25dnl Get the cflags and libraries from the sdl-config script 26dnl 27AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], 28 sdl_prefix="$withval", sdl_prefix="") 29AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)], 30 sdl_exec_prefix="$withval", sdl_exec_prefix="") 31AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program], 32 , enable_sdltest=yes) 33 34 if test x$sdl_exec_prefix != x ; then 35 sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix" 36 if test x${SDL_CONFIG+set} != xset ; then 37 SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config 38 fi 39 fi 40 if test x$sdl_prefix != x ; then 41 sdl_args="$sdl_args --prefix=$sdl_prefix" 42 if test x${SDL_CONFIG+set} != xset ; then 43 SDL_CONFIG=$sdl_prefix/bin/sdl-config 44 fi 45 fi 46 47 AC_PATH_PROG(SDL_CONFIG, sdl-config, no) 48 min_sdl_version=ifelse([$1], ,0.11.0,$1) 49 AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) 50 no_sdl="" 51 if test "$SDL_CONFIG" = "no" ; then 52 no_sdl=yes 53 else 54 SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags` 55 SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs` 56 57 sdl_major_version=`$SDL_CONFIG $sdl_args --version | \ 58 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` 59 sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \ 60 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` 61 sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ 62 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` 63 if test "x$enable_sdltest" = "xyes" ; then 64 ac_save_CFLAGS="$CFLAGS" 65 ac_save_LIBS="$LIBS" 66 CFLAGS="$CFLAGS $SDL_CFLAGS" 67 LIBS="$LIBS $SDL_LIBS" 68dnl 69dnl Now check if the installed SDL is sufficiently new. (Also sanity 70dnl checks the results of sdl-config to some extent 71dnl 72 rm -f conf.sdltest 73 AC_TRY_RUN([ 74#include <stdio.h> 75#include <stdlib.h> 76#include <string.h> 77#include "SDL.h" 78 79char* 80my_strdup (char *str) 81{ 82 char *new_str; 83 84 if (str) 85 { 86 new_str = malloc ((strlen (str) + 1) * sizeof(char)); 87 strcpy (new_str, str); 88 } 89 else 90 new_str = NULL; 91 92 return new_str; 93} 94 95int main () 96{ 97 int major, minor, micro; 98 char *tmp_version; 99 100 system ("touch conf.sdltest"); 101 102 /* HP/UX 9 (%@#!) writes to sscanf strings */ 103 tmp_version = my_strdup("$min_sdl_version"); 104 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { 105 printf("%s, bad version string\n", "$min_sdl_version"); 106 exit(1); 107 } 108 109 if (($sdl_major_version > major) || 110 (($sdl_major_version == major) && ($sdl_minor_version > minor)) || 111 (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) 112 { 113 return 0; 114 } 115 else 116 { 117 printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); 118 printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); 119 printf("*** best to upgrade to the required version.\n"); 120 printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); 121 printf("*** to point to the correct copy of sdl-config, and remove the file\n"); 122 printf("*** config.cache before re-running configure\n"); 123 return 1; 124 } 125} 126 127],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) 128 CFLAGS="$ac_save_CFLAGS" 129 LIBS="$ac_save_LIBS" 130 fi 131 fi 132 if test "x$no_sdl" = x ; then 133 AC_MSG_RESULT(yes) 134 ifelse([$2], , :, [$2]) 135 else 136 AC_MSG_RESULT(no) 137 if test "$SDL_CONFIG" = "no" ; then 138 echo "*** The sdl-config script installed by SDL could not be found" 139 echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" 140 echo "*** your path, or set the SDL_CONFIG environment variable to the" 141 echo "*** full path to sdl-config." 142 else 143 if test -f conf.sdltest ; then 144 : 145 else 146 echo "*** Could not run SDL test program, checking why..." 147 CFLAGS="$CFLAGS $SDL_CFLAGS" 148 LIBS="$LIBS $SDL_LIBS" 149 AC_TRY_LINK([ 150#include <stdio.h> 151#include "SDL.h" 152], [ return 0; ], 153 [ echo "*** The test program compiled, but did not run. This usually means" 154 echo "*** that the run-time linker is not finding SDL or finding the wrong" 155 echo "*** version of SDL. If it is not finding SDL, you'll need to set your" 156 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" 157 echo "*** to the installed location Also, make sure you have run ldconfig if that" 158 echo "*** is required on your system" 159 echo "***" 160 echo "*** If you have an old version installed, it is best to remove it, although" 161 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], 162 [ echo "*** The test program failed to compile or link. See the file config.log for the" 163 echo "*** exact error that occured. This usually means SDL was incorrectly installed" 164 echo "*** or that you have moved SDL since it was installed. In the latter case, you" 165 echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ]) 166 CFLAGS="$ac_save_CFLAGS" 167 LIBS="$ac_save_LIBS" 168 fi 169 fi 170 SDL_CFLAGS="" 171 SDL_LIBS="" 172 ifelse([$3], , :, [$3]) 173 fi 174 AC_SUBST(SDL_CFLAGS) 175 AC_SUBST(SDL_LIBS) 176 rm -f conf.sdltest 177]) 178 179 180# Do all the work for Automake. This macro actually does too much -- 181# some checks are only needed if your package does certain things. 182# But this isn't really a big deal. 183 184# serial 1 185 186dnl Usage: 187dnl AM_INIT_AUTOMAKE(package,version, [no-define]) 188 189AC_DEFUN(AM_INIT_AUTOMAKE, 190[AC_REQUIRE([AC_PROG_INSTALL]) 191dnl We require 2.13 because we rely on SHELL being computed by configure. 192AC_PREREQ([2.13]) 193PACKAGE=[$1] 194AC_SUBST(PACKAGE) 195VERSION=[$2] 196AC_SUBST(VERSION) 197dnl test to see if srcdir already configured 198if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then 199 AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) 200fi 201ifelse([$3],, 202AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) 203AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])) 204AC_REQUIRE([AM_SANITY_CHECK]) 205AC_REQUIRE([AC_ARG_PROGRAM]) 206dnl FIXME This is truly gross. 207missing_dir=`cd $ac_aux_dir && pwd` 208AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir) 209AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) 210AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir) 211AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) 212AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) 213dnl We check for tar when the user configures the end package. 214dnl This is sad, since we only need this for "dist". However, 215dnl there's no other good way to do it. We prefer GNU tar if 216dnl we can find it. If we can't find a tar, it doesn't really matter. 217AC_CHECK_PROGS(AMTAR, gnutar gtar tar) 218AMTARFLAGS= 219if test -n "$AMTAR"; then 220 if $SHELL -c "$AMTAR --version" > /dev/null 2>&1; then 221 dnl We have GNU tar. 222 AMTARFLAGS=o 223 fi 224fi 225AC_SUBST(AMTARFLAGS) 226AC_REQUIRE([AC_PROG_MAKE_SET])]) 227 228# 229# Check to make sure that the build environment is sane. 230# 231 232AC_DEFUN(AM_SANITY_CHECK, 233[AC_MSG_CHECKING([whether build environment is sane]) 234# Just in case 235sleep 1 236echo timestamp > conftestfile 237# Do `set' in a subshell so we don't clobber the current shell's 238# arguments. Must try -L first in case configure is actually a 239# symlink; some systems play weird games with the mod time of symlinks 240# (eg FreeBSD returns the mod time of the symlink's containing 241# directory). 242if ( 243 set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` 244 if test "[$]*" = "X"; then 245 # -L didn't work. 246 set X `ls -t $srcdir/configure conftestfile` 247 fi 248 if test "[$]*" != "X $srcdir/configure conftestfile" \ 249 && test "[$]*" != "X conftestfile $srcdir/configure"; then 250 251 # If neither matched, then we have a broken ls. This can happen 252 # if, for instance, CONFIG_SHELL is bash and it inherits a 253 # broken ls alias from the environment. This has actually 254 # happened. Such a system could not be considered "sane". 255 AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken 256alias in your environment]) 257 fi 258 259 test "[$]2" = conftestfile 260 ) 261then 262 # Ok. 263 : 264else 265 AC_MSG_ERROR([newly created file is older than distributed files! 266Check your system clock]) 267fi 268rm -f conftest* 269AC_MSG_RESULT(yes)]) 270 271dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY) 272dnl The program must properly implement --version. 273AC_DEFUN(AM_MISSING_PROG, 274[AC_MSG_CHECKING(for working $2) 275# Run test in a subshell; some versions of sh will print an error if 276# an executable is not found, even if stderr is redirected. 277# Redirect stdin to placate older versions of autoconf. Sigh. 278if ($2 --version) < /dev/null > /dev/null 2>&1; then 279 $1=$2 280 AC_MSG_RESULT(found) 281else 282 $1="$3/missing $2" 283 AC_MSG_RESULT(missing) 284fi 285AC_SUBST($1)]) 286 287# Like AC_CONFIG_HEADER, but automatically create stamp file. 288 289AC_DEFUN(AM_CONFIG_HEADER, 290[AC_PREREQ([2.12]) 291AC_CONFIG_HEADER([$1]) 292dnl When config.status generates a header, we must update the stamp-h file. 293dnl This file resides in the same directory as the config header 294dnl that is generated. We must strip everything past the first ":", 295dnl and everything past the last "/". 296AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl 297ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>, 298<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>, 299<<am_indx=1 300for am_file in <<$1>>; do 301 case " <<$>>CONFIG_HEADERS " in 302 *" <<$>>am_file "*<<)>> 303 echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx 304 ;; 305 esac 306 am_indx=`expr "<<$>>am_indx" + 1` 307done<<>>dnl>>) 308changequote([,]))]) 309 310