[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug-gnulib] Re: automatic prototypes
From: |
Simon Josefsson |
Subject: |
[bug-gnulib] Re: automatic prototypes |
Date: |
Sat, 18 Dec 2004 16:28:14 +0100 |
User-agent: |
Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (gnu/linux) |
Paul Eggert <address@hidden> writes:
> Simon Josefsson <address@hidden> writes:
>
>> Is there a problem in including standard include files in config.h?
>
> Emacs does that, and it has problems in practice, because the order of
> include files is always wrong somewhere.
How is it different from having the same #include statements in each
*.c file?
> If memory serves, the Emacs hackers were slowly trying to change to
> the usual way of doing things. Don't recall if they finished.
It doesn't look like they did... There is even an #include for a
non-system file.
Thanks.
/* Load in the conversion definitions if this system
needs them and the source file being compiled has not
said to inhibit this. There should be no need for you
to alter these lines. */
#ifdef SHORTNAMES
#ifndef NO_SHORTNAMES
#include "../shortnames/remap.h"
#endif /* not NO_SHORTNAMES */
#endif /* SHORTNAMES */
...
/* Some of the files of Emacs which are intended for use with other
programs assume that if you have a config.h file, you must declare
the type of getenv.
This declaration shouldn't appear when alloca.s or Makefile.in
includes config.h. */
#ifndef NOT_C_CODE
extern char *getenv ();
#endif
...
/* Don't include "string.h" or <stdlib.h> in non-C code. */
#ifndef NOT_C_CODE
#ifdef HAVE_STRING_H
#include "string.h"
#endif
#ifdef HAVE_STRINGS_H
#include "strings.h" /* May be needed for bcopy & al. */
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#ifndef __GNUC__
# ifdef HAVE_ALLOCA_H
# include <alloca.h>
# else /* AIX files deal with #pragma. */
# ifndef alloca /* predefined by HP cc +Olibcalls */
char *alloca ();
# endif
# endif /* HAVE_ALLOCA_H */
#endif /* __GNUC__ */
#ifndef HAVE_SIZE_T
typedef unsigned size_t;
#endif
#endif /* NOT_C_CODE */
Re: [bug-gnulib] automatic prototypes, Bruno Haible, 2004/12/18