+ifeq "$(GhcProfiled)" "YES"
+CONFIGURE_FLAGS_STAGE2PLUS += --enable-executable-profiling
+endif
+ifeq "$(GhcDebugged)" "YES"
+CONFIGURE_FLAGS_STAGE2PLUS += --ghc-option=-debug
+endif
+ifeq "$(GhcThreaded)" "YES"
+# Use threaded RTS with GHCi, so threads don't get blocked at the prompt.
+CONFIGURE_FLAGS_STAGE2PLUS += --ghc-option=-threaded
+endif
+
+ifeq "$(BuildSharedLibs)" "YES"
+CONFIGURE_FLAGS_STAGE2PLUS += --ghc-option=-dynamic
+endif
+
+CONFIGURE_FLAGS_STAGE2 = $(CONFIGURE_FLAGS_STAGE2PLUS)
+CONFIGURE_FLAGS_STAGE3 = $(CONFIGURE_FLAGS_STAGE2PLUS)
+
+CONFIGURE_FLAGS_STAGE1 += $(USE_BOOT_CONFIGURE_FLAGS)
+CONFIGURE_FLAGS_STAGE2 += $(USE_STAGE1_CONFIGURE_FLAGS)
+CONFIGURE_FLAGS_STAGE3 += $(USE_STAGE2_CONFIGURE_FLAGS)
+
+CONFIGURE_FLAGS_STAGE1 += $(foreach flag, $(GhcStage1HcOpts), --ghc-option=$(flag))
+CONFIGURE_FLAGS_STAGE2 += $(foreach flag, $(GhcStage2HcOpts), --ghc-option=$(flag))
+CONFIGURE_FLAGS_STAGE3 += $(foreach flag, $(GhcStage3HcOpts), --ghc-option=$(flag))
+
+BUILD_FLAGS += $(patsubst %, --ghc-option=%, $(SRC_HC_OPTS))
+# Allow EXTRA_HC_OPTS to be used from the command line to add options
+# when building (e.g. -v)
+BUILD_FLAGS += $(patsubst %, --ghc-option=%, $(EXTRA_HC_OPTS))