From d6a093438c4aa9043eacadd9de676cfff948db51 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 5 Oct 2003 07:06:59 +0000 Subject: [PATCH] Rework advice for preventing empty .o files. --- ChangeLog | 6 ++++++ README | 16 +++++++--------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 26eee3c378..d7dfc99cae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2003-10-05 Paul Eggert + + * README: Rework advice for preventing empty .o files. + Don't recommend ELIDE constructs. Recommend , + not . + 2003-10-02 Bruno Haible * modules/lchown (Include): Add lchown.h. diff --git a/README b/README index 1cd8bc29e7..25907e986f 100644 --- a/README +++ b/README @@ -63,15 +63,13 @@ Other things: 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 or #include 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 or + before the big #if. Portability guidelines ---------------------- -- 2.30.2