[Top][All Lists]
[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~
- suggest making de-ANSI-fication obsolete; also, "an hello" -> "a hello",
Paul Eggert <=