changeset 4768:3027c8485825

Rework advice for preventing empty .o files.
author Paul Eggert <eggert@cs.ucla.edu>
date Sun, 05 Oct 2003 07:06:59 +0000
parents 0a9cf348c2ec
children 15e7b524b747
files ChangeLog README
diffstat 2 files changed, 13 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-10-05  Paul Eggert  <eggert@twinsun.com>
+
+	* README: Rework advice for preventing empty .o files.
+	Don't recommend ELIDE constructs.  Recommend <stddef.h>,
+	not <sys/types.h>.
+
 2003-10-02  Bruno Haible  <bruno@clisp.org>
 
 	* modules/lchown (Include): Add lchown.h.
--- a/README
+++ b/README
@@ -63,15 +63,13 @@
   systems that have the function.
 * Autoconf functions can use gl_* prefix. The AC_* prefix is for
   autoconf internal functions.
-* Try to prevent that the files are built if they aren't needed on a
-  platform.  Valid excuses to this rule include ELIDE constructs that
-  lead to an empty .o file (see getopt module).
-* If you have a .c file that leads to an empty .o file on some platforms
-  (through some big #if around all the code), still make sure that after
-  preprocessing the compilation unit is not empty. This is usually fulfilled
-  if you #include <stdio.h> or #include <sys/types.h> before the big #if;
-  otherwise you need to add a #else branch containing "typedef int dummy;"
-  or "extern int dummy;".
+* Build files only if they are needed on a platform.  Look at the
+  alloca and fnmatch modules for how to achieve this.  If for some
+  reason you cannot do this, and you have a .c file that leads to an
+  empty .o file on some platforms (through some big #if around all the
+  code), then ensure that the compilation unit is not empty after
+  preprocessing.  One way to do this is to #include <stddef.h> or
+  <stdio.h> before the big #if.
 
 Portability guidelines
 ----------------------