Mercurial > hg > octave-lojdl > gnulib-hg
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 ----------------------