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