1 | ## -*- Autoconf -*-
|
---|
2 | # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
---|
3 | # Free Software Foundation, Inc.
|
---|
4 | #
|
---|
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 | # serial 9
|
---|
10 |
|
---|
11 | # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
|
---|
12 | # written in clear, in which case automake, when reading aclocal.m4,
|
---|
13 | # will think it sees a *use*, and therefore will trigger all it's
|
---|
14 | # C support machinery. Also note that it means that autoscan, seeing
|
---|
15 | # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
|
---|
16 |
|
---|
17 |
|
---|
18 | # _AM_DEPENDENCIES(NAME)
|
---|
19 | # ----------------------
|
---|
20 | # See how the compiler implements dependency checking.
|
---|
21 | # NAME is "CC", "CXX", "GCJ", or "OBJC".
|
---|
22 | # We try a few techniques and use that to set a single cache variable.
|
---|
23 | #
|
---|
24 | # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
|
---|
25 | # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
|
---|
26 | # dependency, and given that the user is not expected to run this macro,
|
---|
27 | # just rely on AC_PROG_CC.
|
---|
28 | AC_DEFUN([_AM_DEPENDENCIES],
|
---|
29 | [AC_REQUIRE([AM_SET_DEPDIR])dnl
|
---|
30 | AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
|
---|
31 | AC_REQUIRE([AM_MAKE_INCLUDE])dnl
|
---|
32 | AC_REQUIRE([AM_DEP_TRACK])dnl
|
---|
33 |
|
---|
34 | ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
|
---|
35 | [$1], CXX, [depcc="$CXX" am_compiler_list=],
|
---|
36 | [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
|
---|
37 | [$1], UPC, [depcc="$UPC" am_compiler_list=],
|
---|
38 | [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
|
---|
39 | [depcc="$$1" am_compiler_list=])
|
---|
40 |
|
---|
41 | AC_CACHE_CHECK([dependency style of $depcc],
|
---|
42 | [am_cv_$1_dependencies_compiler_type],
|
---|
43 | [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
|
---|
44 | # We make a subdir and do the tests there. Otherwise we can end up
|
---|
45 | # making bogus files that we don't know about and never remove. For
|
---|
46 | # instance it was reported that on HP-UX the gcc test will end up
|
---|
47 | # making a dummy file named `D' -- because `-MD' means `put the output
|
---|
48 | # in D'.
|
---|
49 | mkdir conftest.dir
|
---|
50 | # Copy depcomp to subdir because otherwise we won't find it if we're
|
---|
51 | # using a relative directory.
|
---|
52 | cp "$am_depcomp" conftest.dir
|
---|
53 | cd conftest.dir
|
---|
54 | # We will build objects and dependencies in a subdirectory because
|
---|
55 | # it helps to detect inapplicable dependency modes. For instance
|
---|
56 | # both Tru64's cc and ICC support -MD to output dependencies as a
|
---|
57 | # side effect of compilation, but ICC will put the dependencies in
|
---|
58 | # the current directory while Tru64 will put them in the object
|
---|
59 | # directory.
|
---|
60 | mkdir sub
|
---|
61 |
|
---|
62 | am_cv_$1_dependencies_compiler_type=none
|
---|
63 | if test "$am_compiler_list" = ""; then
|
---|
64 | am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
|
---|
65 | fi
|
---|
66 | for depmode in $am_compiler_list; do
|
---|
67 | # Setup a source with many dependencies, because some compilers
|
---|
68 | # like to wrap large dependency lists on column 80 (with \), and
|
---|
69 | # we should not choose a depcomp mode which is confused by this.
|
---|
70 | #
|
---|
71 | # We need to recreate these files for each test, as the compiler may
|
---|
72 | # overwrite some of them when testing with obscure command lines.
|
---|
73 | # This happens at least with the AIX C compiler.
|
---|
74 | : > sub/conftest.c
|
---|
75 | for i in 1 2 3 4 5 6; do
|
---|
76 | echo '#include "conftst'$i'.h"' >> sub/conftest.c
|
---|
77 | # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
|
---|
78 | # Solaris 8's {/usr,}/bin/sh.
|
---|
79 | touch sub/conftst$i.h
|
---|
80 | done
|
---|
81 | echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
|
---|
82 |
|
---|
83 | case $depmode in
|
---|
84 | nosideeffect)
|
---|
85 | # after this tag, mechanisms are not by side-effect, so they'll
|
---|
86 | # only be used when explicitly requested
|
---|
87 | if test "x$enable_dependency_tracking" = xyes; then
|
---|
88 | continue
|
---|
89 | else
|
---|
90 | break
|
---|
91 | fi
|
---|
92 | ;;
|
---|
93 | none) break ;;
|
---|
94 | esac
|
---|
95 | # We check with `-c' and `-o' for the sake of the "dashmstdout"
|
---|
96 | # mode. It turns out that the SunPro C++ compiler does not properly
|
---|
97 | # handle `-M -o', and we need to detect this.
|
---|
98 | if depmode=$depmode \
|
---|
99 | source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
|
---|
100 | depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
|
---|
101 | $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
|
---|
102 | >/dev/null 2>conftest.err &&
|
---|
103 | grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
|
---|
104 | grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
|
---|
105 | grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
|
---|
106 | ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
|
---|
107 | # icc doesn't choke on unknown options, it will just issue warnings
|
---|
108 | # or remarks (even with -Werror). So we grep stderr for any message
|
---|
109 | # that says an option was ignored or not supported.
|
---|
110 | # When given -MP, icc 7.0 and 7.1 complain thusly:
|
---|
111 | # icc: Command line warning: ignoring option '-M'; no argument required
|
---|
112 | # The diagnosis changed in icc 8.0:
|
---|
113 | # icc: Command line remark: option '-MP' not supported
|
---|
114 | if (grep 'ignoring option' conftest.err ||
|
---|
115 | grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
|
---|
116 | am_cv_$1_dependencies_compiler_type=$depmode
|
---|
117 | break
|
---|
118 | fi
|
---|
119 | fi
|
---|
120 | done
|
---|
121 |
|
---|
122 | cd ..
|
---|
123 | rm -rf conftest.dir
|
---|
124 | else
|
---|
125 | am_cv_$1_dependencies_compiler_type=none
|
---|
126 | fi
|
---|
127 | ])
|
---|
128 | AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
|
---|
129 | AM_CONDITIONAL([am__fastdep$1], [
|
---|
130 | test "x$enable_dependency_tracking" != xno \
|
---|
131 | && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
|
---|
132 | ])
|
---|
133 |
|
---|
134 |
|
---|
135 | # AM_SET_DEPDIR
|
---|
136 | # -------------
|
---|
137 | # Choose a directory name for dependency files.
|
---|
138 | # This macro is AC_REQUIREd in _AM_DEPENDENCIES
|
---|
139 | AC_DEFUN([AM_SET_DEPDIR],
|
---|
140 | [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
|
---|
141 | AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
|
---|
142 | ])
|
---|
143 |
|
---|
144 |
|
---|
145 | # AM_DEP_TRACK
|
---|
146 | # ------------
|
---|
147 | AC_DEFUN([AM_DEP_TRACK],
|
---|
148 | [AC_ARG_ENABLE(dependency-tracking,
|
---|
149 | [ --disable-dependency-tracking speeds up one-time build
|
---|
150 | --enable-dependency-tracking do not reject slow dependency extractors])
|
---|
151 | if test "x$enable_dependency_tracking" != xno; then
|
---|
152 | am_depcomp="$ac_aux_dir/depcomp"
|
---|
153 | AMDEPBACKSLASH='\'
|
---|
154 | fi
|
---|
155 | AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
|
---|
156 | AC_SUBST([AMDEPBACKSLASH])dnl
|
---|
157 | _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
|
---|
158 | ])
|
---|