[project @ 1999-04-06 09:46:36 by simonm]
[ghc-hetmet.git] / ghc / driver / ghc.lprl
index 86f583b..eb9f967 100644 (file)
@@ -380,8 +380,7 @@ $Haskell1Version = 5; # i.e., Haskell 1.4
        ( "-D__HASKELL1__=$Haskell1Version"
        , "-D__GLASGOW_HASKELL__=$ProjectVersionInt"
        , "-D__HASKELL98__"
-       # not yet -- SDM
-       # , "-D__CONCURRENT_HASKELL__"
+       , "-D__CONCURRENT_HASKELL__"
        );
 
 @UserLibrary_dir= ();  #-L things;...
@@ -404,7 +403,7 @@ $TopClosureFile # defaults to 1.2 one; will be mangled later
 
 # make depend for Haskell
 $MkDependHS
-       = ( $INSTALLING ) ? "$InstBinDirGhc/mkdependHS"
+       = ( $INSTALLING ) ? "$InstLibExecDirGhc/mkdependHS"
                          : "$TopPwd/$CURRENT_DIR/$GHC_UTILS_DIR/mkdependHS/mkdependHS";
 # Fill in later
 @MkDependHS_flags = ();
@@ -485,6 +484,7 @@ $PROFing = '';              # set to p or e if profiling
 $PROFgroup = '';       # set to group if an explicit -Ggroup specified
 $PROFauto = '';                # set to relevant hsc flag if -auto or -auto-all
 $PROFcaf  = '';                # set to relevant hsc flag if -caf-all
+$PROFdict = '';                # set to relevant hsc flag if -auto-dicts
 $PROFignore_scc = '';  # set to relevant parser flag if explicit sccs ignored
 $UNPROFscc_auto = '';  # set to relevant hsc flag if forcing auto sccs without profiling
 $TICKYing = '';        # set to t if compiling for ticky-ticky profiling
@@ -1001,7 +1001,7 @@ sub setupBuildFlags {
    } else {
       push(@HsC_flags, $PROFauto) if $PROFauto;
       push(@HsC_flags, $PROFcaf)  if $PROFcaf;
-      #push(@HsC_flags, $PROFdict) if $PROFdict;
+      push(@HsC_flags, $PROFdict) if $PROFdict;
 
       $Oopt_FinalStgProfilingMassage = '-fmassage-stg-for-profiling';
 
@@ -1201,6 +1201,8 @@ sub setupLinkOpts {
           ,'-u', "${uscore}PrelBase_False_static_closure"
           ,'-u', "${uscore}PrelBase_True_static_closure"
           ,'-u', "${uscore}PrelPack_unpackCString_closure"
+          ,'-u', "${uscore}PrelException_stackOverflow_closure"
+          ,'-u', "${uscore}PrelException_heapOverflow_closure"
        ));
   if (!$NoHaskellMain) {
    unshift (@Ld_flags,'-u', "${uscore}PrelMain_mainIO_closure");
@@ -2937,13 +2939,14 @@ arg: while($_ = $Args[0]) {
 
     /^-prof$/ && do { $PROFing = 'p'; next arg; }; # profiling -- details later!
 
-    /^-auto/ && do {
-               # generate auto SCCs on top level bindings
-               # -auto-all = all top level bindings
-               # -auto     = only top level exported bindings
-               $PROFauto = ( /-all/ )
-                           ? '-fauto-sccs-on-all-toplevs'
-                           : '-fauto-sccs-on-exported-toplevs';
+    /^-auto-dicts$/ && do {
+               $PROFdicts = '-fauto-sccs-on-dicts';
+               next arg; };
+    /^-auto-all$/ && do {
+               $PROFauto = '-fauto-sccs-on-all-toplevs';
+               next arg; };
+    /^-auto$/ && do {
+               $PROFauto = '-fauto-sccs-on-exported-toplevs';
                next arg; };
 
     /^-caf-all/ && do { # generate individual CAF SCC annotations
@@ -3052,6 +3055,7 @@ arg: while($_ = $Args[0]) {
     /^-keep-s-files?-too$/     && do { $Keep_s_file_too = 1;  next arg; };
 
     /^-fignore-interface-pragmas$/ && do { push(@HsC_flags, $_); next arg; };
+    /^-fignore-asserts$/           && do { push(@HsC_flags, $_); next arg; };
 
     /^-fno-implicit-prelude$/      && do { $NoImplicitPrelude= 1; push(@HsC_flags, $_); next arg; };
 
@@ -3101,6 +3105,7 @@ arg: while($_ = $Args[0]) {
     /^-fno-speciali[sz]e$/
                && do { $Oopt_DoSpecialise = ''; next arg; };
 
+    /^-fcompiling-prelude$/ && do { push(@HsC_flags, $_); next arg; };
 
 # Now the foldr/build options, which are *on* by default (for -O).
 
@@ -3162,6 +3167,9 @@ arg: while($_ = $Args[0]) {
     /^-fno-let-from-(case|app|strict-let)$/ # experimental, really (WDP 95/10)
                    && do { push(@HsC_flags, $_); next arg; };
 
+    /^-funbox-strict-fields$/
+                  && do { push(@HsC_flags, $_); next arg; };
+
     # --------------- Warnings etc. ------
 
     /^-fwarn-(.*)$/      && do { push(@HsC_flags, $_); next arg; };