Back to index

plt-scheme  4.2.1
gc_config_macros.h
Go to the documentation of this file.
00001 /*
00002  * This should never be included directly.  It is included only from gc.h.
00003  * We separate it only to make gc.h more suitable as documentation.
00004  * 
00005  * Some tests for old macros.  These violate our namespace rules and will
00006  * disappear shortly.  Use the GC_ names.
00007  */
00008 #if defined(SOLARIS_THREADS) || defined(_SOLARIS_THREADS)
00009 # define GC_SOLARIS_THREADS
00010 #endif
00011 #if defined(_SOLARIS_PTHREADS)
00012 # define GC_SOLARIS_PTHREADS
00013 #endif
00014 #if defined(IRIX_THREADS)
00015 # define GC_IRIX_THREADS
00016 #endif
00017 #if defined(DGUX_THREADS)
00018 # if !defined(GC_DGUX386_THREADS)
00019 #  define GC_DGUX386_THREADS
00020 # endif
00021 #endif
00022 #if defined(AIX_THREADS)
00023 # define GC_AIX_THREADS
00024 #endif
00025 #if defined(HPUX_THREADS)
00026 # define GC_HPUX_THREADS
00027 #endif
00028 #if defined(OSF1_THREADS)
00029 # define GC_OSF1_THREADS
00030 #endif
00031 #if defined(LINUX_THREADS)
00032 # define GC_LINUX_THREADS
00033 #endif
00034 #if defined(WIN32_THREADS)
00035 # define GC_WIN32_THREADS
00036 #endif
00037 #if defined(USE_LD_WRAP)
00038 # define GC_USE_LD_WRAP
00039 #endif
00040 
00041 #if !defined(_REENTRANT) && (defined(GC_SOLARIS_THREADS) \
00042                            || defined(GC_SOLARIS_PTHREADS) \
00043                           || defined(GC_HPUX_THREADS) \
00044                           || defined(GC_AIX_THREADS) \
00045                           || defined(GC_LINUX_THREADS) \
00046                           || defined(GC_NETBSD_THREADS))
00047 # define _REENTRANT
00048        /* Better late than never.  This fails if system headers that  */
00049        /* depend on this were previously included.                    */
00050 #endif
00051 
00052 #if !defined(_PTHREADS) && defined(GC_NETBSD_THREADS)
00053 # define _PTHREADS
00054 #endif
00055 
00056 #if defined(GC_DGUX386_THREADS) && !defined(_POSIX4A_DRAFT10_SOURCE)
00057 # define _POSIX4A_DRAFT10_SOURCE 1
00058 #endif
00059 
00060 # if defined(GC_SOLARIS_PTHREADS) || defined(GC_FREEBSD_THREADS) || \
00061        defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) || \
00062        defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) || \
00063        defined(GC_DGUX386_THREADS) || defined(GC_DARWIN_THREADS) || \
00064         defined(GC_AIX_THREADS) || defined(GC_NETBSD_THREADS) || \
00065         (defined(GC_WIN32_THREADS) && defined(__CYGWIN32__))
00066 #   define GC_PTHREADS
00067 # endif
00068 
00069 #if defined(GC_THREADS) && !defined(GC_PTHREADS)
00070 # if defined(__linux__)
00071 #   define GC_LINUX_THREADS
00072 #   define GC_PTHREADS
00073 # endif
00074 # if !defined(__linux__) && (defined(_PA_RISC1_1) || defined(_PA_RISC2_0) \
00075                          || defined(hppa) || defined(__HPPA))
00076 #   define GC_HPUX_THREADS
00077 #   define GC_PTHREADS
00078 # endif
00079 # if !defined(__linux__) && (defined(__alpha) || defined(__alpha__))
00080 #   define GC_OSF1_THREADS
00081 #   define GC_PTHREADS
00082 # endif
00083 # if defined(__mips) && !defined(__linux__)
00084 #   define GC_IRIX_THREADS
00085 #   define GC_PTHREADS
00086 # endif
00087 # if defined(__sparc) && !defined(__linux__)
00088 #   define GC_SOLARIS_PTHREADS
00089 #   define GC_PTHREADS
00090 # endif
00091 # if defined(__APPLE__) && defined(__MACH__) && defined(__ppc__)
00092 #   define GC_DARWIN_THREADS
00093 #   define GC_PTHREADS
00094 # endif
00095 # if !defined(GC_PTHREADS) && defined(__FreeBSD__)
00096 #   define GC_FREEBSD_THREADS
00097 #   define GC_PTHREADS
00098 # endif
00099 # if !defined(GC_PTHREADS) && defined(__NetBSD__)
00100 #   define GC_NETBSD_THREADS
00101 #   define GC_PTHREADS
00102 # endif
00103 # if defined(DGUX) && (defined(i386) || defined(__i386__))
00104 #   define GC_DGUX386_THREADS
00105 #   define GC_PTHREADS
00106 # endif
00107 # if defined(_AIX)
00108 #   define GC_AIX_THREADS
00109 #   define GC_PTHREADS
00110 # endif
00111 #endif /* GC_THREADS */
00112 
00113 #if defined(GC_THREADS) && !defined(GC_PTHREADS) && \
00114     (defined(_WIN32) || defined(_MSC_VER) || defined(__CYGWIN__) \
00115      || defined(__MINGW32__) || defined(__BORLANDC__) \
00116      || defined(_WIN32_WCE))
00117 # define GC_WIN32_THREADS
00118 #endif
00119 
00120 #if defined(GC_SOLARIS_PTHREADS) && !defined(GC_SOLARIS_THREADS)
00121 #   define GC_SOLARIS_THREADS
00122 #endif
00123 
00124 # define __GC
00125 # ifndef _WIN32_WCE
00126 #   include <stddef.h>
00127 # else /* ! _WIN32_WCE */
00128 /* Yet more kluges for WinCE */
00129 #   include <stdlib.h>             /* size_t is defined here */
00130     typedef long ptrdiff_t; /* ptrdiff_t is not defined */
00131 # endif
00132 
00133 #if defined(_DLL) && !defined(GC_NOT_DLL) && !defined(GC_DLL)
00134 # define GC_DLL
00135 #endif
00136 
00137 #if defined(__MINGW32__) && defined(GC_DLL)
00138 # ifdef GC_BUILD
00139 #   define GC_API __declspec(dllexport)
00140 # else
00141 #   define GC_API __declspec(dllimport)
00142 # endif
00143 #endif
00144 
00145 #if (defined(__DMC__) || defined(_MSC_VER)) && defined(GC_DLL)
00146 # ifdef GC_BUILD
00147 #   define GC_API extern __declspec(dllexport)
00148 # else
00149 #   define GC_API __declspec(dllimport)
00150 # endif
00151 #endif
00152 
00153 /* PLTSCHEME: Borland and Cygwin, too */
00154 #if (defined(__WATCOMC__) || defined(__BORLANDC__) || defined(__CYGWIN32__)) && defined(GC_DLL)
00155 # ifdef GC_BUILD
00156 #   define GC_API extern __declspec(dllexport)
00157 # else
00158 #   define GC_API extern __declspec(dllimport)
00159 # endif
00160 #endif
00161 
00162 #ifndef GC_API
00163 #define GC_API extern
00164 #endif
00165