move way-related stuff into a separate file
authorSimon Marlow <marlowsd@gmail.com>
Mon, 21 Sep 2009 13:00:24 +0000 (13:00 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Mon, 21 Sep 2009 13:00:24 +0000 (13:00 +0000)
This fixes at least one problem: libHSffi-ghc<version>.so wasn't being
cleaned, because $(dyn_libsuf) wasn't defined while cleaning.

ghc.mk
mk/config.mk.in
mk/ways.mk [new file with mode: 0644]

diff --git a/ghc.mk b/ghc.mk
index aefa4b4..2170c43 100644 (file)
--- a/ghc.mk
+++ b/ghc.mk
@@ -124,6 +124,8 @@ $(error Please run ./configure first)
 endif
 endif
 
+include mk/ways.mk
+
 # (Optional) build-specific configuration
 include mk/custom-settings.mk
 
index edcf625..27682b7 100644 (file)
@@ -748,116 +748,6 @@ else
 HSCOLOUR_SRCS = YES
 endif
 
-#
-# Options for compiling in different `ways'. 
-# 
-# To configure up your own way, have a look at some of the standard ways
-# such as profiling, and create your own set of WAY_*_OPTS defs below.
-# After having done that, add your way string to WAYS, and after having
-# run the configure script, the different projects will add the new way
-# to the list of ways they support.
-#
-
-#
-# Definitions of the different ways:
-#   
-#   * their name:
-#          - tag, e.g., p
-#          - description, e.g., profiling
-#   * what they mean to the driver:
-#          - WAY_p_HC_OPTS gives the list of command-line options
-#            to the driver.
-#
-
-#
-# The ways currently defined.
-#
-ALL_WAYS=v p t l s mp mg debug dyn thr thr_l debug_dyn thr_dyn thr_debug_dyn thr_p thr_debug debug_p thr_debug_p
-
-#
-# The following ways currently have treated specially, p t mg,
-# as the driver script treats these guys specially and needs to carefully be told
-# about the options for these. Hence, we hide the required command line options
-# for these in the driver, as this is the only place they are needed.
-# 
-# If you want to add to these default options, fill in the variables below:
-
-# Way 'v':
-WAY_v_NAME=vanilla
-WAY_v_HC_OPTS= 
-
-# Way 'p':
-WAY_p_NAME=profiling
-WAY_p_HC_OPTS= -prof
-
-# Way 't':
-WAY_t_NAME=ticky-ticky profiling
-WAY_t_HC_OPTS= -ticky
-
-# Way 'l':
-WAY_l_NAME=event logging
-WAY_l_HC_OPTS= -eventlog
-
-# Way `mp': 
-WAY_mp_NAME=parallel
-WAY_mp_HC_OPTS=-parallel
-
-# Way `mg': 
-WAY_mg_NAME=GranSim
-WAY_mg_HC_OPTS=-gransim
-
-#
-# These ways apply to the RTS only:
-#
-
-# Way 'thr':
-WAY_thr_NAME=threaded
-WAY_thr_HC_OPTS=-optc-DTHREADED_RTS
-
-# Way 'thr_p':
-WAY_thr_p_NAME=threaded profiled
-WAY_thr_p_HC_OPTS=-optc-DTHREADED_RTS -prof
-
-# Way 'thr_l':
-WAY_thr_l_NAME=threaded event logging
-WAY_thr_l_HC_OPTS=-optc-DTHREADED_RTS -eventlog
-
-# Way 'debug':
-WAY_debug_NAME=debug
-WAY_debug_HC_OPTS=-optc-DDEBUG
-
-# Way 'debug_p':
-WAY_debug_p_NAME=debug profiled
-WAY_debug_p_HC_OPTS=-optc-DDEBUG -prof
-
-# Way 'debug_t':
-WAY_debug_t_NAME=debug ticky-ticky profiling
-WAY_debug_t_HC_OPTS= -ticky -optc-DDEBUG
-
-# Way 'thr_debug':
-WAY_thr_debug_NAME=threaded
-WAY_thr_debug_HC_OPTS=-optc-DTHREADED_RTS -optc-DDEBUG
-
-# Way 'thr_debug_p':
-WAY_thr_debug_p_NAME=threaded debug profiling
-WAY_thr_debug_p_HC_OPTS=-optc-DTHREADED_RTS -optc-DDEBUG -prof
-
-# Way 'dyn': build dynamic shared libraries
-WAY_dyn_NAME=dyn
-WAY_dyn_HC_OPTS=-fPIC -dynamic
-
-# Way 'thr_dyn':
-WAY_thr_dyn_NAME=thr_dyn
-WAY_thr_dyn_HC_OPTS=-fPIC -dynamic -optc-DTHREADED_RTS
-
-# Way 'thr_debug_dyn':
-WAY_thr_debug_dyn_NAME=thr_dyn
-WAY_thr_debug_dyn_HC_OPTS=-fPIC -dynamic -optc-DTHREADED_RTS -optc-DDEBUG
-
-# Way 'debug_dyn':
-WAY_debug_dyn_NAME=thr_dyn
-WAY_debug_dyn_HC_OPTS=-fPIC -dynamic -optc-DDEBUG
-
 ################################################################################
 #
 #              31-bit-Int Core files
diff --git a/mk/ways.mk b/mk/ways.mk
new file mode 100644 (file)
index 0000000..deba1d5
--- /dev/null
@@ -0,0 +1,109 @@
+#
+# Options for compiling in different `ways'. 
+# 
+# To configure up your own way, have a look at some of the standard ways
+# such as profiling, and create your own set of WAY_*_OPTS defs below.
+# After having done that, add your way string to WAYS, and after having
+# run the configure script, the different projects will add the new way
+# to the list of ways they support.
+#
+
+#
+# Definitions of the different ways:
+#   
+#   * their name:
+#          - tag, e.g., p
+#          - description, e.g., profiling
+#   * what they mean to the driver:
+#          - WAY_p_HC_OPTS gives the list of command-line options
+#            to the driver.
+#
+
+#
+# The ways currently defined.
+#
+ALL_WAYS=v p t l s mp mg debug dyn thr thr_l debug_dyn thr_dyn thr_debug_dyn thr_p thr_debug debug_p thr_debug_p
+
+#
+# The following ways currently have treated specially, p t mg,
+# as the driver script treats these guys specially and needs to carefully be told
+# about the options for these. Hence, we hide the required command line options
+# for these in the driver, as this is the only place they are needed.
+# 
+# If you want to add to these default options, fill in the variables below:
+
+# Way 'v':
+WAY_v_NAME=vanilla
+WAY_v_HC_OPTS= 
+
+# Way 'p':
+WAY_p_NAME=profiling
+WAY_p_HC_OPTS= -prof
+
+# Way 't':
+WAY_t_NAME=ticky-ticky profiling
+WAY_t_HC_OPTS= -ticky
+
+# Way 'l':
+WAY_l_NAME=event logging
+WAY_l_HC_OPTS= -eventlog
+
+# Way `mp': 
+WAY_mp_NAME=parallel
+WAY_mp_HC_OPTS=-parallel
+
+# Way `mg': 
+WAY_mg_NAME=GranSim
+WAY_mg_HC_OPTS=-gransim
+
+#
+# These ways apply to the RTS only:
+#
+
+# Way 'thr':
+WAY_thr_NAME=threaded
+WAY_thr_HC_OPTS=-optc-DTHREADED_RTS
+
+# Way 'thr_p':
+WAY_thr_p_NAME=threaded profiled
+WAY_thr_p_HC_OPTS=-optc-DTHREADED_RTS -prof
+
+# Way 'thr_l':
+WAY_thr_l_NAME=threaded event logging
+WAY_thr_l_HC_OPTS=-optc-DTHREADED_RTS -eventlog
+
+# Way 'debug':
+WAY_debug_NAME=debug
+WAY_debug_HC_OPTS=-optc-DDEBUG
+
+# Way 'debug_p':
+WAY_debug_p_NAME=debug profiled
+WAY_debug_p_HC_OPTS=-optc-DDEBUG -prof
+
+# Way 'debug_t':
+WAY_debug_t_NAME=debug ticky-ticky profiling
+WAY_debug_t_HC_OPTS= -ticky -optc-DDEBUG
+
+# Way 'thr_debug':
+WAY_thr_debug_NAME=threaded
+WAY_thr_debug_HC_OPTS=-optc-DTHREADED_RTS -optc-DDEBUG
+
+# Way 'thr_debug_p':
+WAY_thr_debug_p_NAME=threaded debug profiling
+WAY_thr_debug_p_HC_OPTS=-optc-DTHREADED_RTS -optc-DDEBUG -prof
+
+# Way 'dyn': build dynamic shared libraries
+WAY_dyn_NAME=dyn
+WAY_dyn_HC_OPTS=-fPIC -dynamic
+
+# Way 'thr_dyn':
+WAY_thr_dyn_NAME=thr_dyn
+WAY_thr_dyn_HC_OPTS=-fPIC -dynamic -optc-DTHREADED_RTS
+
+# Way 'thr_debug_dyn':
+WAY_thr_debug_dyn_NAME=thr_dyn
+WAY_thr_debug_dyn_HC_OPTS=-fPIC -dynamic -optc-DTHREADED_RTS -optc-DDEBUG
+
+# Way 'debug_dyn':
+WAY_debug_dyn_NAME=thr_dyn
+WAY_debug_dyn_HC_OPTS=-fPIC -dynamic -optc-DDEBUG