[project @ 2005-05-05 11:33:10 by simonmar]
[ghc-hetmet.git] / ghc / rts / RtsStartup.c
index af39aa6..3eb116b 100644 (file)
@@ -11,6 +11,7 @@
 #include "RtsAPI.h"
 #include "RtsUtils.h"
 #include "RtsFlags.h"  
+#include "OSThreads.h"
 #include "Storage.h"    /* initStorage, exitStorage */
 #include "Schedule.h"   /* initScheduler */
 #include "Stats.h"      /* initStats */
 
 #include <stdlib.h>
 
-#ifdef HAVE_LOCALE_H
-#include <locale.h>
-#endif
-
 #ifdef HAVE_TERMIOS_H
 #include <termios.h>
 #endif
@@ -91,6 +88,7 @@ __hscore_set_saved_termios(int fd, void* ts)
 
 /* -----------------------------------------------------------------------------
    Initialise floating point unit on x86 (currently disabled. why?)
+   (see comment in ghc/compiler/nativeGen/MachInstrs.lhs).
    -------------------------------------------------------------------------- */
 
 #define X86_INIT_FPU 0
@@ -227,10 +225,6 @@ hs_init(int *argc, char **argv[])
     }
 #endif
 
-#ifdef HAVE_LOCALE_H
-    setlocale(LC_CTYPE,"");
-#endif
-
 #if X86_INIT_FPU
     x86_init_fpu();
 #endif
@@ -244,7 +238,8 @@ void
 startupHaskell(int argc, char *argv[], void (*init_root)(void))
 {
     hs_init(&argc, &argv);
-    hs_add_root(init_root);
+    if(init_root)
+        hs_add_root(init_root);
 }