Merge branch 'maint'
[platform/upstream/automake.git] / configure.ac
1 # Process this file with autoconf to produce a configure script.
2
3 # Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
4 # 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software
5 # Foundation, Inc.
6 #
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2, or (at your option)
10 # any later version.
11 #
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
20 AC_PREREQ([2.68])
21 AC_INIT([GNU Automake], [1.11a], [bug-automake@gnu.org])
22
23 AC_CONFIG_SRCDIR([automake.in])
24 AC_CONFIG_AUX_DIR([lib])
25
26 AM_SILENT_RULES([yes])
27
28 AC_CANONICAL_HOST
29 AC_CANONICAL_BUILD
30
31 # Save the AUTOCONF setting before AM_INIT_AUTOMAKE overrides it; this
32 # way we can run Autoconf tests from configure (or from the test
33 # suite) without being bothered by `missing'.  Likewise for autom4te,
34 # autoreconf, autoheader, and autoupdate.
35 AC_SUBST([am_AUTOCONF], ["${AUTOCONF-autoconf}"])
36 AC_SUBST([am_AUTOM4TE], ["${AUTOM4TE-autom4te}"])
37 AC_SUBST([am_AUTORECONF], ["${AUTORECONF-autoreconf}"])
38 AC_SUBST([am_AUTOHEADER], ["${AUTOHEADER-autoheader}"])
39 AC_SUBST([am_AUTOUPDATE], ["${AUTOUPDATE-autoupdate}"])
40
41 AM_INIT_AUTOMAKE([1.10a dist-xz filename-length-max=99 color-tests
42                   parallel-tests silent-rules])
43
44 # The API version is the base version.  We must guarantee
45 # compatibility for all releases with the same API version.
46 # Our current rule is that:
47 # * All releases, including the prereleases, in an X.Y series
48 #   are compatible.  So 1.5.1c is compatible with 1.5.
49 # * Prereleases on the trunk are all incompatible -- 1.5b and 1.5c
50 #   aren't the same.
51 APIVERSION=`echo "$VERSION" | sed -e 's/^\([[0-9]]*\.[[0-9]]*[[a-z]]*\).*$/\1/'`
52 AC_SUBST([APIVERSION])
53
54 AC_SUBST([pkgvdatadir], ["\${datadir}/$PACKAGE-$APIVERSION"])
55 AC_SUBST([scriptdir], ["\${pkgvdatadir}"])
56 AC_SUBST([amdir], ["\${pkgvdatadir}/am"])
57 AC_SUBST([automake_acdir], ["\${datadir}/aclocal-$APIVERSION"])
58 AC_SUBST([system_acdir], ["\${datadir}/aclocal"])
59
60 # $AUTOMAKE and $ACLOCAL are always run after a `cd $top_srcdir',
61 # hence `.' is really what we want for perllibdir, libdir, and acdir.
62 ACLOCAL="perllibdir=\"`pwd`/lib$PATH_SEPARATOR./lib\" \"`pwd`/aclocal\" --acdir=m4 -I m4"
63 AUTOMAKE="perllibdir=\"`pwd`/lib$PATH_SEPARATOR./lib\" \"`pwd`/automake\" --libdir=lib"
64
65 AC_PATH_PROG([PERL], [perl])
66 if test -z "$PERL"; then
67    AC_MSG_ERROR([perl not found])
68 fi
69 # Save details about the selected perl interpreter in config.log.
70 AM_RUN_LOG([$PERL --version])
71 $PERL -e 'require 5.006;' || {
72    AC_MSG_ERROR(
73 [perl 5.6 or better is required; perl 5.8.2 or better
74 is recommended.  If you have several perl versions
75 installed, select the one Automake should use using
76   ./configure PERL=/path/to/perl])
77 }
78
79 # We require ithreads support, and version 5.7.2 for CLONE.
80 AC_CACHE_CHECK([whether $PERL supports ithreads], [am_cv_prog_PERL_ithreads],
81 [if $PERL -e '
82     require 5.007_002;
83     use Config;
84     if ($Config{useithreads})
85       {
86         require threads;
87         import threads;
88         require Thread::Queue;
89         import Thread::Queue;
90         exit 0;
91       }
92     exit 1;' >&AS_MESSAGE_LOG_FD 2>&1
93 then
94   am_cv_prog_PERL_ithreads=yes
95 else
96   am_cv_prog_PERL_ithreads=no
97 fi])
98 if test $am_cv_prog_PERL_ithreads = yes; then
99   PERL_THREADS=1;
100 else
101   PERL_THREADS=0;
102 fi
103 AC_SUBST([PERL_THREADS])
104
105 # The test suite will skip some tests if tex is absent.
106 AC_CHECK_PROG([TEX], [tex], [tex])
107 # Save details about the selected TeX program in config.log.
108 # Redirect input from /dev/null, as TeX might otherwise hang waiting
109 # for input from the terminal.
110 AM_RUN_LOG([$TEX --version </dev/null])
111
112 # Generate man pages.
113 AM_MISSING_PROG([HELP2MAN], [help2man])
114
115 # Test for Autoconf.  We run Autoconf in a subdirectory to ease
116 # deletion of any files created (such as those added to
117 # autom4te.cache).  We used to perform only the last of the three
118 # following tests, but some users were unable to figure out that their
119 # installation was broken since --version appeared to work.
120
121 required_autoconf_version=2.62
122 AC_CACHE_CHECK([whether autoconf is installed], [am_cv_autoconf_installed],
123 [if AM_RUN_LOG([$am_AUTOCONF --version]);
124 then
125   am_cv_autoconf_installed=yes
126 else
127   am_cv_autoconf_installed=no
128 fi])
129 if test "$am_cv_autoconf_installed" = no; then
130   AC_MSG_ERROR([Autoconf $required_autoconf_version or better is required.
131     Please make sure it is installed and in your PATH.])
132 fi
133
134 AC_CACHE_CHECK([whether autoconf works], [am_cv_autoconf_works],
135 [mkdir conftest
136 echo 'AC''_INIT' > conftest/conftest.ac
137 if AM_RUN_LOG([cd conftest && $am_AUTOCONF -o /dev/null conftest.ac]);
138 then
139   am_cv_autoconf_works=yes
140 else
141   am_cv_autoconf_works=no
142 fi
143 rm -rf conftest])
144 if test "$am_cv_autoconf_works" = no; then
145   AC_MSG_ERROR([The installed version of autoconf does not work.
146     Please check config.log for error messages before this one.])
147 fi
148
149 AC_CACHE_CHECK([whether autoconf is recent enough], [am_cv_autoconf_version],
150 [mkdir conftest
151 dnl Creative quoting required to avoid spurious expansion of AC_PREREQ macro
152 echo 'AC'"_PREREQ([[$required_autoconf_version]])" > conftest/conftest.ac
153 if AM_RUN_LOG([cd conftest && $am_AUTOCONF -o /dev/null conftest.ac]);
154 then
155   am_cv_autoconf_version=yes
156 else
157   am_cv_autoconf_version=no
158 fi
159 rm -rf conftest])
160 if test "$am_cv_autoconf_version" = no; then
161   AC_MSG_ERROR([Autoconf $required_autoconf_version or better is required.])
162 fi
163
164 # Test for ln.  We need use it to install the versioned binaries.
165 AC_MSG_CHECKING([whether ln works])
166 AC_CACHE_VAL([am_cv_prog_ln], [
167 rm -f conftest conftest.file
168 : >conftest.file
169 if ln conftest.file conftest 2>/dev/null; then
170   am_cv_prog_ln=ln
171 else
172   am_cv_prog_ln='cp -p'
173 fi
174 rm -f conftest conftest.file])
175 AC_SUBST([LN], [$am_cv_prog_ln])
176 result=no
177 test "x$am_cv_prog_ln" = xln && result=yes
178 AC_MSG_RESULT([$result])
179
180 # The amount we should wait after modifying files depends on the platform.
181 # On Windows '95, '98 and ME, files modifications have 2-seconds
182 # granularity and can be up to 3 seconds in the future w.r.t. the
183 # system clock.  When it is important to ensure one file is older
184 # than another we wait at least 5 seconds between creations.
185 case $build in
186   *-pc-msdosdjgpp) MODIFICATION_DELAY=5;;
187   *)               MODIFICATION_DELAY=2;;
188 esac
189 AC_SUBST([MODIFICATION_DELAY])
190
191 # Test for things needed by the test suite.
192 AC_PROG_EGREP
193 AC_PROG_FGREP
194
195 AC_CACHE_CHECK([whether $SHELL has working 'set -e' with exit trap],
196 [am_cv_sh_errexit_works],
197 [if $SHELL -ec "trap 'exit \$?' 0; (exit 77); exit 77"; test $? = 77
198 then
199   am_cv_sh_errexit_works=yes
200 else
201   am_cv_sh_errexit_works=no
202 fi
203 ])
204 if test $am_cv_sh_errexit_works = no; then
205   AC_MSG_WARN([`${MAKE-make} check' will leave leftover directories tests/*.dir])
206   AC_MSG_WARN([you can clean them up manually using `${MAKE-make} clean' or])
207   AC_MSG_WARN([`cd tests && ${MAKE-make} clean-local-check'])
208   dnl restore font-lock: `
209 fi
210 AC_SUBST([sh_errexit_works], [$am_cv_sh_errexit_works])
211
212 AC_CONFIG_FILES([
213   Makefile
214   contrib/Makefile
215   doc/Makefile
216   lib/Automake/Makefile
217   lib/Makefile
218   lib/am/Makefile
219   m4/Makefile
220   tests/Makefile
221 ])
222 AC_CONFIG_LINKS([tests/defs:tests/defs])
223 AC_CONFIG_FILES([tests/aclocal-${APIVERSION}:tests/aclocal.in],
224                 [chmod +x tests/aclocal-${APIVERSION}],
225                 [APIVERSION=$APIVERSION])
226 AC_CONFIG_FILES([tests/automake-${APIVERSION}:tests/automake.in],
227                 [chmod +x tests/automake-${APIVERSION}])
228
229 AC_OUTPUT
230
231 # Inform the user if this version of automake is a beta release or
232 # a development snapshot.
233 # According to HACKING, the version of a development snapshot should
234 # end with an "odd" letter (a, c, ...), the version of a test release
235 # should end wit an "even" letter (b, d, ...).
236
237 am_stable_version_rx='[[1-9]\.[0-9]+(\.[0-9]+)?]'
238 am_beta_version_rx="[$am_stable_version_rx[bdfhjlnprtvxz]]"
239
240 am_release_type=`AS_ECHO(["$PACKAGE_VERSION"]) | LC_ALL=C awk ["
241   /^$am_stable_version_rx$/ { print \"stable\"; exit(0); }
242   /^$am_beta_version_rx$/ { print \"beta version\"; exit(0); }
243   { print \"development snapshot\"; }"]`
244
245 test "$am_release_type" = stable || cat <<EOF
246
247 WARNING: You are about to use a $am_release_type of automake.
248 WARNING: It might easily suffer from new bugs or regressions.
249 WARNING: You are strongly advised not to use it in production code.
250
251 Please report bugs, problems and feedback to <bug-automake@gnu.org>.
252 EOF
253
254 AS_EXIT([0])