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, µ) != 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