1# -*- Autoconf -*- 2# Process this file with autoconf to produce a configure script. 3 4# Copyright (C) 1992, 1993, 1994, 1995, 1999, 2000, 2001, 2002, 2003, 5# 2004, 2005, 2006 Free Software 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, write to the Free Software 19# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 20# 02110-1301, USA. 21 22# We need AC_CONFIG_TESTDIR. 23AC_PREREQ([2.59]) 24 25AC_INIT([GNU Autoconf], [2.61], [bug-autoconf@gnu.org]) 26AC_SUBST([PACKAGE_NAME])dnl 27AC_CONFIG_SRCDIR([ChangeLog]) 28 29AC_CONFIG_AUX_DIR([build-aux]) 30 31AM_INIT_AUTOMAKE([check-news 1.7.9 dist-bzip2 readme-alpha]) 32 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: 36# 37# $ uname -a 38# SunOS ondine 4.1.3 2 sun4m unknown 39# $ cat endless.sh 40# while false 41# do 42# : 43# done 44# exit 0 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 49# 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. 52 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. 55 56AC_CACHE_CHECK([whether /bin/sh -n is known to work], ac_cv_sh_n_works, 57[if ( 58 unset BASH_VERSION ZSH_VERSION 59 /bin/sh -c ' 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 64 ' 65 ) 2>/dev/null 66then ac_cv_sh_n_works=yes 67else ac_cv_sh_n_works=no 68fi 69]) 70AC_SUBST(ac_cv_sh_n_works) 71 72# Initialize the test suite. 73AC_CONFIG_TESTDIR([tests]) 74AC_CONFIG_FILES([tests/Makefile tests/atlocal]) 75AC_PATH_PROG([EXPR], [expr]) 76 77 78## ---- ## 79## M4. ## 80## ---- ## 81 82# We use an absolute name for GNU m4 so even if users have another m4 first in 83# their path, the installer can configure with a path that has GNU m4 84# first and get that path embedded in the installed autoconf and 85# autoheader scripts. 86AC_PROG_GNU_M4 87if test x"$ac_cv_prog_gnu_m4" != xyes; then 88 AC_MSG_ERROR([GNU M4 1.4 is required]) 89fi 90 91## ----------- ## 92## Man pages. ## 93## ----------- ## 94 95AC_CONFIG_FILES(man/Makefile) 96AM_MISSING_PROG(HELP2MAN, help2man) 97 98 99## ------ ## 100## Perl. ## 101## ------ ## 102 103# We use an absolute name for perl so the #! line in autoscan will work. 104AC_PATH_PROG([PERL], perl, no) 105AC_SUBST([PERL])dnl 106if test "$PERL" = no; then 107 AC_MSG_ERROR([perl is not found]) 108fi 109$PERL -e 'require 5.005_03;' || { 110 AC_MSG_ERROR([Perl 5.005_03 or better is required]) 111} 112 113 114## ------- ## 115## Emacs. ## 116## ------- ## 117 118AC_CONFIG_FILES([lib/emacs/Makefile]) 119TEST_EMACS=$EMACS 120test x"$TEST_EMACS" = xt && TEST_EMACS= 121AC_CHECK_PROGS([TEST_EMACS], [emacs xemacs], [no]) 122 123# autoconf-mode.el and autotest-mode.el do not work with older version of 124# Emacs (i.e. 18.x.x). During byte-compilation, Emacs complains: 125# "Variable (broken nil) seen on pass 2 of byte compiler but not pass 1" 126# We detect this problem here. 127AS_IF([test "$TEST_EMACS" != no], 128 [AC_CACHE_CHECK([whether $TEST_EMACS is sufficiently recent], 129 [ac_cv_prog_emacs_ok], 130 [# Note: The quoted "EOF" is intentional. It protects the ` in the text. 131 cat >conftest.el << "EOF" 132 (defvar broken) 133 (defun broken-mode () (setq broken-defaults `(broken nil))) 134EOF 135 AS_IF([AC_RUN_LOG( 136 [$TEST_EMACS -batch -q -f batch-byte-compile conftest.el 1>&2])], 137 [ac_cv_prog_emacs_ok=yes], [ac_cv_prog_emacs_ok=no]) 138 rm -f conftest.el conftest.elc]) 139 AS_IF([test $ac_cv_prog_emacs_ok = no], [TEST_EMACS=no])]) 140 141AC_SUBST([EMACS], [$TEST_EMACS]) 142 143AM_PATH_LISPDIR 144 145 146## ------------ ## 147## Grep & sed. ## 148## ------------ ## 149AC_PROG_GREP 150AC_PROG_EGREP 151AC_PROG_SED 152 153 154## ------------ ## 155## Conclusion. ## 156## ------------ ## 157 158AC_CONFIG_FILES([Makefile doc/Makefile 159 lib/Makefile lib/Autom4te/Makefile lib/autoscan/Makefile 160 lib/m4sugar/Makefile 161 lib/autoconf/Makefile lib/autotest/Makefile 162 bin/Makefile]) 163 164AC_OUTPUT 165# Report the state of this version of Autoconf if this is a beta. 166m4_bmatch(m4_defn([AC_PACKAGE_VERSION]), [[a-z]], 167[ cat <<EOF 168 169You are about to use an experimental version of Autoconf. Be sure to 170read the relevant mailing lists, most importantly <autoconf@gnu.org>. 171 172Below you will find information on the status of this version of Autoconf. 173 174 175EOF 176 sed -n '/^\* Status/,$p' $srcdir/BUGS 177]) 178