[project @ 2004-08-13 13:04:50 by simonmar]
[ghc-hetmet.git] / ghc / rts / RtsFlags.c
index 99bdb1a..cf8d2c5 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: RtsFlags.c,v 1.69 2003/08/22 22:24:13 sof Exp $
+ * $Id: RtsFlags.c,v 1.75 2004/08/13 13:10:29 simonmar Exp $
  *
  * (c) The AQUA Project, Glasgow University, 1994-1997
  * (c) The GHC Team, 1998-1999
@@ -36,7 +36,8 @@
 #include <stdlib.h>
 #include <string.h>
 
-extern struct RTS_FLAGS RtsFlags;
+// Flag Structure
+RTS_FLAGS RtsFlags;
 
 /*
  * Split argument lists
@@ -147,7 +148,7 @@ void initRtsFlagsDefaults(void)
     RtsFlags.GcFlags.statsFile         = NULL;
     RtsFlags.GcFlags.giveStats         = NO_GC_STATS;
 
-    RtsFlags.GcFlags.maxStkSize                = (1024 * 1024) / sizeof(W_);
+    RtsFlags.GcFlags.maxStkSize                = (8 * 1024 * 1024) / sizeof(W_);
     RtsFlags.GcFlags.initialStkSize    = 1024 / sizeof(W_);
 
     RtsFlags.GcFlags.minAllocAreaSize   = (256 * 1024)        / BLOCK_SIZE;
@@ -245,7 +246,7 @@ void initRtsFlagsDefaults(void)
 
 #if defined(GRAN)
     /* ToDo: check defaults for GranSim and GUM */
-    RtsFlags.GcFlags.maxStkSize                = (1024 * 1024) / sizeof(W_);
+    RtsFlags.GcFlags.maxStkSize                = (8 * 1024 * 1024) / sizeof(W_);
     RtsFlags.GcFlags.initialStkSize    = 1024 / sizeof(W_);
 
     RtsFlags.GranFlags.maxThreads      = 65536; // refers to mandatory threads
@@ -331,8 +332,8 @@ usage_text[] = {
 "",
 "  -?       Prints this message and exits; the program is not executed",
 "",
-"  -K<size> Sets the maximum stack size (default 1M)  Egs: -K32k   -K512k",
-"  -k<size> Sets the initial thread stack size (default 1k)  Egs: -K4k   -K2m",
+"  -K<size> Sets the maximum stack size (default 8M)  Egs: -K32k   -K512k",
+"  -k<size> Sets the initial thread stack size (default 1k)  Egs: -k4k   -k2m",
 "",
 "  -A<size> Sets the minimum allocation area size (default 256k) Egs: -A1m -A10k",
 "  -M<size> Sets the maximum heap size (default unlimited)  Egs: -M256k -M1G",
@@ -457,7 +458,7 @@ usage_text[] = {
 0
 };
 
-static __inline__ rtsBool
+STATIC_INLINE rtsBool
 strequal(const char *a, const char * b)
 {
     return(strcmp(a, b) == 0);
@@ -498,7 +499,13 @@ setupRtsFlags(int *argc, char *argv[], int *rts_argc, char *rts_argv[])
     char *last_slash;
 
     /* Remove directory from argv[0] -- default files in current directory */
-    if ((last_slash = (char *) strrchr(argv[0], '/')) != NULL) {
+    if ((last_slash = (char *) strrchr(argv[0], 
+#if !defined(mingw32_TARGET_OS)
+                                      '/')
+#else
+                                      '\\')
+#endif
+                                      ) != NULL) {
        prog_name = last_slash+1;
     } else {
        prog_name = argv[0];
@@ -588,7 +595,7 @@ setupRtsFlags(int *argc, char *argv[], int *rts_argc, char *rts_argv[])
 # define TICKY_BUILD_ONLY(x) x
 #else
 # define TICKY_BUILD_ONLY(x) \
-prog_belch("GHC not built for: ticky-ticky stats"); \
+prog_belch("not built for: ticky-ticky stats"); \
 error = rtsTrue;
 #endif
 
@@ -596,7 +603,7 @@ error = rtsTrue;
 # define COST_CENTRE_USING_BUILD_ONLY(x) x
 #else
 # define COST_CENTRE_USING_BUILD_ONLY(x) \
-prog_belch("GHC not built for: -prof or -parallel"); \
+prog_belch("not built for: -prof or -parallel"); \
 error = rtsTrue;
 #endif
 
@@ -604,7 +611,7 @@ error = rtsTrue;
 # define PROFILING_BUILD_ONLY(x)   x
 #else
 # define PROFILING_BUILD_ONLY(x) \
-prog_belch("GHC not built for: -prof"); \
+prog_belch("not built for: -prof"); \
 error = rtsTrue;
 #endif
 
@@ -612,7 +619,7 @@ error = rtsTrue;
 # define SMP_BUILD_ONLY(x)      x
 #else
 # define SMP_BUILD_ONLY(x) \
-prog_belch("GHC not built for: -smp"); \
+prog_belch("not built for: -smp"); \
 error = rtsTrue;
 #endif
 
@@ -620,7 +627,7 @@ error = rtsTrue;
 # define PAR_BUILD_ONLY(x)      x
 #else
 # define PAR_BUILD_ONLY(x) \
-prog_belch("GHC not built for: -parallel"); \
+prog_belch("not built for: -parallel"); \
 error = rtsTrue;
 #endif
 
@@ -628,7 +635,7 @@ error = rtsTrue;
 # define PAR_OR_SMP_BUILD_ONLY(x)      x
 #else
 # define PAR_OR_SMP_BUILD_ONLY(x) \
-prog_belch("GHC not built for: -parallel or -smp"); \
+prog_belch("not built for: -parallel or -smp"); \
 error = rtsTrue;
 #endif
 
@@ -636,7 +643,7 @@ error = rtsTrue;
 # define GRAN_BUILD_ONLY(x)     x
 #else
 # define GRAN_BUILD_ONLY(x) \
-prog_belch("GHC not built for: -gransim"); \
+prog_belch("not built for: -gransim"); \
 error = rtsTrue;
 #endif