1dnl aclocal.m4 generated automatically by aclocal 1.4 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 = (char *)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 (int argc, char *argv[]) 96{ 97 int major, minor, micro; 98 char *tmp_version; 99 100 /* This hangs on some systems (?) 101 system ("touch conf.sdltest"); 102 */ 103 { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } 104 105 /* HP/UX 9 (%@#!) writes to sscanf strings */ 106 tmp_version = my_strdup("$min_sdl_version"); 107 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { 108 printf("%s, bad version string\n", "$min_sdl_version"); 109 exit(1); 110 } 111 112 if (($sdl_major_version > major) || 113 (($sdl_major_version == major) && ($sdl_minor_version > minor)) || 114 (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) 115 { 116 return 0; 117 } 118 else 119 { 120 return 1; 121 } 122} 123 124],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) 125 CFLAGS="$ac_save_CFLAGS" 126 LIBS="$ac_save_LIBS" 127 fi 128 fi 129 if test "x$no_sdl" = x ; then 130 AC_MSG_RESULT(yes) 131 ifelse([$2], , :, [$2]) 132 else 133 AC_MSG_RESULT(no) 134 if test "$SDL_CONFIG" = "no" ; then 135 echo "*** The sdl-config script installed by SDL could not be found" 136 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" 138 echo "*** full path to sdl-config." 139 else 140 if test -f conf.sdltest ; then 141 : 142 else 143 echo "*** Could not run SDL test program, checking why..." 144 CFLAGS="$CFLAGS $SDL_CFLAGS" 145 LIBS="$LIBS $SDL_LIBS" 146 AC_TRY_LINK([ 147#include <stdio.h> 148#include "SDL.h" 149], [ return 0; ], 150 [ echo "*** The test program compiled, but did not run. This usually means" 151 echo "*** that the run-time linker is not finding SDL or finding the wrong" 152 echo "*** version of SDL. If it is not finding SDL, you'll need to set your" 153 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" 154 echo "*** to the installed location Also, make sure you have run ldconfig if that" 155 echo "*** is required on your system" 156 echo "***" 157 echo "*** If you have an old version installed, it is best to remove it, although" 158 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], 159 [ echo "*** The test program failed to compile or link. See the file config.log for the" 160 echo "*** exact error that occured. This usually means SDL was incorrectly installed" 161 echo "*** or that you have moved SDL since it was installed. In the latter case, you" 162 echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ]) 163 CFLAGS="$ac_save_CFLAGS" 164 LIBS="$ac_save_LIBS" 165 fi 166 fi 167 SDL_CFLAGS="" 168 SDL_LIBS="" 169 ifelse([$3], , :, [$3]) 170 fi 171 AC_SUBST(SDL_CFLAGS) 172 AC_SUBST(SDL_LIBS) 173 rm -f conf.sdltest 174]) 175 176# Like AC_CONFIG_HEADER, but automatically create stamp file. 177 178AC_DEFUN(AM_CONFIG_HEADER, 179[AC_PREREQ([2.12]) 180AC_CONFIG_HEADER([$1]) 181dnl When config.status generates a header, we must update the stamp-h file. 182dnl This file resides in the same directory as the config header 183dnl that is generated. We must strip everything past the first ":", 184dnl and everything past the last "/". 185AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl 186ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>, 187<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>, 188<<am_indx=1 189for am_file in <<$1>>; do 190 case " <<$>>CONFIG_HEADERS " in 191 *" <<$>>am_file "*<<)>> 192 echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx 193 ;; 194 esac 195 am_indx=`expr "<<$>>am_indx" + 1` 196done<<>>dnl>>) 197changequote([,]))]) 198 199# Do all the work for Automake. This macro actually does too much -- 200# some checks are only needed if your package does certain things. 201# But this isn't really a big deal. 202 203# serial 1 204 205dnl Usage: 206dnl AM_INIT_AUTOMAKE(package,version, [no-define]) 207 208AC_DEFUN(AM_INIT_AUTOMAKE, 209[AC_REQUIRE([AC_PROG_INSTALL]) 210PACKAGE=[$1] 211AC_SUBST(PACKAGE) 212VERSION=[$2] 213AC_SUBST(VERSION) 214dnl test to see if srcdir already configured 215if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then 216 AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) 217fi 218ifelse([$3],, 219AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) 220AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])) 221AC_REQUIRE([AM_SANITY_CHECK]) 222AC_REQUIRE([AC_ARG_PROGRAM]) 223dnl FIXME This is truly gross. 224missing_dir=`cd $ac_aux_dir && pwd` 225AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir) 226AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) 227AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir) 228AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) 229AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) 230AC_REQUIRE([AC_PROG_MAKE_SET])]) 231 232# 233# Check to make sure that the build environment is sane. 234# 235 236AC_DEFUN(AM_SANITY_CHECK, 237[AC_MSG_CHECKING([whether build environment is sane]) 238# Just in case 239sleep 1 240echo timestamp > conftestfile 241# Do `set' in a subshell so we don't clobber the current shell's 242# arguments. Must try -L first in case configure is actually a 243# symlink; some systems play weird games with the mod time of symlinks 244# (eg FreeBSD returns the mod time of the symlink's containing 245# directory). 246if ( 247 set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` 248 if test "[$]*" = "X"; then 249 # -L didn't work. 250 set X `ls -t $srcdir/configure conftestfile` 251 fi 252 if test "[$]*" != "X $srcdir/configure conftestfile" \ 253 && test "[$]*" != "X conftestfile $srcdir/configure"; then 254 255 # If neither matched, then we have a broken ls. This can happen 256 # if, for instance, CONFIG_SHELL is bash and it inherits a 257 # broken ls alias from the environment. This has actually 258 # happened. Such a system could not be considered "sane". 259 AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken 260alias in your environment]) 261 fi 262 263 test "[$]2" = conftestfile 264 ) 265then 266 # Ok. 267 : 268else 269 AC_MSG_ERROR([newly created file is older than distributed files! 270Check your system clock]) 271fi 272rm -f conftest* 273AC_MSG_RESULT(yes)]) 274 275dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY) 276dnl The program must properly implement --version. 277AC_DEFUN(AM_MISSING_PROG, 278[AC_MSG_CHECKING(for working $2) 279# Run test in a subshell; some versions of sh will print an error if 280# an executable is not found, even if stderr is redirected. 281# Redirect stdin to placate older versions of autoconf. Sigh. 282if ($2 --version) < /dev/null > /dev/null 2>&1; then 283 $1=$2 284 AC_MSG_RESULT(found) 285else 286 $1="$3/missing $2" 287 AC_MSG_RESULT(missing) 288fi 289AC_SUBST($1)]) 290 291