From 66b0d2dea58a0eb13889e86069b9d8297de4c19c Mon Sep 17 00:00:00 2001 From: Duncan Coutts Date: Tue, 28 Apr 2009 12:35:29 +0000 Subject: [PATCH] Add a new $way_libsuf variable for library suffix+extension This allows the library file type to depend on the way. This is needed to use .so/.dll libs for the "dyn" way rather than always using .a libs. For example: thr_debug_dyn_libsuf="_thr_debug-ghc6.11.20090426.so" --- rules/build-package-way.mk | 2 +- rules/way-prelims.mk | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/rules/build-package-way.mk b/rules/build-package-way.mk index 1f0832a..5fb3cdf 100644 --- a/rules/build-package-way.mk +++ b/rules/build-package-way.mk @@ -20,7 +20,7 @@ $$(foreach dir,$$($1_$2_HS_SRC_DIRS),\ $(call hs-objs,$1,$2,$3) -$1_$2_$3_LIB = $1/$2/build/libHS$$($1_PACKAGE)-$$($1_$2_VERSION)$$($3__way).a +$1_$2_$3_LIB = $1/$2/build/libHS$$($1_PACKAGE)-$$($1_$2_VERSION)$$($3_libsuf) $1_$2_$3_MKSTUBOBJS = find $1/$2/build -name "*_stub.$$($3_osuf)" -print # HACK ^^^ we tried to use $(wildcard), but apparently it fails due to diff --git a/rules/way-prelims.mk b/rules/way-prelims.mk index 4885264..ae4db30 100644 --- a/rules/way-prelims.mk +++ b/rules/way-prelims.mk @@ -21,4 +21,14 @@ endif $1_osuf = $$($1_way_)o $1_hisuf = $$($1_way_)hi $1_hcsuf = $$($1_way_)hc + +ifneq "$(findstring dyn,$1)" "" +# If the way includes "dyn" then it's a dynamic lib way. We mangle the +# way name to remove "dyn" (or "_dyn") and we change the suffix to +# include the versioned dynamic lib extension (eg .so or .dynlib). +# For example: thr_debug_dyn_libsuf="_thr_debug-ghc6.11.20090426.so" +$1_libsuf = $$($(subst dyn,,$(subst _dyn,,$1))__way)-ghc$(ProjectVersion)$(soext) +else +$1_libsuf = $$($1__way).a +endif endef -- 1.7.10.4