(tm_zone): Move their rules to...
* lib/autoconf/types.m4: here, using AN_ macros.
* lib/autoscan/autoscan.pre (AWK, BISON, INSTALL, LEX, LN, MAKE)
(RANLIB, YACC, awk, bison, byacc, flex, gawk, install, lex, ln)
(make, mawk, nawk, ranlib, yacc): Similarly, move to...
* lib/autoconf/programs.m4: here.
* lib/freeze.mk (ETAGS_FOR_M4, ETAGS_FOR_M4SUGAR)
(ETAGS_FOR_AUTOCONF): New.
Use it.
+2002-09-28 Akim Demaille <akim@epita.fr>
+
+ * lib/autoscan/autoscan.pre (st_blksize, st_blocks, st_rdev)
+ (tm_zone): Move their rules to...
+ * lib/autoconf/types.m4: here, using AN_ macros.
+ * lib/autoscan/autoscan.pre (AWK, BISON, INSTALL, LEX, LN, MAKE)
+ (RANLIB, YACC, awk, bison, byacc, flex, gawk, install, lex, ln)
+ (make, mawk, nawk, ranlib, yacc): Similarly, move to...
+ * lib/autoconf/programs.m4: here.
+ * lib/freeze.mk (ETAGS_FOR_M4, ETAGS_FOR_M4SUGAR)
+ (ETAGS_FOR_AUTOCONF): New.
+ Use it.
+
2002-09-28 Akim Demaille <akim@epita.fr>
* lib/autoconf/autoscan.m4: New file.
TAGS_FILES = $(dist_autoconflib_DATA)
-ETAGS_ARGS = --lang=none \
- --regex='/\(A[CU]_DEFUN\|m4_\(defun\|define\)\|define\)(\[\([^]]*\)\]/\3/'
-
-
-
+ETAGS_ARGS = $(ETAGS_FOR_AUTOCONF)
## -------- ##
TAGS_FILES = $(dist_autoconflib_DATA)
-ETAGS_ARGS = --lang=none \
- --regex='/\(A[CU]_DEFUN\|m4_\(defun\|define\)\|define\)(\[\([^]]*\)\]/\3/'
-
+ETAGS_ARGS = $(ETAGS_FOR_AUTOCONF)
SUFFIXES = .m4 .m4f
$(src_libdir)/autoconf/programs.m4 \
$(src_libdir)/autoconf/autoconf.m4
+
+ETAGS_FOR_M4 = \
+ --lang=none \
+ --regex='/\(m4_define\|define\)(\[\([^]]*\)\]/\2/'
+
+
+ETAGS_FOR_M4SUGAR = \
+ $(ETAGS_FOR_M4) \
+ --regex='/m4_defun(\[\([^]]*\)\]/\1/'
+
+
+ETAGS_FOR_AUTOCONF = \
+ $(ETAGS_FOR_M4SUGAR) \
+ --regex='/\(A[CU]_DEFUN\|AU_ALIAS\)(\[\([^]]*\)\]/\2/' \
+ --regex='/AN_\(FUNCTION\|HEADER\|IDENTIFIER\|LIBRARY\|MAKEVAR\|PROGRAM\)(\[\([^]]*\)\]/\2/'
+
subdir = lib/autoconf
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_CLEAN_FILES =
# (But of course when keeping related things together).
# Check for gawk first since it's generally better.
+AN_MAKEVAR([AWK], [AC_PROG_AWK])
+AN_PROGRAM([awk], [AC_PROG_AWK])
+AN_PROGRAM([gawk], [AC_PROG_AWK])
+AN_PROGRAM([mawk], [AC_PROG_AWK])
+AN_PROGRAM([nawk], [AC_PROG_AWK])
AC_DEFUN([AC_PROG_AWK],
[AC_CHECK_PROGS(AWK, gawk mawk nawk awk, )])
AC_SUBST([EGREP])
])# AC_PROG_EGREP
+
# AC_PROG_FGREP
# -------------
AC_DEFUN([AC_PROG_FGREP],
# AC_PROG_INSTALL
# ---------------
+AN_MAKEVAR([INSTALL], [AC_PROG_INSTALL])
+AN_PROGRAM([install], [AC_PROG_INSTALL])
AC_DEFUN([AC_PROG_INSTALL],
[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
# Find a good install program. We prefer a C program (faster),
# -----------
# Look for flex or lex. Set its associated library to LEXLIB.
# Check if lex declares yytext as a char * by default, not a char[].
+AN_MAKEVAR([LEX], [AC_PROG_LEX])
+AN_PROGRAM([lex], [AC_PROG_LEX])
+AN_PROGRAM([flex], [AC_PROG_LEX])
AC_DEFUN_ONCE([AC_PROG_LEX],
[AC_CHECK_PROGS(LEX, flex lex, :)
if test -z "$LEXLIB"
# AC_PROG_LN_S
# ------------
+AN_MAKEVAR([LN], [AC_PROG_LN_S])
+AN_PROGRAM([ln], [AC_PROG_LN_S])
AC_DEFUN([AC_PROG_LN_S],
[AC_MSG_CHECKING([whether ln -s works])
AC_SUBST([LN_S], [$as_ln_s])dnl
# AC_PROG_MAKE_SET
# ----------------
# Define SET_MAKE to set ${MAKE} if make doesn't.
+AN_MAKEVAR([MAKE], [AC_PROG_MAKE_SET])
+AN_PROGRAM([make], [AC_PROG_MAKE_SET])
AC_DEFUN([AC_PROG_MAKE_SET],
[AC_MSG_CHECKING([whether ${MAKE-make} sets \${MAKE}])
set dummy ${MAKE-make}; ac_make=`echo "$[2]" | sed 'y,./+-,__p_,'`
# AC_PROG_RANLIB
# --------------
+AN_MAKEVAR([RANLIB], [AC_PROG_RANLIB])
+AN_PROGRAM([ranlib], [AC_PROG_RANLIB])
AC_DEFUN([AC_PROG_RANLIB],
[AC_CHECK_TOOL(RANLIB, ranlib, :)])
# AC_PROG_YACC
# ------------
+AN_MAKEVAR([BISON], [AC_PROG_YACC])
+AN_MAKEVAR([YACC], [AC_PROG_YACC])
+AN_PROGRAM([yacc], [AC_PROG_YACC])
+AN_PROGRAM([byacc], [AC_PROG_YACC])
+AN_PROGRAM([bison], [AC_PROG_YACC])
AC_DEFUN([AC_PROG_YACC],
[AC_CHECK_PROGS(YACC, 'bison -y' byacc, yacc)])
[$4])])])
-# ----------------- #
-# Specific checks. #
-# ----------------- #
+
+# ------------------------------------------------------- #
+# Members that ought to be tested with AC_CHECK_MEMBERS. #
+# ------------------------------------------------------- #
+
+AN_IDENTIFIER([st_blksize], [AC_CHECK_MEMBERS([struct stat.st_blksize])])
+AN_IDENTIFIER([st_rdev], [AC_CHECK_MEMBERS([struct stat.st_rdev])])
+
# Alphabetic order, please.
# Please note that it will define `HAVE_STRUCT_STAT_ST_BLOCKS',
# and not `HAVE_ST_BLOCKS'.])dnl
#
+AN_IDENTIFIER([st_blocks], [AC_STRUCT_ST_BLOCKS])
AC_DEFUN([AC_STRUCT_ST_BLOCKS],
[AC_CHECK_MEMBERS([struct stat.st_blocks],
[AC_DEFINE(HAVE_ST_BLOCKS, 1,
# Figure out how to get the current timezone. If `struct tm' has a
# `tm_zone' member, define `HAVE_TM_ZONE'. Otherwise, if the
# external array `tzname' is found, define `HAVE_TZNAME'.
+AN_IDENTIFIER([tm_zone], [AC_STRUCT_TIMEZONE])
AC_DEFUN([AC_STRUCT_TIMEZONE],
[AC_REQUIRE([AC_STRUCT_TM])dnl
AC_CHECK_MEMBERS([struct tm.tm_zone],,,[#include <sys/types.h>
$(src_libdir)/autoconf/programs.m4 \
$(src_libdir)/autoconf/autoconf.m4
+
+ETAGS_FOR_M4 = \
+ --lang=none \
+ --regex='/\(m4_define\|define\)(\[\([^]]*\)\]/\2/'
+
+
+ETAGS_FOR_M4SUGAR = \
+ $(ETAGS_FOR_M4) \
+ --regex='/m4_defun(\[\([^]]*\)\]/\1/'
+
+
+ETAGS_FOR_AUTOCONF = \
+ $(ETAGS_FOR_M4SUGAR) \
+ --regex='/\(A[CU]_DEFUN\|AU_ALIAS\)(\[\([^]]*\)\]/\2/' \
+ --regex='/AN_\(FUNCTION\|HEADER\|IDENTIFIER\|LIBRARY\|MAKEVAR\|PROGRAM\)(\[\([^]]*\)\]/\2/'
+
subdir = lib/autoscan
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_CLEAN_FILES =
identifier: pid_t AC_TYPE_PID_T
identifier: ptrdiff_t AC_CHECK_TYPES
identifier: size_t AC_TYPE_SIZE_T
-identifier: st_blksize AC_CHECK_MEMBERS([struct stat.st_blksize])
-identifier: st_blocks AC_STRUCT_ST_BLOCKS
-identifier: st_rdev AC_CHECK_MEMBERS([struct stat.st_rdev])
+identifier: st_blksize AC_CHECK_MEMBERS([struct stat.st_blksize])
+identifier: st_blocks AC_STRUCT_ST_BLOCKS
+identifier: st_rdev AC_CHECK_MEMBERS([struct stat.st_rdev])
identifier: sys_siglist AC_DECL_SYS_SIGLIST
identifier: timeval AC_HEADER_TIME
identifier: tm AC_STRUCT_TM
-identifier: tm_zone AC_STRUCT_TIMEZONE
+identifier: tm_zone AC_STRUCT_TIMEZONE
identifier: uid_t AC_TYPE_UID_T
-makevar: AWK AC_PROG_AWK
-makevar: BISON AC_PROG_YACC
+makevar: AWK AC_PROG_AWK
+makevar: BISON AC_PROG_YACC
makevar: CC AC_PROG_CC
makevar: CPP AC_PROG_CPP
makevar: CXX AC_PROG_CXX
-makevar: INSTALL AC_PROG_INSTALL
-makevar: LEX AC_PROG_LEX
-makevar: LN AC_PROG_LN_S
-makevar: MAKE AC_PROG_MAKE_SET
-makevar: RANLIB AC_PROG_RANLIB
-makevar: YACC AC_PROG_YACC
+makevar: INSTALL AC_PROG_INSTALL
+makevar: LEX AC_PROG_LEX
+makevar: LN AC_PROG_LN_S
+makevar: MAKE AC_PROG_MAKE_SET
+makevar: RANLIB AC_PROG_RANLIB
+makevar: YACC AC_PROG_YACC
program: CC AC_PROG_CXX
-program: awk AC_PROG_AWK
-program: bison AC_PROG_YACC
-program: byacc AC_PROG_YACC
+program: awk AC_PROG_AWK
+program: bison AC_PROG_YACC
+program: byacc AC_PROG_YACC
program: c++ AC_PROG_CXX
program: cc AC_PROG_CC
program: cpp AC_PROG_CPP
-program: flex AC_PROG_LEX
+program: flex AC_PROG_LEX
program: g++ AC_PROG_CXX
-program: gawk AC_PROG_AWK
+program: gawk AC_PROG_AWK
program: gcc AC_PROG_CC
-program: install AC_PROG_INSTALL
-program: lex AC_PROG_LEX
-program: ln AC_PROG_LN_S
-program: make AC_PROG_MAKE_SET
-program: mawk AC_PROG_AWK
-program: nawk AC_PROG_AWK
-program: ranlib AC_PROG_RANLIB
-program: yacc AC_PROG_YACC
+program: install AC_PROG_INSTALL
+program: lex AC_PROG_LEX
+program: ln AC_PROG_LN_S
+program: make AC_PROG_MAKE_SET
+program: mawk AC_PROG_AWK
+program: nawk AC_PROG_AWK
+program: ranlib AC_PROG_RANLIB
+program: yacc AC_PROG_YACC
identifier: uid_t AC_TYPE_UID_T
-# Members of structures.
-identifier: st_blksize AC_CHECK_MEMBERS([struct stat.st_blksize])
-identifier: st_blocks AC_STRUCT_ST_BLOCKS
-identifier: st_rdev AC_CHECK_MEMBERS([struct stat.st_rdev])
-identifier: tm_zone AC_STRUCT_TIMEZONE
-
-makevar: AWK AC_PROG_AWK
-makevar: BISON AC_PROG_YACC
makevar: CC AC_PROG_CC
makevar: CPP AC_PROG_CPP
makevar: CXX AC_PROG_CXX
-makevar: INSTALL AC_PROG_INSTALL
-makevar: LEX AC_PROG_LEX
-makevar: LN AC_PROG_LN_S
-makevar: MAKE AC_PROG_MAKE_SET
-makevar: RANLIB AC_PROG_RANLIB
-makevar: YACC AC_PROG_YACC
program: CC AC_PROG_CXX
-program: awk AC_PROG_AWK
-program: bison AC_PROG_YACC
-program: byacc AC_PROG_YACC
program: c++ AC_PROG_CXX
program: cc AC_PROG_CC
program: cpp AC_PROG_CPP
-program: flex AC_PROG_LEX
program: g++ AC_PROG_CXX
-program: gawk AC_PROG_AWK
program: gcc AC_PROG_CC
-program: install AC_PROG_INSTALL
-program: lex AC_PROG_LEX
-program: ln AC_PROG_LN_S
-program: make AC_PROG_MAKE_SET
-program: mawk AC_PROG_AWK
-program: nawk AC_PROG_AWK
-program: ranlib AC_PROG_RANLIB
-program: yacc AC_PROG_YACC
TAGS_FILES = $(dist_autotestlib_DATA)
-ETAGS_ARGS = --lang=none \
- --regex='/\(A[CU]_DEFUN\|m4_\(defun\|define\)\|define\)(\[\([^]]*\)\]/\3/'
+ETAGS_ARGS = $(ETAGS_FOR_AUTOCONF)
## -------- ##
TAGS_FILES = $(dist_autotestlib_DATA)
-ETAGS_ARGS = --lang=none \
- --regex='/\(A[CU]_DEFUN\|m4_\(defun\|define\)\|define\)(\[\([^]]*\)\]/\3/'
-
+ETAGS_ARGS = $(ETAGS_FOR_AUTOCONF)
SUFFIXES = .m4 .m4f
$(src_libdir)/autoconf/programs.m4 \
$(src_libdir)/autoconf/autoconf.m4
+
+ETAGS_FOR_M4 = \
+ --lang=none \
+ --regex='/\(m4_define\|define\)(\[\([^]]*\)\]/\2/'
+
+
+ETAGS_FOR_M4SUGAR = \
+ $(ETAGS_FOR_M4) \
+ --regex='/m4_defun(\[\([^]]*\)\]/\1/'
+
+
+ETAGS_FOR_AUTOCONF = \
+ $(ETAGS_FOR_M4SUGAR) \
+ --regex='/\(A[CU]_DEFUN\|AU_ALIAS\)(\[\([^]]*\)\]/\2/' \
+ --regex='/AN_\(FUNCTION\|HEADER\|IDENTIFIER\|LIBRARY\|MAKEVAR\|PROGRAM\)(\[\([^]]*\)\]/\2/'
+
subdir = lib/autotest
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_CLEAN_FILES =
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
## 02111-1307, USA.
+
+## ----------------- ##
+## Freeze M4 files. ##
+## ----------------- ##
+
SUFFIXES = .m4 .m4f
# Do not use AUTOM4TE here, since Makefile.maint (my-distcheck)
$(src_libdir)/autoconf/libs.m4 \
$(src_libdir)/autoconf/programs.m4 \
$(src_libdir)/autoconf/autoconf.m4
+
+
+## --------------------------- ##
+## Run ETAGS on some M4 code. ##
+## --------------------------- ##
+
+ETAGS_FOR_M4 = \
+ --lang=none \
+ --regex='/\(m4_define\|define\)(\[\([^]]*\)\]/\2/'
+
+ETAGS_FOR_M4SUGAR = \
+ $(ETAGS_FOR_M4) \
+ --regex='/m4_defun(\[\([^]]*\)\]/\1/'
+
+ETAGS_FOR_AUTOCONF = \
+ $(ETAGS_FOR_M4SUGAR) \
+ --regex='/\(A[CU]_DEFUN\|AU_ALIAS\)(\[\([^]]*\)\]/\2/' \
+ --regex='/AN_\(FUNCTION\|HEADER\|IDENTIFIER\|LIBRARY\|MAKEVAR\|PROGRAM\)(\[\([^]]*\)\]/\2/'
TAGS_FILES = $(dist_m4sugarlib_DATA)
-ETAGS_ARGS = --lang=none \
- --regex='/\(A[CU]_DEFUN\|m4_\(defun\|define\)\|define\)(\[\([^]]*\)\]/\3/'
+ETAGS_ARGS = $(ETAGS_FOR_AUTOCONF)
## -------- ##
TAGS_FILES = $(dist_m4sugarlib_DATA)
-ETAGS_ARGS = --lang=none \
- --regex='/\(A[CU]_DEFUN\|m4_\(defun\|define\)\|define\)(\[\([^]]*\)\]/\3/'
-
+ETAGS_ARGS = $(ETAGS_FOR_AUTOCONF)
SUFFIXES = .m4 .m4f
$(src_libdir)/autoconf/programs.m4 \
$(src_libdir)/autoconf/autoconf.m4
+
+ETAGS_FOR_M4 = \
+ --lang=none \
+ --regex='/\(m4_define\|define\)(\[\([^]]*\)\]/\2/'
+
+
+ETAGS_FOR_M4SUGAR = \
+ $(ETAGS_FOR_M4) \
+ --regex='/m4_defun(\[\([^]]*\)\]/\1/'
+
+
+ETAGS_FOR_AUTOCONF = \
+ $(ETAGS_FOR_M4SUGAR) \
+ --regex='/\(A[CU]_DEFUN\|AU_ALIAS\)(\[\([^]]*\)\]/\2/' \
+ --regex='/AN_\(FUNCTION\|HEADER\|IDENTIFIER\|LIBRARY\|MAKEVAR\|PROGRAM\)(\[\([^]]*\)\]/\2/'
+
subdir = lib/m4sugar
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_CLEAN_FILES =
$(src_libdir)/autoconf/autoconf.m4
+ETAGS_FOR_M4 = \
+ --lang=none \
+ --regex='/\(m4_define\|define\)(\[\([^]]*\)\]/\2/'
+
+
+ETAGS_FOR_M4SUGAR = \
+ $(ETAGS_FOR_M4) \
+ --regex='/m4_defun(\[\([^]]*\)\]/\1/'
+
+
+ETAGS_FOR_AUTOCONF = \
+ $(ETAGS_FOR_M4SUGAR) \
+ --regex='/\(A[CU]_DEFUN\|AU_ALIAS\)(\[\([^]]*\)\]/\2/' \
+ --regex='/AN_\(FUNCTION\|HEADER\|IDENTIFIER\|LIBRARY\|MAKEVAR\|PROGRAM\)(\[\([^]]*\)\]/\2/'
+
+
TESTSUITE_GENERATED_AT = \
aclang.at acc.at acfortran.at \
acgeneral.at acstatus.at \