[project @ 2000-04-13 23:03:12 by sewardj]
[ghc-hetmet.git] / ghc / includes / options.h
index 7775e56..d9253d4 100644 (file)
@@ -1,20 +1,14 @@
-/* ../options.h.  Generated automatically by configure.  */
+
 /* --------------------------------------------------------------------------
  * Configuration options
  *
- * Most configuration options are arguments to the configure script
- * (try running "configure --help").  The following options are either
- * experimental or require changes to "Prelude.hs", the standard libraries
- * and demos and therefore cannot be modified using the configure script.
- * Most users should leave them alone!
- *
  * Copyright (c) The University of Nottingham and Yale University, 1994-1997.
  * All rights reserved. See NOTICE for details and conditions of use etc...
  * Hugs version 1.4, December 1997
  *
  * $RCSfile: options.h,v $
- * $Revision: 1.16 $
- * $Date: 2000/01/06 11:57:11 $
+ * $Revision: 1.26 $
+ * $Date: 2000/04/13 23:03:12 $
  * ------------------------------------------------------------------------*/
 
 
  * User interface options
  * ------------------------------------------------------------------------*/
 
-/* Define if you want to use the "Hugs for Windows" GUI.
- * (Windows 3.1 and compatibles only)
- */
-#define HUGS_FOR_WINDOWS 0
-
 /* Define if you want filenames to be converted to normal form by:
  * o replacing relative pathnames with absolute pathnames and
  *   eliminating .. and . where possible.
  */
 #define SMALL_BANNER 0
 
-/* Define if you want to be able to redirect stdout/stderr to a buffer.
- * Only necessary for the Hugs server interface (which is used in the
- * Netscape plugin and the standalone evaluator "runhugs"). 
- */
-#define REDIRECT_OUTPUT (!HUGS_FOR_WINDOWS)
-
 
 /* --------------------------------------------------------------------------
- * Making Hugs smaller
+ * Language extensions
  * ------------------------------------------------------------------------*/
 
-/* Define one of these to select overall size of Hugs
- *   SMALL_HUGS     for 16 bit operation on a limited memory PC.
- *   REGULAR_HUGS   for 32 bit operation using largish default table sizes.
- *   LARGE_HUGS     for 32 bit operation using larger default table sizes.
- */
-#define SMALL_HUGS   0
-#define REGULAR_HUGS 0
-#define LARGE_HUGS   1
+/* Define if T-REX; Typed Rows and EXtension should be enabled             */
+/* Doesn't work in current system - I don't know what the primops do       */
+#define TREX           0
+
+/* Implicit Parameters                                                    */
+#define IPARAM         1
+
+/* Multi-instance resolution                                              */
+#define MULTI_INST     0
+
+
+/* --------------------------------------------------------------------------
+ * Various table sizes
+ * ------------------------------------------------------------------------*/
 
-#define NUM_SYNTAX         100
 #define NUM_TUPLES         37
-#define NUM_OFFSETS        1024
 #define NUM_CHARS          256
 #if TREX
 #define NUM_EXT            100
 #endif
 #define CHAR_MASK          0xff
 
-#if     SMALL_HUGS                      /* the McDonalds mentality :-)     */
-#define Pick(s,r,l)        s
-#endif
-#if     REGULAR_HUGS
-#define Pick(s,r,l)        r
-#endif
-#if     LARGE_HUGS
-#define Pick(s,r,l)        l
-#endif
+#define MINIMUMHEAP        19000
+#define MAXIMUMHEAP        0
+#define DEFAULTHEAP        320000
 
-#define MINIMUMHEAP        Pick(7500,   19000,      19000)
-#define MAXIMUMHEAP        Pick(32765,  0,          0)
-#define DEFAULTHEAP        Pick(28000,  50000,      350000)
-
-#define NUM_SCRIPTS        Pick(64,     100,        100)
-#define NUM_MODULE         NUM_SCRIPTS
-#define NUM_TYCON          Pick(60,     160,        400)
-#define NUM_NAME           Pick(1000,   2000,       16000)
-#define NUM_CLASSES        Pick(30,     40,         80)
-#define NUM_INSTS          Pick(200,    300,        600)
-#define NUM_TEXT           Pick(12000,  20000,      100000)
-#define NUM_TEXTH          Pick(1,      10,         10)
-#define NUM_TYVARS         Pick(800,    2000,       4000)
-#define NUM_STACK          Pick(1800,   12000,      16000)
-#define NUM_DTUPLES        Pick(3,      5,          5)
+#define TEXT_SIZE          100000
+#define NUM_TEXTH          10
+#define NUM_TYVARS         4000
+#define NUM_STACK          16000
+#define NUM_DTUPLES        5
+#define NUM_MSTACK         2000
 
 #define MAXPOSINT          0x7fffffff
 #define MINNEGINT          (-MAXPOSINT-1)
 #define MAXHUGSWORD        0xffffffffU
 
-#define BIGBASE            Pick(100,    10000,      10000)
-#define BIGEXP             Pick(2,      4,          4)
-
-#define minRecovery        Pick(1000,  1000,       1000)
-#define bitsPerWord        Pick(16,    32,         32)
-#define wordShift          Pick(4,     5,          5)
-#define wordMask           Pick(15,    31,         31)
-
-/* Define to force a fixed size (NUM_TYVARS) for the current substitution.
- * Setting this flag places a limit on the maximum complexity of
- * expressions handled by the typechecker.  It is normally turned off
- * but may be required for small machines/configurations.
- */
-#define FIXED_SUBST 0 
-
-/* Define this to allocate tables dynamically.
- * This is currently just a memory saving trick, but this may be
- * extended at a later stage to allow at least some of the tables
- * to be extended dynamically at run-time to avoid exhausted space errors.
- */
-#define DYN_TABLES SMALL_HUGS
-
-/* Define this to include support for storing pointers in the heap.
- * This is required by the code generator (which has to store 
- * pointers to AsmObjects).
- */
-#define PTR_ON_HEAP 1
+#define minRecovery        1000
+#define bitsPerWord        32
+#define wordShift          5
+#define wordMask           31
 
 /* Should quantifiers be displayed in error messages.
  * Warning: not consistently used.
  * without attention.  However, standard Haskell 98 is supported 
  * is supported without needing them.
  */
-#undef  PROVIDE_STABLE
-#undef  PROVIDE_FOREIGN
 #undef  PROVIDE_WEAK
-#undef  PROVIDE_CONCURRENT
-#undef  PROVIDE_PTREQUALITY
-#undef  PROVIDE_COERCE
-
 
-/* Set to 1 to use a non-GMP implementation of integer, in the
-   standalone Hugs.  Set to 0 in the combined GHC-Hugs system,
-   in which case GNU MP will be used.
-*/
-#define STANDALONE_INTEGER 1
+#define PROVIDE_STABLE      1
+#define PROVIDE_FOREIGN     1
+#define PROVIDE_COERCE      1
+#define PROVIDE_PTREQUALITY 1
+#define PROVIDE_CONCURRENT  1
 
 /* Enable a crude profiler which counts BCO entries, bytes allocated
    and bytecode insns executed on a per-fn basis.  Used for assessing
 */
 #undef CRUDE_PROFILING
 
-
-/* Is the default default (Int,Double) or (Integer,Double)?
- */
-#define DEFAULT_BIGNUM 1
-
-/* Are things being used in an interactive setting or a batch setting?
- * In an interactive setting, System.exitWith should not call _exit
- * getProgName and getProgArgs need to be handled differently, etc.
- *
- * Warning: this flag is ignored by an awful lot of code.
- */
-#define INTERACTIVE
-
 /* Turn bytecode interpreter support on/off.
  */
 #define INTERPRETER 1 
  * If you turn this off, you'll probably need to provide some
  * assembly language support for your architecture.
  */
-#define NO_REGS
+#define NO_MACHREGS
 
 
-/* --------------------------------------------------------------------------
- * Fancy features
- * ------------------------------------------------------------------------*/
-
-/* Define if T-REX; Typed Rows and EXtension should be enabled             */
-/* Doesn't work in current system - I don't know what the primops do       */
-#define TREX 0
-
 /* Define if :xplain should be enabled                                    */
 #define EXPLAIN_INSTANCE_RESOLUTION 0
 
  */
 #define USE_ADDR_FOR_STRINGS 1
 
-/* Define to include support for (n+k) patterns. 
- * Warning: many people in the Haskell committee want to remove n+k patterns.
- */
-#define NPLUSK 1
-
-
-/* --------------------------------------------------------------------------
- * Debugging options (intended for use by maintainers)
- * ------------------------------------------------------------------------*/
-
-/* Define if debugging generated bytecodes or the bytecode interpreter     */
-#define DEBUG_CODE 1
-
-/* Define if you want to use a low-level printer from within a debugger    */
-#define DEBUG_PRINTER 1
 
 /* --------------------------------------------------------------------------
  * Experimental features