Commit d6d0a196 authored by Simon Marlow's avatar Simon Marlow

Fix up logic to decide whether shared libs are being built or not

Now, adding dyn to $(GhcLibWays) is how shared libs are enabled.
Everything else keys off that, rather than testing
$(BuildSharedLibs).
parent a4f81c1d
......@@ -40,6 +40,10 @@ GhcHcOpts = -Rghc-timing
GhcLibHcOpts = -O2 -XGenerics
GhcLibWays += p
ifeq "$(PlatformSupportsSharedLibs)" "YES"
GhcLibWays += dyn
endif
endif
# -------- A Fast build ------------------------------------------------------
......
......@@ -102,13 +102,9 @@ GhcProfiled=NO
GhcDebugged=NO
GhcLibProfiled=$(if $(filter p,$(GhcLibWays)),YES,NO)
# Build shared and/or static libs?
# Do we support shared libs?
PlatformSupportsSharedLibs = $(if $(filter $(TARGETPLATFORM),i386-unknown-linux x86_64-unknown-linux),YES,NO)
ifeq "$(PlatformSupportsSharedLibs)" "YES"
BuildSharedLibs = YES
else
BuildSharedLibs = NO
endif
# ToDo later:
# BuildStaticLibs=@BuildStaticLibs@
......@@ -221,10 +217,13 @@ ifneq "$(BootingFromHc)" "YES"
GhcLibWays += p
endif
ifeq "$(BuildSharedLibs)" "YES"
ifeq "$(PlatformSupportsSharedLibs)" "YES"
GhcLibWays += dyn
endif
# Handy way to test whether we're building shared libs or not.
BuildSharedLibs=$(strip $(if $(findstring dyn,$(GhcLibWays)),YES,NO))
# In addition, the RTS is built in some further variations. Ways that
# make sense here:
#
......@@ -246,15 +245,12 @@ ifeq "$(BootingFromHc)" "NO"
GhcRTSWays += debug
endif
ifeq "$(BuildSharedLibs)" "YES"
GhcRTSWays += dyn debug_dyn $(if $(findstring NO, $(GhcUnregisterised)),thr_dyn thr_debug_dyn)
endif
# Want the threaded versions unless we're unregisterised
# Defer the check until later by using $(if..), because GhcUnregisterised might
# be set in build.mk, which hasn't been read yet.
GhcRTSWays += $(if $(findstring NO, $(GhcUnregisterised)),thr thr_debug thr_l,)
GhcRTSWays += $(if $(findstring p, $(GhcLibWays)),$(if $(findstring NO, $(GhcUnregisterised)),thr_p,),)
GhcRTSWays += $(if $(findstring dyn, $(GhcLibWays)), dyn debug_dyn $(if $(findstring NO, $(GhcUnregisterised)),thr_dyn thr_debug_dyn),)
# We can only build GHCi threaded if we have a threaded RTS:
GhcThreaded = $(if $(findstring thr,$(GhcRTSWays)),YES,NO)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment