1# aclocal.m4 generated automatically by aclocal 1.5
2
3# Copyright 1996, 1997, 1998, 1999, 2000, 2001
4# Free Software Foundation, Inc.
5# This file is free software; the Free Software Foundation
6# gives unlimited permission to copy and/or distribute it,
7# with or without modifications, as long as this notice is preserved.
8
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12# PARTICULAR PURPOSE.
13
14# Do all the work for Automake.  This macro actually does too much --
15# some checks are only needed if your package does certain things.
16# But this isn't really a big deal.
17
18# serial 5
19
20# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
21# written in clear, in which case automake, when reading aclocal.m4,
22# will think it sees a *use*, and therefore will trigger all it's
23# C support machinery.  Also note that it means that autoscan, seeing
24# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
25
26
27# We require 2.13 because we rely on SHELL being computed by configure.
28AC_PREREQ([2.13])
29
30# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
31# -----------------------------------------------------------
32# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED.
33# The purpose of this macro is to provide the user with a means to
34# check macros which are provided without letting her know how the
35# information is coded.
36# If this macro is not defined by Autoconf, define it here.
37ifdef([AC_PROVIDE_IFELSE],
38      [],
39      [define([AC_PROVIDE_IFELSE],
40              [ifdef([AC_PROVIDE_$1],
41                     [$2], [$3])])])
42
43
44# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE])
45# ----------------------------------------------
46AC_DEFUN([AM_INIT_AUTOMAKE],
47[AC_REQUIRE([AC_PROG_INSTALL])dnl
48# test to see if srcdir already configured
49if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" &&
50   test -f $srcdir/config.status; then
51  AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first])
52fi
53
54# Define the identity of the package.
55PACKAGE=$1
56AC_SUBST(PACKAGE)dnl
57VERSION=$2
58AC_SUBST(VERSION)dnl
59ifelse([$3],,
60[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
61AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
62
63# Autoconf 2.50 wants to disallow AM_ names.  We explicitly allow
64# the ones we care about.
65ifdef([m4_pattern_allow],
66      [m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl
67
68# Autoconf 2.50 always computes EXEEXT.  However we need to be
69# compatible with 2.13, for now.  So we always define EXEEXT, but we
70# don't compute it.
71AC_SUBST(EXEEXT)
72# Similar for OBJEXT -- only we only use OBJEXT if the user actually
73# requests that it be used.  This is a bit dumb.
74: ${OBJEXT=o}
75AC_SUBST(OBJEXT)
76
77# Some tools Automake needs.
78AC_REQUIRE([AM_SANITY_CHECK])dnl
79AC_REQUIRE([AC_ARG_PROGRAM])dnl
80AM_MISSING_PROG(ACLOCAL, aclocal)
81AM_MISSING_PROG(AUTOCONF, autoconf)
82AM_MISSING_PROG(AUTOMAKE, automake)
83AM_MISSING_PROG(AUTOHEADER, autoheader)
84AM_MISSING_PROG(MAKEINFO, makeinfo)
85AM_MISSING_PROG(AMTAR, tar)
86AM_PROG_INSTALL_SH
87AM_PROG_INSTALL_STRIP
88# We need awk for the "check" target.  The system "awk" is bad on
89# some platforms.
90AC_REQUIRE([AC_PROG_AWK])dnl
91AC_REQUIRE([AC_PROG_MAKE_SET])dnl
92AC_REQUIRE([AM_DEP_TRACK])dnl
93AC_REQUIRE([AM_SET_DEPDIR])dnl
94AC_PROVIDE_IFELSE([AC_PROG_][CC],
95                  [_AM_DEPENDENCIES(CC)],
96                  [define([AC_PROG_][CC],
97                          defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl
98AC_PROVIDE_IFELSE([AC_PROG_][CXX],
99                  [_AM_DEPENDENCIES(CXX)],
100                  [define([AC_PROG_][CXX],
101                          defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl
102])
103
104#
105# Check to make sure that the build environment is sane.
106#
107
108# serial 3
109
110# AM_SANITY_CHECK
111# ---------------
112AC_DEFUN([AM_SANITY_CHECK],
113[AC_MSG_CHECKING([whether build environment is sane])
114# Just in case
115sleep 1
116echo timestamp > conftest.file
117# Do `set' in a subshell so we don't clobber the current shell's
118# arguments.  Must try -L first in case configure is actually a
119# symlink; some systems play weird games with the mod time of symlinks
120# (eg FreeBSD returns the mod time of the symlink's containing
121# directory).
122if (
123   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
124   if test "$[*]" = "X"; then
125      # -L didn't work.
126      set X `ls -t $srcdir/configure conftest.file`
127   fi
128   rm -f conftest.file
129   if test "$[*]" != "X $srcdir/configure conftest.file" \
130      && test "$[*]" != "X conftest.file $srcdir/configure"; then
131
132      # If neither matched, then we have a broken ls.  This can happen
133      # if, for instance, CONFIG_SHELL is bash and it inherits a
134      # broken ls alias from the environment.  This has actually
135      # happened.  Such a system could not be considered "sane".
136      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
137alias in your environment])
138   fi
139
140   test "$[2]" = conftest.file
141   )
142then
143   # Ok.
144   :
145else
146   AC_MSG_ERROR([newly created file is older than distributed files!
147Check your system clock])
148fi
149AC_MSG_RESULT(yes)])
150
151
152# serial 2
153
154# AM_MISSING_PROG(NAME, PROGRAM)
155# ------------------------------
156AC_DEFUN([AM_MISSING_PROG],
157[AC_REQUIRE([AM_MISSING_HAS_RUN])
158$1=${$1-"${am_missing_run}$2"}
159AC_SUBST($1)])
160
161
162# AM_MISSING_HAS_RUN
163# ------------------
164# Define MISSING if not defined so far and test if it supports --run.
165# If it does, set am_missing_run to use it, otherwise, to nothing.
166AC_DEFUN([AM_MISSING_HAS_RUN],
167[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
168test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
169# Use eval to expand $SHELL
170if eval "$MISSING --run true"; then
171  am_missing_run="$MISSING --run "
172else
173  am_missing_run=
174  am_backtick='`'
175  AC_MSG_WARN([${am_backtick}missing' script is too old or missing])
176fi
177])
178
179# AM_AUX_DIR_EXPAND
180
181# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
182# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
183# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
184#
185# Of course, Automake must honor this variable whenever it calls a
186# tool from the auxiliary directory.  The problem is that $srcdir (and
187# therefore $ac_aux_dir as well) can be either absolute or relative,
188# depending on how configure is run.  This is pretty annoying, since
189# it makes $ac_aux_dir quite unusable in subdirectories: in the top
190# source directory, any form will work fine, but in subdirectories a
191# relative path needs to be adjusted first.
192#
193# $ac_aux_dir/missing
194#    fails when called from a subdirectory if $ac_aux_dir is relative
195# $top_srcdir/$ac_aux_dir/missing
196#    fails if $ac_aux_dir is absolute,
197#    fails when called from a subdirectory in a VPATH build with
198#          a relative $ac_aux_dir
199#
200# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
201# are both prefixed by $srcdir.  In an in-source build this is usually
202# harmless because $srcdir is `.', but things will broke when you
203# start a VPATH build or use an absolute $srcdir.
204#
205# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
206# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
207#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
208# and then we would define $MISSING as
209#   MISSING="\${SHELL} $am_aux_dir/missing"
210# This will work as long as MISSING is not called from configure, because
211# unfortunately $(top_srcdir) has no meaning in configure.
212# However there are other variables, like CC, which are often used in
213# configure, and could therefore not use this "fixed" $ac_aux_dir.
214#
215# Another solution, used here, is to always expand $ac_aux_dir to an
216# absolute PATH.  The drawback is that using absolute paths prevent a
217# configured tree to be moved without reconfiguration.
218
219AC_DEFUN([AM_AUX_DIR_EXPAND], [
220# expand $ac_aux_dir to an absolute path
221am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd`
222])
223
224# AM_PROG_INSTALL_SH
225# ------------------
226# Define $install_sh.
227AC_DEFUN([AM_PROG_INSTALL_SH],
228[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
229install_sh=${install_sh-"$am_aux_dir/install-sh"}
230AC_SUBST(install_sh)])
231
232# One issue with vendor `install' (even GNU) is that you can't
233# specify the program used to strip binaries.  This is especially
234# annoying in cross-compiling environments, where the build's strip
235# is unlikely to handle the host's binaries.
236# Fortunately install-sh will honor a STRIPPROG variable, so we
237# always use install-sh in `make install-strip', and initialize
238# STRIPPROG with the value of the STRIP variable (set by the user).
239AC_DEFUN([AM_PROG_INSTALL_STRIP],
240[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
241INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
242AC_SUBST([INSTALL_STRIP_PROGRAM])])
243
244# serial 4						-*- Autoconf -*-
245
246
247
248# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
249# written in clear, in which case automake, when reading aclocal.m4,
250# will think it sees a *use*, and therefore will trigger all it's
251# C support machinery.  Also note that it means that autoscan, seeing
252# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
253
254
255
256# _AM_DEPENDENCIES(NAME)
257# ---------------------
258# See how the compiler implements dependency checking.
259# NAME is "CC", "CXX" or "OBJC".
260# We try a few techniques and use that to set a single cache variable.
261#
262# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
263# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
264# dependency, and given that the user is not expected to run this macro,
265# just rely on AC_PROG_CC.
266AC_DEFUN([_AM_DEPENDENCIES],
267[AC_REQUIRE([AM_SET_DEPDIR])dnl
268AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
269AC_REQUIRE([AM_MAKE_INCLUDE])dnl
270AC_REQUIRE([AM_DEP_TRACK])dnl
271
272ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
273       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
274       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc']
275       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
276                   [depcc="$$1"   am_compiler_list=])
277
278AC_CACHE_CHECK([dependency style of $depcc],
279               [am_cv_$1_dependencies_compiler_type],
280[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
281  # We make a subdir and do the tests there.  Otherwise we can end up
282  # making bogus files that we don't know about and never remove.  For
283  # instance it was reported that on HP-UX the gcc test will end up
284  # making a dummy file named `D' -- because `-MD' means `put the output
285  # in D'.
286  mkdir conftest.dir
287  # Copy depcomp to subdir because otherwise we won't find it if we're
288  # using a relative directory.
289  cp "$am_depcomp" conftest.dir
290  cd conftest.dir
291
292  am_cv_$1_dependencies_compiler_type=none
293  if test "$am_compiler_list" = ""; then
294     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
295  fi
296  for depmode in $am_compiler_list; do
297    # We need to recreate these files for each test, as the compiler may
298    # overwrite some of them when testing with obscure command lines.
299    # This happens at least with the AIX C compiler.
300    echo '#include "conftest.h"' > conftest.c
301    echo 'int i;' > conftest.h
302    echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
303
304    case $depmode in
305    nosideeffect)
306      # after this tag, mechanisms are not by side-effect, so they'll
307      # only be used when explicitly requested
308      if test "x$enable_dependency_tracking" = xyes; then
309	continue
310      else
311	break
312      fi
313      ;;
314    none) break ;;
315    esac
316    # We check with `-c' and `-o' for the sake of the "dashmstdout"
317    # mode.  It turns out that the SunPro C++ compiler does not properly
318    # handle `-M -o', and we need to detect this.
319    if depmode=$depmode \
320       source=conftest.c object=conftest.o \
321       depfile=conftest.Po tmpdepfile=conftest.TPo \
322       $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
323       grep conftest.h conftest.Po > /dev/null 2>&1 &&
324       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
325      am_cv_$1_dependencies_compiler_type=$depmode
326      break
327    fi
328  done
329
330  cd ..
331  rm -rf conftest.dir
332else
333  am_cv_$1_dependencies_compiler_type=none
334fi
335])
336$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type"
337AC_SUBST([$1DEPMODE])
338])
339
340
341# AM_SET_DEPDIR
342# -------------
343# Choose a directory name for dependency files.
344# This macro is AC_REQUIREd in _AM_DEPENDENCIES
345AC_DEFUN([AM_SET_DEPDIR],
346[rm -f .deps 2>/dev/null
347mkdir .deps 2>/dev/null
348if test -d .deps; then
349  DEPDIR=.deps
350else
351  # MS-DOS does not allow filenames that begin with a dot.
352  DEPDIR=_deps
353fi
354rmdir .deps 2>/dev/null
355AC_SUBST(DEPDIR)
356])
357
358
359# AM_DEP_TRACK
360# ------------
361AC_DEFUN([AM_DEP_TRACK],
362[AC_ARG_ENABLE(dependency-tracking,
363[  --disable-dependency-tracking Speeds up one-time builds
364  --enable-dependency-tracking  Do not reject slow dependency extractors])
365if test "x$enable_dependency_tracking" != xno; then
366  am_depcomp="$ac_aux_dir/depcomp"
367  AMDEPBACKSLASH='\'
368fi
369AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
370pushdef([subst], defn([AC_SUBST]))
371subst(AMDEPBACKSLASH)
372popdef([subst])
373])
374
375# Generate code to set up dependency tracking.
376# This macro should only be invoked once -- use via AC_REQUIRE.
377# Usage:
378# AM_OUTPUT_DEPENDENCY_COMMANDS
379
380#
381# This code is only required when automatic dependency tracking
382# is enabled.  FIXME.  This creates each `.P' file that we will
383# need in order to bootstrap the dependency handling code.
384AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[
385AC_OUTPUT_COMMANDS([
386test x"$AMDEP_TRUE" != x"" ||
387for mf in $CONFIG_FILES; do
388  case "$mf" in
389  Makefile) dirpart=.;;
390  */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;;
391  *) continue;;
392  esac
393  grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
394  # Extract the definition of DEP_FILES from the Makefile without
395  # running `make'.
396  DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
397  test -z "$DEPDIR" && continue
398  # When using ansi2knr, U may be empty or an underscore; expand it
399  U=`sed -n -e '/^U = / s///p' < "$mf"`
400  test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
401  # We invoke sed twice because it is the simplest approach to
402  # changing $(DEPDIR) to its actual value in the expansion.
403  for file in `sed -n -e '
404    /^DEP_FILES = .*\\\\$/ {
405      s/^DEP_FILES = //
406      :loop
407	s/\\\\$//
408	p
409	n
410	/\\\\$/ b loop
411      p
412    }
413    /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
414       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
415    # Make sure the directory exists.
416    test -f "$dirpart/$file" && continue
417    fdir=`echo "$file" | sed -e 's|/[^/]*$||'`
418    $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1
419    # echo "creating $dirpart/$file"
420    echo '# dummy' > "$dirpart/$file"
421  done
422done
423], [AMDEP_TRUE="$AMDEP_TRUE"
424ac_aux_dir="$ac_aux_dir"])])
425
426# AM_MAKE_INCLUDE()
427# -----------------
428# Check to see how make treats includes.
429AC_DEFUN([AM_MAKE_INCLUDE],
430[am_make=${MAKE-make}
431cat > confinc << 'END'
432doit:
433	@echo done
434END
435# If we don't find an include directive, just comment out the code.
436AC_MSG_CHECKING([for style of include used by $am_make])
437am__include='#'
438am__quote=
439_am_result=none
440# First try GNU make style include.
441echo "include confinc" > confmf
442# We grep out `Entering directory' and `Leaving directory'
443# messages which can occur if `w' ends up in MAKEFLAGS.
444# In particular we don't look at `^make:' because GNU make might
445# be invoked under some other name (usually "gmake"), in which
446# case it prints its new name instead of `make'.
447if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then
448   am__include=include
449   am__quote=
450   _am_result=GNU
451fi
452# Now try BSD make style include.
453if test "$am__include" = "#"; then
454   echo '.include "confinc"' > confmf
455   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
456      am__include=.include
457      am__quote='"'
458      _am_result=BSD
459   fi
460fi
461AC_SUBST(am__include)
462AC_SUBST(am__quote)
463AC_MSG_RESULT($_am_result)
464rm -f confinc confmf
465])
466
467# serial 3
468
469# AM_CONDITIONAL(NAME, SHELL-CONDITION)
470# -------------------------------------
471# Define a conditional.
472#
473# FIXME: Once using 2.50, use this:
474# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl
475AC_DEFUN([AM_CONDITIONAL],
476[ifelse([$1], [TRUE],
477        [errprint(__file__:__line__: [$0: invalid condition: $1
478])dnl
479m4exit(1)])dnl
480ifelse([$1], [FALSE],
481       [errprint(__file__:__line__: [$0: invalid condition: $1
482])dnl
483m4exit(1)])dnl
484AC_SUBST([$1_TRUE])
485AC_SUBST([$1_FALSE])
486if $2; then
487  $1_TRUE=
488  $1_FALSE='#'
489else
490  $1_TRUE='#'
491  $1_FALSE=
492fi])
493
494# Like AC_CONFIG_HEADER, but automatically create stamp file.
495
496# serial 3
497
498# When config.status generates a header, we must update the stamp-h file.
499# This file resides in the same directory as the config header
500# that is generated.  We must strip everything past the first ":",
501# and everything past the last "/".
502
503AC_PREREQ([2.12])
504
505AC_DEFUN([AM_CONFIG_HEADER],
506[ifdef([AC_FOREACH],dnl
507	 [dnl init our file count if it isn't already
508	 m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0]))
509	 dnl prepare to store our destination file list for use in config.status
510	 AC_FOREACH([_AM_File], [$1],
511		    [m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*]))
512		    m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index))
513		    dnl and add it to the list of files AC keeps track of, along
514		    dnl with our hook
515		    AC_CONFIG_HEADERS(_AM_File,
516dnl COMMANDS, [, INIT-CMDS]
517[# update the timestamp
518echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index["
519][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS
520		    m4_popdef([_AM_Dest])])],dnl
521[AC_CONFIG_HEADER([$1])
522  AC_OUTPUT_COMMANDS(
523   ifelse(patsubst([$1], [[^ ]], []),
524	  [],
525	  [test -z "$CONFIG_HEADERS" || echo timestamp >dnl
526	   patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl
527[am_indx=1
528for am_file in $1; do
529  case " \$CONFIG_HEADERS " in
530  *" \$am_file "*)
531    am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\`
532    if test -n "\$am_dir"; then
533      am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\`
534      for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do
535        am_tmpdir=\$am_tmpdir\$am_subdir/
536        if test ! -d \$am_tmpdir; then
537          mkdir \$am_tmpdir
538        fi
539      done
540    fi
541    echo timestamp > "\$am_dir"stamp-h\$am_indx
542    ;;
543  esac
544  am_indx=\`expr \$am_indx + 1\`
545done])
546])]) # AM_CONFIG_HEADER
547
548# _AM_DIRNAME(PATH)
549# -----------------
550# Like AS_DIRNAME, only do it during macro expansion
551AC_DEFUN([_AM_DIRNAME],
552       [m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
553	      m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1,
554		    m4_if(m4_regexp([$1], [^/.*]), -1,
555			  [.],
556			  m4_patsubst([$1], [^\(/\).*], [\1])),
557		    m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
558	      m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
559]) # _AM_DIRNAME
560
561
562# serial 1
563
564# @defmac AC_PROG_CC_STDC
565# @maindex PROG_CC_STDC
566# @ovindex CC
567# If the C compiler in not in ANSI C mode by default, try to add an option
568# to output variable @code{CC} to make it so.  This macro tries various
569# options that select ANSI C on some system or another.  It considers the
570# compiler to be in ANSI C mode if it handles function prototypes correctly.
571#
572# If you use this macro, you should check after calling it whether the C
573# compiler has been set to accept ANSI C; if not, the shell variable
574# @code{am_cv_prog_cc_stdc} is set to @samp{no}.  If you wrote your source
575# code in ANSI C, you can make an un-ANSIfied copy of it by using the
576# program @code{ansi2knr}, which comes with Ghostscript.
577# @end defmac
578
579AC_DEFUN([AM_PROG_CC_STDC],
580[AC_REQUIRE([AC_PROG_CC])
581AC_BEFORE([$0], [AC_C_INLINE])
582AC_BEFORE([$0], [AC_C_CONST])
583dnl Force this before AC_PROG_CPP.  Some cpp's, eg on HPUX, require
584dnl a magic option to avoid problems with ANSI preprocessor commands
585dnl like #elif.
586dnl FIXME: can't do this because then AC_AIX won't work due to a
587dnl circular dependency.
588dnl AC_BEFORE([$0], [AC_PROG_CPP])
589AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C])
590AC_CACHE_VAL(am_cv_prog_cc_stdc,
591[am_cv_prog_cc_stdc=no
592ac_save_CC="$CC"
593# Don't try gcc -ansi; that turns off useful extensions and
594# breaks some systems' header files.
595# AIX			-qlanglvl=ansi
596# Ultrix and OSF/1	-std1
597# HP-UX 10.20 and later	-Ae
598# HP-UX older versions	-Aa -D_HPUX_SOURCE
599# SVR4			-Xc -D__EXTENSIONS__
600for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
601do
602  CC="$ac_save_CC $ac_arg"
603  AC_TRY_COMPILE(
604[#include <stdarg.h>
605#include <stdio.h>
606#include <sys/types.h>
607#include <sys/stat.h>
608/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
609struct buf { int x; };
610FILE * (*rcsopen) (struct buf *, struct stat *, int);
611static char *e (p, i)
612     char **p;
613     int i;
614{
615  return p[i];
616}
617static char *f (char * (*g) (char **, int), char **p, ...)
618{
619  char *s;
620  va_list v;
621  va_start (v,p);
622  s = g (p, va_arg (v,int));
623  va_end (v);
624  return s;
625}
626int test (int i, double x);
627struct s1 {int (*f) (int a);};
628struct s2 {int (*f) (double a);};
629int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
630int argc;
631char **argv;
632], [
633return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
634],
635[am_cv_prog_cc_stdc="$ac_arg"; break])
636done
637CC="$ac_save_CC"
638])
639if test -z "$am_cv_prog_cc_stdc"; then
640  AC_MSG_RESULT([none needed])
641else
642  AC_MSG_RESULT([$am_cv_prog_cc_stdc])
643fi
644case "x$am_cv_prog_cc_stdc" in
645  x|xno) ;;
646  *) CC="$CC $am_cv_prog_cc_stdc" ;;
647esac
648])
649
650dnl check for ipv6 implementation
651dnl taken from racoon
652AC_DEFUN([AC_IPV6],
653 [AC_ARG_ENABLE(ipv6,
654  [  --enable-ipv6           Enable ipv6 support
655  --disable-ipv6          Disable ipv6 support],
656  [ if test "$enableval" = yes; then
657     ac_cv_ipv6 = yes;
658   fi],
659  AC_CACHE_CHECK([for working ipv6 implementation], ac_cv_ipv6,
660   [AC_TRY_COMPILE([
661#include <sys/types.h>
662#include <sys/socket.h>
663#include <netinet/in.h>
664#include <stdlib.h>
665     ],[
666  struct sockaddr_in6 s;
667  int i = socket(AF_INET6, SOCK_STREAM, 0);
668    ], ac_cv_ipv6=yes, ac_cv_ipv6=no)
669   ]))
670  if test "$ac_cv_ipv6" = yes; then
671    AC_DEFINE(INET6,,[define if a working ipv6 implementation is available])
672  fi
673 ])
674
675# Configure paths for SDL
676# Sam Lantinga 9/21/99
677# stolen from Manish Singh
678# stolen back from Frank Belew
679# stolen from Manish Singh
680# Shamelessly stolen from Owen Taylor
681
682dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
683dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS
684dnl
685AC_DEFUN(AM_PATH_SDL,
686[dnl
687dnl Get the cflags and libraries from the sdl-config script
688dnl
689AC_ARG_WITH(sdl-prefix,[  --with-sdl-prefix=PFX   Prefix where SDL is installed (optional)],
690            sdl_prefix="$withval", sdl_prefix="")
691AC_ARG_WITH(sdl-exec-prefix,[  --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
692            sdl_exec_prefix="$withval", sdl_exec_prefix="")
693AC_ARG_ENABLE(sdltest, [  --disable-sdltest       Do not try to compile and run a test SDL program],
694		    , enable_sdltest=yes)
695
696  if test x$sdl_exec_prefix != x ; then
697     sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix"
698     if test x${SDL_CONFIG+set} != xset ; then
699        SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config
700     fi
701  fi
702  if test x$sdl_prefix != x ; then
703     sdl_args="$sdl_args --prefix=$sdl_prefix"
704     if test x${SDL_CONFIG+set} != xset ; then
705        SDL_CONFIG=$sdl_prefix/bin/sdl-config
706     fi
707  fi
708
709  AC_REQUIRE([AC_CANONICAL_TARGET])
710  AC_PATH_PROG(SDL_CONFIG, sdl-config, no)
711  min_sdl_version=ifelse([$1], ,0.11.0,$1)
712  AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
713  no_sdl=""
714  if test "$SDL_CONFIG" = "no" ; then
715    no_sdl=yes
716  else
717    SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags`
718    SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs`
719
720    sdl_major_version=`$SDL_CONFIG $sdl_args --version | \
721           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
722    sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \
723           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
724    sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
725           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
726    if test "x$enable_sdltest" = "xyes" ; then
727      ac_save_CFLAGS="$CFLAGS"
728      ac_save_LIBS="$LIBS"
729      CFLAGS="$CFLAGS $SDL_CFLAGS"
730      LIBS="$LIBS $SDL_LIBS"
731dnl
732dnl Now check if the installed SDL is sufficiently new. (Also sanity
733dnl checks the results of sdl-config to some extent
734dnl
735      rm -f conf.sdltest
736      AC_TRY_RUN([
737#include <stdio.h>
738#include <stdlib.h>
739#include <string.h>
740#include "SDL.h"
741
742char*
743my_strdup (char *str)
744{
745  char *new_str;
746
747  if (str)
748    {
749      new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
750      strcpy (new_str, str);
751    }
752  else
753    new_str = NULL;
754
755  return new_str;
756}
757
758int main (int argc, char *argv[])
759{
760  int major, minor, micro;
761  char *tmp_version;
762
763  /* This hangs on some systems (?)
764  system ("touch conf.sdltest");
765  */
766  { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
767
768  /* HP/UX 9 (%@#!) writes to sscanf strings */
769  tmp_version = my_strdup("$min_sdl_version");
770  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
771     printf("%s, bad version string\n", "$min_sdl_version");
772     exit(1);
773   }
774
775   if (($sdl_major_version > major) ||
776      (($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
777      (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
778    {
779      return 0;
780    }
781  else
782    {
783      printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
784      printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
785      printf("*** best to upgrade to the required version.\n");
786      printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
787      printf("*** to point to the correct copy of sdl-config, and remove the file\n");
788      printf("*** config.cache before re-running configure\n");
789      return 1;
790    }
791}
792
793],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
794       CFLAGS="$ac_save_CFLAGS"
795       LIBS="$ac_save_LIBS"
796     fi
797  fi
798  if test "x$no_sdl" = x ; then
799     AC_MSG_RESULT(yes)
800     ifelse([$2], , :, [$2])
801  else
802     AC_MSG_RESULT(no)
803     if test "$SDL_CONFIG" = "no" ; then
804       echo "*** The sdl-config script installed by SDL could not be found"
805       echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in"
806       echo "*** your path, or set the SDL_CONFIG environment variable to the"
807       echo "*** full path to sdl-config."
808     else
809       if test -f conf.sdltest ; then
810        :
811       else
812          echo "*** Could not run SDL test program, checking why..."
813          CFLAGS="$CFLAGS $SDL_CFLAGS"
814          LIBS="$LIBS $SDL_LIBS"
815          AC_TRY_LINK([
816#include <stdio.h>
817#include "SDL.h"
818
819int main(int argc, char *argv[])
820{ return 0; }
821#undef  main
822#define main K_and_R_C_main
823],      [ return 0; ],
824        [ echo "*** The test program compiled, but did not run. This usually means"
825          echo "*** that the run-time linker is not finding SDL or finding the wrong"
826          echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
827          echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
828          echo "*** to the installed location  Also, make sure you have run ldconfig if that"
829          echo "*** is required on your system"
830	  echo "***"
831          echo "*** If you have an old version installed, it is best to remove it, although"
832          echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
833        [ echo "*** The test program failed to compile or link. See the file config.log for the"
834          echo "*** exact error that occured. This usually means SDL was incorrectly installed"
835          echo "*** or that you have moved SDL since it was installed. In the latter case, you"
836          echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ])
837          CFLAGS="$ac_save_CFLAGS"
838          LIBS="$ac_save_LIBS"
839       fi
840     fi
841     SDL_CFLAGS=""
842     SDL_LIBS=""
843     ifelse([$3], , :, [$3])
844  fi
845  AC_SUBST(SDL_CFLAGS)
846  AC_SUBST(SDL_LIBS)
847  rm -f conf.sdltest
848])
849
850dnl @synopsis TYPE_SOCKLEN_T
851dnl
852dnl Check whether sys/socket.h defines type socklen_t. Please note
853dnl that some systems require sys/types.h to be included before
854dnl sys/socket.h can be compiled.
855dnl
856dnl @version $\Id: type_socklen_t.m4,v 1.2 2000/07/19 13:03:32 simons Exp $
857dnl @author Lars Brinkhoff <lars@nocrew.org>
858dnl
859AC_DEFUN([TYPE_SOCKLEN_T],
860[AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
861[
862  AC_TRY_COMPILE(
863  [#include <sys/types.h>
864   #include <sys/socket.h>],
865  [socklen_t len = 42; return 0;],
866  ac_cv_type_socklen_t=yes,
867  ac_cv_type_socklen_t=no)
868])
869  if test $ac_cv_type_socklen_t != yes; then
870    AC_DEFINE(socklen_t, int, [have socklen_t type])
871  fi
872])
873
874dnl check for a sa_len member in struct sockaddr
875dnl taken and adapted from libpcap
876dnl $Id: sa_len.m4,v 1.1.1.1 2002/08/18 17:28:56 aeneas Exp $
877AC_DEFUN(AC_STRUCT_SA_LEN,
878[AC_CACHE_CHECK([for sa_len in struct sockaddr], ac_cv_struct_sa_len,
879[AC_TRY_COMPILE([
880#include <sys/types.h>
881#include <sys/socket.h>
882 ],[
883struct sockaddr s; s.sa_len;
884 ], ac_cv_struct_sa_len=yes, ac_cv_struct_sa_len=no)])
885if test $ac_cv_struct_sa_len = yes; then
886  AC_DEFINE(HAVE_SA_LEN,,[define if struct sockaddr has a sa_len member])
887fi
888])
889
890dnl @synopsis AC_CXX_NAMESPACES
891dnl
892dnl If the compiler can prevent names clashes using namespaces, define
893dnl HAVE_NAMESPACES.
894dnl
895dnl @version $\Id: ac_cxx_namespaces.m4,v 1.2 2000/07/19 13:03:28 simons Exp $
896dnl @author Luc Maisonobe
897dnl
898AC_DEFUN([AC_CXX_NAMESPACES],
899[AC_CACHE_CHECK(whether the compiler implements namespaces,
900ac_cv_cxx_namespaces,
901[AC_LANG_SAVE
902 AC_LANG_CPLUSPLUS
903 AC_TRY_COMPILE([namespace Outer { namespace Inner { int i = 0; }}],
904                [using namespace Outer::Inner; return i;],
905 ac_cv_cxx_namespaces=yes, ac_cv_cxx_namespaces=no)
906 AC_LANG_RESTORE
907])
908if test "$ac_cv_cxx_namespaces" = yes; then
909  AC_DEFINE(HAVE_NAMESPACES,,[define if the compiler implements namespaces])
910fi
911])
912
913dnl @synopsis AC_CXX_HAVE_SSTREAM
914dnl
915dnl If the C++ library has a working stringstream, define HAVE_SSTREAM.
916dnl
917dnl @author Ben Stanley
918dnl @version $\Id: ac_cxx_have_sstream.m4,v 1.1 2001/03/16 13:47:06 simons Exp $
919dnl
920AC_DEFUN([AC_CXX_HAVE_SSTREAM],
921[AC_CACHE_CHECK(whether the compiler has stringstream,
922ac_cv_cxx_have_sstream,
923[AC_REQUIRE([AC_CXX_NAMESPACES])
924 AC_LANG_SAVE
925 AC_LANG_CPLUSPLUS
926 AC_TRY_COMPILE([#include <sstream>
927#ifdef HAVE_NAMESPACES
928using namespace std;
929#endif],[stringstream message; message << "Hello"; return 0;],
930 ac_cv_cxx_have_sstream=yes, ac_cv_cxx_have_sstream=no)
931 AC_LANG_RESTORE
932])
933if test "$ac_cv_cxx_have_sstream" = yes; then
934  AC_DEFINE(HAVE_SSTREAM,,[define if the compiler has stringstream])
935fi
936])
937
938dnl @synopsis AC_CXX_HAVE_STD_COMPARE
939dnl
940dnl Define HAVE_STD_COMPARE if std::string::compare() has the right signature,
941dnl as defined in ISO C++.
942dnl
943dnl @version $Id: ac_cxx_have_std_compare.m4,v 1.1.1.1 2002/08/18 17:28:56 aeneas Exp $
944dnl @author Stefan Farfeleder <e0026813@stud3.tuwien.ac.at>
945dnl
946AC_DEFUN([AC_CXX_HAVE_STD_COMPARE],
947[AC_CACHE_CHECK(whether std::string::compare() has the correct signature,
948ac_cv_cxx_have_std_compare,
949[AC_REQUIRE([AC_CXX_NAMESPACES])
950 AC_LANG_SAVE
951 AC_LANG_CPLUSPLUS
952 AC_TRY_COMPILE([
953#include <string>
954#ifdef HAVE_NAMESPACES
955using namespace std;
956#endif
957 ],[
958string s = "foobar";
959return s.compare(0, 3, "foo");
960 ], ac_cv_cxx_have_std_compare=yes, ac_cv_cxx_have_std_compare=no)
961 AC_LANG_RESTORE
962])
963if test "$ac_cv_cxx_have_std_compare" = yes; then
964 AC_DEFINE(HAVE_STD_COMPARE,,[define if std::string::compare() has the correct signature])
965fi
966])
967
968