bug-automake
[Top][All Lists]
Advanced

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

suggest making de-ANSI-fication obsolete; also, "an hello" -> "a hello"


From: Paul Eggert
Subject: suggest making de-ANSI-fication obsolete; also, "an hello" -> "a hello"
Date: Mon, 21 Aug 2006 16:49:15 -0700
User-agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux)

A couple of thoughts about the latest Automake beta.

A trivial one: NEWS says ``an "Hello World!" example''; ``a'' sounds
better to me here.

A bit less trivial: it's time to retire de-ANSI-fication.  The
first step is to warn people about it in the documentation.

Here's a proposed patch.

2006-08-21  Paul Eggert  <address@hidden>

        * NEWS: "an hello" -> "a hello".

        * NEWS: Mark de-ANSI-fication as being obsolete.
        * doc/automake.texi: Likewise.

diff -pru automake-1.9b/NEWS automake-1.9b-fix/NEWS
--- automake-1.9b/NEWS  2006-08-20 07:46:07.000000000 -0700
+++ automake-1.9b-fix/NEWS      2006-08-21 16:40:23.000000000 -0700
@@ -149,7 +149,10 @@ New in 1.9b:
     $(mkdir_p) in some of your rules, please plan to update them to
     $(MKDIR_P) at some point.
 
-  - Automake installs an "Hello World!" example package in $(docdir).
+  - AM_C_PROTOTYPES and ansi2knr are now documented as being obsolete.
+    They still work in this release, but may be withdrawn in a future one.
+
+  - Automake installs a "Hello World!" example package in $(docdir).
     This example is used thorough the new "Autotools Introduction"
     chapter of the manual.
 
Only in automake-1.9b-fix/: NEWS~
diff -pru automake-1.9b/doc/automake.texi automake-1.9b-fix/doc/automake.texi
--- automake-1.9b/doc/automake.texi     2006-08-20 07:50:50.000000000 -0700
+++ automake-1.9b-fix/doc/automake.texi 2006-08-21 16:43:16.000000000 -0700
@@ -215,7 +215,7 @@ Building Programs and Libraries
 * Fortran 9x Support::          Compiling Fortran 9x sources
 * Java Support::                Compiling Java sources
 * Support for Other Languages::  Compiling other languages
-* ANSI::                        Automatic de-ANSI-fication
+* ANSI::                        Automatic de-ANSI-fication (obsolete)
 * Dependencies::                Automatic dependency tracking
 * EXEEXT::                      Support for executable extensions
 
@@ -2043,7 +2043,7 @@ source in case you need more recent vers
 @table @code
 @item ansi2knr.c
 @itemx ansi2knr.1
-These two files are used by the automatic de-ANSI-fication support
+These two files are used by the obsolete de-ANSI-fication support
 (@pxref{ANSI}).
 
 @item compile
@@ -2369,7 +2369,7 @@ false.o: true.c
         $(COMPILE) -DEXIT_CODE=1 -c true.c && mv true.o false.o
 @end example
 
-Also, these explicit rules do not work if the de-ANSI-fication feature
+Also, these explicit rules do not work if the obsolete de-ANSI-fication feature
 is used (@pxref{ANSI}).  Supporting de-ANSI-fication requires a little
 more work:
 
@@ -2930,7 +2930,8 @@ you can use these variables in any @file
 @code{AC_PATH_XTRA} is called.
 
 @item AM_C_PROTOTYPES
-This is required when using automatic de-ANSI-fication; see @ref{ANSI}.
+This is required when using the obsolete de-ANSI-fication feature; see
address@hidden
 
 @item AM_GNU_GETTEXT
 This macro is required for packages that use GNU gettext
@@ -3698,15 +3699,6 @@ Automake ships with several Autoconf mac
 @subsection Public macros
 
 @table @code
address@hidden AM_C_PROTOTYPES
address@hidden AM_C_PROTOTYPES
address@hidden ANSI2KNR
address@hidden U
-Check to see if function prototypes are understood by the compiler.  If
-so, define @samp{PROTOTYPES} and set the output variables @code{U} and
address@hidden to the empty string.  Otherwise, set @code{U} to
address@hidden and @code{ANSI2KNR} to @samp{./ansi2knr}.  Automake uses these
-values to implement automatic de-ANSI-fication.
 
 @item AM_ENABLE_MULTILIB
 @acindex AM_ENABLE_MULTILIB
@@ -3874,6 +3866,16 @@ automatically (@pxref{autoupdate Invocat
 Autoconf Manual}).
 
 @table @code
address@hidden AM_C_PROTOTYPES
address@hidden AM_C_PROTOTYPES
address@hidden ANSI2KNR
address@hidden U
+Check to see if function prototypes are understood by the compiler.  If
+so, define @samp{PROTOTYPES} and set the output variables @code{U} and
address@hidden to the empty string.  Otherwise, set @code{U} to
address@hidden and @code{ANSI2KNR} to @samp{./ansi2knr}.  Automake uses these
+values to implement the obsolete de-ANSI-fication feature.
+
 @item AM_CONFIG_HEADER
 @acindex AM_CONFIG_HEADER
 Automake will generate rules to automatically regenerate the config
@@ -4455,7 +4457,7 @@ to build programs and libraries.
 * Fortran 9x Support::          Compiling Fortran 9x sources
 * Java Support::                Compiling Java sources
 * Support for Other Languages::  Compiling other languages
-* ANSI::                        Automatic de-ANSI-fication
+* ANSI::                        Automatic de-ANSI-fication (obsolete)
 * Dependencies::                Automatic dependency tracking
 * EXEEXT::                      Support for executable extensions
 @end menu
@@ -6510,11 +6512,18 @@ suffix rule handling (@pxref{Suffixes}).
 
 @cindex de-ANSI-fication, defined
 
-Although the GNU standards allow the use of ANSI C, this can have the
-effect of limiting portability of a package to some older compilers
-(notably the SunOS C compiler).
+The features described in this section are obsolete; you should not
+used any of them in new code, and they may be withdrawn in future
+Automake releases.
+
+When the C language was standardized in 1989, there was a long
+transition period where package developers needed to worry about
+porting to older systems that did not support ANSI C by default.
+These older systems are no longer in practical use and are no longer
+supported by their original suppliers, so developers need not worry
+about this problem any more.
 
-Automake allows you to work around this problem on such machines by
+Automake allows you to write packages that are portable to K&R C by
 @dfn{de-ANSI-fying} each source file before the actual compilation takes
 place.
 
@@ -6536,7 +6545,8 @@ code will be formatted in a particular w
 page for details.
 
 @acindex AM_C_PROTOTYPES
-Support for de-ANSI-fication requires the source files @file{ansi2knr.c}
+Support for the obsolete de-ANSI-fication feature
+requires the source files @file{ansi2knr.c}
 and @file{ansi2knr.1} to be in the same package as the ANSI C source;
 these files are distributed with Automake.  Also, the package
 @file{configure.ac} must call the macro @code{AM_C_PROTOTYPES}
@@ -8430,7 +8440,7 @@ implies options @option{readme-alpha} an
 @itemx @address@hidden/ansi2knr}
 @cindex Option, @option{ansi2knr}
 @opindex ansi2knr
-Turn on automatic de-ANSI-fication.  @xref{ANSI}.  If preceded by a
+Turn on the obsolete de-ANSI-fication feature.  @xref{ANSI}.  If preceded by a
 path, the generated @file{Makefile.in} will look in the specified
 directory to find the @file{ansi2knr} program.  The path should be a
 relative path to another directory in the same distribution (Automake
Only in automake-1.9b-fix/doc: automake.texi~




reply via email to

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