2001-07-17 15:53:06 +08:00
|
|
|
# -*- Autoconf -*-
|
2000-05-19 21:16:06 +08:00
|
|
|
# Process this file with autoconf to produce a configure script.
|
* AUTHORS, BUGS, ChangeLog, ChangeLog.0, ChangeLog.1,
ChangeLog.2, GNUmakefile, Makefile.maint, NEWS, README,
README-alpha, TODO, configure.ac, lib/autoconf/Makefile.am,
m4/atconfig.m4, m4/init.m4, m4/m4.m4, m4/missing.m4,
m4/sanity.m4, tests/README, tests/aclocal.m4,
tests/atspecific.m4, tests/base.at, tests/compile.at,
tests/foreign.at, tests/m4sh.at, tests/m4sugar.at,
tests/semantics.at, tests/suite.at, tests/tools.at,
tests/torture.at: Add copyright notice.
* tests/mktests.sh: Update year in copyright notice.
2001-08-12 21:05:11 +08:00
|
|
|
|
2004-05-03 14:20:09 +08:00
|
|
|
# Copyright (C) 1992, 1993, 1994, 1995, 1999, 2000, 2001, 2002, 2003,
|
2008-02-21 22:55:13 +08:00
|
|
|
# 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
2004-05-03 14:20:09 +08:00
|
|
|
|
2007-07-21 07:11:49 +08:00
|
|
|
# This program is free software: you can redistribute it and/or modify
|
* AUTHORS, BUGS, ChangeLog, ChangeLog.0, ChangeLog.1,
ChangeLog.2, GNUmakefile, Makefile.maint, NEWS, README,
README-alpha, TODO, configure.ac, lib/autoconf/Makefile.am,
m4/atconfig.m4, m4/init.m4, m4/m4.m4, m4/missing.m4,
m4/sanity.m4, tests/README, tests/aclocal.m4,
tests/atspecific.m4, tests/base.at, tests/compile.at,
tests/foreign.at, tests/m4sh.at, tests/m4sugar.at,
tests/semantics.at, tests/suite.at, tests/tools.at,
tests/torture.at: Add copyright notice.
* tests/mktests.sh: Update year in copyright notice.
2001-08-12 21:05:11 +08:00
|
|
|
# it under the terms of the GNU General Public License as published by
|
2007-07-21 07:11:49 +08:00
|
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
|
|
# (at your option) any later version.
|
* AUTHORS, BUGS, ChangeLog, ChangeLog.0, ChangeLog.1,
ChangeLog.2, GNUmakefile, Makefile.maint, NEWS, README,
README-alpha, TODO, configure.ac, lib/autoconf/Makefile.am,
m4/atconfig.m4, m4/init.m4, m4/m4.m4, m4/missing.m4,
m4/sanity.m4, tests/README, tests/aclocal.m4,
tests/atspecific.m4, tests/base.at, tests/compile.at,
tests/foreign.at, tests/m4sh.at, tests/m4sugar.at,
tests/semantics.at, tests/suite.at, tests/tools.at,
tests/torture.at: Add copyright notice.
* tests/mktests.sh: Update year in copyright notice.
2001-08-12 21:05:11 +08:00
|
|
|
#
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
2007-07-21 07:11:49 +08:00
|
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* AUTHORS, BUGS, ChangeLog, ChangeLog.0, ChangeLog.1,
ChangeLog.2, GNUmakefile, Makefile.maint, NEWS, README,
README-alpha, TODO, configure.ac, lib/autoconf/Makefile.am,
m4/atconfig.m4, m4/init.m4, m4/m4.m4, m4/missing.m4,
m4/sanity.m4, tests/README, tests/aclocal.m4,
tests/atspecific.m4, tests/base.at, tests/compile.at,
tests/foreign.at, tests/m4sh.at, tests/m4sugar.at,
tests/semantics.at, tests/suite.at, tests/tools.at,
tests/torture.at: Add copyright notice.
* tests/mktests.sh: Update year in copyright notice.
2001-08-12 21:05:11 +08:00
|
|
|
|
2007-11-04 01:47:50 +08:00
|
|
|
# We need AC_CONFIG_TESTDIR, AC_PROG_SED, AC_PROG_GREP.
|
|
|
|
AC_PREREQ([2.60])
|
2001-08-27 15:18:39 +08:00
|
|
|
|
2008-02-28 19:55:01 +08:00
|
|
|
AC_INIT([GNU Autoconf],
|
|
|
|
m4_esyscmd([build-aux/git-version-gen .tarball-version]),
|
2007-10-23 01:54:52 +08:00
|
|
|
[bug-autoconf@gnu.org])
|
2002-03-08 21:10:19 +08:00
|
|
|
AC_CONFIG_SRCDIR([ChangeLog])
|
2001-09-28 19:56:26 +08:00
|
|
|
|
Rework to use more-modern build style.
Many files are renamed; all uses of their names were changed.
* .x-sc_trailing_blank: Renamed from .x-sc_trailing_blank.
* .x-sc_useless_cpp_parens: New file.
* build-aux/config.guess: Renamed from config/config.guess. Update.
* build-aux/config.sub: Renamed from config/config.sub. Update.
* build-aux/elisp-comp: Renamed from config/elisp-comp.
* build-aux/install-sh: Renamed from config/install-sh. Update.
* build-aux/mdate-sh: Renamed from config/mdate-sh.
* build-aux/missing: Renamed from config/missing.
* build-aux/texinfo.tex: Renamed from config/texinfo.tex. Update.
* build-aux/vc-list-files: Renamed from config/vc-list-files.
* config/Makefile.am: Removed.
* config/mkinstalldirs: Removed.
* config/move-if-change: Removed.
* m4/m4.m4: Renamed from config/m4.m4. Add (C) to copyright notice.
* Makefile.am (SUBDIRS): Remove config.
(ACLOCAL_AMFLAGS): Include from m4, not config.
(EXTRA_DIST): Add config/announce-gen, config/prev-version.txt.
(WGET, WGETFLAGS): New macros, since Makefile.maint no longer does this.
(autom4te-update): Rewrite with a loop. Get from gnulib, not automake.
Fail if there's an error.
* Makefile.cfg (move_if_change): Remove.
(wget_files): Remove.
(cvs_executable_files): New macro.
(cvs_files): Use it. Remove mkinstalldirs. Add fdl.texi.
(executable-update): Use $(cvs_executable_files).
(local-checks-to-skip): Remove.
* Makefile.maint: Merge from coreutils, plus add our own changes
(gzip_rsyncable): New macro.
(GZIP_ENV): Use it.
(CVS_LIST): Use build-aux/vc-list-files.
(VERSION_REGEXP): New macro.
(local-checks-available): Add patch-check, $(syntax-check-rules),
check-AUTHORS.
(syntax-check-rules): Compute dynamically.
(sc_cast_of_x_alloc_return_value): Work even if no source files.
(sc_cast_of_alloca_return_value): Likewise.
(sc_prohibit_atoi_atof): Simplify regexp.
(sc_no_if_have_config_h, sc_require_config_h):
(sc_prohibit_assert_without_use,
(sc_obsolete_symbols): Check for O_NDELAY.
(sc_texi_notab): Remove.
(sc-changelog): Don't make an exception for '----' lines.
(.re-list): Remove, so we don't have a junk file behind.
(sc_system_h_headers): Remove the need for .re-list.
(sc_the_the): New rule.
(sc_tight_scope): Simplify.
(sc_trailing_space): Renamed from sc_trailing_blank.
(longopt_re): New macro.
(sc_two_space_separator_in_usage): New rule.
(sc_unmarked_diagnostics): Look at all files under CVS.
(sc_useless_cpp_parens, patch-check, check-AUTHORS): New rules.
(news-date-check, changelog-check): Version is OK.
(po-check): Look for lib files even if not in CVS.
(copyright-check): Use $() not ``.
(maintainer-distcheck): Do not depend on changelog-check.
(my-distcheck): Depend on $(release_archive_dir)/$(prev-tgz).
Also check for -Wpointer-arith.
(WGET, WGETFLAGS, tgz-md5, tgz-sha1, bz2-md5, bz2-sha1):
(xdelta-md5, xdelta-sha1, tgz-size, bz2-size, xd-size, rel-check):
Remove.
(announcement): Add --gpg-key-id arg.
(cvs-sv): Remove.
(move_if_change): Just use mv.
(local_updates: Remove wget-update, po-update.
(po_repo, do-po-update, po-update, wget_files, get-targets): Remove.
(config.guess-url_prefix, config.sub-url_prefix): Remove.
(ansi2knr.c-url_prefix, texinfo.tex-url_prefix):
(standards.texi-url_prefix, make-stds.texi-url_prefix, target, url):
($(get-targets)): Remove.
(cvs_files): Remove missing, mkinstalldirs, ansi2knr.c.
(gnulib_repo): Renamed from automake_repo. Get from gnulib now.
(cvs-update): Get from gnulib.
(emut_upload_commands): gnupload is in build-aux now.
(alpha beta major): Add changelog-check. Check version.
* configure.ac (AC_CONFIG_AUX_DIR): Renamed from config to build-aux.
(AC_CONFIG_FILES): Remove.
* bin/autoconf.as: Add spaces to avoid distcheck warning.
* config/announce-gen: Sync from coreutils.
* doc/make-stds.texi: Sync from gnulib.
* doc/standards.texi: Likewise.
* man/Makefile.am: Adjust for config -> build-aux renaming.
* tests/Makefile.am: Prefer $(FOO) to @FOO@.
* tests/local.at: Adjust from config -> build-aux renaming.
* tests/tools.at: Likewise.
* tests/torture.at: Likewise.
2006-08-25 06:56:47 +08:00
|
|
|
AC_CONFIG_AUX_DIR([build-aux])
|
2001-09-28 19:56:26 +08:00
|
|
|
|
2008-05-07 23:00:16 +08:00
|
|
|
AM_INIT_AUTOMAKE([1.10 dist-bzip2 readme-alpha no-texinfo.tex std-options])
|
1994-10-19 08:29:57 +08:00
|
|
|
|
2003-12-25 23:49:59 +08:00
|
|
|
# We use `/bin/sh -n script' to check that there are no syntax errors
|
|
|
|
# in the scripts. Although incredible, there are /bin/sh that go into
|
|
|
|
# endless loops with `-n', e.g., SunOS's:
|
|
|
|
#
|
|
|
|
# $ uname -a
|
|
|
|
# SunOS ondine 4.1.3 2 sun4m unknown
|
|
|
|
# $ cat endless.sh
|
|
|
|
# while false
|
|
|
|
# do
|
|
|
|
# :
|
|
|
|
# done
|
|
|
|
# exit 0
|
|
|
|
# $ time sh endless.sh
|
|
|
|
# sh endless.sh 0,02s user 0,03s system 78% cpu 0,064 total
|
|
|
|
# $ time sh -nx endless.sh
|
|
|
|
# ^Csh -nx endless.sh 3,67s user 0,03s system 63% cpu 5,868 total
|
|
|
|
#
|
2006-04-19 12:13:48 +08:00
|
|
|
# Also, some implementations of /bin/sh (e.g., Solaris 8) are soooo slow
|
|
|
|
# that they are unusable on large scripts like our testsuite.
|
|
|
|
|
2003-12-25 23:49:59 +08:00
|
|
|
# So before using `/bin/sh -n' to check our scripts, we first check
|
2006-04-19 12:13:48 +08:00
|
|
|
# that `/bin/sh -n' is known to not have these problems.
|
|
|
|
|
2008-04-05 21:09:46 +08:00
|
|
|
AC_CACHE_CHECK([whether /bin/sh -n is known to work], [ac_cv_sh_n_works],
|
2006-04-19 12:13:48 +08:00
|
|
|
[if (
|
|
|
|
unset BASH_VERSION ZSH_VERSION
|
|
|
|
/bin/sh -c '
|
|
|
|
test -n "${BASH_VERSION+set}" || # Bash
|
|
|
|
test -n "${KSH_VERSION+set}" || # pdksh
|
|
|
|
test -n "${ZSH_VERSION+set}" || # zsh
|
|
|
|
test -n "${.sh.version}" # ksh93; put this last since its syntax is dodgy
|
|
|
|
'
|
|
|
|
) 2>/dev/null
|
|
|
|
then ac_cv_sh_n_works=yes
|
|
|
|
else ac_cv_sh_n_works=no
|
2003-12-25 23:49:59 +08:00
|
|
|
fi
|
|
|
|
])
|
2008-04-05 21:09:46 +08:00
|
|
|
AC_SUBST([ac_cv_sh_n_works])
|
2003-12-25 23:49:59 +08:00
|
|
|
|
2004-12-10 05:14:45 +08:00
|
|
|
# Initialize the test suite.
|
2002-03-08 21:10:19 +08:00
|
|
|
AC_CONFIG_TESTDIR([tests])
|
|
|
|
AC_CONFIG_FILES([tests/Makefile tests/atlocal])
|
2003-10-03 15:07:13 +08:00
|
|
|
AC_PATH_PROG([EXPR], [expr])
|
2000-01-29 20:18:40 +08:00
|
|
|
|
2001-09-28 19:56:26 +08:00
|
|
|
|
2003-10-03 15:07:13 +08:00
|
|
|
## ---- ##
|
|
|
|
## M4. ##
|
|
|
|
## ---- ##
|
|
|
|
|
2004-08-21 03:58:06 +08:00
|
|
|
# We use an absolute name for GNU m4 so even if users have another m4 first in
|
2000-05-19 21:16:06 +08:00
|
|
|
# their path, the installer can configure with a path that has GNU m4
|
2007-09-08 22:48:49 +08:00
|
|
|
# on it and get that path embedded in the installed autoconf and
|
2000-05-19 21:16:06 +08:00
|
|
|
# autoheader scripts.
|
1999-12-21 19:25:59 +08:00
|
|
|
AC_PROG_GNU_M4
|
2000-01-26 20:32:13 +08:00
|
|
|
|
2003-10-03 15:07:13 +08:00
|
|
|
## ----------- ##
|
|
|
|
## Man pages. ##
|
|
|
|
## ----------- ##
|
|
|
|
|
2008-04-05 21:09:46 +08:00
|
|
|
AC_CONFIG_FILES([man/Makefile])
|
|
|
|
AM_MISSING_PROG([HELP2MAN], [help2man])
|
2000-01-26 20:32:13 +08:00
|
|
|
|
2003-10-03 15:07:13 +08:00
|
|
|
|
|
|
|
## ------ ##
|
|
|
|
## Perl. ##
|
|
|
|
## ------ ##
|
|
|
|
|
2004-08-21 03:58:06 +08:00
|
|
|
# We use an absolute name for perl so the #! line in autoscan will work.
|
2008-04-05 21:09:46 +08:00
|
|
|
AC_PATH_PROG([PERL], [perl], [no])
|
2002-03-08 21:10:19 +08:00
|
|
|
AC_SUBST([PERL])dnl
|
2001-07-24 16:43:06 +08:00
|
|
|
if test "$PERL" = no; then
|
|
|
|
AC_MSG_ERROR([perl is not found])
|
1994-04-30 09:46:44 +08:00
|
|
|
fi
|
2001-10-27 03:48:50 +08:00
|
|
|
$PERL -e 'require 5.005_03;' || {
|
|
|
|
AC_MSG_ERROR([Perl 5.005_03 or better is required])
|
2001-08-01 21:56:52 +08:00
|
|
|
}
|
1994-05-03 07:43:40 +08:00
|
|
|
|
2003-10-03 15:07:13 +08:00
|
|
|
|
|
|
|
## ------- ##
|
|
|
|
## Emacs. ##
|
|
|
|
## ------- ##
|
|
|
|
|
2002-03-08 21:10:19 +08:00
|
|
|
AC_CONFIG_FILES([lib/emacs/Makefile])
|
2003-10-03 15:07:13 +08:00
|
|
|
TEST_EMACS=$EMACS
|
|
|
|
test x"$TEST_EMACS" = xt && TEST_EMACS=
|
2003-10-03 21:58:37 +08:00
|
|
|
AC_CHECK_PROGS([TEST_EMACS], [emacs xemacs], [no])
|
2003-10-03 15:07:13 +08:00
|
|
|
|
|
|
|
# autoconf-mode.el and autotest-mode.el do not work with older version of
|
|
|
|
# Emacs (i.e. 18.x.x). During byte-compilation, Emacs complains:
|
|
|
|
# "Variable (broken nil) seen on pass 2 of byte compiler but not pass 1"
|
|
|
|
# We detect this problem here.
|
|
|
|
AS_IF([test "$TEST_EMACS" != no],
|
|
|
|
[AC_CACHE_CHECK([whether $TEST_EMACS is sufficiently recent],
|
|
|
|
[ac_cv_prog_emacs_ok],
|
|
|
|
[# Note: The quoted "EOF" is intentional. It protects the ` in the text.
|
|
|
|
cat >conftest.el << "EOF"
|
|
|
|
(defvar broken)
|
|
|
|
(defun broken-mode () (setq broken-defaults `(broken nil)))
|
|
|
|
EOF
|
|
|
|
AS_IF([AC_RUN_LOG(
|
|
|
|
[$TEST_EMACS -batch -q -f batch-byte-compile conftest.el 1>&2])],
|
|
|
|
[ac_cv_prog_emacs_ok=yes], [ac_cv_prog_emacs_ok=no])
|
|
|
|
rm -f conftest.el conftest.elc])
|
|
|
|
AS_IF([test $ac_cv_prog_emacs_ok = no], [TEST_EMACS=no])])
|
|
|
|
|
|
|
|
AC_SUBST([EMACS], [$TEST_EMACS])
|
|
|
|
|
2001-09-28 19:56:26 +08:00
|
|
|
AM_PATH_LISPDIR
|
|
|
|
|
2003-10-03 15:07:13 +08:00
|
|
|
|
2005-06-22 20:13:59 +08:00
|
|
|
## ------------ ##
|
|
|
|
## Grep & sed. ##
|
|
|
|
## ------------ ##
|
2004-05-03 14:20:09 +08:00
|
|
|
AC_PROG_GREP
|
2005-06-22 20:13:59 +08:00
|
|
|
AC_PROG_EGREP
|
|
|
|
AC_PROG_SED
|
2004-05-03 14:20:09 +08:00
|
|
|
|
|
|
|
|
2008-05-22 23:52:28 +08:00
|
|
|
## ----- ##
|
|
|
|
## Make. ##
|
|
|
|
## ----- ##
|
|
|
|
AC_PROG_MAKE_CASE_SENSITIVE
|
|
|
|
|
|
|
|
|
2003-10-03 15:07:13 +08:00
|
|
|
## ------------ ##
|
|
|
|
## Conclusion. ##
|
|
|
|
## ------------ ##
|
|
|
|
|
2008-03-05 06:26:02 +08:00
|
|
|
dnl Allow maintainer rules under GNU make even in VPATH builds. This does
|
|
|
|
dnl not work in autoconf 2.61 or earlier, but we don't want to require
|
|
|
|
dnl unreleased autoconf during bootstrap, hence the version test.
|
|
|
|
dnl TODO remove the version check once we depend on autoconf 2.62.
|
|
|
|
dnl Meanwhile, we must use a shell variable so that we bypass automake's
|
|
|
|
dnl attempts to remove the sole copy of GNUmakefile in a non-VPATH build
|
|
|
|
dnl during 'make distclean'.
|
|
|
|
dnl TODO avoid the shell variable once automake is fixed.
|
|
|
|
GNUmakefile=GNUmakefile
|
|
|
|
m4_if(m4_version_compare([2.61a.100],
|
|
|
|
m4_defn([m4_PACKAGE_VERSION])), [1], [],
|
|
|
|
[AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [],
|
|
|
|
[GNUmakefile=$GNUmakefile])])
|
|
|
|
|
2002-03-08 21:10:19 +08:00
|
|
|
AC_CONFIG_FILES([Makefile doc/Makefile
|
2007-09-28 09:35:55 +08:00
|
|
|
lib/Makefile lib/Autom4te/Makefile lib/autoscan/Makefile
|
|
|
|
lib/m4sugar/Makefile
|
|
|
|
lib/autoconf/Makefile lib/autotest/Makefile
|
|
|
|
bin/Makefile])
|
2001-07-17 15:53:06 +08:00
|
|
|
|
|
|
|
AC_OUTPUT
|
2001-01-23 20:53:52 +08:00
|
|
|
# Report the state of this version of Autoconf if this is a beta.
|
2001-10-08 16:25:34 +08:00
|
|
|
m4_bmatch(m4_defn([AC_PACKAGE_VERSION]), [[a-z]],
|
2001-08-01 21:56:52 +08:00
|
|
|
[ cat <<EOF
|
2001-02-21 18:20:47 +08:00
|
|
|
|
|
|
|
You are about to use an experimental version of Autoconf. Be sure to
|
|
|
|
read the relevant mailing lists, most importantly <autoconf@gnu.org>.
|
|
|
|
|
|
|
|
Below you will find information on the status of this version of Autoconf.
|
|
|
|
|
|
|
|
|
|
|
|
EOF
|
2001-08-01 21:56:52 +08:00
|
|
|
sed -n '/^\* Status/,$p' $srcdir/BUGS
|
2007-09-28 09:35:55 +08:00
|
|
|
])dnl
|