From 37b0aeedba10f06a079228a576a813536d188108 Mon Sep 17 00:00:00 2001 From: Stefano Lattarini 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 + + 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 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}. -@item AM_WITH_REGEX -@acindex AM_WITH_REGEX -@vindex WITH_REGEX -@opindex --with-regex -@cindex regex package -@cindex 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 -@code{WITH_REGEX} 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. +@item AM_WITH_REGEX +@acindex AM_WITH_REGEX +@vindex WITH_REGEX +@opindex --with-regex +@cindex regex package +@cindex 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 +@code{WITH_REGEX} 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 . + +# 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 + +: -- 2.7.4