2e20c3e1 |
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 | pr# |
15 | # Copyright (c) 1998 Etienne Bernard |
16 | # Copyright (c) 2002 Clinton Ebadi |
17 | # |
18 | |
19 | # Check if we have a decent C++ compiler |
20 | # that supports Standard Template Library (STL) |
21 | AC_DEFUN(AC_CPP_STL, |
22 | [ |
23 | AC_MSG_CHECKING([for STL support]) |
24 | |
25 | AC_CACHE_VAL(ac_cv_cpp_stl, |
26 | [ |
27 | AC_LANG_CPLUSPLUS |
28 | cat > conftest.$ac_ext <<EOF |
29 | #include <list> |
30 | int main() { |
31 | std::list<int> l; |
32 | return 0; |
33 | }; |
34 | EOF |
35 | |
36 | |
37 | if AC_TRY_EVAL(ac_link) && test -s conftest; then |
38 | ac_cv_cpp_stl="have_stl=yes" |
39 | else |
40 | ac_cv_cpp_stl="have_stl=no" |
41 | fi |
42 | rm -f conftest* |
43 | ])dnl |
44 | eval "$ac_cv_cpp_stl" |
45 | |
46 | AC_MSG_RESULT([$have_stl]) |
47 | |
48 | if test "$have_stl" != "yes"; then |
49 | AC_MSG_ERROR([Sorry, you need STL support with your compiler]) |
50 | fi |
51 | ]) |
52 | |
53 | |
54 | # Check is compiler has ios_base |
55 | AC_DEFUN(AC_CPP_STL_IOSBASE, |
56 | [ |
57 | AC_MSG_CHECKING([for std::ios_base in iostreams]) |
58 | |
59 | AC_CACHE_VAL(ac_cv_cpp_iosbase, |
60 | [ |
61 | AC_LANG_CPLUSPLUS |
62 | cat > conftest.$ac_ext <<EOF |
63 | #include <iostream> |
64 | #include <fstream> |
65 | int main() { |
66 | std::ifstream file ("README", std::ios_base::in); |
67 | return 0; |
68 | }; |
69 | EOF |
70 | |
71 | if AC_TRY_EVAL(ac_link) && test -s conftest; then |
72 | ac_cv_cpp_iosbase="have_iosbase=yes" |
73 | else |
74 | ac_cv_cpp_iosbase="have_iosbase=no" |
75 | fi |
76 | rm -f conftest* |
77 | ])dnl |
78 | eval "$ac_cv_cpp_iosbase" |
79 | |
80 | AC_MSG_RESULT([$have_iosbase]) |
81 | |
82 | if test "$have_iosbase" = "yes"; then |
83 | HAVE_IOSBASE="-DHAVE_IOSBASE" |
84 | AC_DEFINE(HAVE_IOSBASE,1) |
85 | else |
86 | AC_DEFINE(HAVE_IOSBASE,0) |
87 | fi |
88 | ]) |
89 | |
90 | # Check if STL elements support the clear() method |
91 | AC_DEFUN(AC_CPP_STL_CLEAR, |
92 | [ |
93 | AC_MSG_CHECKING([for clear() method in STL objects]) |
94 | |
95 | AC_CACHE_VAL(ac_cv_cpp_stl_clear, |
96 | [ |
97 | AC_LANG_CPLUSPLUS |
98 | cat > conftest.$ac_ext <<EOF |
99 | #include <map> |
100 | int main() { |
101 | std::map<int, int, std::less<int> > m; |
102 | m.clear(); |
103 | return 0; |
104 | }; |
105 | EOF |
106 | |
107 | if AC_TRY_EVAL(ac_link) && test -s conftest; then |
108 | ac_cv_cpp_stl_clear="have_stl_clear=yes" |
109 | else |
110 | ac_cv_cpp_stl_clear="have_stl_clear=no" |
111 | fi |
112 | rm -f conftest* |
113 | ])dnl |
114 | eval "$ac_cv_cpp_stl_clear" |
115 | |
116 | AC_MSG_RESULT([$have_stl_clear]) |
117 | |
118 | if test "$have_stl_clear" = "yes"; then |
119 | HAVE_STL_CLEAR="-DHAVE_STL_CLEAR" |
120 | AC_DEFINE(HAVE_STL_CLEAR,1) |
121 | fi |
122 | ]) |
123 | |
124 | |
125 | |
126 | |
127 | # GUILE_PROGS -- set paths to Guile interpreter, config and tool programs |
128 | # |
129 | # Usage: GUILE_PROGS |
130 | # |
131 | # This macro looks for programs @code{guile}, @code{guile-config} and |
132 | # @code{guile-tools}, and sets variables @var{GUILE}, @var{GUILE_CONFIG} and |
133 | # @var{GUILE_TOOLS}, to their paths, respectively. If either of the first two |
134 | # is not found, signal error. |
135 | # |
136 | # The variables are marked for substitution, as by @code{AC_SUBST}. |
137 | # |
138 | AC_DEFUN([GUILE_PROGS], |
139 | [AC_PATH_PROG(GUILE,guile) |
140 | if test "$GUILE" = "" ; then |
141 | AC_MSG_ERROR([guile required but not found]) |
142 | fi |
143 | AC_SUBST(GUILE) |
144 | AC_PATH_PROG(GUILE_CONFIG,guile-config) |
145 | if test "$GUILE_CONFIG" = "" ; then |
146 | AC_MSG_ERROR([guile-config required but not found]) |
147 | fi |
148 | AC_SUBST(GUILE_CONFIG) |
149 | AC_PATH_PROG(GUILE_TOOLS,guile-tools) |
150 | AC_SUBST(GUILE_TOOLS) |
151 | ]) |
152 | |
153 | # GUILE_FLAGS -- set flags for compiling and linking with Guile |
154 | # |
155 | # Usage: GUILE_FLAGS |
156 | # |
157 | # This macro runs the @code{guile-config} script, installed with Guile, to |
158 | # find out where Guile's header files and libraries are installed. It sets |
159 | # two variables, @var{GUILE_CFLAGS} and @var{GUILE_LDFLAGS}. |
160 | # |
161 | # @var{GUILE_CFLAGS}: flags to pass to a C or C++ compiler to build code that |
162 | # uses Guile header files. This is almost always just a @code{-I} flag. |
163 | # |
164 | # @var{GUILE_LDFLAGS}: flags to pass to the linker to link a program against |
165 | # Guile. This includes @code{-lguile} for the Guile library itself, any |
166 | # libraries that Guile itself requires (like -lqthreads), and so on. It may |
167 | # also include a @code{-L} flag to tell the compiler where to find the |
168 | # libraries. |
169 | # |
170 | # The variables are marked for substitution, as by @code{AC_SUBST}. |
171 | # |
172 | AC_DEFUN([GUILE_FLAGS], |
173 | [AC_REQUIRE([GUILE_PROGS])dnl |
174 | AC_MSG_CHECKING([libguile compile flags]) |
175 | GUILE_CFLAGS="`$GUILE_CONFIG compile`" |
176 | AC_MSG_RESULT([$GUILE_CFLAGS]) |
177 | AC_MSG_CHECKING([libguile link flags]) |
178 | GUILE_LDFLAGS="`$GUILE_CONFIG link`" |
179 | AC_MSG_RESULT([$GUILE_LDFLAGS]) |
180 | AC_SUBST(GUILE_CFLAGS) |
181 | AC_SUBST(GUILE_LDFLAGS) |
182 | ]) |
183 | |
184 | # GUILE_SITE_DIR -- find path to Guile "site" directory |
185 | # |
186 | # Usage: GUILE_SITE_DIR |
187 | # |
188 | # This looks for Guile's "site" directory, usually something like |
189 | # PREFIX/share/guile/site, and sets var @var{GUILE_SITE} to the path. |
190 | # Note that the var name is different from the macro name. |
191 | # |
192 | # The variable is marked for substitution, as by @code{AC_SUBST}. |
193 | # |
194 | AC_DEFUN([GUILE_SITE_DIR], |
195 | [AC_REQUIRE([GUILE_PROGS])dnl |
196 | AC_MSG_CHECKING(for Guile site directory) |
197 | GUILE_SITE=`[$GUILE_CONFIG] info pkgdatadir`/site |
198 | AC_MSG_RESULT($GUILE_SITE) |
199 | AC_SUBST(GUILE_SITE) |
200 | ]) |
201 | |
202 | # GUILE_CHECK -- evaluate Guile Scheme code and capture the return value |
203 | # |
204 | # Usage: GUILE_CHECK_RETVAL(var,check) |
205 | # |
206 | # @var{var} is a shell variable name to be set to the return value. |
207 | # @var{check} is a Guile Scheme expression, evaluated with "$GUILE -c", and |
208 | # returning either 0 or non-#f to indicate the check passed. |
209 | # Non-0 number or #f indicates failure. |
210 | # Avoid using the character "#" since that confuses autoconf. |
211 | # |
212 | AC_DEFUN([GUILE_CHECK], |
213 | [AC_REQUIRE([GUILE_PROGS]) |
214 | $GUILE -c "$2" > /dev/null 2>&1 |
215 | $1=$? |
216 | ]) |
217 | |
218 | # GUILE_MODULE_CHECK -- check feature of a Guile Scheme module |
219 | # |
220 | # Usage: GUILE_MODULE_CHECK(var,module,featuretest,description) |
221 | # |
222 | # @var{var} is a shell variable name to be set to "yes" or "no". |
223 | # @var{module} is a list of symbols, like: (ice-9 common-list). |
224 | # @var{featuretest} is an expression acceptable to GUILE_CHECK, q.v. |
225 | # @var{description} is a present-tense verb phrase (passed to AC_MSG_CHECKING). |
226 | # |
227 | AC_DEFUN([GUILE_MODULE_CHECK], |
228 | [AC_MSG_CHECKING([if $2 $4]) |
229 | GUILE_CHECK($1,(use-modules $2) (exit ((lambda () $3)))) |
230 | if test "$$1" = "0" ; then $1=yes ; else $1=no ; fi |
231 | AC_MSG_RESULT($$1) |
232 | ]) |
233 | |
234 | # GUILE_MODULE_AVAILABLE -- check availability of a Guile Scheme module |
235 | # |
236 | # Usage: GUILE_MODULE_AVAILABLE(var,module) |
237 | # |
238 | # @var{var} is a shell variable name to be set to "yes" or "no". |
239 | # @var{module} is a list of symbols, like: (ice-9 common-list). |
240 | # |
241 | AC_DEFUN([GUILE_MODULE_AVAILABLE], |
242 | [GUILE_MODULE_CHECK($1,$2,0,is available) |
243 | ]) |
244 | |
245 | # GUILE_MODULE_REQUIRED -- fail if a Guile Scheme module is unavailable |
246 | # |
247 | # Usage: GUILE_MODULE_REQUIRED(symlist) |
248 | # |
249 | # @var{symlist} is a list of symbols, WITHOUT surrounding parens, |
250 | # like: ice-9 common-list. |
251 | # |
252 | AC_DEFUN([GUILE_MODULE_REQUIRED], |
253 | [GUILE_MODULE_AVAILABLE(ac_guile_module_required, ($1)) |
254 | if test "$ac_guile_module_required" = "no" ; then |
255 | AC_MSG_ERROR([required guile module not found: ($1)]) |
256 | fi |
257 | ]) |
258 | |
259 | # GUILE_MODULE_EXPORTS -- check if a module exports a variable |
260 | # |
261 | # Usage: GUILE_MODULE_EXPORTS(var,module,modvar) |
262 | # |
263 | # @var{var} is a shell variable to be set to "yes" or "no". |
264 | # @var{module} is a list of symbols, like: (ice-9 common-list). |
265 | # @var{modvar} is the Guile Scheme variable to check. |
266 | # |
267 | AC_DEFUN([GUILE_MODULE_EXPORTS], |
268 | [GUILE_MODULE_CHECK($1,$2,$3,exports `$3') |
269 | ]) |
270 | |
271 | # GUILE_MODULE_REQUIRED_EXPORT -- fail if a module doesn't export a variable |
272 | # |
273 | # Usage: GUILE_MODULE_REQUIRED_EXPORT(module,modvar) |
274 | # |
275 | # @var{module} is a list of symbols, like: (ice-9 common-list). |
276 | # @var{modvar} is the Guile Scheme variable to check. |
277 | # |
278 | AC_DEFUN([GUILE_MODULE_REQUIRED_EXPORT], |
279 | [GUILE_MODULE_EXPORTS(guile_module_required_export,$1,$2) |
280 | if test "$guile_module_required_export" = "no" ; then |
281 | AC_MSG_ERROR([module $1 does not export $2; required]) |
282 | fi |
283 | ]) |
284 | |
285 | |
286 | # Do all the work for Automake. This macro actually does too much -- |
287 | # some checks are only needed if your package does certain things. |
288 | # But this isn't really a big deal. |
289 | |
290 | # serial 5 |
291 | |
292 | # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be |
293 | # written in clear, in which case automake, when reading aclocal.m4, |
294 | # will think it sees a *use*, and therefore will trigger all it's |
295 | # C support machinery. Also note that it means that autoscan, seeing |
296 | # CC etc. in the Makefile, will ask for an AC_PROG_CC use... |
297 | |
298 | |
299 | # We require 2.13 because we rely on SHELL being computed by configure. |
300 | AC_PREREQ([2.13]) |
301 | |
302 | # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) |
303 | # ----------------------------------------------------------- |
304 | # If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED. |
305 | # The purpose of this macro is to provide the user with a means to |
306 | # check macros which are provided without letting her know how the |
307 | # information is coded. |
308 | # If this macro is not defined by Autoconf, define it here. |
309 | ifdef([AC_PROVIDE_IFELSE], |
310 | [], |
311 | [define([AC_PROVIDE_IFELSE], |
312 | [ifdef([AC_PROVIDE_$1], |
313 | [$2], [$3])])]) |
314 | |
315 | |
316 | # AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE]) |
317 | # ---------------------------------------------- |
318 | AC_DEFUN([AM_INIT_AUTOMAKE], |
319 | [AC_REQUIRE([AC_PROG_INSTALL])dnl |
320 | # test to see if srcdir already configured |
321 | if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" && |
322 | test -f $srcdir/config.status; then |
323 | AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first]) |
324 | fi |
325 | |
326 | # Define the identity of the package. |
327 | PACKAGE=$1 |
328 | AC_SUBST(PACKAGE)dnl |
329 | VERSION=$2 |
330 | AC_SUBST(VERSION)dnl |
331 | ifelse([$3],, |
332 | [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) |
333 | AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])]) |
334 | |
335 | # Autoconf 2.50 wants to disallow AM_ names. We explicitly allow |
336 | # the ones we care about. |
337 | ifdef([m4_pattern_allow], |
338 | [m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl |
339 | |
340 | # Autoconf 2.50 always computes EXEEXT. However we need to be |
341 | # compatible with 2.13, for now. So we always define EXEEXT, but we |
342 | # don't compute it. |
343 | AC_SUBST(EXEEXT) |
344 | # Similar for OBJEXT -- only we only use OBJEXT if the user actually |
345 | # requests that it be used. This is a bit dumb. |
346 | : ${OBJEXT=o} |
347 | AC_SUBST(OBJEXT) |
348 | |
349 | # Some tools Automake needs. |
350 | AC_REQUIRE([AM_SANITY_CHECK])dnl |
351 | AC_REQUIRE([AC_ARG_PROGRAM])dnl |
352 | AM_MISSING_PROG(ACLOCAL, aclocal) |
353 | AM_MISSING_PROG(AUTOCONF, autoconf) |
354 | AM_MISSING_PROG(AUTOMAKE, automake) |
355 | AM_MISSING_PROG(AUTOHEADER, autoheader) |
356 | AM_MISSING_PROG(MAKEINFO, makeinfo) |
357 | AM_MISSING_PROG(AMTAR, tar) |
358 | AM_PROG_INSTALL_SH |
359 | AM_PROG_INSTALL_STRIP |
360 | # We need awk for the "check" target. The system "awk" is bad on |
361 | # some platforms. |
362 | AC_REQUIRE([AC_PROG_AWK])dnl |
363 | AC_REQUIRE([AC_PROG_MAKE_SET])dnl |
364 | AC_REQUIRE([AM_DEP_TRACK])dnl |
365 | AC_REQUIRE([AM_SET_DEPDIR])dnl |
366 | AC_PROVIDE_IFELSE([AC_PROG_][CC], |
367 | [_AM_DEPENDENCIES(CC)], |
368 | [define([AC_PROG_][CC], |
369 | defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl |
370 | AC_PROVIDE_IFELSE([AC_PROG_][CXX], |
371 | [_AM_DEPENDENCIES(CXX)], |
372 | [define([AC_PROG_][CXX], |
373 | defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl |
374 | ]) |
375 | |
376 | # |
377 | # Check to make sure that the build environment is sane. |
378 | # |
379 | |
380 | # serial 3 |
381 | |
382 | # AM_SANITY_CHECK |
383 | # --------------- |
384 | AC_DEFUN([AM_SANITY_CHECK], |
385 | [AC_MSG_CHECKING([whether build environment is sane]) |
386 | # Just in case |
387 | sleep 1 |
388 | echo timestamp > conftest.file |
389 | # Do `set' in a subshell so we don't clobber the current shell's |
390 | # arguments. Must try -L first in case configure is actually a |
391 | # symlink; some systems play weird games with the mod time of symlinks |
392 | # (eg FreeBSD returns the mod time of the symlink's containing |
393 | # directory). |
394 | if ( |
395 | set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` |
396 | if test "$[*]" = "X"; then |
397 | # -L didn't work. |
398 | set X `ls -t $srcdir/configure conftest.file` |
399 | fi |
400 | rm -f conftest.file |
401 | if test "$[*]" != "X $srcdir/configure conftest.file" \ |
402 | && test "$[*]" != "X conftest.file $srcdir/configure"; then |
403 | |
404 | # If neither matched, then we have a broken ls. This can happen |
405 | # if, for instance, CONFIG_SHELL is bash and it inherits a |
406 | # broken ls alias from the environment. This has actually |
407 | # happened. Such a system could not be considered "sane". |
408 | AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken |
409 | alias in your environment]) |
410 | fi |
411 | |
412 | test "$[2]" = conftest.file |
413 | ) |
414 | then |
415 | # Ok. |
416 | : |
417 | else |
418 | AC_MSG_ERROR([newly created file is older than distributed files! |
419 | Check your system clock]) |
420 | fi |
421 | AC_MSG_RESULT(yes)]) |
422 | |
423 | |
424 | # serial 2 |
425 | |
426 | # AM_MISSING_PROG(NAME, PROGRAM) |
427 | # ------------------------------ |
428 | AC_DEFUN([AM_MISSING_PROG], |
429 | [AC_REQUIRE([AM_MISSING_HAS_RUN]) |
430 | $1=${$1-"${am_missing_run}$2"} |
431 | AC_SUBST($1)]) |
432 | |
433 | |
434 | # AM_MISSING_HAS_RUN |
435 | # ------------------ |
436 | # Define MISSING if not defined so far and test if it supports --run. |
437 | # If it does, set am_missing_run to use it, otherwise, to nothing. |
438 | AC_DEFUN([AM_MISSING_HAS_RUN], |
439 | [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl |
440 | test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" |
441 | # Use eval to expand $SHELL |
442 | if eval "$MISSING --run true"; then |
443 | am_missing_run="$MISSING --run " |
444 | else |
445 | am_missing_run= |
446 | am_backtick='`' |
447 | AC_MSG_WARN([${am_backtick}missing' script is too old or missing]) |
448 | fi |
449 | ]) |
450 | |
451 | # AM_AUX_DIR_EXPAND |
452 | |
453 | # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets |
454 | # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to |
455 | # `$srcdir', `$srcdir/..', or `$srcdir/../..'. |
456 | # |
457 | # Of course, Automake must honor this variable whenever it calls a |
458 | # tool from the auxiliary directory. The problem is that $srcdir (and |
459 | # therefore $ac_aux_dir as well) can be either absolute or relative, |
460 | # depending on how configure is run. This is pretty annoying, since |
461 | # it makes $ac_aux_dir quite unusable in subdirectories: in the top |
462 | # source directory, any form will work fine, but in subdirectories a |
463 | # relative path needs to be adjusted first. |
464 | # |
465 | # $ac_aux_dir/missing |
466 | # fails when called from a subdirectory if $ac_aux_dir is relative |
467 | # $top_srcdir/$ac_aux_dir/missing |
468 | # fails if $ac_aux_dir is absolute, |
469 | # fails when called from a subdirectory in a VPATH build with |
470 | # a relative $ac_aux_dir |
471 | # |
472 | # The reason of the latter failure is that $top_srcdir and $ac_aux_dir |
473 | # are both prefixed by $srcdir. In an in-source build this is usually |
474 | # harmless because $srcdir is `.', but things will broke when you |
475 | # start a VPATH build or use an absolute $srcdir. |
476 | # |
477 | # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, |
478 | # iff we strip the leading $srcdir from $ac_aux_dir. That would be: |
479 | # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` |
480 | # and then we would define $MISSING as |
481 | # MISSING="\${SHELL} $am_aux_dir/missing" |
482 | # This will work as long as MISSING is not called from configure, because |
483 | # unfortunately $(top_srcdir) has no meaning in configure. |
484 | # However there are other variables, like CC, which are often used in |
485 | # configure, and could therefore not use this "fixed" $ac_aux_dir. |
486 | # |
487 | # Another solution, used here, is to always expand $ac_aux_dir to an |
488 | # absolute PATH. The drawback is that using absolute paths prevent a |
489 | # configured tree to be moved without reconfiguration. |
490 | |
491 | AC_DEFUN([AM_AUX_DIR_EXPAND], [ |
492 | # expand $ac_aux_dir to an absolute path |
493 | am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd` |
494 | ]) |
495 | |
496 | # AM_PROG_INSTALL_SH |
497 | # ------------------ |
498 | # Define $install_sh. |
499 | AC_DEFUN([AM_PROG_INSTALL_SH], |
500 | [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl |
501 | install_sh=${install_sh-"$am_aux_dir/install-sh"} |
502 | AC_SUBST(install_sh)]) |
503 | |
504 | # One issue with vendor `install' (even GNU) is that you can't |
505 | # specify the program used to strip binaries. This is especially |
506 | # annoying in cross-compiling environments, where the build's strip |
507 | # is unlikely to handle the host's binaries. |
508 | # Fortunately install-sh will honor a STRIPPROG variable, so we |
509 | # always use install-sh in `make install-strip', and initialize |
510 | # STRIPPROG with the value of the STRIP variable (set by the user). |
511 | AC_DEFUN([AM_PROG_INSTALL_STRIP], |
512 | [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl |
513 | INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" |
514 | AC_SUBST([INSTALL_STRIP_PROGRAM])]) |
515 | |
516 | # serial 4 -*- Autoconf -*- |
517 | |
518 | |
519 | |
520 | # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be |
521 | # written in clear, in which case automake, when reading aclocal.m4, |
522 | # will think it sees a *use*, and therefore will trigger all it's |
523 | # C support machinery. Also note that it means that autoscan, seeing |
524 | # CC etc. in the Makefile, will ask for an AC_PROG_CC use... |
525 | |
526 | |
527 | |
528 | # _AM_DEPENDENCIES(NAME) |
529 | # --------------------- |
530 | # See how the compiler implements dependency checking. |
531 | # NAME is "CC", "CXX" or "OBJC". |
532 | # We try a few techniques and use that to set a single cache variable. |
533 | # |
534 | # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was |
535 | # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular |
536 | # dependency, and given that the user is not expected to run this macro, |
537 | # just rely on AC_PROG_CC. |
538 | AC_DEFUN([_AM_DEPENDENCIES], |
539 | [AC_REQUIRE([AM_SET_DEPDIR])dnl |
540 | AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl |
541 | AC_REQUIRE([AM_MAKE_INCLUDE])dnl |
542 | AC_REQUIRE([AM_DEP_TRACK])dnl |
543 | |
544 | ifelse([$1], CC, [depcc="$CC" am_compiler_list=], |
545 | [$1], CXX, [depcc="$CXX" am_compiler_list=], |
546 | [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'] |
547 | [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], |
548 | [depcc="$$1" am_compiler_list=]) |
549 | |
550 | AC_CACHE_CHECK([dependency style of $depcc], |
551 | [am_cv_$1_dependencies_compiler_type], |
552 | [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then |
553 | # We make a subdir and do the tests there. Otherwise we can end up |
554 | # making bogus files that we don't know about and never remove. For |
555 | # instance it was reported that on HP-UX the gcc test will end up |
556 | # making a dummy file named `D' -- because `-MD' means `put the output |
557 | # in D'. |
558 | mkdir conftest.dir |
559 | # Copy depcomp to subdir because otherwise we won't find it if we're |
560 | # using a relative directory. |
561 | cp "$am_depcomp" conftest.dir |
562 | cd conftest.dir |
563 | |
564 | am_cv_$1_dependencies_compiler_type=none |
565 | if test "$am_compiler_list" = ""; then |
566 | am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` |
567 | fi |
568 | for depmode in $am_compiler_list; do |
569 | # We need to recreate these files for each test, as the compiler may |
570 | # overwrite some of them when testing with obscure command lines. |
571 | # This happens at least with the AIX C compiler. |
572 | echo '#include "conftest.h"' > conftest.c |
573 | echo 'int i;' > conftest.h |
574 | echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf |
575 | |
576 | case $depmode in |
577 | nosideeffect) |
578 | # after this tag, mechanisms are not by side-effect, so they'll |
579 | # only be used when explicitly requested |
580 | if test "x$enable_dependency_tracking" = xyes; then |
581 | continue |
582 | else |
583 | break |
584 | fi |
585 | ;; |
586 | none) break ;; |
587 | esac |
588 | # We check with `-c' and `-o' for the sake of the "dashmstdout" |
589 | # mode. It turns out that the SunPro C++ compiler does not properly |
590 | # handle `-M -o', and we need to detect this. |
591 | if depmode=$depmode \ |
592 | source=conftest.c object=conftest.o \ |
593 | depfile=conftest.Po tmpdepfile=conftest.TPo \ |
594 | $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && |
595 | grep conftest.h conftest.Po > /dev/null 2>&1 && |
596 | ${MAKE-make} -s -f confmf > /dev/null 2>&1; then |
597 | am_cv_$1_dependencies_compiler_type=$depmode |
598 | break |
599 | fi |
600 | done |
601 | |
602 | cd .. |
603 | rm -rf conftest.dir |
604 | else |
605 | am_cv_$1_dependencies_compiler_type=none |
606 | fi |
607 | ]) |
608 | $1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type" |
609 | AC_SUBST([$1DEPMODE]) |
610 | ]) |
611 | |
612 | |
613 | # AM_SET_DEPDIR |
614 | # ------------- |
615 | # Choose a directory name for dependency files. |
616 | # This macro is AC_REQUIREd in _AM_DEPENDENCIES |
617 | AC_DEFUN([AM_SET_DEPDIR], |
618 | [rm -f .deps 2>/dev/null |
619 | mkdir .deps 2>/dev/null |
620 | if test -d .deps; then |
621 | DEPDIR=.deps |
622 | else |
623 | # MS-DOS does not allow filenames that begin with a dot. |
624 | DEPDIR=_deps |
625 | fi |
626 | rmdir .deps 2>/dev/null |
627 | AC_SUBST(DEPDIR) |
628 | ]) |
629 | |
630 | |
631 | # AM_DEP_TRACK |
632 | # ------------ |
633 | AC_DEFUN([AM_DEP_TRACK], |
634 | [AC_ARG_ENABLE(dependency-tracking, |
635 | [ --disable-dependency-tracking Speeds up one-time builds |
636 | --enable-dependency-tracking Do not reject slow dependency extractors]) |
637 | if test "x$enable_dependency_tracking" != xno; then |
638 | am_depcomp="$ac_aux_dir/depcomp" |
639 | AMDEPBACKSLASH='\' |
640 | fi |
641 | AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) |
642 | pushdef([subst], defn([AC_SUBST])) |
643 | subst(AMDEPBACKSLASH) |
644 | popdef([subst]) |
645 | ]) |
646 | |
647 | # Generate code to set up dependency tracking. |
648 | # This macro should only be invoked once -- use via AC_REQUIRE. |
649 | # Usage: |
650 | # AM_OUTPUT_DEPENDENCY_COMMANDS |
651 | |
652 | # |
653 | # This code is only required when automatic dependency tracking |
654 | # is enabled. FIXME. This creates each `.P' file that we will |
655 | # need in order to bootstrap the dependency handling code. |
656 | AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[ |
657 | AC_OUTPUT_COMMANDS([ |
658 | test x"$AMDEP_TRUE" != x"" || |
659 | for mf in $CONFIG_FILES; do |
660 | case "$mf" in |
661 | Makefile) dirpart=.;; |
662 | */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;; |
663 | *) continue;; |
664 | esac |
665 | grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue |
666 | # Extract the definition of DEP_FILES from the Makefile without |
667 | # running `make'. |
668 | DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` |
669 | test -z "$DEPDIR" && continue |
670 | # When using ansi2knr, U may be empty or an underscore; expand it |
671 | U=`sed -n -e '/^U = / s///p' < "$mf"` |
672 | test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" |
673 | # We invoke sed twice because it is the simplest approach to |
674 | # changing $(DEPDIR) to its actual value in the expansion. |
675 | for file in `sed -n -e ' |
676 | /^DEP_FILES = .*\\\\$/ { |
677 | s/^DEP_FILES = // |
678 | :loop |
679 | s/\\\\$// |
680 | p |
681 | n |
682 | /\\\\$/ b loop |
683 | p |
684 | } |
685 | /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ |
686 | sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do |
687 | # Make sure the directory exists. |
688 | test -f "$dirpart/$file" && continue |
689 | fdir=`echo "$file" | sed -e 's|/[^/]*$||'` |
690 | $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1 |
691 | # echo "creating $dirpart/$file" |
692 | echo '# dummy' > "$dirpart/$file" |
693 | done |
694 | done |
695 | ], [AMDEP_TRUE="$AMDEP_TRUE" |
696 | ac_aux_dir="$ac_aux_dir"])]) |
697 | |
698 | # AM_MAKE_INCLUDE() |
699 | # ----------------- |
700 | # Check to see how make treats includes. |
701 | AC_DEFUN([AM_MAKE_INCLUDE], |
702 | [am_make=${MAKE-make} |
703 | cat > confinc << 'END' |
704 | doit: |
705 | @echo done |
706 | END |
707 | # If we don't find an include directive, just comment out the code. |
708 | AC_MSG_CHECKING([for style of include used by $am_make]) |
709 | am__include='#' |
710 | am__quote= |
711 | _am_result=none |
712 | # First try GNU make style include. |
713 | echo "include confinc" > confmf |
714 | # We grep out `Entering directory' and `Leaving directory' |
715 | # messages which can occur if `w' ends up in MAKEFLAGS. |
716 | # In particular we don't look at `^make:' because GNU make might |
717 | # be invoked under some other name (usually "gmake"), in which |
718 | # case it prints its new name instead of `make'. |
719 | if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then |
720 | am__include=include |
721 | am__quote= |
722 | _am_result=GNU |
723 | fi |
724 | # Now try BSD make style include. |
725 | if test "$am__include" = "#"; then |
726 | echo '.include "confinc"' > confmf |
727 | if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then |
728 | am__include=.include |
729 | am__quote='"' |
730 | _am_result=BSD |
731 | fi |
732 | fi |
733 | AC_SUBST(am__include) |
734 | AC_SUBST(am__quote) |
735 | AC_MSG_RESULT($_am_result) |
736 | rm -f confinc confmf |
737 | ]) |
738 | |
739 | # serial 3 |
740 | |
741 | # AM_CONDITIONAL(NAME, SHELL-CONDITION) |
742 | # ------------------------------------- |
743 | # Define a conditional. |
744 | # |
745 | # FIXME: Once using 2.50, use this: |
746 | # m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl |
747 | AC_DEFUN([AM_CONDITIONAL], |
748 | [ifelse([$1], [TRUE], |
749 | [errprint(__file__:__line__: [$0: invalid condition: $1 |
750 | ])dnl |
751 | m4exit(1)])dnl |
752 | ifelse([$1], [FALSE], |
753 | [errprint(__file__:__line__: [$0: invalid condition: $1 |
754 | ])dnl |
755 | m4exit(1)])dnl |
756 | AC_SUBST([$1_TRUE]) |
757 | AC_SUBST([$1_FALSE]) |
758 | if $2; then |
759 | $1_TRUE= |
760 | $1_FALSE='#' |
761 | else |
762 | $1_TRUE='#' |
763 | $1_FALSE= |
764 | fi]) |
765 | |
766 | # Like AC_CONFIG_HEADER, but automatically create stamp file. |
767 | |
768 | # serial 3 |
769 | |
770 | # When config.status generates a header, we must update the stamp-h file. |
771 | # This file resides in the same directory as the config header |
772 | # that is generated. We must strip everything past the first ":", |
773 | # and everything past the last "/". |
774 | |
775 | AC_PREREQ([2.12]) |
776 | |
777 | AC_DEFUN([AM_CONFIG_HEADER], |
778 | [ifdef([AC_FOREACH],dnl |
779 | [dnl init our file count if it isn't already |
780 | m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0])) |
781 | dnl prepare to store our destination file list for use in config.status |
782 | AC_FOREACH([_AM_File], [$1], |
783 | [m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*])) |
784 | m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index)) |
785 | dnl and add it to the list of files AC keeps track of, along |
786 | dnl with our hook |
787 | AC_CONFIG_HEADERS(_AM_File, |
788 | dnl COMMANDS, [, INIT-CMDS] |
789 | [# update the timestamp |
790 | echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index[" |
791 | ][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS |
792 | m4_popdef([_AM_Dest])])],dnl |
793 | [AC_CONFIG_HEADER([$1]) |
794 | AC_OUTPUT_COMMANDS( |
795 | ifelse(patsubst([$1], [[^ ]], []), |
796 | [], |
797 | [test -z "$CONFIG_HEADERS" || echo timestamp >dnl |
798 | patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl |
799 | [am_indx=1 |
800 | for am_file in $1; do |
801 | case " \$CONFIG_HEADERS " in |
802 | *" \$am_file "*) |
803 | am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\` |
804 | if test -n "\$am_dir"; then |
805 | am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\` |
806 | for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do |
807 | am_tmpdir=\$am_tmpdir\$am_subdir/ |
808 | if test ! -d \$am_tmpdir; then |
809 | mkdir \$am_tmpdir |
810 | fi |
811 | done |
812 | fi |
813 | echo timestamp > "\$am_dir"stamp-h\$am_indx |
814 | ;; |
815 | esac |
816 | am_indx=\`expr \$am_indx + 1\` |
817 | done]) |
818 | ])]) # AM_CONFIG_HEADER |
819 | |
820 | # _AM_DIRNAME(PATH) |
821 | # ----------------- |
822 | # Like AS_DIRNAME, only do it during macro expansion |
823 | AC_DEFUN([_AM_DIRNAME], |
824 | [m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1, |
825 | m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1, |
826 | m4_if(m4_regexp([$1], [^/.*]), -1, |
827 | [.], |
828 | m4_patsubst([$1], [^\(/\).*], [\1])), |
829 | m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])), |
830 | m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl |
831 | ]) # _AM_DIRNAME |
832 | |