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#serial 6 562 563dnl By default, many hosts won't let programs access large files; 564dnl one must use special compiler options to get large-file access to work. 565dnl For more details about this brain damage please see: 566dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html 567 568dnl Written by Paul Eggert <eggert@twinsun.com>. 569 570dnl Internal subroutine of AC_SYS_LARGEFILE. 571dnl AC_SYS_LARGEFILE_FLAGS(FLAGSNAME) 572AC_DEFUN([AC_SYS_LARGEFILE_FLAGS], 573 [AC_CACHE_CHECK([for $1 value to request large file support], 574 ac_cv_sys_largefile_$1, 575 [if ($GETCONF LFS_$1) >conftest.1 2>conftest.2 && test ! -s conftest.2 576 then 577 ac_cv_sys_largefile_$1=`cat conftest.1` 578 else 579 ac_cv_sys_largefile_$1=no 580 ifelse($1, CFLAGS, 581 [case "$host_os" in 582 # HP-UX 10.20 requires -D__STDC_EXT__ with gcc 2.95.1. 583changequote(, )dnl 584 hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*) 585changequote([, ])dnl 586 if test "$GCC" = yes; then 587 ac_cv_sys_largefile_CFLAGS=-D__STDC_EXT__ 588 fi 589 ;; 590 # IRIX 6.2 and later require cc -n32. 591changequote(, )dnl 592 irix6.[2-9]* | irix6.1[0-9]* | irix[7-9].* | irix[1-9][0-9]*) 593changequote([, ])dnl 594 if test "$GCC" != yes; then 595 ac_cv_sys_largefile_CFLAGS=-n32 596 fi 597 esac 598 if test "$ac_cv_sys_largefile_CFLAGS" != no; then 599 ac_save_CC="$CC" 600 CC="$CC $ac_cv_sys_largefile_CFLAGS" 601 AC_TRY_LINK(, , , ac_cv_sys_largefile_CFLAGS=no) 602 CC="$ac_save_CC" 603 fi]) 604 fi 605 rm -f conftest*])]) 606 607dnl Internal subroutine of AC_SYS_LARGEFILE. 608dnl AC_SYS_LARGEFILE_SPACE_APPEND(VAR, VAL) 609AC_DEFUN([AC_SYS_LARGEFILE_SPACE_APPEND], 610 [case $2 in 611 no) ;; 612 ?*) 613 case "[$]$1" in 614 '') $1=$2 ;; 615 *) $1=[$]$1' '$2 ;; 616 esac ;; 617 esac]) 618 619dnl Internal subroutine of AC_SYS_LARGEFILE. 620dnl AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, CACHE-VAR, COMMENT, CODE-TO-SET-DEFAULT) 621AC_DEFUN([AC_SYS_LARGEFILE_MACRO_VALUE], 622 [AC_CACHE_CHECK([for $1], $2, 623 [$2=no 624changequote(, )dnl 625 $4 626 for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do 627 case "$ac_flag" in 628 -D$1) 629 $2=1 ;; 630 -D$1=*) 631 $2=`expr " $ac_flag" : '[^=]*=\(.*\)'` ;; 632 esac 633 done 634changequote([, ])dnl 635 ]) 636 if test "[$]$2" != no; then 637 AC_DEFINE_UNQUOTED([$1], [$]$2, [$3]) 638 fi]) 639 640AC_DEFUN([AC_SYS_LARGEFILE], 641 [AC_REQUIRE([AC_CANONICAL_HOST]) 642 AC_ARG_ENABLE(largefile, 643 [ --disable-largefile omit support for large files]) 644 if test "$enable_largefile" != no; then 645 AC_CHECK_TOOL(GETCONF, getconf) 646 AC_SYS_LARGEFILE_FLAGS(CFLAGS) 647 AC_SYS_LARGEFILE_FLAGS(LDFLAGS) 648 AC_SYS_LARGEFILE_FLAGS(LIBS) 649 650 for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do 651 case "$ac_flag" in 652 no) ;; 653 -D_FILE_OFFSET_BITS=*) ;; 654 -D_LARGEFILE_SOURCE | -D_LARGEFILE_SOURCE=*) ;; 655 -D_LARGE_FILES | -D_LARGE_FILES=*) ;; 656 -D?* | -I?*) 657 AC_SYS_LARGEFILE_SPACE_APPEND(CPPFLAGS, "$ac_flag") ;; 658 *) 659 AC_SYS_LARGEFILE_SPACE_APPEND(CFLAGS, "$ac_flag") ;; 660 esac 661 done 662 AC_SYS_LARGEFILE_SPACE_APPEND(LDFLAGS, "$ac_cv_sys_largefile_LDFLAGS") 663 AC_SYS_LARGEFILE_SPACE_APPEND(LIBS, "$ac_cv_sys_largefile_LIBS") 664 AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 665 ac_cv_sys_file_offset_bits, 666 [Number of bits in a file offset, on hosts where this is settable.], 667 [case "$host_os" in 668 # HP-UX 10.20 and later 669 hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*) 670 ac_cv_sys_file_offset_bits=64 ;; 671 esac]) 672 AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE, 673 ac_cv_sys_largefile_source, 674 [Define to make fseeko etc. visible, on some hosts.], 675 [case "$host_os" in 676 # HP-UX 10.20 and later 677 hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*) 678 ac_cv_sys_largefile_source=1 ;; 679 esac]) 680 AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 681 ac_cv_sys_large_files, 682 [Define for large files, on AIX-style hosts.], 683 [case "$host_os" in 684 # AIX 4.2 and later 685 aix4.[2-9]* | aix4.1[0-9]* | aix[5-9].* | aix[1-9][0-9]*) 686 ac_cv_sys_large_files=1 ;; 687 esac]) 688 fi 689 ]) 690 691 692# serial 1 693 694AC_DEFUN([AM_C_PROTOTYPES], 695[AC_REQUIRE([AM_PROG_CC_STDC]) 696AC_REQUIRE([AC_PROG_CPP]) 697AC_MSG_CHECKING([for function prototypes]) 698if test "$am_cv_prog_cc_stdc" != no; then 699 AC_MSG_RESULT(yes) 700 AC_DEFINE(PROTOTYPES,1,[Define if compiler has function prototypes]) 701 U= ANSI2KNR= 702else 703 AC_MSG_RESULT(no) 704 U=_ ANSI2KNR=./ansi2knr 705fi 706# Ensure some checks needed by ansi2knr itself. 707AC_HEADER_STDC 708AC_CHECK_HEADERS(string.h) 709AC_SUBST(U)dnl 710AC_SUBST(ANSI2KNR)dnl 711]) 712 713 714# serial 1 715 716# @defmac AC_PROG_CC_STDC 717# @maindex PROG_CC_STDC 718# @ovindex CC 719# If the C compiler in not in ANSI C mode by default, try to add an option 720# to output variable @code{CC} to make it so. This macro tries various 721# options that select ANSI C on some system or another. It considers the 722# compiler to be in ANSI C mode if it handles function prototypes correctly. 723# 724# If you use this macro, you should check after calling it whether the C 725# compiler has been set to accept ANSI C; if not, the shell variable 726# @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source 727# code in ANSI C, you can make an un-ANSIfied copy of it by using the 728# program @code{ansi2knr}, which comes with Ghostscript. 729# @end defmac 730 731AC_DEFUN([AM_PROG_CC_STDC], 732[AC_REQUIRE([AC_PROG_CC]) 733AC_BEFORE([$0], [AC_C_INLINE]) 734AC_BEFORE([$0], [AC_C_CONST]) 735dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require 736dnl a magic option to avoid problems with ANSI preprocessor commands 737dnl like #elif. 738dnl FIXME: can't do this because then AC_AIX won't work due to a 739dnl circular dependency. 740dnl AC_BEFORE([$0], [AC_PROG_CPP]) 741AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C]) 742AC_CACHE_VAL(am_cv_prog_cc_stdc, 743[am_cv_prog_cc_stdc=no 744ac_save_CC="$CC" 745# Don't try gcc -ansi; that turns off useful extensions and 746# breaks some systems' header files. 747# AIX -qlanglvl=ansi 748# Ultrix and OSF/1 -std1 749# HP-UX 10.20 and later -Ae 750# HP-UX older versions -Aa -D_HPUX_SOURCE 751# SVR4 -Xc -D__EXTENSIONS__ 752for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" 753do 754 CC="$ac_save_CC $ac_arg" 755 AC_TRY_COMPILE( 756[#include <stdarg.h> 757#include <stdio.h> 758#include <sys/types.h> 759#include <sys/stat.h> 760/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ 761struct buf { int x; }; 762FILE * (*rcsopen) (struct buf *, struct stat *, int); 763static char *e (p, i) 764 char **p; 765 int i; 766{ 767 return p[i]; 768} 769static char *f (char * (*g) (char **, int), char **p, ...) 770{ 771 char *s; 772 va_list v; 773 va_start (v,p); 774 s = g (p, va_arg (v,int)); 775 va_end (v); 776 return s; 777} 778int test (int i, double x); 779struct s1 {int (*f) (int a);}; 780struct s2 {int (*f) (double a);}; 781int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); 782int argc; 783char **argv; 784], [ 785return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; 786], 787[am_cv_prog_cc_stdc="$ac_arg"; break]) 788done 789CC="$ac_save_CC" 790]) 791if test -z "$am_cv_prog_cc_stdc"; then 792 AC_MSG_RESULT([none needed]) 793else 794 AC_MSG_RESULT([$am_cv_prog_cc_stdc]) 795fi 796case "x$am_cv_prog_cc_stdc" in 797 x|xno) ;; 798 *) CC="$CC $am_cv_prog_cc_stdc" ;; 799esac 800]) 801 802#serial 5 803 804dnl From Paul Eggert. 805 806AC_PREREQ(2.13) 807 808# Define uintmax_t to `unsigned long' or `unsigned long long' 809# if <inttypes.h> does not exist. 810 811AC_DEFUN(jm_AC_TYPE_UINTMAX_T, 812[ 813 AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) 814 if test $jm_ac_cv_header_inttypes_h = no; then 815 AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) 816 test $ac_cv_type_unsigned_long_long = yes \ 817 && ac_type='unsigned long long' \ 818 || ac_type='unsigned long' 819 AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, 820[ Define to unsigned long or unsigned long long 821 if <inttypes.h> doesn't define.]) 822 fi 823]) 824 825#serial 3 826 827dnl From Paul Eggert. 828 829# Define HAVE_INTTYPES_H if <inttypes.h> exists, 830# doesn't clash with <sys/types.h>, and declares uintmax_t. 831 832AC_DEFUN(jm_AC_HEADER_INTTYPES_H, 833[ 834 AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h, 835 [AC_TRY_COMPILE( 836 [#include <sys/types.h> 837#include <inttypes.h>], 838 [uintmax_t i = (uintmax_t) -1;], 839 jm_ac_cv_header_inttypes_h=yes, 840 jm_ac_cv_header_inttypes_h=no)]) 841 if test $jm_ac_cv_header_inttypes_h = yes; then 842 AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1, 843[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, 844 and declares uintmax_t. ]) 845 fi 846]) 847 848#serial 2 849 850dnl From Paul Eggert. 851 852AC_DEFUN(jm_AC_TYPE_UNSIGNED_LONG_LONG, 853[ 854 AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, 855 [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;], 856 [unsigned long long ullmax = (unsigned long long) -1; 857 return ull << i | ull >> i | ullmax / ull | ullmax % ull;], 858 ac_cv_type_unsigned_long_long=yes, 859 ac_cv_type_unsigned_long_long=no)]) 860 if test $ac_cv_type_unsigned_long_long = yes; then 861 AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, 862 [Define if you have the unsigned long long type.]) 863 fi 864]) 865 866# serial 8 867 868# From Paul Eggert. 869 870# BeOS 5 has <wchar.h> but does not define mbstate_t, 871# so you can't declare an object of that type. 872# Check for this incompatibility with Standard C. 873 874# Include stdlib.h first, because otherwise this test would fail on Linux 875# (at least glibc-2.1.3) because the "_XOPEN_SOURCE 500" definition elicits 876# a syntax error in wchar.h due to the use of undefined __int32_t. 877 878AC_DEFUN(AC_MBSTATE_T, 879 [ 880 AC_CHECK_HEADERS(stdlib.h) 881 882 AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t, 883 [AC_TRY_COMPILE([ 884#if HAVE_STDLIB_H 885# include <stdlib.h> 886#endif 887#include <wchar.h>], 888 [mbstate_t x; return sizeof x;], 889 ac_cv_type_mbstate_t=yes, 890 ac_cv_type_mbstate_t=no)]) 891 if test $ac_cv_type_mbstate_t = no; then 892 AC_DEFINE(mbstate_t, int, 893 [Define to a type if <wchar.h> does not define.]) 894 fi]) 895 896#serial 2 897 898# autoconf tests required for use of xstrtoumax.c 899 900AC_DEFUN(jm_AC_PREREQ_XSTRTOUMAX, 901[ 902 AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) 903 AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) 904 AC_CHECK_HEADERS(stdlib.h) 905 906 AC_CACHE_CHECK([whether <inttypes.h> defines strtoumax as a macro], 907 jm_cv_func_strtoumax_macro, 908 AC_EGREP_CPP([inttypes_h_defines_strtoumax], [#include <inttypes.h> 909#ifdef strtoumax 910 inttypes_h_defines_strtoumax 911#endif], 912 jm_cv_func_strtoumax_macro=yes, 913 jm_cv_func_strtoumax_macro=no)) 914 915 if test "$jm_cv_func_strtoumax_macro" != yes; then 916 AC_REPLACE_FUNCS(strtoumax) 917 fi 918 919 dnl We don't need (and can't compile) the replacement strtoull 920 dnl unless the type `unsigned long long' exists. 921 dnl Also, only the replacement strtoumax invokes strtoull, 922 dnl so we need the replacement strtoull only if strtoumax does not exist. 923 case "$ac_cv_type_unsigned_long_long,$jm_cv_func_strtoumax_macro,$ac_cv_func_strtoumax" in 924 yes,no,no) 925 AC_REPLACE_FUNCS(strtoull) 926 ;; 927 esac 928 929]) 930 931#serial 5 932 933AC_DEFUN(jm_CHECK_DECLARATION, 934[ 935 AC_MSG_CHECKING([whether $1 is declared]) 936 AC_CACHE_VAL(jm_cv_func_decl_$1, 937 [AC_TRY_COMPILE([$2], 938 [ 939#ifndef $1 940char *(*pfn) = (char *(*)) $1 941#endif 942 ], 943 eval "jm_cv_func_decl_$1=yes", 944 eval "jm_cv_func_decl_$1=no")]) 945 946 if eval "test \"`echo '$jm_cv_func_decl_'$1`\" = yes"; then 947 AC_MSG_RESULT(yes) 948 ifelse([$3], , :, [$3]) 949 else 950 AC_MSG_RESULT(no) 951 ifelse([$4], , , [$4 952])dnl 953 fi 954])dnl 955 956dnl jm_CHECK_DECLARATIONS(INCLUDES, FUNCTION... [, ACTION-IF-DECLARED 957dnl [, ACTION-IF-NOT-DECLARED]]) 958AC_DEFUN(jm_CHECK_DECLARATIONS, 959[ 960 for jm_func in $2 961 do 962 jm_CHECK_DECLARATION($jm_func, [$1], 963 [ 964 jm_tr_func=HAVE_DECL_`echo $jm_func | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ` 965 AC_DEFINE_UNQUOTED($jm_tr_func, 1, [Define if your system declares $1]) $3], [$4])dnl 966 done 967]) 968 969# Macro to add for using GNU gettext. 970# Ulrich Drepper <drepper@cygnus.com>, 1995. 971# 972# This file can be copied and used freely without restrictions. It can 973# be used in projects which are not available under the GNU General Public 974# License or the GNU Library General Public License but which still want 975# to provide support for the GNU gettext functionality. 976# Please note that the actual code of the GNU gettext library is covered 977# by the GNU Library General Public License, and the rest of the GNU 978# gettext package package is covered by the GNU General Public License. 979# They are *not* in the public domain. 980 981# serial 10 982 983dnl Usage: AM_WITH_NLS([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR]). 984dnl If TOOLSYMBOL is specified and is 'use-libtool', then a libtool library 985dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, 986dnl depending on --{enable,disable}-{shared,static} and on the presence of 987dnl AM-DISABLE-SHARED). Otherwise, a static library 988dnl $(top_builddir)/intl/libintl.a will be created. 989dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext 990dnl implementations (in libc or libintl) without the ngettext() function 991dnl will be ignored. 992dnl LIBDIR is used to find the intl libraries. If empty, 993dnl the value `$(top_builddir)/intl/' is used. 994dnl 995dnl The result of the configuration is one of three cases: 996dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled 997dnl and used. 998dnl Catalog format: GNU --> install in $(datadir) 999dnl Catalog extension: .mo after installation, .gmo in source tree 1000dnl 2) GNU gettext has been found in the system's C library. 1001dnl Catalog format: GNU --> install in $(datadir) 1002dnl Catalog extension: .mo after installation, .gmo in source tree 1003dnl 3) No internationalization, always use English msgid. 1004dnl Catalog format: none 1005dnl Catalog extension: none 1006dnl The use of .gmo is historical (it was needed to avoid overwriting the 1007dnl GNU format catalogs when building on a platform with an X/Open gettext), 1008dnl but we keep it in order not to force irrelevant filename changes on the 1009dnl maintainers. 1010dnl 1011AC_DEFUN([AM_WITH_NLS], 1012 [AC_MSG_CHECKING([whether NLS is requested]) 1013 dnl Default is enabled NLS 1014 AC_ARG_ENABLE(nls, 1015 [ --disable-nls do not use Native Language Support], 1016 USE_NLS=$enableval, USE_NLS=yes) 1017 AC_MSG_RESULT($USE_NLS) 1018 AC_SUBST(USE_NLS) 1019 1020 BUILD_INCLUDED_LIBINTL=no 1021 USE_INCLUDED_LIBINTL=no 1022 INTLLIBS= 1023 1024 dnl If we use NLS figure out what method 1025 if test "$USE_NLS" = "yes"; then 1026 AC_DEFINE(ENABLE_NLS, 1, 1027 [Define to 1 if translation of program messages to the user's native language 1028 is requested.]) 1029 AC_MSG_CHECKING([whether included gettext is requested]) 1030 AC_ARG_WITH(included-gettext, 1031 [ --with-included-gettext use the GNU gettext library included here], 1032 nls_cv_force_use_gnu_gettext=$withval, 1033 nls_cv_force_use_gnu_gettext=no) 1034 AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) 1035 1036 nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" 1037 if test "$nls_cv_force_use_gnu_gettext" != "yes"; then 1038 dnl User does not insist on using GNU NLS library. Figure out what 1039 dnl to use. If GNU gettext is available we use this. Else we have 1040 dnl to fall back to GNU NLS library. 1041 CATOBJEXT=NONE 1042 1043 dnl Add a version number to the cache macros. 1044 define(gt_cv_func_gnugettext_libc, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libc]) 1045 define(gt_cv_func_gnugettext_libintl, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libintl]) 1046 1047 AC_CHECK_HEADER(libintl.h, 1048 [AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc, 1049 [AC_TRY_LINK([#include <libintl.h> 1050extern int _nl_msg_cat_cntr;], 1051 [bindtextdomain ("", ""); 1052return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr], 1053 gt_cv_func_gnugettext_libc=yes, 1054 gt_cv_func_gnugettext_libc=no)]) 1055 1056 if test "$gt_cv_func_gnugettext_libc" != "yes"; then 1057 AC_CACHE_CHECK([for GNU gettext in libintl], 1058 gt_cv_func_gnugettext_libintl, 1059 [gt_save_LIBS="$LIBS" 1060 LIBS="$LIBS -lintl $LIBICONV" 1061 AC_TRY_LINK([#include <libintl.h> 1062extern int _nl_msg_cat_cntr;], 1063 [bindtextdomain ("", ""); 1064return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr], 1065 gt_cv_func_gnugettext_libintl=yes, 1066 gt_cv_func_gnugettext_libintl=no) 1067 LIBS="$gt_save_LIBS"]) 1068 fi 1069 1070 dnl If an already present or preinstalled GNU gettext() is found, 1071 dnl use it. But if this macro is used in GNU gettext, and GNU 1072 dnl gettext is already preinstalled in libintl, we update this 1073 dnl libintl. (Cf. the install rule in intl/Makefile.in.) 1074 if test "$gt_cv_func_gnugettext_libc" = "yes" \ 1075 || { test "$gt_cv_func_gnugettext_libintl" = "yes" \ 1076 && test "$PACKAGE" != gettext; }; then 1077 AC_DEFINE(HAVE_GETTEXT, 1, 1078 [Define if the GNU gettext() function is already present or preinstalled.]) 1079 1080 if test "$gt_cv_func_gnugettext_libintl" = "yes"; then 1081 dnl If iconv() is in a separate libiconv library, then anyone 1082 dnl linking with libintl{.a,.so} also needs to link with 1083 dnl libiconv. 1084 INTLLIBS="-lintl $LIBICONV" 1085 fi 1086 1087 gt_save_LIBS="$LIBS" 1088 LIBS="$LIBS $INTLLIBS" 1089 AC_CHECK_FUNCS(dcgettext) 1090 LIBS="$gt_save_LIBS" 1091 1092 dnl Search for GNU msgfmt in the PATH. 1093 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, 1094 [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :) 1095 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) 1096 1097 dnl Search for GNU xgettext in the PATH. 1098 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, 1099 [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :) 1100 1101 CATOBJEXT=.gmo 1102 fi 1103 ]) 1104 1105 if test "$CATOBJEXT" = "NONE"; then 1106 dnl GNU gettext is not found in the C library. 1107 dnl Fall back on GNU gettext library. 1108 nls_cv_use_gnu_gettext=yes 1109 fi 1110 fi 1111 1112 if test "$nls_cv_use_gnu_gettext" = "yes"; then 1113 dnl Mark actions used to generate GNU NLS library. 1114 INTLOBJS="\$(GETTOBJS)" 1115 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, 1116 [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :) 1117 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) 1118 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, 1119 [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :) 1120 AC_SUBST(MSGFMT) 1121 BUILD_INCLUDED_LIBINTL=yes 1122 USE_INCLUDED_LIBINTL=yes 1123 CATOBJEXT=.gmo 1124 INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV" 1125 LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` 1126 fi 1127 1128 dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. 1129 dnl Test whether we really found GNU msgfmt. 1130 if test "$GMSGFMT" != ":"; then 1131 dnl If it is no GNU msgfmt we define it as : so that the 1132 dnl Makefiles still can work. 1133 if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then 1134 : ; 1135 else 1136 AC_MSG_RESULT( 1137 [found msgfmt program is not GNU msgfmt; ignore it]) 1138 GMSGFMT=":" 1139 fi 1140 fi 1141 1142 dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. 1143 dnl Test whether we really found GNU xgettext. 1144 if test "$XGETTEXT" != ":"; then 1145 dnl If it is no GNU xgettext we define it as : so that the 1146 dnl Makefiles still can work. 1147 if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then 1148 : ; 1149 else 1150 AC_MSG_RESULT( 1151 [found xgettext program is not GNU xgettext; ignore it]) 1152 XGETTEXT=":" 1153 fi 1154 fi 1155 1156 dnl We need to process the po/ directory. 1157 POSUB=po 1158 fi 1159 AC_OUTPUT_COMMANDS( 1160 [for ac_file in $CONFIG_FILES; do 1161 # Support "outfile[:infile[:infile...]]" 1162 case "$ac_file" in 1163 *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; 1164 esac 1165 # PO directories have a Makefile.in generated from Makefile.in.in. 1166 case "$ac_file" in */Makefile.in) 1167 # Adjust a relative srcdir. 1168 ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` 1169 ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" 1170 ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` 1171 # In autoconf-2.13 it is called $ac_given_srcdir. 1172 # In autoconf-2.50 it is called $srcdir. 1173 test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" 1174 case "$ac_given_srcdir" in 1175 .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; 1176 /*) top_srcdir="$ac_given_srcdir" ;; 1177 *) top_srcdir="$ac_dots$ac_given_srcdir" ;; 1178 esac 1179 if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then 1180 rm -f "$ac_dir/POTFILES" 1181 test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" 1182 sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES" 1183 test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" 1184 sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" 1185 fi 1186 ;; 1187 esac 1188 done]) 1189 1190 1191 dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL 1192 dnl to 'yes' because some of the testsuite requires it. 1193 if test "$PACKAGE" = gettext; then 1194 BUILD_INCLUDED_LIBINTL=yes 1195 fi 1196 1197 dnl intl/plural.c is generated from intl/plural.y. It requires bison, 1198 dnl because plural.y uses bison specific features. It requires at least 1199 dnl bison-1.26 because earlier versions generate a plural.c that doesn't 1200 dnl compile. 1201 dnl bison is only needed for the maintainer (who touches plural.y). But in 1202 dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put 1203 dnl the rule in general Makefile. Now, some people carelessly touch the 1204 dnl files or have a broken "make" program, hence the plural.c rule will 1205 dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not 1206 dnl present or too old. 1207 AC_CHECK_PROGS([INTLBISON], [bison]) 1208 if test -z "$INTLBISON"; then 1209 ac_verc_fail=yes 1210 else 1211 dnl Found it, now check the version. 1212 AC_MSG_CHECKING([version of bison]) 1213changequote(<<,>>)dnl 1214 ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` 1215 case $ac_prog_version in 1216 '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; 1217 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) 1218changequote([,])dnl 1219 ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; 1220 *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; 1221 esac 1222 AC_MSG_RESULT([$ac_prog_version]) 1223 fi 1224 if test $ac_verc_fail = yes; then 1225 INTLBISON=: 1226 fi 1227 1228 dnl These rules are solely for the distribution goal. While doing this 1229 dnl we only have to keep exactly one list of the available catalogs 1230 dnl in configure.in. 1231 for lang in $ALL_LINGUAS; do 1232 GMOFILES="$GMOFILES $lang.gmo" 1233 POFILES="$POFILES $lang.po" 1234 done 1235 1236 dnl Make all variables we use known to autoconf. 1237 AC_SUBST(BUILD_INCLUDED_LIBINTL) 1238 AC_SUBST(USE_INCLUDED_LIBINTL) 1239 AC_SUBST(CATALOGS) 1240 AC_SUBST(CATOBJEXT) 1241 AC_SUBST(GMOFILES) 1242 AC_SUBST(INTLLIBS) 1243 AC_SUBST(INTLOBJS) 1244 AC_SUBST(POFILES) 1245 AC_SUBST(POSUB) 1246 1247 dnl For backward compatibility. Some configure.ins may be using this. 1248 nls_cv_header_intl= 1249 nls_cv_header_libgt= 1250 1251 dnl For backward compatibility. Some Makefiles may be using this. 1252 DATADIRNAME=share 1253 AC_SUBST(DATADIRNAME) 1254 1255 dnl For backward compatibility. Some Makefiles may be using this. 1256 INSTOBJEXT=.mo 1257 AC_SUBST(INSTOBJEXT) 1258 1259 dnl For backward compatibility. Some Makefiles may be using this. 1260 GENCAT=gencat 1261 AC_SUBST(GENCAT) 1262 ]) 1263 1264dnl Usage: Just like AM_WITH_NLS, which see. 1265AC_DEFUN([AM_GNU_GETTEXT], 1266 [AC_REQUIRE([AC_PROG_MAKE_SET])dnl 1267 AC_REQUIRE([AC_PROG_CC])dnl 1268 AC_REQUIRE([AC_CANONICAL_HOST])dnl 1269 AC_REQUIRE([AC_PROG_RANLIB])dnl 1270 AC_REQUIRE([AC_ISC_POSIX])dnl 1271 AC_REQUIRE([AC_HEADER_STDC])dnl 1272 AC_REQUIRE([AC_C_CONST])dnl 1273 AC_REQUIRE([AC_C_INLINE])dnl 1274 AC_REQUIRE([AC_TYPE_OFF_T])dnl 1275 AC_REQUIRE([AC_TYPE_SIZE_T])dnl 1276 AC_REQUIRE([AC_FUNC_ALLOCA])dnl 1277 AC_REQUIRE([AC_FUNC_MMAP])dnl 1278 AC_REQUIRE([jm_GLIBC21])dnl 1279 1280 AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ 1281stdlib.h string.h unistd.h sys/param.h]) 1282 AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getcwd getegid geteuid \ 1283getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \ 1284strdup strtoul tsearch __argz_count __argz_stringify __argz_next]) 1285 1286 AM_ICONV 1287 AM_LANGINFO_CODESET 1288 AM_LC_MESSAGES 1289 AM_WITH_NLS([$1],[$2],[$3]) 1290 1291 if test "x$CATOBJEXT" != "x"; then 1292 if test "x$ALL_LINGUAS" = "x"; then 1293 LINGUAS= 1294 else 1295 AC_MSG_CHECKING(for catalogs to be installed) 1296 NEW_LINGUAS= 1297 for presentlang in $ALL_LINGUAS; do 1298 useit=no 1299 for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do 1300 # Use the presentlang catalog if desiredlang is 1301 # a. equal to presentlang, or 1302 # b. a variant of presentlang (because in this case, 1303 # presentlang can be used as a fallback for messages 1304 # which are not translated in the desiredlang catalog). 1305 case "$desiredlang" in 1306 "$presentlang"*) useit=yes;; 1307 esac 1308 done 1309 if test $useit = yes; then 1310 NEW_LINGUAS="$NEW_LINGUAS $presentlang" 1311 fi 1312 done 1313 LINGUAS=$NEW_LINGUAS 1314 AC_MSG_RESULT($LINGUAS) 1315 fi 1316 1317 dnl Construct list of names of catalog files to be constructed. 1318 if test -n "$LINGUAS"; then 1319 for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done 1320 fi 1321 fi 1322 1323 dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly 1324 dnl find the mkinstalldirs script in another subdir but $(top_srcdir). 1325 dnl Try to locate is. 1326 MKINSTALLDIRS= 1327 if test -n "$ac_aux_dir"; then 1328 MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" 1329 fi 1330 if test -z "$MKINSTALLDIRS"; then 1331 MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" 1332 fi 1333 AC_SUBST(MKINSTALLDIRS) 1334 1335 dnl Enable libtool support if the surrounding package wishes it. 1336 INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], []) 1337 AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) 1338 ]) 1339 1340# Search path for a program which passes the given test. 1341# Ulrich Drepper <drepper@cygnus.com>, 1996. 1342# 1343# This file can be copied and used freely without restrictions. It can 1344# be used in projects which are not available under the GNU General Public 1345# License or the GNU Library General Public License but which still want 1346# to provide support for the GNU gettext functionality. 1347# Please note that the actual code of the GNU gettext library is covered 1348# by the GNU Library General Public License, and the rest of the GNU 1349# gettext package package is covered by the GNU General Public License. 1350# They are *not* in the public domain. 1351 1352# serial 2 1353 1354dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, 1355dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) 1356AC_DEFUN([AM_PATH_PROG_WITH_TEST], 1357[# Extract the first word of "$2", so it can be a program name with args. 1358set dummy $2; ac_word=[$]2 1359AC_MSG_CHECKING([for $ac_word]) 1360AC_CACHE_VAL(ac_cv_path_$1, 1361[case "[$]$1" in 1362 /*) 1363 ac_cv_path_$1="[$]$1" # Let the user override the test with a path. 1364 ;; 1365 *) 1366 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" 1367 for ac_dir in ifelse([$5], , $PATH, [$5]); do 1368 test -z "$ac_dir" && ac_dir=. 1369 if test -f $ac_dir/$ac_word; then 1370 if [$3]; then 1371 ac_cv_path_$1="$ac_dir/$ac_word" 1372 break 1373 fi 1374 fi 1375 done 1376 IFS="$ac_save_ifs" 1377dnl If no 4th arg is given, leave the cache variable unset, 1378dnl so AC_PATH_PROGS will keep looking. 1379ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" 1380])dnl 1381 ;; 1382esac])dnl 1383$1="$ac_cv_path_$1" 1384if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then 1385 AC_MSG_RESULT([$]$1) 1386else 1387 AC_MSG_RESULT(no) 1388fi 1389AC_SUBST($1)dnl 1390]) 1391 1392#serial 1 1393# This test replaces the one in autoconf. 1394# Currently this macro should have the same name as the autoconf macro 1395# because gettext's gettext.m4 (distributed in the automake package) 1396# still uses it. Otherwise, the use in gettext.m4 makes autoheader 1397# give these diagnostics: 1398# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX 1399# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX 1400 1401undefine([AC_ISC_POSIX]) 1402 1403AC_DEFUN([AC_ISC_POSIX], 1404 [ 1405 dnl This test replaces the obsolescent AC_ISC_POSIX kludge. 1406 AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) 1407 ] 1408) 1409 1410#serial 2 1411 1412# Test for the GNU C Library, version 2.1 or newer. 1413# From Bruno Haible. 1414 1415AC_DEFUN([jm_GLIBC21], 1416 [ 1417 AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, 1418 ac_cv_gnu_library_2_1, 1419 [AC_EGREP_CPP([Lucky GNU user], 1420 [ 1421#include <features.h> 1422#ifdef __GNU_LIBRARY__ 1423 #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) 1424 Lucky GNU user 1425 #endif 1426#endif 1427 ], 1428 ac_cv_gnu_library_2_1=yes, 1429 ac_cv_gnu_library_2_1=no) 1430 ] 1431 ) 1432 AC_SUBST(GLIBC21) 1433 GLIBC21="$ac_cv_gnu_library_2_1" 1434 ] 1435) 1436 1437#serial AM2 1438 1439dnl From Bruno Haible. 1440 1441AC_DEFUN([AM_ICONV], 1442[ 1443 dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and 1444 dnl those with the standalone portable GNU libiconv installed). 1445 1446 AC_ARG_WITH([libiconv-prefix], 1447[ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [ 1448 for dir in `echo "$withval" | tr : ' '`; do 1449 if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi 1450 if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi 1451 done 1452 ]) 1453 1454 AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ 1455 am_cv_func_iconv="no, consider installing GNU libiconv" 1456 am_cv_lib_iconv=no 1457 AC_TRY_LINK([#include <stdlib.h> 1458#include <iconv.h>], 1459 [iconv_t cd = iconv_open("",""); 1460 iconv(cd,NULL,NULL,NULL,NULL); 1461 iconv_close(cd);], 1462 am_cv_func_iconv=yes) 1463 if test "$am_cv_func_iconv" != yes; then 1464 am_save_LIBS="$LIBS" 1465 LIBS="$LIBS -liconv" 1466 AC_TRY_LINK([#include <stdlib.h> 1467#include <iconv.h>], 1468 [iconv_t cd = iconv_open("",""); 1469 iconv(cd,NULL,NULL,NULL,NULL); 1470 iconv_close(cd);], 1471 am_cv_lib_iconv=yes 1472 am_cv_func_iconv=yes) 1473 LIBS="$am_save_LIBS" 1474 fi 1475 ]) 1476 if test "$am_cv_func_iconv" = yes; then 1477 AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) 1478 AC_MSG_CHECKING([for iconv declaration]) 1479 AC_CACHE_VAL(am_cv_proto_iconv, [ 1480 AC_TRY_COMPILE([ 1481#include <stdlib.h> 1482#include <iconv.h> 1483extern 1484#ifdef __cplusplus 1485"C" 1486#endif 1487#if defined(__STDC__) || defined(__cplusplus) 1488size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); 1489#else 1490size_t iconv(); 1491#endif 1492], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") 1493 am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) 1494 am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` 1495 AC_MSG_RESULT([$]{ac_t:- 1496 }[$]am_cv_proto_iconv) 1497 AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, 1498 [Define as const if the declaration of iconv() needs const.]) 1499 fi 1500 LIBICONV= 1501 if test "$am_cv_lib_iconv" = yes; then 1502 LIBICONV="-liconv" 1503 fi 1504 AC_SUBST(LIBICONV) 1505]) 1506 1507#serial AM1 1508 1509dnl From Bruno Haible. 1510 1511AC_DEFUN([AM_LANGINFO_CODESET], 1512[ 1513 AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, 1514 [AC_TRY_LINK([#include <langinfo.h>], 1515 [char* cs = nl_langinfo(CODESET);], 1516 am_cv_langinfo_codeset=yes, 1517 am_cv_langinfo_codeset=no) 1518 ]) 1519 if test $am_cv_langinfo_codeset = yes; then 1520 AC_DEFINE(HAVE_LANGINFO_CODESET, 1, 1521 [Define if you have <langinfo.h> and nl_langinfo(CODESET).]) 1522 fi 1523]) 1524 1525# Check whether LC_MESSAGES is available in <locale.h>. 1526# Ulrich Drepper <drepper@cygnus.com>, 1995. 1527# 1528# This file can be copied and used freely without restrictions. It can 1529# be used in projects which are not available under the GNU General Public 1530# License or the GNU Library General Public License but which still want 1531# to provide support for the GNU gettext functionality. 1532# Please note that the actual code of the GNU gettext library is covered 1533# by the GNU Library General Public License, and the rest of the GNU 1534# gettext package package is covered by the GNU General Public License. 1535# They are *not* in the public domain. 1536 1537# serial 2 1538 1539AC_DEFUN([AM_LC_MESSAGES], 1540 [if test $ac_cv_header_locale_h = yes; then 1541 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, 1542 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES], 1543 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) 1544 if test $am_cv_val_LC_MESSAGES = yes; then 1545 AC_DEFINE(HAVE_LC_MESSAGES, 1, 1546 [Define if your <locale.h> file defines LC_MESSAGES.]) 1547 fi 1548 fi]) 1549 1550# Check to see if we use dir\file name conventtion 1551# If so, set macro HAVE_DOS_FILE_NAMES 1552# Also set the macro HAVE_DOS_FILE_CONTENTS for now, 1553# since don't know of a good way to independently check this. 1554dnl AC_DOSFILE() 1555AC_DEFUN(AC_DOSFILE, 1556[ 1557 AC_CACHE_CHECK([for dos file convention], ac_cv_dosfile, 1558 [if test -d ".\."; then 1559 ac_cv_dosfile=yes 1560 else 1561 ac_cv_dosfile=no 1562 fi 1563 ]) 1564 1565 if test $ac_cv_dosfile = yes; then 1566 AC_DEFINE(HAVE_DOS_FILE_NAMES, 1, [Define if your OS uses backslashes as directory separators]) 1567 AC_DEFINE(HAVE_DOS_FILE_CONTENTS, 1, 1568 [Define if text file lines end in CRLF.]) 1569 fi 1570]) 1571 1572# Check to see the separator for the environment variables 1573# and set SEP to ";" or default ":" 1574 1575dnl AM_SEP() 1576dnl SEP 1577AC_DEFUN(AM_SEP, 1578[AC_REQUIRE([AC_CYGWIN]) 1579AC_REQUIRE([AC_MINGW32]) 1580AC_REQUIRE([AC_DJGPP]) 1581AC_MSG_CHECKING([for environ variable separator]) 1582AC_CACHE_VAL(ac_cv_sep, 1583[if test "$CYGWIN" = yes || test "$MINGW32" = yes || test "$DJ_GPP" = yes ; then 1584 ac_cv_sep=yes 1585else 1586 ac_cv_sep=no 1587fi]) 1588SEP=":" 1589test x"$ac_cv_sep" = xyes && SEP=";" 1590AC_MSG_RESULT(${SEP}) 1591AC_SUBST(SEP)]) 1592 1593dnl Check for DJGPP. we use DJ_GPP as the variable 1594dnl EXEEXXT 1595AC_DEFUN(AC_DJGPP, 1596[AC_CACHE_CHECK(for DJGPP environment, ac_cv_djgpp, 1597[AC_TRY_COMPILE(,[ return __DJGPP__;], 1598ac_cv_djgpp=yes, ac_cv_djgpp=no) 1599rm -f conftest*]) 1600DJ_GPP= 1601test "$ac_cv_djgpp" = yes && DJ_GPP=yes]) 1602 1603#serial 5001 1604 1605dnl Initially derived from code in GNU grep. 1606dnl Mostly written by Jim Meyering. 1607 1608dnl Usage: jm_INCLUDED_REGEX([lib/regex.c]) 1609dnl 1610AC_DEFUN(jm_INCLUDED_REGEX, 1611 [ 1612 dnl Even packages that don't use regex.c can use this macro. 1613 dnl Of course, for them it doesn't do anything. 1614 1615 # Assume we'll default to using the included regex.c. 1616 ac_use_included_regex=yes 1617 1618 # However, if the system regex support is good enough that it passes the 1619 # the following run test, then default to *not* using the included regex.c. 1620 # If cross compiling, assume the test would fail and use the included 1621 # regex.c. The first failing regular expression is from `Spencer ere 1622 # test #75' in grep-2.3. 1623 AC_CACHE_CHECK([for working re_compile_pattern], 1624 jm_cv_func_working_re_compile_pattern, 1625 AC_TRY_RUN( 1626 changequote(<<, >>)dnl 1627 << 1628#include <stdio.h> 1629#include <regex.h> 1630 int 1631 main () 1632 { 1633 static struct re_pattern_buffer regex; 1634 const char *s; 1635 re_set_syntax (RE_SYNTAX_POSIX_EGREP); 1636 /* Add this third left square bracket, [, to balance the 1637 three right ones below. Otherwise autoconf-2.14 chokes. */ 1638 s = re_compile_pattern ("a[[:]:]]b\n", 9, ®ex); 1639 /* This should fail with _Invalid character class name_ error. */ 1640 if (!s) 1641 exit (1); 1642 1643 /* This should succeed, but doesn't for e.g. glibc-2.1.3. */ 1644 s = re_compile_pattern ("{1", 2, ®ex); 1645 1646 exit (s ? 1 : 0); 1647 } 1648 >>, 1649 changequote([, ])dnl 1650 1651 jm_cv_func_working_re_compile_pattern=yes, 1652 jm_cv_func_working_re_compile_pattern=no, 1653 dnl When crosscompiling, assume it's broken. 1654 jm_cv_func_working_re_compile_pattern=no)) 1655 if test $jm_cv_func_working_re_compile_pattern = yes; then 1656 ac_use_included_regex=no 1657 fi 1658 1659 test -n "$1" || AC_MSG_ERROR([missing argument]) 1660 syscmd([test -f $1]) 1661 ifelse(sysval, 0, 1662 [ 1663 1664 AC_ARG_WITH(included-regex, 1665 [ --without-included-regex don't compile regex; this is the default on 1666 systems with version 2 of the GNU C library 1667 (use with caution on other system)], 1668 jm_with_regex=$withval, 1669 jm_with_regex=$ac_use_included_regex) 1670 if test "$jm_with_regex" = yes; then 1671 AC_LIBOBJ(regex) 1672 fi 1673 ], 1674 ) 1675 ] 1676) 1677 1678#serial 1002, but ported to autoconf 2.13 by eggert 1679# Experimental replacement for the function in the latest CVS autoconf. 1680# If the compile-test says strerror_r doesn't work, then resort to a 1681# `run'-test that works on BeOS and segfaults on DEC Unix. 1682# Use with the error.c file in ../lib. 1683 1684undefine([AC_FUNC_STRERROR_R]) 1685 1686# AC_FUNC_STRERROR_R 1687# ------------------ 1688AC_DEFUN([AC_FUNC_STRERROR_R], 1689[jm_CHECK_DECLARATION(strerror_r, [#include <string.h>]) 1690test $jm_cv_func_decl_strerror_r != yes 1691AC_DEFINE_UNQUOTED(HAVE_DECL_STRERROR_R, $?, 1692 [Define to 1 if strerror_r is declared.]) 1693AC_CHECK_FUNCS([strerror_r]) 1694if test $ac_cv_func_strerror_r = yes; then 1695 AC_CHECK_HEADERS(string.h) 1696 AC_CACHE_CHECK([for working strerror_r], 1697 ac_cv_func_strerror_r_works, 1698 [ 1699 AC_TRY_COMPILE( 1700 [ 1701# include <stdio.h> 1702# if HAVE_STRING_H 1703# include <string.h> 1704# endif 1705 ], 1706 [ 1707 char buf[100]; 1708 char x = *strerror_r (0, buf, sizeof buf); 1709 ], 1710 ac_cv_func_strerror_r_works=yes, 1711 ac_cv_func_strerror_r_works=no 1712 ) 1713 if test $ac_cv_func_strerror_r_works = no; then 1714 # strerror_r seems not to work, but now we have to choose between 1715 # systems that have relatively inaccessible declarations for the 1716 # function. BeOS and DEC UNIX 4.0 fall in this category, but the 1717 # former has a strerror_r that returns char*, while the latter 1718 # has a strerror_r that returns int. 1719 # This test should segfault on the DEC system. 1720 AC_TRY_RUN( 1721 [ 1722# include <stdio.h> 1723# include <string.h> 1724# include <ctype.h> 1725 1726 extern char *strerror_r (); 1727 1728 int 1729 main () 1730 { 1731 char buf[100]; 1732 char x = *strerror_r (0, buf, sizeof buf); 1733 exit (!isalpha (x)); 1734 } 1735 ], 1736 ac_cv_func_strerror_r_works=yes, 1737 ac_cv_func_strerror_r_works=no, 1738 ac_cv_func_strerror_r_works=no) 1739 fi 1740 ]) 1741 if test $ac_cv_func_strerror_r_works = yes; then 1742 AC_DEFINE_UNQUOTED(HAVE_WORKING_STRERROR_R, 1, 1743 [Define to 1 if strerror_r returns a string.]) 1744 fi 1745fi 1746])# AC_FUNC_STRERROR_R 1747 1748#serial 1 1749 1750dnl FIXME: put these prerequisite-only *.m4 files in a separate 1751dnl directory -- otherwise, they'll conflict with existing files. 1752 1753dnl These are the prerequisite macros for GNU's error.c file. 1754AC_DEFUN(jm_PREREQ_ERROR, 1755[ 1756 AC_CHECK_FUNCS(strerror strerror_r vprintf doprnt) 1757 AC_HEADER_STDC 1758]) 1759 1760#serial 3 1761 1762dnl From Jim Meyering. 1763dnl Determine whether malloc accepts 0 as its argument. 1764dnl If it doesn't, arrange to use the replacement function. 1765dnl 1766 1767AC_DEFUN(jm_FUNC_MALLOC, 1768[ 1769 dnl xmalloc.c requires that this symbol be defined so it doesn't 1770 dnl mistakenly use a broken malloc -- as it might if this test were omitted. 1771 AC_DEFINE_UNQUOTED(HAVE_DONE_WORKING_MALLOC_CHECK, 1, 1772 [Define if the malloc check has been performed. ]) 1773 1774 AC_CACHE_CHECK([for working malloc], jm_cv_func_working_malloc, 1775 [AC_TRY_RUN([ 1776 char *malloc (); 1777 int 1778 main () 1779 { 1780 exit (malloc (0) ? 0 : 1); 1781 } 1782 ], 1783 jm_cv_func_working_malloc=yes, 1784 jm_cv_func_working_malloc=no, 1785 dnl When crosscompiling, assume malloc is broken. 1786 jm_cv_func_working_malloc=no) 1787 ]) 1788 if test $jm_cv_func_working_malloc = no; then 1789 AC_LIBOBJ(malloc) 1790 AC_DEFINE_UNQUOTED(malloc, rpl_malloc, 1791 [Define to rpl_malloc if the replacement function should be used.]) 1792 fi 1793]) 1794 1795#serial 3 1796 1797dnl From Jim Meyering. 1798dnl Determine whether realloc works when both arguments are 0. 1799dnl If it doesn't, arrange to use the replacement function. 1800dnl 1801 1802AC_DEFUN(jm_FUNC_REALLOC, 1803[ 1804 dnl xmalloc.c requires that this symbol be defined so it doesn't 1805 dnl mistakenly use a broken realloc -- as it might if this test were omitted. 1806 AC_DEFINE_UNQUOTED(HAVE_DONE_WORKING_REALLOC_CHECK, 1, 1807 [Define if the realloc check has been performed. ]) 1808 1809 AC_CACHE_CHECK([for working realloc], jm_cv_func_working_realloc, 1810 [AC_TRY_RUN([ 1811 char *realloc (); 1812 int 1813 main () 1814 { 1815 exit (realloc (0, 0) ? 0 : 1); 1816 } 1817 ], 1818 jm_cv_func_working_realloc=yes, 1819 jm_cv_func_working_realloc=no, 1820 dnl When crosscompiling, assume realloc is broken. 1821 jm_cv_func_working_realloc=no) 1822 ]) 1823 if test $jm_cv_func_working_realloc = no; then 1824 AC_LIBOBJ(realloc) 1825 AC_DEFINE_UNQUOTED(realloc, rpl_realloc, 1826 [Define to rpl_realloc if the replacement function should be used.]) 1827 fi 1828]) 1829 1830