automake-patches
[Top][All Lists]
Advanced

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

Re: [PATCH] {master} Deprecate obsoleted macro AM_WITH_REGEX.


From: Stefano Lattarini
Subject: Re: [PATCH] {master} Deprecate obsoleted macro AM_WITH_REGEX.
Date: Sat, 13 Nov 2010 13:39:04 +0100
User-agent: KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; )

On Saturday 13 November 2010, Ralf Wildenhues wrote:
> * Stefano Lattarini wrote on Sat, Nov 13, 2010 at 12:32:49PM CET:
> > * m4/regex.m4: Document the `AM_WITH_REGEX' macro as obsoleted, 
>
> I think technically "obsolete" is right here, without trailing "d".
OK.  All instances fixed.

> > and tell that it should be removed two years from now. 
>
> s/tell/state/
Fixed.

> > (AM_WITH_REGEX): Raise an m4-time warning of the "obsolete"
> > category when this macro is used.
> > * doc/automake.texi (Public Macros): Move description of
> > `AM_WITH_REGEX' from here ...
> > (Private Macros): ... to here, and declare it as obsoleted and
> 
> Did you mean (Obsolete Macros) here?
Yes, sorry.

> > "to be removed in a future version".
> > * tests/regex-obsolete.test: New test.
> 
> That file is missing from the patch.
Hmpf, forgotten `git add'.  Sorry for the slopppiness.

> Please resend and I'll finish the review.
> 
> > * tests/Makefile.am (TESTS): Update.
> 
> > address@hidden AM_WITH_REGEX
> > address@hidden AM_WITH_REGEX
> > address@hidden WITH_REGEX
> > address@hidden --with-regex
> > address@hidden regex package
> > address@hidden rx package
> > +Adds @option{--with-regex} to the @command{configure} command line.  If
> > +specified (the default), then the @samp{regex} regular expression
> > +library is used, @file{regex.o} is put into @code{LIBOBJS}, and
> > address@hidden is defined.  If @option{--without-regex} is given, then
> > +the @code{rx} regular expression library is used, and @file{rx.o} is put
> > +into @code{LIBOBJS}.  This macro is obsolete now (since rx doesn't seem
> > +to be maintained), and will be removed in a future version of Automake.
> 
> Is rx a package?  Where did you find traces to it?
There was this in automake.texi:
 "@cindex rx package"
Also, older comments in m4/regex.m4 read:
  # FIXME: This macro seems quite obsolete now since rx doesn't seem to
  # be maintained, while regex is.

But I agree that the warning in AM_WITH_REGEX could be simplified to:
 "$0 is obsolete, since `rx' is unmantained now"
That's what I've done in the attached amended patch.

> How about adding "Consider using gnulib if you need regex
> functionality."?
OK, done.

Thanks,
  Stefano
From 37b0aeedba10f06a079228a576a813536d188108 Mon Sep 17 00:00:00 2001
From: Stefano Lattarini <address@hidden>
Date: Sat, 13 Nov 2010 12:21:28 +0100
Subject: [PATCH] Deprecate obsolete macro AM_WITH_REGEX.

* m4/regex.m4: Document the `AM_WITH_REGEX' macro as obsolete,
and state that it should be removed two years from now.
(AM_WITH_REGEX): Raise an m4-time warning of the "obsolete"
category when this macro is used.
* doc/automake.texi (Public Macros): Move description of
`AM_WITH_REGEX' from here ...
(Obsolete Macros): ... to here, and declare it as obsolete
and "to be removed in a future version".
* tests/regex-obsolete.test: New test.
* tests/Makefile.am (TESTS): Update.
---
 ChangeLog                 |   14 ++++++++++++++
 doc/automake.texi         |   28 +++++++++++++++-------------
 m4/regex.m4               |   12 +++++++-----
 tests/Makefile.am         |    1 +
 tests/Makefile.in         |    1 +
 tests/regex-obsolete.test |   32 ++++++++++++++++++++++++++++++++
 6 files changed, 70 insertions(+), 18 deletions(-)
 create mode 100755 tests/regex-obsolete.test

diff --git a/ChangeLog b/ChangeLog
index 24b20ae..2091761 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2010-11-13  Stefano Lattarini  <address@hidden>
+
+       Deprecate obsolete macro AM_WITH_REGEX.
+       * m4/regex.m4: Document the `AM_WITH_REGEX' macro as obsolete,
+       and state that it should be removed two years from now.
+       (AM_WITH_REGEX): Raise an m4-time warning of the "obsolete"
+       category when this macro is used.
+       * doc/automake.texi (Public Macros): Move description of
+       `AM_WITH_REGEX' from here ...
+       (Obsolete Macros): ... to here, and declare it as obsolete
+       and "to be removed in a future version".
+       * tests/regex-obsolete.test: New test.
+       * tests/Makefile.am (TESTS): Update.
+
 2010-11-08  Stefano Lattarini  <address@hidden>
 
        Improve and extend tests on man pages support.
diff --git a/doc/automake.texi b/doc/automake.texi
index 5ae565c..c4a1902 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -3921,19 +3921,6 @@ Add support for the @uref{http://dmalloc.com/, Dmalloc 
package}.  If
 the user runs @command{configure} with @option{--with-dmalloc}, then
 define @code{WITH_DMALLOC} and add @option{-ldmalloc} to @code{LIBS}.
 
address@hidden AM_WITH_REGEX
address@hidden AM_WITH_REGEX
address@hidden WITH_REGEX
address@hidden --with-regex
address@hidden regex package
address@hidden rx package
-Adds @option{--with-regex} to the @command{configure} command line.  If
-specified (the default), then the @samp{regex} regular expression
-library is used, @file{regex.o} is put into @code{LIBOBJS}, and
address@hidden is defined.  If @option{--without-regex} is given, then
-the @code{rx} regular expression library is used, and @file{rx.o} is put
-into @code{LIBOBJS}.
-
 @end table
 
 
@@ -4009,6 +3996,21 @@ system.  If so, set the shell variable 
@code{am_cv_sys_posix_termios} to
 @samp{yes}.  If not, set the variable to @samp{no}.  This macro is obsolete,
 you should use Autoconf's @code{AC_SYS_POSIX_TERMIOS} instead.
 
address@hidden AM_WITH_REGEX
address@hidden AM_WITH_REGEX
address@hidden WITH_REGEX
address@hidden --with-regex
address@hidden regex package
address@hidden rx package
+Adds @option{--with-regex} to the @command{configure} command line.  If
+specified (the default), then the @samp{regex} regular expression
+library is used, @file{regex.o} is put into @code{LIBOBJS}, and
address@hidden is defined.  If @option{--without-regex} is given, then
+the @samp{rx} regular expression library is used, and @file{rx.o} is put
+into @code{LIBOBJS}.  This macro is obsolete now (since @samp{rx} doesn't
+seem to be maintained), and will be removed in a future version of
+Automake.  Consider using gnulib if you need regex functionality.
+
 @end table
 
 
diff --git a/m4/regex.m4 b/m4/regex.m4
index c05bb38..a453930 100644
--- a/m4/regex.m4
+++ b/m4/regex.m4
@@ -1,18 +1,21 @@
 ## --------------------------------- ##                     -*- Autoconf -*-
 ## Check if --with-regex was given.  ##
 ## --------------------------------- ##
-# Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+# 2010 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 7
+# serial 8
 
 # AM_WITH_REGEX
 # -------------
 #
+# THIS MACRO IS OBSOLETE now, since rx doesn't seem to be maintained,
+# while regex is.  This macro should be removed on 2013-01-01.
+#
 # The idea is to distribute rx.[hc] and regex.[hc] together, for a
 # while.  The WITH_REGEX symbol is used to decide which of regex.h or
 # rx.h should be included in the application.  If `./configure
@@ -23,10 +26,9 @@
 # package will use the system's rx which, on Linux at least, will
 # result in a smaller executable file.
 #
-# FIXME: This macro seems quite obsolete now since rx doesn't seem to
-# be maintained, while regex is.
 AC_DEFUN([AM_WITH_REGEX],
 [AC_PREREQ(2.50)dnl
+m4_warn([obsolete], [$0 is obsolete, since `rx' is unmantained now])dnl
 AC_LIBSOURCES([rx.h, rx.c, regex.c, regex.h])dnl
 AC_MSG_CHECKING([which of GNU rx or gawk's regex is wanted])
 AC_ARG_WITH([regex],
diff --git a/tests/Makefile.am b/tests/Makefile.am
index a604da5..a221ffb 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -701,6 +701,7 @@ remake5.test \
 remake6.test \
 remake7.test \
 regex.test \
+regex-obsolete.test \
 req.test \
 reqd.test \
 reqd2.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 142ba54..d6a6877 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -963,6 +963,7 @@ remake5.test \
 remake6.test \
 remake7.test \
 regex.test \
+regex-obsolete.test \
 req.test \
 reqd.test \
 reqd2.test \
diff --git a/tests/regex-obsolete.test b/tests/regex-obsolete.test
new file mode 100755
index 0000000..c283025
--- /dev/null
+++ b/tests/regex-obsolete.test
@@ -0,0 +1,32 @@
+#! /bin/sh
+# Copyright (C) 2010 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# 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
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Check tha the AM_WITH_REGEX macro is reported as obsolete.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AM_WITH_REGEX
+END
+
+$ACLOCAL
+$AUTOCONF -Werror -Wobsolete 2>stderr && { cat stderr >&2; Exit 1; }
+cat stderr >&2
+grep '^configure\.in:.*AM_WITH_REGEX.*obsolete' stderr
+
+:
-- 
1.7.1


reply via email to

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