mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 20:00:19 +02:00
* __scm.h: move libguile/scmconfig.h include up to the top, so
we're sure to pick up any critical defines like _GNU_SOURCE early. #include <limits.h> removed in favor of scmconfig.h inclusion when appropriate. STDC_HEADERS based inclusion of stdlib.h, sys/types.h, stddef.h, and sys/stdtypes.h removed in favor of scmconfig.h inclusion when appropriate. Various Win32 related definitions removed in favor of scmconfig.h inclusion when appropriate. (HAVE_UINTPTR_T): definition removed (see NEWS). (SIZEOF_PTRDIFF_T): definition removed (see NEWS). (HAVE_LONG_LONGS): definition removed (see NEWS). (HAVE_LONG_LONG): definition removed (see NEWS). (HAVE_PTRDIFF_T): definition removed (see NEWS).
This commit is contained in:
parent
64c2db807d
commit
92e6989fda
1 changed files with 23 additions and 56 deletions
|
@ -46,16 +46,36 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* "What's the difference between _scm.h and __scm.h?"
|
/**********************************************************************
|
||||||
|
This file is Guile's central public header.
|
||||||
|
|
||||||
|
When included by other files, this file should preceed any include
|
||||||
|
other than __scm.h.
|
||||||
|
|
||||||
|
Under *NO* circumstances should new items be added to the global
|
||||||
|
namespace (via adding #define, typedef, or similar to this file) with
|
||||||
|
generic names. This usually means that any new names should be
|
||||||
|
prefixed by either SCM_ or GUILE_. i.e. do *not* #define HAVE_FOO or
|
||||||
|
SIZEOF_BAR. See configure.in, gen-scmconfig.h.in, and
|
||||||
|
gen-scmconfig.c for examples of how to properly handle this issue.
|
||||||
|
The main documentation is in gen-scmconfig.c.
|
||||||
|
|
||||||
|
"What's the difference between _scm.h and __scm.h?"
|
||||||
|
|
||||||
_scm.h is not installed; it's only visible to the libguile sources
|
_scm.h is not installed; it's only visible to the libguile sources
|
||||||
themselves.
|
themselves, and it includes config.h, the private config header.
|
||||||
|
|
||||||
__scm.h is installed, and is #included by <libguile.h>. If both
|
__scm.h is installed, and is #included by <libguile.h>. If both
|
||||||
the client and libguile need some piece of information, and it
|
the client and libguile need some piece of information, and it
|
||||||
doesn't fit well into the header file for any particular module, it
|
doesn't fit well into the header file for any particular module, it
|
||||||
should go in __scm.h. */
|
should go in __scm.h. __scm.h includes scmconfig.h, the public
|
||||||
|
config header.
|
||||||
|
**********************************************************************/
|
||||||
|
|
||||||
|
/* What did the configure script discover about the outside world? */
|
||||||
|
#include "libguile/scmconfig.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* {Compiler hints}
|
/* {Compiler hints}
|
||||||
*
|
*
|
||||||
|
@ -150,11 +170,6 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* What did the configure script discover about the outside world? */
|
|
||||||
#include "libguile/scmconfig.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* {Debugging Options}
|
/* {Debugging Options}
|
||||||
*
|
*
|
||||||
* These compile time options determine whether to include code that is only
|
* These compile time options determine whether to include code that is only
|
||||||
|
@ -272,31 +287,6 @@
|
||||||
* - ... add more
|
* - ... add more
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if SIZEOF_UINTPTR_T != 0 && defined(UINTPTR_MAX) \
|
|
||||||
&& defined(INTPTR_MAX) \
|
|
||||||
&& defined(INTPTR_MIN)
|
|
||||||
/* Used as SCM if available, so we bundle related attributes to avoid possible
|
|
||||||
type incon[st][oi]n[ae]nce later. Word in tags.h. */
|
|
||||||
#define HAVE_UINTPTR_T 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if SIZEOF_PTRDIFF_T != 0
|
|
||||||
#define HAVE_PTRDIFF_T 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if SIZEOF_LONG_LONG != 0
|
|
||||||
#define HAVE_LONG_LONGS 1
|
|
||||||
#define HAVE_LONG_LONG 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef HAVE_PTRDIFF_T
|
|
||||||
typedef long ptrdiff_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_LIMITS_H
|
|
||||||
# include <limits.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CHAR_BIT
|
#ifdef CHAR_BIT
|
||||||
# define SCM_CHAR_BIT CHAR_BIT
|
# define SCM_CHAR_BIT CHAR_BIT
|
||||||
#else
|
#else
|
||||||
|
@ -317,29 +307,6 @@ typedef long ptrdiff_t;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef STDC_HEADERS
|
|
||||||
# include <stdlib.h>
|
|
||||||
# if HAVE_SYS_TYPES_H
|
|
||||||
# include <sys/types.h>
|
|
||||||
# endif
|
|
||||||
# if HAVE_SYS_STDTYPES_H
|
|
||||||
# include <sys/stdtypes.h>
|
|
||||||
# endif
|
|
||||||
# include <stddef.h>
|
|
||||||
#endif /* def STDC_HEADERS */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Define some additional CPP macros on Win32 platforms. */
|
|
||||||
#if USE_DLL_IMPORT
|
|
||||||
# define __REGEX_IMPORT__ 1
|
|
||||||
# define __CRYPT_IMPORT__ 1
|
|
||||||
# define __READLINE_IMPORT__ 1
|
|
||||||
# define QT_IMPORT 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "libguile/tags.h"
|
#include "libguile/tags.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue