]> git.saurik.com Git - bison.git/blob - aclocal.m4
.
[bison.git] / aclocal.m4
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.
28 AC_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.
37 ifdef([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 # ----------------------------------------------
46 AC_DEFUN([AM_INIT_AUTOMAKE],
47 [AC_REQUIRE([AC_PROG_INSTALL])dnl
48 # test to see if srcdir already configured
49 if 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])
52 fi
53
54 # Define the identity of the package.
55 PACKAGE=$1
56 AC_SUBST(PACKAGE)dnl
57 VERSION=$2
58 AC_SUBST(VERSION)dnl
59 ifelse([$3],,
60 [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
61 AC_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.
65 ifdef([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.
71 AC_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}
75 AC_SUBST(OBJEXT)
76
77 # Some tools Automake needs.
78 AC_REQUIRE([AM_SANITY_CHECK])dnl
79 AC_REQUIRE([AC_ARG_PROGRAM])dnl
80 AM_MISSING_PROG(ACLOCAL, aclocal)
81 AM_MISSING_PROG(AUTOCONF, autoconf)
82 AM_MISSING_PROG(AUTOMAKE, automake)
83 AM_MISSING_PROG(AUTOHEADER, autoheader)
84 AM_MISSING_PROG(MAKEINFO, makeinfo)
85 AM_MISSING_PROG(AMTAR, tar)
86 AM_PROG_INSTALL_SH
87 AM_PROG_INSTALL_STRIP
88 # We need awk for the "check" target. The system "awk" is bad on
89 # some platforms.
90 AC_REQUIRE([AC_PROG_AWK])dnl
91 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
92 AC_REQUIRE([AM_DEP_TRACK])dnl
93 AC_REQUIRE([AM_SET_DEPDIR])dnl
94 AC_PROVIDE_IFELSE([AC_PROG_][CC],
95 [_AM_DEPENDENCIES(CC)],
96 [define([AC_PROG_][CC],
97 defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl
98 AC_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 # ---------------
112 AC_DEFUN([AM_SANITY_CHECK],
113 [AC_MSG_CHECKING([whether build environment is sane])
114 # Just in case
115 sleep 1
116 echo 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).
122 if (
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
137 alias in your environment])
138 fi
139
140 test "$[2]" = conftest.file
141 )
142 then
143 # Ok.
144 :
145 else
146 AC_MSG_ERROR([newly created file is older than distributed files!
147 Check your system clock])
148 fi
149 AC_MSG_RESULT(yes)])
150
151
152 # serial 2
153
154 # AM_MISSING_PROG(NAME, PROGRAM)
155 # ------------------------------
156 AC_DEFUN([AM_MISSING_PROG],
157 [AC_REQUIRE([AM_MISSING_HAS_RUN])
158 $1=${$1-"${am_missing_run}$2"}
159 AC_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.
166 AC_DEFUN([AM_MISSING_HAS_RUN],
167 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
168 test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
169 # Use eval to expand $SHELL
170 if eval "$MISSING --run true"; then
171 am_missing_run="$MISSING --run "
172 else
173 am_missing_run=
174 am_backtick='`'
175 AC_MSG_WARN([${am_backtick}missing' script is too old or missing])
176 fi
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
219 AC_DEFUN([AM_AUX_DIR_EXPAND], [
220 # expand $ac_aux_dir to an absolute path
221 am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd`
222 ])
223
224 # AM_PROG_INSTALL_SH
225 # ------------------
226 # Define $install_sh.
227 AC_DEFUN([AM_PROG_INSTALL_SH],
228 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
229 install_sh=${install_sh-"$am_aux_dir/install-sh"}
230 AC_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).
239 AC_DEFUN([AM_PROG_INSTALL_STRIP],
240 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
241 INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
242 AC_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.
266 AC_DEFUN([_AM_DEPENDENCIES],
267 [AC_REQUIRE([AM_SET_DEPDIR])dnl
268 AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
269 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
270 AC_REQUIRE([AM_DEP_TRACK])dnl
271
272 ifelse([$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
278 AC_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
332 else
333 am_cv_$1_dependencies_compiler_type=none
334 fi
335 ])
336 $1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type"
337 AC_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
345 AC_DEFUN([AM_SET_DEPDIR],
346 [rm -f .deps 2>/dev/null
347 mkdir .deps 2>/dev/null
348 if test -d .deps; then
349 DEPDIR=.deps
350 else
351 # MS-DOS does not allow filenames that begin with a dot.
352 DEPDIR=_deps
353 fi
354 rmdir .deps 2>/dev/null
355 AC_SUBST(DEPDIR)
356 ])
357
358
359 # AM_DEP_TRACK
360 # ------------
361 AC_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])
365 if test "x$enable_dependency_tracking" != xno; then
366 am_depcomp="$ac_aux_dir/depcomp"
367 AMDEPBACKSLASH='\'
368 fi
369 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
370 pushdef([subst], defn([AC_SUBST]))
371 subst(AMDEPBACKSLASH)
372 popdef([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.
384 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[
385 AC_OUTPUT_COMMANDS([
386 test x"$AMDEP_TRUE" != x"" ||
387 for 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
422 done
423 ], [AMDEP_TRUE="$AMDEP_TRUE"
424 ac_aux_dir="$ac_aux_dir"])])
425
426 # AM_MAKE_INCLUDE()
427 # -----------------
428 # Check to see how make treats includes.
429 AC_DEFUN([AM_MAKE_INCLUDE],
430 [am_make=${MAKE-make}
431 cat > confinc << 'END'
432 doit:
433 @echo done
434 END
435 # If we don't find an include directive, just comment out the code.
436 AC_MSG_CHECKING([for style of include used by $am_make])
437 am__include='#'
438 am__quote=
439 _am_result=none
440 # First try GNU make style include.
441 echo "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'.
447 if 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
451 fi
452 # Now try BSD make style include.
453 if 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
460 fi
461 AC_SUBST(am__include)
462 AC_SUBST(am__quote)
463 AC_MSG_RESULT($_am_result)
464 rm -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
475 AC_DEFUN([AM_CONDITIONAL],
476 [ifelse([$1], [TRUE],
477 [errprint(__file__:__line__: [$0: invalid condition: $1
478 ])dnl
479 m4exit(1)])dnl
480 ifelse([$1], [FALSE],
481 [errprint(__file__:__line__: [$0: invalid condition: $1
482 ])dnl
483 m4exit(1)])dnl
484 AC_SUBST([$1_TRUE])
485 AC_SUBST([$1_FALSE])
486 if $2; then
487 $1_TRUE=
488 $1_FALSE='#'
489 else
490 $1_TRUE='#'
491 $1_FALSE=
492 fi])
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
503 AC_PREREQ([2.12])
504
505 AC_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,
516 dnl COMMANDS, [, INIT-CMDS]
517 [# update the timestamp
518 echo 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
528 for 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\`
545 done])
546 ])]) # AM_CONFIG_HEADER
547
548 # _AM_DIRNAME(PATH)
549 # -----------------
550 # Like AS_DIRNAME, only do it during macro expansion
551 AC_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 1
562 # This test replaces the one in autoconf.
563 # Currently this macro should have the same name as the autoconf macro
564 # because gettext's gettext.m4 (distributed in the automake package)
565 # still uses it. Otherwise, the use in gettext.m4 makes autoheader
566 # give these diagnostics:
567 # configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
568 # configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
569
570 undefine([AC_ISC_POSIX])
571
572 AC_DEFUN([AC_ISC_POSIX],
573 [
574 dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
575 AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
576 ]
577 )
578
579
580 # serial 1
581
582 # @defmac AC_PROG_CC_STDC
583 # @maindex PROG_CC_STDC
584 # @ovindex CC
585 # If the C compiler in not in ANSI C mode by default, try to add an option
586 # to output variable @code{CC} to make it so. This macro tries various
587 # options that select ANSI C on some system or another. It considers the
588 # compiler to be in ANSI C mode if it handles function prototypes correctly.
589 #
590 # If you use this macro, you should check after calling it whether the C
591 # compiler has been set to accept ANSI C; if not, the shell variable
592 # @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source
593 # code in ANSI C, you can make an un-ANSIfied copy of it by using the
594 # program @code{ansi2knr}, which comes with Ghostscript.
595 # @end defmac
596
597 AC_DEFUN([AM_PROG_CC_STDC],
598 [AC_REQUIRE([AC_PROG_CC])
599 AC_BEFORE([$0], [AC_C_INLINE])
600 AC_BEFORE([$0], [AC_C_CONST])
601 dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require
602 dnl a magic option to avoid problems with ANSI preprocessor commands
603 dnl like #elif.
604 dnl FIXME: can't do this because then AC_AIX won't work due to a
605 dnl circular dependency.
606 dnl AC_BEFORE([$0], [AC_PROG_CPP])
607 AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C])
608 AC_CACHE_VAL(am_cv_prog_cc_stdc,
609 [am_cv_prog_cc_stdc=no
610 ac_save_CC="$CC"
611 # Don't try gcc -ansi; that turns off useful extensions and
612 # breaks some systems' header files.
613 # AIX -qlanglvl=ansi
614 # Ultrix and OSF/1 -std1
615 # HP-UX 10.20 and later -Ae
616 # HP-UX older versions -Aa -D_HPUX_SOURCE
617 # SVR4 -Xc -D__EXTENSIONS__
618 for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
619 do
620 CC="$ac_save_CC $ac_arg"
621 AC_TRY_COMPILE(
622 [#include <stdarg.h>
623 #include <stdio.h>
624 #include <sys/types.h>
625 #include <sys/stat.h>
626 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
627 struct buf { int x; };
628 FILE * (*rcsopen) (struct buf *, struct stat *, int);
629 static char *e (p, i)
630 char **p;
631 int i;
632 {
633 return p[i];
634 }
635 static char *f (char * (*g) (char **, int), char **p, ...)
636 {
637 char *s;
638 va_list v;
639 va_start (v,p);
640 s = g (p, va_arg (v,int));
641 va_end (v);
642 return s;
643 }
644 int test (int i, double x);
645 struct s1 {int (*f) (int a);};
646 struct s2 {int (*f) (double a);};
647 int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
648 int argc;
649 char **argv;
650 ], [
651 return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
652 ],
653 [am_cv_prog_cc_stdc="$ac_arg"; break])
654 done
655 CC="$ac_save_CC"
656 ])
657 if test -z "$am_cv_prog_cc_stdc"; then
658 AC_MSG_RESULT([none needed])
659 else
660 AC_MSG_RESULT([$am_cv_prog_cc_stdc])
661 fi
662 case "x$am_cv_prog_cc_stdc" in
663 x|xno) ;;
664 *) CC="$CC $am_cv_prog_cc_stdc" ;;
665 esac
666 ])
667
668 # serial 1 -*- Autoconf -*-
669
670 # BISON_AC_PROG_GNU_M4
671 # --------------------
672 # Check for GNU m4, at least 1.3 (supports frozen files).
673 AC_DEFUN([BISON_AC_PROG_GNU_M4],
674 [AC_PATH_PROGS(M4, gm4 gnum4 m4, m4)
675 AC_CACHE_CHECK([whether m4 supports frozen files],
676 [ac_cv_prog_gnu_m4],
677 [ac_cv_prog_gnu_m4=no
678 if test x"$M4" != x; then
679 case `$M4 --help < /dev/null 2>&1` in
680 *reload-state*) ac_cv_prog_gnu_m4=yes ;;
681 esac
682 fi])
683 ])# BISON_AC_PROG_GNU_M4
684
685 AC_DEFUN(BISON_WARNING,
686 [AC_MSG_CHECKING(whether compiler accepts $1)
687 AC_SUBST(WARNING_CFLAGS)
688 ac_save_CFLAGS="$CFLAGS"
689 CFLAGS="$CFLAGS $1"
690 AC_TRY_COMPILE(,
691 [int x;],
692 WARNING_CFLAGS="$WARNING_CFLAGS $1"
693 AC_MSG_RESULT(yes),
694 AC_MSG_RESULT(no))
695 CFLAGS="$ac_save_CFLAGS"])
696
697
698 # serial 1
699
700 AC_DEFUN([AM_C_PROTOTYPES],
701 [AC_REQUIRE([AM_PROG_CC_STDC])
702 AC_REQUIRE([AC_PROG_CPP])
703 AC_MSG_CHECKING([for function prototypes])
704 if test "$am_cv_prog_cc_stdc" != no; then
705 AC_MSG_RESULT(yes)
706 AC_DEFINE(PROTOTYPES,1,[Define if compiler has function prototypes])
707 U= ANSI2KNR=
708 else
709 AC_MSG_RESULT(no)
710 U=_ ANSI2KNR=./ansi2knr
711 fi
712 # Ensure some checks needed by ansi2knr itself.
713 AC_HEADER_STDC
714 AC_CHECK_HEADERS(string.h)
715 AC_SUBST(U)dnl
716 AC_SUBST(ANSI2KNR)dnl
717 ])
718
719 #serial 3
720
721 dnl From Jim Meyering.
722 dnl Determine whether malloc accepts 0 as its argument.
723 dnl If it doesn't, arrange to use the replacement function.
724 dnl
725
726 AC_DEFUN(jm_FUNC_MALLOC,
727 [
728 dnl xmalloc.c requires that this symbol be defined so it doesn't
729 dnl mistakenly use a broken malloc -- as it might if this test were omitted.
730 AC_DEFINE_UNQUOTED(HAVE_DONE_WORKING_MALLOC_CHECK, 1,
731 [Define if the malloc check has been performed. ])
732
733 AC_CACHE_CHECK([for working malloc], jm_cv_func_working_malloc,
734 [AC_TRY_RUN([
735 char *malloc ();
736 int
737 main ()
738 {
739 exit (malloc (0) ? 0 : 1);
740 }
741 ],
742 jm_cv_func_working_malloc=yes,
743 jm_cv_func_working_malloc=no,
744 dnl When crosscompiling, assume malloc is broken.
745 jm_cv_func_working_malloc=no)
746 ])
747 if test $jm_cv_func_working_malloc = no; then
748 AC_SUBST(LIBOBJS)
749 LIBOBJS="$LIBOBJS malloc.$ac_objext"
750 AC_DEFINE_UNQUOTED(malloc, rpl_malloc,
751 [Define to rpl_malloc if the replacement function should be used.])
752 fi
753 ])
754
755 #serial 3
756
757 dnl From Jim Meyering.
758 dnl Determine whether realloc works when both arguments are 0.
759 dnl If it doesn't, arrange to use the replacement function.
760 dnl
761
762 AC_DEFUN(jm_FUNC_REALLOC,
763 [
764 dnl xmalloc.c requires that this symbol be defined so it doesn't
765 dnl mistakenly use a broken realloc -- as it might if this test were omitted.
766 AC_DEFINE_UNQUOTED(HAVE_DONE_WORKING_REALLOC_CHECK, 1,
767 [Define if the realloc check has been performed. ])
768
769 AC_CACHE_CHECK([for working realloc], jm_cv_func_working_realloc,
770 [AC_TRY_RUN([
771 char *realloc ();
772 int
773 main ()
774 {
775 exit (realloc (0, 0) ? 0 : 1);
776 }
777 ],
778 jm_cv_func_working_realloc=yes,
779 jm_cv_func_working_realloc=no,
780 dnl When crosscompiling, assume realloc is broken.
781 jm_cv_func_working_realloc=no)
782 ])
783 if test $jm_cv_func_working_realloc = no; then
784 AC_SUBST(LIBOBJS)
785 LIBOBJS="$LIBOBJS realloc.$ac_objext"
786 AC_DEFINE_UNQUOTED(realloc, rpl_realloc,
787 [Define to rpl_realloc if the replacement function should be used.])
788 fi
789 ])
790
791 #serial 2
792
793 dnl These are the prerequisite macros for files in the lib/
794 dnl directories of Bison.
795
796 AC_DEFUN([jm_PREREQ_QUOTEARG],
797 [
798 AC_CHECK_FUNCS(isascii iswprint mbsinit)
799 jm_FUNC_MBRTOWC
800 AC_CHECK_HEADERS(limits.h stddef.h stdlib.h string.h wchar.h wctype.h)
801 AC_HEADER_STDC
802 AC_C_BACKSLASH_A
803 AC_MBSTATE_T
804 AM_C_PROTOTYPES
805 ])
806
807 #serial 4
808
809 dnl From Paul Eggert
810
811 AC_DEFUN([jm_FUNC_MBRTOWC],
812 [
813 AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared],
814 jm_cv_func_mbrtowc,
815 [AC_TRY_LINK(
816 [#include <wchar.h>],
817 [mbstate_t state; return ! (sizeof state && mbrtowc);],
818 jm_cv_func_mbrtowc=yes,
819 jm_cv_func_mbrtowc=no)])
820 if test $jm_cv_func_mbrtowc = yes; then
821 AC_DEFINE(HAVE_MBRTOWC, 1,
822 [Define to 1 if mbrtowc and mbstate_t are properly declared.])
823 fi
824 ])
825
826 #serial 3
827
828 dnl From Paul Eggert.
829
830 AC_DEFUN(AC_C_BACKSLASH_A,
831 [
832 AC_CACHE_CHECK([whether backslash-a works in strings], ac_cv_c_backslash_a,
833 [AC_TRY_COMPILE([],
834 [
835 #if '\a' == 'a'
836 syntax error;
837 #endif
838 char buf['\a' == 'a' ? -1 : 1];
839 buf[0] = '\a';
840 return buf[0] != "\a"[0];
841 ],
842 ac_cv_c_backslash_a=yes,
843 ac_cv_c_backslash_a=no)])
844 if test $ac_cv_c_backslash_a = yes; then
845 AC_DEFINE(HAVE_C_BACKSLASH_A, 1,
846 [Define if backslash-a works in C strings.])
847 fi
848 ])
849
850 # serial 8
851
852 # From Paul Eggert.
853
854 # BeOS 5 has <wchar.h> but does not define mbstate_t,
855 # so you can't declare an object of that type.
856 # Check for this incompatibility with Standard C.
857
858 # Include stdlib.h first, because otherwise this test would fail on Linux
859 # (at least glibc-2.1.3) because the "_XOPEN_SOURCE 500" definition elicits
860 # a syntax error in wchar.h due to the use of undefined __int32_t.
861
862 AC_DEFUN(AC_MBSTATE_T,
863 [
864 AC_CHECK_HEADERS(stdlib.h)
865
866 AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t,
867 [AC_TRY_COMPILE([
868 #if HAVE_STDLIB_H
869 # include <stdlib.h>
870 #endif
871 #include <wchar.h>],
872 [mbstate_t x; return sizeof x;],
873 ac_cv_type_mbstate_t=yes,
874 ac_cv_type_mbstate_t=no)])
875 if test $ac_cv_type_mbstate_t = no; then
876 AC_DEFINE(mbstate_t, int,
877 [Define to a type if <wchar.h> does not define.])
878 fi])
879
880 #serial 1
881
882 dnl FIXME: put these prerequisite-only *.m4 files in a separate
883 dnl directory -- otherwise, they'll conflict with existing files.
884
885 dnl These are the prerequisite macros for GNU's error.c file.
886 AC_DEFUN(jm_PREREQ_ERROR,
887 [
888 AC_CHECK_FUNCS(strerror strerror_r vprintf doprnt)
889 AC_HEADER_STDC
890 AC_FUNC_STRERROR_R
891 ])
892
893 #serial 1002
894 # Experimental replacement for the function in the latest CVS autoconf.
895 # If the compile-test says strerror_r doesn't work, then resort to a
896 # `run'-test that works on BeOS and segfaults on DEC Unix.
897 # Use with the error.c file in ../lib.
898
899 undefine([AC_FUNC_STRERROR_R])
900
901 # AC_FUNC_STRERROR_R
902 # ------------------
903 AC_DEFUN([AC_FUNC_STRERROR_R],
904 [AC_CHECK_DECLS([strerror_r])
905 AC_CHECK_FUNCS([strerror_r])
906 if test $ac_cv_func_strerror_r = yes; then
907 AC_CHECK_HEADERS(string.h)
908 AC_CACHE_CHECK([for working strerror_r],
909 ac_cv_func_strerror_r_works,
910 [
911 AC_TRY_COMPILE(
912 [
913 # include <stdio.h>
914 # if HAVE_STRING_H
915 # include <string.h>
916 # endif
917 ],
918 [
919 char buf[100];
920 char x = *strerror_r (0, buf, sizeof buf);
921 ],
922 ac_cv_func_strerror_r_works=yes,
923 ac_cv_func_strerror_r_works=no
924 )
925 if test $ac_cv_func_strerror_r_works = no; then
926 # strerror_r seems not to work, but now we have to choose between
927 # systems that have relatively inaccessible declarations for the
928 # function. BeOS and DEC UNIX 4.0 fall in this category, but the
929 # former has a strerror_r that returns char*, while the latter
930 # has a strerror_r that returns `int'.
931 # This test should segfault on the DEC system.
932 AC_TRY_RUN(
933 [
934 # include <stdio.h>
935 # include <string.h>
936 # include <ctype.h>
937
938 extern char *strerror_r ();
939
940 int
941 main ()
942 {
943 char buf[100];
944 char x = *strerror_r (0, buf, sizeof buf);
945 exit (!isalpha (x));
946 }
947 ],
948 ac_cv_func_strerror_r_works=yes,
949 ac_cv_func_strerror_r_works=no,
950 ac_cv_func_strerror_r_works=no)
951 fi
952 ])
953 if test $ac_cv_func_strerror_r_works = yes; then
954 AC_DEFINE_UNQUOTED(HAVE_WORKING_STRERROR_R, 1,
955 [Define to 1 if `strerror_r' returns a string.])
956 fi
957 fi
958 ])# AC_FUNC_STRERROR_R
959
960
961 # serial 1
962
963 AC_DEFUN([AM_WITH_DMALLOC],
964 [AC_MSG_CHECKING([if malloc debugging is wanted])
965 AC_ARG_WITH(dmalloc,
966 [ --with-dmalloc use dmalloc, as in
967 http://www.dmalloc.com/dmalloc.tar.gz],
968 [if test "$withval" = yes; then
969 AC_MSG_RESULT(yes)
970 AC_DEFINE(WITH_DMALLOC,1,
971 [Define if using the dmalloc debugging malloc package])
972 LIBS="$LIBS -ldmalloc"
973 LDFLAGS="$LDFLAGS -g"
974 else
975 AC_MSG_RESULT(no)
976 fi], [AC_MSG_RESULT(no)])
977 ])
978
979 # Macro to add for using GNU gettext.
980 # Ulrich Drepper <drepper@cygnus.com>, 1995.
981 #
982 # This file can be copied and used freely without restrictions. It can
983 # be used in projects which are not available under the GNU General Public
984 # License but which still want to provide support for the GNU gettext
985 # functionality.
986 # Please note that the actual code of GNU gettext is covered by the GNU
987 # General Public License and is *not* in the public domain.
988
989 # serial 10
990
991 dnl Usage: AM_WITH_NLS([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR]).
992 dnl If TOOLSYMBOL is specified and is 'use-libtool', then a libtool library
993 dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
994 dnl depending on --{enable,disable}-{shared,static} and on the presence of
995 dnl AM-DISABLE-SHARED). Otherwise, a static library
996 dnl $(top_builddir)/intl/libintl.a will be created.
997 dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
998 dnl implementations (in libc or libintl) without the ngettext() function
999 dnl will be ignored.
1000 dnl LIBDIR is used to find the intl libraries. If empty,
1001 dnl the value `$(top_builddir)/intl/' is used.
1002 dnl
1003 dnl The result of the configuration is one of three cases:
1004 dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
1005 dnl and used.
1006 dnl Catalog format: GNU --> install in $(datadir)
1007 dnl Catalog extension: .mo after installation, .gmo in source tree
1008 dnl 2) GNU gettext has been found in the system's C library.
1009 dnl Catalog format: GNU --> install in $(datadir)
1010 dnl Catalog extension: .mo after installation, .gmo in source tree
1011 dnl 3) No internationalization, always use English msgid.
1012 dnl Catalog format: none
1013 dnl Catalog extension: none
1014 dnl The use of .gmo is historical (it was needed to avoid overwriting the
1015 dnl GNU format catalogs when building on a platform with an X/Open gettext),
1016 dnl but we keep it in order not to force irrelevant filename changes on the
1017 dnl maintainers.
1018 dnl
1019 AC_DEFUN([AM_WITH_NLS],
1020 [AC_MSG_CHECKING([whether NLS is requested])
1021 dnl Default is enabled NLS
1022 AC_ARG_ENABLE(nls,
1023 [ --disable-nls do not use Native Language Support],
1024 USE_NLS=$enableval, USE_NLS=yes)
1025 AC_MSG_RESULT($USE_NLS)
1026 AC_SUBST(USE_NLS)
1027
1028 BUILD_INCLUDED_LIBINTL=no
1029 USE_INCLUDED_LIBINTL=no
1030 INTLLIBS=
1031
1032 dnl If we use NLS figure out what method
1033 if test "$USE_NLS" = "yes"; then
1034 AC_DEFINE(ENABLE_NLS, 1,
1035 [Define to 1 if translation of program messages to the user's native language
1036 is requested.])
1037 AC_MSG_CHECKING([whether included gettext is requested])
1038 AC_ARG_WITH(included-gettext,
1039 [ --with-included-gettext use the GNU gettext library included here],
1040 nls_cv_force_use_gnu_gettext=$withval,
1041 nls_cv_force_use_gnu_gettext=no)
1042 AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
1043
1044 nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
1045 if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
1046 dnl User does not insist on using GNU NLS library. Figure out what
1047 dnl to use. If GNU gettext is available we use this. Else we have
1048 dnl to fall back to GNU NLS library.
1049 CATOBJEXT=NONE
1050
1051 dnl Add a version number to the cache macros.
1052 define(gt_cv_func_gnugettext_libc, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libc])
1053 define(gt_cv_func_gnugettext_libintl, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libintl])
1054
1055 AC_CHECK_HEADER(libintl.h,
1056 [AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
1057 [AC_TRY_LINK([#include <libintl.h>
1058 extern int _nl_msg_cat_cntr;],
1059 [bindtextdomain ("", "");
1060 return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
1061 gt_cv_func_gnugettext_libc=yes,
1062 gt_cv_func_gnugettext_libc=no)])
1063
1064 if test "$gt_cv_func_gnugettext_libc" != "yes"; then
1065 AC_CACHE_CHECK([for GNU gettext in libintl],
1066 gt_cv_func_gnugettext_libintl,
1067 [gt_save_LIBS="$LIBS"
1068 LIBS="$LIBS -lintl $LIBICONV"
1069 AC_TRY_LINK([#include <libintl.h>
1070 extern int _nl_msg_cat_cntr;],
1071 [bindtextdomain ("", "");
1072 return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
1073 gt_cv_func_gnugettext_libintl=yes,
1074 gt_cv_func_gnugettext_libintl=no)
1075 LIBS="$gt_save_LIBS"])
1076 fi
1077
1078 dnl If an already present or preinstalled GNU gettext() is found,
1079 dnl use it. But if this macro is used in GNU gettext, and GNU
1080 dnl gettext is already preinstalled in libintl, we update this
1081 dnl libintl. (Cf. the install rule in intl/Makefile.in.)
1082 if test "$gt_cv_func_gnugettext_libc" = "yes" \
1083 || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
1084 && test "$PACKAGE" != gettext; }; then
1085 AC_DEFINE(HAVE_GETTEXT, 1,
1086 [Define if the GNU gettext() function is already present or preinstalled.])
1087
1088 if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
1089 dnl If iconv() is in a separate libiconv library, then anyone
1090 dnl linking with libintl{.a,.so} also needs to link with
1091 dnl libiconv.
1092 INTLLIBS="-lintl $LIBICONV"
1093 fi
1094
1095 gt_save_LIBS="$LIBS"
1096 LIBS="$LIBS $INTLLIBS"
1097 AC_CHECK_FUNCS(dcgettext)
1098 LIBS="$gt_save_LIBS"
1099
1100 dnl Search for GNU msgfmt in the PATH.
1101 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
1102 [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
1103 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
1104
1105 dnl Search for GNU xgettext in the PATH.
1106 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1107 [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
1108
1109 CATOBJEXT=.gmo
1110 fi
1111 ])
1112
1113 if test "$CATOBJEXT" = "NONE"; then
1114 dnl GNU gettext is not found in the C library.
1115 dnl Fall back on GNU gettext library.
1116 nls_cv_use_gnu_gettext=yes
1117 fi
1118 fi
1119
1120 if test "$nls_cv_use_gnu_gettext" = "yes"; then
1121 dnl Mark actions used to generate GNU NLS library.
1122 INTLOBJS="\$(GETTOBJS)"
1123 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
1124 [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
1125 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
1126 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1127 [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
1128 AC_SUBST(MSGFMT)
1129 BUILD_INCLUDED_LIBINTL=yes
1130 USE_INCLUDED_LIBINTL=yes
1131 CATOBJEXT=.gmo
1132 INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV"
1133 LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
1134 fi
1135
1136 dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
1137 dnl Test whether we really found GNU msgfmt.
1138 if test "$GMSGFMT" != ":"; then
1139 dnl If it is no GNU msgfmt we define it as : so that the
1140 dnl Makefiles still can work.
1141 if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
1142 : ;
1143 else
1144 AC_MSG_RESULT(
1145 [found msgfmt program is not GNU msgfmt; ignore it])
1146 GMSGFMT=":"
1147 fi
1148 fi
1149
1150 dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
1151 dnl Test whether we really found GNU xgettext.
1152 if test "$XGETTEXT" != ":"; then
1153 dnl If it is no GNU xgettext we define it as : so that the
1154 dnl Makefiles still can work.
1155 if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
1156 : ;
1157 else
1158 AC_MSG_RESULT(
1159 [found xgettext program is not GNU xgettext; ignore it])
1160 XGETTEXT=":"
1161 fi
1162 fi
1163
1164 dnl We need to process the po/ directory.
1165 POSUB=po
1166 fi
1167 AC_OUTPUT_COMMANDS(
1168 [for ac_file in $CONFIG_FILES; do
1169 # Support "outfile[:infile[:infile...]]"
1170 case "$ac_file" in
1171 *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
1172 esac
1173 # PO directories have a Makefile.in generated from Makefile.in.in.
1174 case "$ac_file" in */Makefile.in)
1175 # Adjust a relative srcdir.
1176 ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
1177 ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
1178 ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
1179 # In autoconf-2.13 it is called $ac_given_srcdir.
1180 # In autoconf-2.50 it is called $srcdir.
1181 test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
1182 case "$ac_given_srcdir" in
1183 .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
1184 /*) top_srcdir="$ac_given_srcdir" ;;
1185 *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
1186 esac
1187 if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
1188 rm -f "$ac_dir/POTFILES"
1189 test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
1190 sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
1191 test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
1192 sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
1193 fi
1194 ;;
1195 esac
1196 done])
1197
1198
1199 dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
1200 dnl to 'yes' because some of the testsuite requires it.
1201 if test "$PACKAGE" = gettext; then
1202 BUILD_INCLUDED_LIBINTL=yes
1203 fi
1204
1205 dnl intl/plural.c is generated from intl/plural.y. It requires bison,
1206 dnl because plural.y uses bison specific features. It requires at least
1207 dnl bison-1.26 because earlier versions generate a plural.c that doesn't
1208 dnl compile.
1209 dnl bison is only needed for the maintainer (who touches plural.y). But in
1210 dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
1211 dnl the rule in general Makefile. Now, some people carelessly touch the
1212 dnl files or have a broken "make" program, hence the plural.c rule will
1213 dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
1214 dnl present or too old.
1215 AC_CHECK_PROGS([INTLBISON], [bison])
1216 if test -z "$INTLBISON"; then
1217 ac_verc_fail=yes
1218 else
1219 dnl Found it, now check the version.
1220 AC_MSG_CHECKING([version of bison])
1221 changequote(<<,>>)dnl
1222 ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison .* \([0-9]*\.[0-9.]*\).*$/\1/p'`
1223 case $ac_prog_version in
1224 '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
1225 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
1226 changequote([,])dnl
1227 ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
1228 *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
1229 esac
1230 AC_MSG_RESULT([$ac_prog_version])
1231 fi
1232 if test $ac_verc_fail = yes; then
1233 INTLBISON=:
1234 fi
1235
1236 dnl These rules are solely for the distribution goal. While doing this
1237 dnl we only have to keep exactly one list of the available catalogs
1238 dnl in configure.in.
1239 for lang in $ALL_LINGUAS; do
1240 GMOFILES="$GMOFILES $lang.gmo"
1241 POFILES="$POFILES $lang.po"
1242 done
1243
1244 dnl Make all variables we use known to autoconf.
1245 AC_SUBST(BUILD_INCLUDED_LIBINTL)
1246 AC_SUBST(USE_INCLUDED_LIBINTL)
1247 AC_SUBST(CATALOGS)
1248 AC_SUBST(CATOBJEXT)
1249 AC_SUBST(GMOFILES)
1250 AC_SUBST(INTLLIBS)
1251 AC_SUBST(INTLOBJS)
1252 AC_SUBST(POFILES)
1253 AC_SUBST(POSUB)
1254
1255 dnl For backward compatibility. Some configure.ins may be using this.
1256 nls_cv_header_intl=
1257 nls_cv_header_libgt=
1258
1259 dnl For backward compatibility. Some Makefiles may be using this.
1260 DATADIRNAME=share
1261 AC_SUBST(DATADIRNAME)
1262
1263 dnl For backward compatibility. Some Makefiles may be using this.
1264 INSTOBJEXT=.mo
1265 AC_SUBST(INSTOBJEXT)
1266
1267 dnl For backward compatibility. Some Makefiles may be using this.
1268 GENCAT=gencat
1269 AC_SUBST(GENCAT)
1270 ])
1271
1272 dnl Usage: Just like AM_WITH_NLS, which see.
1273 AC_DEFUN([AM_GNU_GETTEXT],
1274 [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
1275 AC_REQUIRE([AC_PROG_CC])dnl
1276 AC_REQUIRE([AC_CANONICAL_HOST])dnl
1277 AC_REQUIRE([AC_PROG_RANLIB])dnl
1278 AC_REQUIRE([AC_ISC_POSIX])dnl
1279 AC_REQUIRE([AC_HEADER_STDC])dnl
1280 AC_REQUIRE([AC_C_CONST])dnl
1281 AC_REQUIRE([AC_C_INLINE])dnl
1282 AC_REQUIRE([AC_TYPE_OFF_T])dnl
1283 AC_REQUIRE([AC_TYPE_SIZE_T])dnl
1284 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
1285 AC_REQUIRE([AC_FUNC_MMAP])dnl
1286 AC_REQUIRE([jm_GLIBC21])dnl
1287
1288 AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
1289 stdlib.h string.h unistd.h sys/param.h])
1290 AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getcwd getegid geteuid \
1291 getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \
1292 strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
1293
1294 AM_ICONV
1295 AM_LANGINFO_CODESET
1296 AM_LC_MESSAGES
1297 AM_WITH_NLS([$1],[$2],[$3])
1298
1299 if test "x$CATOBJEXT" != "x"; then
1300 if test "x$ALL_LINGUAS" = "x"; then
1301 LINGUAS=
1302 else
1303 AC_MSG_CHECKING(for catalogs to be installed)
1304 NEW_LINGUAS=
1305 for presentlang in $ALL_LINGUAS; do
1306 useit=no
1307 for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do
1308 # Use the presentlang catalog if desiredlang is
1309 # a. equal to presentlang, or
1310 # b. a variant of presentlang (because in this case,
1311 # presentlang can be used as a fallback for messages
1312 # which are not translated in the desiredlang catalog).
1313 case "$desiredlang" in
1314 "$presentlang"*) useit=yes;;
1315 esac
1316 done
1317 if test $useit = yes; then
1318 NEW_LINGUAS="$NEW_LINGUAS $presentlang"
1319 fi
1320 done
1321 LINGUAS=$NEW_LINGUAS
1322 AC_MSG_RESULT($LINGUAS)
1323 fi
1324
1325 dnl Construct list of names of catalog files to be constructed.
1326 if test -n "$LINGUAS"; then
1327 for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
1328 fi
1329 fi
1330
1331 dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
1332 dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
1333 dnl Try to locate is.
1334 MKINSTALLDIRS=
1335 if test -n "$ac_aux_dir"; then
1336 MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
1337 fi
1338 if test -z "$MKINSTALLDIRS"; then
1339 MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
1340 fi
1341 AC_SUBST(MKINSTALLDIRS)
1342
1343 dnl Enable libtool support if the surrounding package wishes it.
1344 INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], [])
1345 AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
1346 ])
1347
1348 # Search path for a program which passes the given test.
1349 # Ulrich Drepper <drepper@cygnus.com>, 1996.
1350 #
1351 # This file can be copied and used freely without restrictions. It can
1352 # be used in projects which are not available under the GNU General Public
1353 # License but which still want to provide support for the GNU gettext
1354 # functionality.
1355 # Please note that the actual code of GNU gettext is covered by the GNU
1356 # General Public License and is *not* in the public domain.
1357
1358 # serial 2
1359
1360 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
1361 dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
1362 AC_DEFUN([AM_PATH_PROG_WITH_TEST],
1363 [# Extract the first word of "$2", so it can be a program name with args.
1364 set dummy $2; ac_word=[$]2
1365 AC_MSG_CHECKING([for $ac_word])
1366 AC_CACHE_VAL(ac_cv_path_$1,
1367 [case "[$]$1" in
1368 /*)
1369 ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
1370 ;;
1371 *)
1372 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
1373 for ac_dir in ifelse([$5], , $PATH, [$5]); do
1374 test -z "$ac_dir" && ac_dir=.
1375 if test -f $ac_dir/$ac_word; then
1376 if [$3]; then
1377 ac_cv_path_$1="$ac_dir/$ac_word"
1378 break
1379 fi
1380 fi
1381 done
1382 IFS="$ac_save_ifs"
1383 dnl If no 4th arg is given, leave the cache variable unset,
1384 dnl so AC_PATH_PROGS will keep looking.
1385 ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
1386 ])dnl
1387 ;;
1388 esac])dnl
1389 $1="$ac_cv_path_$1"
1390 if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
1391 AC_MSG_RESULT([$]$1)
1392 else
1393 AC_MSG_RESULT(no)
1394 fi
1395 AC_SUBST($1)dnl
1396 ])
1397
1398 #serial 2
1399
1400 # Test for the GNU C Library, version 2.1 or newer.
1401 # From Bruno Haible.
1402
1403 AC_DEFUN([jm_GLIBC21],
1404 [
1405 AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
1406 ac_cv_gnu_library_2_1,
1407 [AC_EGREP_CPP([Lucky GNU user],
1408 [
1409 #include <features.h>
1410 #ifdef __GNU_LIBRARY__
1411 #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
1412 Lucky GNU user
1413 #endif
1414 #endif
1415 ],
1416 ac_cv_gnu_library_2_1=yes,
1417 ac_cv_gnu_library_2_1=no)
1418 ]
1419 )
1420 AC_SUBST(GLIBC21)
1421 GLIBC21="$ac_cv_gnu_library_2_1"
1422 ]
1423 )
1424
1425 #serial AM2
1426
1427 dnl From Bruno Haible.
1428
1429 AC_DEFUN([AM_ICONV],
1430 [
1431 dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
1432 dnl those with the standalone portable GNU libiconv installed).
1433
1434 AC_ARG_WITH([libiconv-prefix],
1435 [ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [
1436 for dir in `echo "$withval" | tr : ' '`; do
1437 if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
1438 if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi
1439 done
1440 ])
1441
1442 AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
1443 am_cv_func_iconv="no, consider installing GNU libiconv"
1444 am_cv_lib_iconv=no
1445 AC_TRY_LINK([#include <stdlib.h>
1446 #include <iconv.h>],
1447 [iconv_t cd = iconv_open("","");
1448 iconv(cd,NULL,NULL,NULL,NULL);
1449 iconv_close(cd);],
1450 am_cv_func_iconv=yes)
1451 if test "$am_cv_func_iconv" != yes; then
1452 am_save_LIBS="$LIBS"
1453 LIBS="$LIBS -liconv"
1454 AC_TRY_LINK([#include <stdlib.h>
1455 #include <iconv.h>],
1456 [iconv_t cd = iconv_open("","");
1457 iconv(cd,NULL,NULL,NULL,NULL);
1458 iconv_close(cd);],
1459 am_cv_lib_iconv=yes
1460 am_cv_func_iconv=yes)
1461 LIBS="$am_save_LIBS"
1462 fi
1463 ])
1464 if test "$am_cv_func_iconv" = yes; then
1465 AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
1466 AC_MSG_CHECKING([for iconv declaration])
1467 AC_CACHE_VAL(am_cv_proto_iconv, [
1468 AC_TRY_COMPILE([
1469 #include <stdlib.h>
1470 #include <iconv.h>
1471 extern
1472 #ifdef __cplusplus
1473 "C"
1474 #endif
1475 #if defined(__STDC__) || defined(__cplusplus)
1476 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
1477 #else
1478 size_t iconv();
1479 #endif
1480 ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
1481 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);"])
1482 am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
1483 AC_MSG_RESULT([$]{ac_t:-
1484 }[$]am_cv_proto_iconv)
1485 AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
1486 [Define as const if the declaration of iconv() needs const.])
1487 fi
1488 LIBICONV=
1489 if test "$am_cv_lib_iconv" = yes; then
1490 LIBICONV="-liconv"
1491 fi
1492 AC_SUBST(LIBICONV)
1493 ])
1494
1495 #serial AM1
1496
1497 dnl From Bruno Haible.
1498
1499 AC_DEFUN([AM_LANGINFO_CODESET],
1500 [
1501 AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
1502 [AC_TRY_LINK([#include <langinfo.h>],
1503 [char* cs = nl_langinfo(CODESET);],
1504 am_cv_langinfo_codeset=yes,
1505 am_cv_langinfo_codeset=no)
1506 ])
1507 if test $am_cv_langinfo_codeset = yes; then
1508 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
1509 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
1510 fi
1511 ])
1512
1513 # Check whether LC_MESSAGES is available in <locale.h>.
1514 # Ulrich Drepper <drepper@cygnus.com>, 1995.
1515 #
1516 # This file can be copied and used freely without restrictions. It can
1517 # be used in projects which are not available under the GNU General Public
1518 # License but which still want to provide support for the GNU gettext
1519 # functionality.
1520 # Please note that the actual code of GNU gettext is covered by the GNU
1521 # General Public License and is *not* in the public domain.
1522
1523 # serial 2
1524
1525 AC_DEFUN([AM_LC_MESSAGES],
1526 [if test $ac_cv_header_locale_h = yes; then
1527 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
1528 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
1529 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
1530 if test $am_cv_val_LC_MESSAGES = yes; then
1531 AC_DEFINE(HAVE_LC_MESSAGES, 1,
1532 [Define if your <locale.h> file defines LC_MESSAGES.])
1533 fi
1534 fi])
1535