Don't use the dyn way if we're dynamic by default
[ghc.git] / testsuite / config / ghc
index e030e7f..ee6b493 100644 (file)
@@ -26,7 +26,10 @@ config.other_ways         = ['extcore','optextcore',
                              'prof_hc_hb','prof_hb',
                              'prof_hd','prof_hy','prof_hr',
                              'threaded1_ls', 'threaded2_hT',
-                             'llvm', 'debugllvm']
+                             'llvm', 'debugllvm',
+                             'profllvm', 'profoptllvm', 'profthreadedllvm',
+                             'threaded1llvm', 'threaded2llvm',
+                             'dynllvm']
 
 if (ghc_with_native_codegen == 1):
     config.compile_ways.append('optasm')
@@ -46,11 +49,15 @@ config.unregisterised = (ghc_unregisterised == 1)
 if (ghc_with_threaded_rts == 1):
     config.run_ways.append('threaded1')
     if (ghc_with_smp == 1):
+        config.have_smp = True
         config.run_ways.append('threaded2')
 
-if (ghc_with_dynamic_rts == 1):
-    config.have_shared_libs = True
-    config.run_ways.append('dyn')
+if (ghc_dynamic_by_default == 1):
+    config.run_ways.append('static')
+else:
+    if (ghc_with_dynamic_rts == 1):
+        config.have_shared_libs = True
+        config.run_ways.append('dyn')
 
 if (ghc_with_profiling == 1 and ghc_with_threaded_rts == 1):
     config.run_ways.append('profthreaded')
@@ -68,7 +75,7 @@ config.way_flags = {
     'optasm'       : ['-O', '-fasm'],
     'llvm'         : ['-fllvm'],
     'optllvm'      : ['-O', '-fllvm'],
-    'debugllvm'    : ['-fllvm' '-keep-llvm-files'],
+    'debugllvm'    : ['-fllvm', '-keep-llvm-files'],
     'prof'         : ['-prof', '-auto-all', '-fasm'],
     'profasm'      : ['-O', '-prof', '-auto-all'],
     'profthreaded' : ['-O', '-prof', '-auto-all', '-threaded'],
@@ -85,7 +92,15 @@ config.way_flags = {
     'prof_hd'      : ['-O', '-prof', '-auto-all'],
     'prof_hy'      : ['-O', '-prof', '-auto-all'],
     'prof_hr'      : ['-O', '-prof', '-auto-all'],
-    'dyn'          : ['-O', '-dynamic']
+    'dyn'          : ['-O', '-dynamic'],
+    'static'       : ['-O', '-static'],
+    # llvm variants...
+    'profllvm'         : ['-prof', '-auto-all', '-fllvm'],
+    'profoptllvm'      : ['-O', '-prof', '-auto-all', '-fllvm'],
+    'profthreadedllvm' : ['-O', '-prof', '-auto-all', '-threaded', '-fllvm'],
+    'threaded1llvm'    : ['-threaded', '-debug', '-fllvm'],
+    'threaded2llvm'    : ['-O', '-threaded', '-eventlog', '-fllvm'],
+    'dynllvm'          : ['-O', '-dynamic', '-fllvm']
    }
 
 config.way_rts_flags = { 
@@ -111,7 +126,15 @@ config.way_rts_flags = {
     'prof_hd'      : ['-hd'],
     'prof_hy'      : ['-hy'],
     'prof_hr'      : ['-hr'],
-    'dyn'          : []
+    'dyn'          : [],
+    'static'       : [],
+    # llvm variants...
+    'profllvm'         : ['-p'],
+    'profoptllvm'      : ['-hc', '-p'],
+    'profthreadedllvm' : ['-p'],
+    'threaded1llvm'    : [],
+    'threaded2llvm'    : ['-N2 -ls'],
+    'dynllvm'          : []
    }
 
 # Useful classes of ways that can be used with only_ways() and
@@ -122,7 +145,7 @@ prof_ways = map (lambda x: x[0], \
                         config.way_flags.items()))
 
 threaded_ways = map (lambda x: x[0], \
-                 filter(lambda x: '-threaded' in x[1], \
+                 filter(lambda x: '-threaded' in x[1] or 'ghci' == x[0], \
                         config.way_flags.items()))
 
 opt_ways = map (lambda x: x[0], \