Tidy up file headers and copyrights; point to the wiki for docs
authorSimon Marlow <marlowsd@gmail.com>
Tue, 25 Aug 2009 09:50:47 +0000 (09:50 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Tue, 25 Aug 2009 09:50:47 +0000 (09:50 +0000)
I've updated the wiki page about the RTS headers
  http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
to reflect the new layout and explain some of the rationale.  All the
header files now point to this page.

37 files changed:
includes/MachDeps.h
includes/README [deleted file]
includes/Rts.h
includes/RtsAPI.h
includes/Stg.h
includes/rts/Adjustor.h
includes/rts/Bytecodes.h
includes/rts/Config.h
includes/rts/Constants.h
includes/rts/FileLock.h
includes/rts/Flags.h
includes/rts/Globals.h
includes/rts/Hooks.h
includes/rts/Hpc.h
includes/rts/IOManager.h
includes/rts/Linker.h
includes/rts/Messages.h
includes/rts/OSThreads.h
includes/rts/Parallel.h
includes/rts/Signals.h
includes/rts/SpinLock.h
includes/rts/Stable.h
includes/rts/TTY.h
includes/rts/Threads.h
includes/rts/Ticky.h
includes/rts/Timer.h
includes/rts/Types.h
includes/rts/prof/CCS.h
includes/rts/prof/LDV.h
includes/stg/DLL.h
includes/stg/MachRegs.h
includes/stg/MiscClosures.h
includes/stg/Regs.h
includes/stg/SMP.h
includes/stg/TailCalls.h
includes/stg/Ticky.h
includes/stg/Types.h

index 8e6db3e..f97d3e8 100644 (file)
@@ -7,6 +7,10 @@
  *
  * NB: Keep in sync with HsFFI.h and StgTypes.h.
  * NB: THIS FILE IS INCLUDED IN HASKELL SOURCE!
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef MACHDEPS_H
diff --git a/includes/README b/includes/README
deleted file mode 100644 (file)
index dbde657..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
------------------------------------------------------------------------------
-The External API to the GHC Runtime System.
------------------------------------------------------------------------------
-
-The header files in this directory form the external API for the
-runtime.  The header files are used in the following scenarios:
-
-  1. Included into the RTS source code itself.
-       In this case we include "Rts.h", which includes everything
-       else in the appropriate order.
-
-       Pretty much everything falls into this category.
-
-  2. Included into a .hc file generated by the compiler.
-       In this case we include Stg.h, which includes a
-       subset of the headers, in the appropriate order and
-       with the appropriate settings (e.g. global register variables
-       turned on).
-
-       Includes everything below Stg.h in the hierarchy (see below).
-
-  3. Included into external C source code.
-       The following headers are designed to be included into
-        external C  code (i.e. C code compiled using a GHC installation,
-        not part of GHC itself or the RTS):
-
-               HsFFI.h
-               RtsAPI.h
-               SchedAPI.h
-               RtsFlags.h
-               Linker.h
-
-       These interfaces are intended to be relatively stable.
-
-       Also Rts.h can be included to get hold of everything else, including
-       definitions of heap objects, info tables, the storage manager interface
-       and so on.  But be warned: none of this is guaranteed to remain stable
-       from one GHC release to the next.
-
-  4. Included into non-C source code, including Haskell (GHC itself)
-     and C-- code in the RTS.
-
-       The following headers are #included into non-C source, so
-       cannot contain any C code or declarations:
-               config.h
-               RtsConfig.h
-               Constants.h
-               DerivedConstants.h
-               ClosureTypes.h
-               StgFun.h
-               MachRegs.h
-               Liveness.h
-               StgLdvProf.h
-
-Here is a rough hierarchy of the header files by dependency.
-
-Rts.h
-  Stg.h
-    ghcconfig.h                /* configuration info derived by the configure script. */
-    RtsConfig.h                /* settings for Rts things (eg. eager vs. lazy BH) */
-    MachDeps.h         /* sizes of various basic types */
-    StgTypes.h         /* basic types specific to the virtual machine */
-    TailCalls.h                /* tail calls in .hc code */
-    StgDLL.h           /* stuff related to Windows DLLs */
-    MachRegs.h         /* global register assignments for this arch */
-    Regs.h             /* "registers" in the virtual machine */
-    TickyCounters.h
-    StgMiscClosures.h  /* decls for closures & info tables in the RTS */
-    SMP.h               /* basic primitives for synchronisation */
-
-  RtsTypes.h           /* types used in the RTS */
-
-  Constants.h          /* build-time constants */
-  StgLdvProf.h
-  StgFun.h
-  StgProf.h            /* profiling gubbins */
-  Closures.h
-  Liveness.h           /* macros for constructing RET_DYN liveness masks */
-  ClosureMacros.h
-  ClosureTypes.h
-  InfoTables.h
-  SMPClosureOps.h       /* lockClosure/unlockClosure etc. */
-  SpinLock.h
-  TSO.h
-  Updates.h            /* macros for performing updates */
-  Parallel.h
-  Block.h
-  Stable.h
-  Hooks.h
-  Signals.h
-  Adjustor.h            /* foreign import "wrapper", aka adjustors */
-  StgPrimFloat.h        /* primitive floating-point operations */
-  Hpc.h
-
-Cmm.h                  /* included into .cmm source only */
-  DerivedConstants.h   /* generated by mkDerivedConstants.c from other */
-                       /* .h files. */
-  (Constants.h)
-  (ClosureTypes.h)
-  (StgFun.h)
-  (MachRegs.h)
-  (Liveness.h)  
-  (Block.h)
-
-Bytecodes.h    /* Bytecode definitions for the interpreter */
-Linker.h       /* External API to the linker */
-RtsFlags.h     /* External API to the RTS runtime flags */
-SchedAPI.h     /* External API to the RTS scheduler */
-ieee-flpt.h    /* ToDo: needed? */
-
-RtsAPI.h       /* The top-level interface to the RTS (rts_evalIO(), etc.) */
-HsFFI.h                /* The external FFI api */
index 3b5c5bd..74d45f2 100644 (file)
@@ -5,6 +5,9 @@
  * RTS external APIs.  This file declares everything that the GHC RTS
  * exposes externally.
  *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef RTS_H
index 2d2c35c..ff2bc11 100644 (file)
@@ -4,6 +4,9 @@
  *
  * API for invoking Haskell functions via the RTS
  *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * --------------------------------------------------------------------------*/
 
 #ifndef RTSAPI_H
index 0344b70..b2051cb 100644 (file)
@@ -1,15 +1,12 @@
 /* -----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 1998-2004
+ * (c) The GHC Team, 1998-2009
  *
- * Top-level include file for everything STG-ish.  
- *
- * This file is included *automatically* by all .hc files.
- *
- * NOTE: always include Stg.h *before* any other headers, because we
- * define some register variables which must be done before any inline
- * functions are defined (some system headers have been known to
- * define the odd inline function).
+ * Top-level include file for everything required when compiling .hc
+ * code.  NOTE: in .hc files, Stg.h must be included *before* any
+ * other headers, because we define some register variables which must
+ * be done before any inline functions are defined (some system
+ * headers have been known to define the odd inline function).
  *
  * We generally try to keep as little visible as possible when
  * compiling .hc files.  So for example the definitions of the
  * of these types to generate code which manipulates them directly
  * with pointer arithmetic.
  *
+ * In ordinary C code, do not #include this file directly: #include
+ * "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef STG_H
index 71e1524..b65212d 100644 (file)
@@ -4,6 +4,11 @@
  *
  * Adjustor API
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * -------------------------------------------------------------------------- */
 
 #ifndef RTS_ADJUSTOR_H
index 4aff907..8764b18 100644 (file)
@@ -1,6 +1,6 @@
 /* -----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 1998-2002
+ * (c) The GHC Team, 1998-2009
  *
  * Bytecode definitions.
  *
index ce332fa..9e4d683 100644 (file)
@@ -1,12 +1,16 @@
 /* -----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 1998-2004
+ * (c) The GHC Team, 1998-2009
  *
  * Rts settings.
  *
  * NOTE: assumes #include "ghcconfig.h"
  * 
  * NB: THIS FILE IS INCLUDED IN NON-C CODE AND DATA!  #defines only please.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef RTS_CONFIG_H
index b283bef..071d094 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 1998-2002
+ * (c) The GHC Team, 1998-2009
  *
  * Constants
  *
@@ -12,6 +12,9 @@
  * the system (eg. structure sizes) are generated into the file
  * DerivedConstants.h by a C program (mkDerivedConstantsHdr).
  *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * -------------------------------------------------------------------------- */
 
 #ifndef RTS_CONSTANTS_H
index ab59173..17087db 100644 (file)
@@ -1,9 +1,14 @@
 /* -----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 2007
+ * (c) The GHC Team, 2007-2009
  *
  * File locking support as required by Haskell 98
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef RTS_FILELOCK_H
index 3f3a0a9..dca727a 100644 (file)
@@ -1,9 +1,14 @@
 /* -----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 1998-1999
+ * (c) The GHC Team, 1998-2009
  *
  * Datatypes that holds the command-line flag settings.
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef RTS_FLAGS_H
index 71846e7..85d0acd 100644 (file)
@@ -7,6 +7,11 @@
  * even when multiple versions of the library are loaded.  e.g. see
  * Data.Typeable and GHC.Conc.
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef RTS_GLOBALS_H
index 4fe50b4..f878dc6 100644 (file)
@@ -1,9 +1,14 @@
 /* -----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 1998-1999
+ * (c) The GHC Team, 1998-2009
  *
  * User-overridable RTS hooks.
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef RTS_HOOKS_H
index c966e32..26da35d 100644 (file)
@@ -4,6 +4,11 @@
  *
  * Haskell Program Coverage
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * -------------------------------------------------------------------------- */
 
 #ifndef RTS_HPC_H
index 1c269ad..ef89f27 100644 (file)
@@ -4,6 +4,11 @@
  *
  * IO Manager functionality in the RTS
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * -------------------------------------------------------------------------- */
 
 #ifndef RTS_IOMANAGER_H
index df74e7e..73d18ca 100644 (file)
@@ -1,9 +1,14 @@
 /* -----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 2000
+ * (c) The GHC Team, 2009
  *
  * RTS Object Linker
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef RTS_LINKER_H
index e01eff4..6f59d1d 100644 (file)
@@ -1,12 +1,17 @@
 /* -----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 1998-2004
+ * (c) The GHC Team, 1998-2009
  *
  * Message API for use inside the RTS.  All messages generated by the
  * RTS should go through one of the functions declared here, and we
  * also provide hooks so that messages from the RTS can be redirected
  * as appropriate.
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef RTS_MESSAGES_H
index 2d32136..106e1e7 100644 (file)
@@ -1,10 +1,15 @@
 /* ---------------------------------------------------------------------------
  *
- * (c) The GHC Team, 2001-2005
+ * (c) The GHC Team, 2001-2009
  *
  * Accessing OS threads functionality in a (mostly) OS-independent
  * manner. 
  * 
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * --------------------------------------------------------------------------*/
 
 #ifndef RTS_OSTHREADS_H
index b675981..f2b5646 100644 (file)
@@ -4,6 +4,11 @@
  *
  * Parallelism-related functionality
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * -------------------------------------------------------------------------- */
 
 #ifndef RTS_PARALLEL_H
index 8d9e0fd..4bdd68c 100644 (file)
@@ -4,6 +4,11 @@
  *
  * RTS signal handling 
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef RTS_SIGNALS_H
index ea992a3..9bfb35b 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 2006-2008
+ * (c) The GHC Team, 2006-2009
  *
  * Spin locks
  *
  * TODO: measure whether we really need these, or whether Mutexes
  * would do (and be a bit safer if a CPU becomes loaded).
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * -------------------------------------------------------------------------- */
 
 #ifndef RTS_SPINLOCK_H
index 95a3f96..ec867e4 100644 (file)
@@ -1,9 +1,14 @@
 /* -----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 1998-2004
+ * (c) The GHC Team, 1998-2009
  *
  * Stable Pointers
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef RTS_STABLE_H
index f1ef62e..647d88b 100644 (file)
@@ -4,6 +4,11 @@
  *
  * POSIX TTY-related functionality
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * -------------------------------------------------------------------------- */
 
 #ifndef RTS_TTY_H
index 4f343b8..ca3e8b2 100644 (file)
@@ -5,6 +5,11 @@
  * External API for the scheduler.  For most uses, the functions in
  * RtsAPI.h should be enough.
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef RTS_THREADS_H
index d7e09fc..f46e802 100644 (file)
@@ -4,6 +4,11 @@
  *
  * TICKY_TICKY types
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef RTS_TICKY_H
index e3a5c2d..39edeb2 100644 (file)
@@ -1,9 +1,14 @@
 /* -----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 1995-2006
+ * (c) The GHC Team, 1995-2009
  *
  * Interface to the RTS timer signal (uses OS-dependent Ticker.h underneath)
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef RTS_TIMER_H
index 6f399e0..ff78402 100644 (file)
@@ -1,15 +1,16 @@
 /* -----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 1998-2008
+ * (c) The GHC Team, 1998-2009
  *
  * RTS-specific types.
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
-/* -------------------------------------------------------------------------
-   Generally useful typedefs
-   ------------------------------------------------------------------------- */
-
 #ifndef RTS_TYPES_H
 #define RTS_TYPES_H
 
index d56caf0..90224d7 100644 (file)
@@ -1,9 +1,14 @@
 /* -----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 2004
+ * (c) The GHC Team, 2009
  *
  * Macros for profiling operations in STG code
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef RTS_PROF_CCS_H
index f547246..77d873c 100644 (file)
@@ -1,9 +1,14 @@
 /* -----------------------------------------------------------------------------
  *
- * (c) The University of Glasgow, 2004
+ * (c) The University of Glasgow, 2009
  *
  * Lag/Drag/Void profiling.
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef RTS_PROF_LDV_H
index 5e82427..b7e7c5a 100644 (file)
@@ -1,3 +1,16 @@
+/* -----------------------------------------------------------------------------
+ *
+ * (c) The GHC Team, 1998-2009
+ *
+ * Support for Windows DLLs.
+ *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
+ * ---------------------------------------------------------------------------*/
+
 #ifndef __STGDLL_H__
 #define __STGDLL_H__ 1
 
index d607532..cd98666 100644 (file)
@@ -1,10 +1,15 @@
 /* -----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 1998-1999
+ * (c) The GHC Team, 1998-2009
  *
  * Registers used in STG code.  Might or might not correspond to
  * actual machine registers.
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef MACHREGS_H
index 34bd95a..031c74b 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 1998-2004
+ * (c) The GHC Team, 1998-2009
  *
  * Declarations for various symbols exported by the RTS.
  *
  *
  * See wiki:Commentary/Compiler/Backends/PprC#Prototypes
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * --------------------------------------------------------------------------*/
 
 #ifndef STGMISCCLOSURES_H
index fb26254..d620bf1 100644 (file)
@@ -1,9 +1,20 @@
 /* -----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 1998-2004
+ * (c) The GHC Team, 1998-2009
  *
  * Registers in the STG machine.
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
+ * ---------------------------------------------------------------------------*/
+
+#ifndef REGS_H
+#define REGS_H
+
+/*
  * The STG machine has a collection of "registers", each one of which
  * may or may not correspond to an actual machine register when
  * running code.  
  * BaseReg is not in a machine register, then the register table is
  * used from an absolute location (MainCapability).
  *
- * ---------------------------------------------------------------------------*/
-
-#ifndef REGS_H
-#define REGS_H
+ */
 
 typedef struct {
   StgWord        stgEagerBlackholeInfo;
index 5d9d801..8297f57 100644 (file)
@@ -1,9 +1,14 @@
 /* ----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 2005-2008
+ * (c) The GHC Team, 2005-2009
  *
  * Macros for multi-CPU support
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * -------------------------------------------------------------------------- */
 
 #ifndef SMP_H
index 854c7b4..bffd39c 100644 (file)
@@ -1,9 +1,14 @@
 /* -----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 1998-1999
+ * (c) The GHC Team, 1998-2009
  *
  * Stuff for implementing proper tail jumps.
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * ---------------------------------------------------------------------------*/
 
 #ifndef TAILCALLS_H
index fd7edf8..001ab97 100644 (file)
@@ -1,9 +1,14 @@
 /* -----------------------------------------------------------------------------
  *
- * (c) The GHC Team, 2007
+ * (c) The GHC Team, 2009
  *
  * Declarations for counters used by ticky-ticky profiling.
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
  * -------------------------------------------------------------------------- */
 
 
index 227356c..e05690a 100644 (file)
@@ -5,6 +5,23 @@
  * Various C datatypes used in the run-time system.  This is the
  * lowest-level include file, after ghcconfig.h and RtsConfig.h.
  *
+ * Do not #include this file directly: #include "Rts.h" instead.
+ *
+ * To understand the structure of the RTS headers, see the wiki:
+ *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
+ *
+ * NOTE: assumes #include "ghcconfig.h"
+ * 
+ * Works with or without _POSIX_SOURCE.
+ *
+ * WARNING: Keep this file, MachDeps.h, and HsFFI.h in synch!
+ *
+ * ---------------------------------------------------------------------------*/
+
+#ifndef STGTYPES_H
+#define STGTYPES_H
+
+/*
  * This module should define types *only*, all beginning with "Stg".
  *
  * Specifically:
        StgBool, StgVoid, StgPtr, StgOffset, 
        StgCode, StgStablePtr, StgFunPtr,
        StgUnion.
-
- * WARNING: Keep this file, MachDeps.h, and HsFFI.h in synch!
- *
- * NOTE: assumes #include "ghcconfig.h"
- * 
- * Works with or without _POSIX_SOURCE.
- *
- * ---------------------------------------------------------------------------*/
-
-#ifndef STGTYPES_H
-#define STGTYPES_H
+ */
 
 /*
  * First, platform-dependent definitions of size-specific integers.