autoconf-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

08-more-an-uses.patch


From: Akim Demaille
Subject: 08-more-an-uses.patch
Date: Mon, 30 Sep 2002 09:33:07 +0200

The changes in autoscan.list (which I keep in CVS only to check how it
changes) are layout changes only.

There is something really cool that just happened for developers: you
can now use M-. (tags) to look for the macro checking for a function
using the function name, etc.  This is excellent news!

Index: ChangeLog
from  Akim Demaille  <address@hidden>

        * 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.

Index: lib/freeze.mk
--- lib/freeze.mk Sat, 28 Sep 2002 11:02:29 +0200 akim
+++ lib/freeze.mk Sat, 28 Sep 2002 15:02:12 +0200 akim
@@ -17,6 +17,11 @@
 ## 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)
@@ -88,3 +93,21 @@ .m4.m4f:
        $(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/'
Index: lib/autoconf/Makefile.am
--- lib/autoconf/Makefile.am Sat, 28 Sep 2002 11:02:29 +0200 akim
+++ lib/autoconf/Makefile.am Sat, 28 Sep 2002 15:02:29 +0200 akim
@@ -35,11 +35,7 @@

 TAGS_FILES = $(dist_autoconflib_DATA)

-ETAGS_ARGS = --lang=none \
-  --regex='/\(A[CU]_DEFUN\|m4_\(defun\|define\)\|define\)(\[\([^]]*\)\]/\3/'
-
-
-
+ETAGS_ARGS = $(ETAGS_FOR_AUTOCONF)


 ## -------- ##
Index: lib/autoconf/programs.m4
--- lib/autoconf/programs.m4 Sun, 09 Jun 2002 10:50:29 +0200 akim
+++ lib/autoconf/programs.m4 Sat, 28 Sep 2002 14:43:45 +0200 akim
@@ -255,6 +255,11 @@ AC_DEFUN([AC_CHECK_TOOLS],
 # (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, )])

@@ -271,6 +276,7 @@ AC_DEFUN([AC_PROG_EGREP],
  AC_SUBST([EGREP])
 ])# AC_PROG_EGREP

+
 # AC_PROG_FGREP
 # -------------
 AC_DEFUN([AC_PROG_FGREP],
@@ -286,6 +292,8 @@ 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),
@@ -365,6 +373,9 @@ AC_DEFUN([AC_PROG_INSTALL],
 # -----------
 # 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"
@@ -427,6 +438,8 @@ m4_define([_AC_PROG_LEX_YYTEXT_DECL],

 # 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
@@ -441,6 +454,8 @@ AC_DEFUN([AC_PROG_LN_S],
 # 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_,'`
@@ -470,6 +485,8 @@ all:

 # 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, :)])

@@ -484,5 +501,10 @@ AC_DEFUN([AC_PROG_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)])
Index: lib/autoconf/types.m4
--- lib/autoconf/types.m4 Sun, 09 Jun 2002 10:50:29 +0200 akim
+++ lib/autoconf/types.m4 Sat, 28 Sep 2002 14:36:35 +0200 akim
@@ -483,9 +483,14 @@ AC_DEFUN([AC_CHECK_MEMBERS],
                  [$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.

@@ -518,6 +523,7 @@ AC_DEFUN([AC_CHECK_MEMBERS],
 # 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,
@@ -568,6 +574,7 @@ AC_DEFUN([AC_STRUCT_TM],
 # 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>
Index: lib/autotest/Makefile.am
--- lib/autotest/Makefile.am Sun, 09 Jun 2002 10:50:29 +0200 akim
+++ lib/autotest/Makefile.am Sat, 28 Sep 2002 15:03:10 +0200 akim
@@ -28,8 +28,7 @@

 TAGS_FILES = $(dist_autotestlib_DATA)

-ETAGS_ARGS = --lang=none \
-  --regex='/\(A[CU]_DEFUN\|m4_\(defun\|define\)\|define\)(\[\([^]]*\)\]/\3/'
+ETAGS_ARGS = $(ETAGS_FOR_AUTOCONF)


 ## -------- ##
Index: lib/autoscan/autoscan.pre
--- lib/autoscan/autoscan.pre Sat, 28 Sep 2002 11:02:29 +0200 akim
+++ lib/autoscan/autoscan.pre Sat, 28 Sep 2002 14:42:45 +0200 akim
@@ -86,40 +86,13 @@ identifier: tm              AC_STRUCT_TM
 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
Index: lib/autoscan/autoscan.list
--- lib/autoscan/autoscan.list Sat, 28 Sep 2002 11:02:29 +0200 akim
+++ lib/autoscan/autoscan.list Sat, 28 Sep 2002 15:04:14 +0200 akim
@@ -257,41 +257,41 @@ identifier: off_t           AC_TYPE_OFF_
 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
Index: lib/m4sugar/Makefile.am
--- lib/m4sugar/Makefile.am Sun, 09 Jun 2002 10:50:29 +0200 akim
+++ lib/m4sugar/Makefile.am Sat, 28 Sep 2002 15:03:38 +0200 akim
@@ -47,8 +47,7 @@ version.m4: $(top_srcdir)/configure.ac

 TAGS_FILES = $(dist_m4sugarlib_DATA)

-ETAGS_ARGS = --lang=none \
-  --regex='/\(A[CU]_DEFUN\|m4_\(defun\|define\)\|define\)(\[\([^]]*\)\]/\3/'
+ETAGS_ARGS = $(ETAGS_FOR_AUTOCONF)


 ## -------- ##




reply via email to

[Prev in Thread] Current Thread [Next in Thread]