2 # Process this file with autoconf to produce a configure script.
4 # Copyright (C) 1992, 1993, 1994, 1995, 1999, 2000, 2001, 2002, 2003,
5 # 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
8 # This program is free software: you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation, either version 3 of the License, or
11 # (at your option) any later version.
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with this program. If not, see <http://www.gnu.org/licenses/>.
21 # We need AC_CONFIG_TESTDIR, AC_PROG_SED, AC_PROG_GREP.
24 AC_INIT([GNU Autoconf],
25 m4_esyscmd([build-aux/git-version-gen .tarball-version]),
26 [bug-autoconf@gnu.org])
27 AC_CONFIG_SRCDIR([ChangeLog])
29 AC_CONFIG_AUX_DIR([build-aux])
31 AM_INIT_AUTOMAKE([1.10 dist-bzip2 readme-alpha no-texinfo.tex std-options])
33 # We use `/bin/sh -n script' to check that there are no syntax errors
34 # in the scripts. Although incredible, there are /bin/sh that go into
35 # endless loops with `-n', e.g., SunOS's:
38 # SunOS ondine 4.1.3 2 sun4m unknown
45 # $ time sh endless.sh
46 # sh endless.sh 0,02s user 0,03s system 78% cpu 0,064 total
47 # $ time sh -nx endless.sh
48 # ^Csh -nx endless.sh 3,67s user 0,03s system 63% cpu 5,868 total
50 # Also, some implementations of /bin/sh (e.g., Solaris 8) are soooo slow
51 # that they are unusable on large scripts like our testsuite.
53 # So before using `/bin/sh -n' to check our scripts, we first check
54 # that `/bin/sh -n' is known to not have these problems.
56 AC_CACHE_CHECK([whether /bin/sh -n is known to work], [ac_cv_sh_n_works],
58 unset BASH_VERSION ZSH_VERSION
60 test -n "${BASH_VERSION+set}" || # Bash
61 test -n "${KSH_VERSION+set}" || # pdksh
62 test -n "${ZSH_VERSION+set}" || # zsh
63 test -n "${.sh.version}" # ksh93; put this last since its syntax is dodgy
66 then ac_cv_sh_n_works=yes
67 else ac_cv_sh_n_works=no
70 AC_SUBST([ac_cv_sh_n_works])
72 AC_MSG_CHECKING([for characters that cannot appear in file names])
73 AC_CACHE_VAL([ac_cv_unsupported_fs_chars],
74 [ac_cv_unsupported_fs_chars=
75 for c in '\\' \" '<' '>' '*' '?' '|'
77 touch "conftest.t${c}t" 2>/dev/null
78 test -f "conftest.t${c}t" && rm -f "conftest.t${c}t" && continue
79 # $c cannot be used in a file name.
80 ac_cv_unsupported_fs_chars=$ac_cv_unsupported_fs_chars$c
83 if test -n "$ac_cv_unsupported_fs_chars"; then
84 AC_MSG_RESULT([$ac_cv_unsupported_fs_chars])
89 AC_SUBST([ac_cv_unsupported_fs_chars])
91 AC_CACHE_CHECK([whether directories can have trailing spaces],
92 [ac_cv_dir_trailing_space],
93 [rm -rf 'conftest.d ' && mkdir 'conftest.d ' && touch 'conftest.d /tfile' 2>/dev/null
97 00) ac_cv_dir_trailing_space=yes ;; #(
98 *) ac_cv_dir_trailing_space=no ;;
101 AC_SUBST([ac_cv_dir_trailing_space])
103 # Initialize the test suite.
104 AC_CONFIG_TESTDIR([tests])
105 AC_CONFIG_FILES([tests/Makefile tests/atlocal])
106 AC_PATH_PROG([EXPR], [expr])
113 # We use an absolute name for GNU m4 so even if users have another m4 first in
114 # their path, the installer can configure with a path that has GNU m4
115 # on it and get that path embedded in the installed autoconf and
116 # autoheader scripts.
123 AC_CONFIG_FILES([man/Makefile])
124 AM_MISSING_PROG([HELP2MAN], [help2man])
131 # We use an absolute name for perl so the #! line in autoscan will work.
132 AC_PATH_PROG([PERL], [perl], [no])
134 if test "$PERL" = no; then
135 AC_MSG_ERROR([perl is not found])
137 $PERL -e 'require 5.005_03;' || {
138 AC_MSG_ERROR([Perl 5.005_03 or better is required])
141 # Find out whether the system supports flock
142 # Note this test does not try to find out whether it works with this
143 # particular file system. It merely avoids us running flock on systems
144 # where that bails out.
145 AC_CACHE_CHECK([whether $PERL Fcntl::flock is implemented],
146 [ac_cv_perl_flock_implemented],
147 [echo lock me > conftest.fil
148 if $PERL -e 'use Fcntl ":flock"; flock("conftest.fil", LOCK_EX); 1;'; then
149 ac_cv_perl_flock_implemented=yes
151 ac_cv_perl_flock_implemented=no
155 AC_SUBST([PERL_FLOCK], [$ac_cv_perl_flock_implemented])
162 AC_CONFIG_FILES([lib/emacs/Makefile])
164 test x"$TEST_EMACS" = xt && TEST_EMACS=
165 AC_CHECK_PROGS([TEST_EMACS], [emacs xemacs], [no])
167 # autoconf-mode.el and autotest-mode.el do not work with older version of
168 # Emacs (i.e. 18.x.x). During byte-compilation, Emacs complains:
169 # "Variable (broken nil) seen on pass 2 of byte compiler but not pass 1"
170 # We detect this problem here.
171 AS_IF([test "$TEST_EMACS" != no],
172 [AC_CACHE_CHECK([whether $TEST_EMACS is sufficiently recent],
173 [ac_cv_prog_emacs_ok],
174 [# Note: The quoted "EOF" is intentional. It protects the ` in the text.
175 cat >conftest.el << "EOF"
177 (defun broken-mode () (setq broken-defaults `(broken nil)))
180 [$TEST_EMACS -batch -q -f batch-byte-compile conftest.el 1>&2])],
181 [ac_cv_prog_emacs_ok=yes], [ac_cv_prog_emacs_ok=no])
182 rm -f conftest.el conftest.elc])
183 AS_IF([test $ac_cv_prog_emacs_ok = no], [TEST_EMACS=no])])
185 AC_SUBST([EMACS], [$TEST_EMACS])
201 AC_PROG_MAKE_CASE_SENSITIVE
208 dnl Allow maintainer rules under GNU make even in VPATH builds. This does
209 dnl not work in autoconf 2.61 or earlier, but we don't want to require
210 dnl unreleased autoconf during bootstrap, hence the version test.
211 dnl TODO remove the version check once we depend on autoconf 2.62.
212 dnl Meanwhile, we must use a shell variable so that we bypass automake's
213 dnl attempts to remove the sole copy of GNUmakefile in a non-VPATH build
214 dnl during 'make distclean'.
215 dnl TODO avoid the shell variable once automake is fixed.
216 GNUmakefile=GNUmakefile
217 m4_if(m4_version_compare([2.61a.100],
218 m4_defn([m4_PACKAGE_VERSION])), [1], [],
219 [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [],
220 [GNUmakefile=$GNUmakefile])])
222 AC_CONFIG_FILES([Makefile doc/Makefile
223 lib/Makefile lib/Autom4te/Makefile lib/autoscan/Makefile
225 lib/autoconf/Makefile lib/autotest/Makefile
229 # Report the state of this version of Autoconf if this is a beta.
230 m4_bmatch(m4_defn([AC_PACKAGE_VERSION]), [[-a-z]],
233 You are about to use an experimental version of Autoconf. Be sure to
234 read the relevant mailing lists, most importantly <autoconf@gnu.org>.
236 Below you will find information on the status of this version of Autoconf.
239 sed -n '/^\* Status/,$p' $srcdir/BUGS