diff options
-rw-r--r-- | configure.ac | 15 | ||||
-rw-r--r-- | mk/config.mk.in | 1 | ||||
-rw-r--r-- | rts/ghc.mk | 2 |
3 files changed, 17 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index 0af10c19ec..22801c99a3 100644 --- a/configure.ac +++ b/configure.ac @@ -428,6 +428,21 @@ FP_ARG_WITH_PATH_GNU_PROG([LD], [ld]) LdCmd="$LD" AC_SUBST([LdCmd]) +dnl ** Check for dlltool on Windows +dnl -------------------------------------------------------------- +case $HostOS_CPP in +cygwin32|mingw32) + AC_PATH_PROG(DlltoolCmd,dlltool) + if test -z "$DlltoolCmd"; then + echo "Can't find dlltool in your path, can't make DLLs." + exit 1 + fi + ;; +*) + AC_SUBST(DlltoolCmd,"") + ;; +esac + dnl ** Which nm to use? dnl -------------------------------------------------------------- FP_ARG_WITH_PATH_GNU_PROG([NM], [nm]) diff --git a/mk/config.mk.in b/mk/config.mk.in index 36dd2d3fd7..4431dd8055 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -550,6 +550,7 @@ SRC_HSC2HS_OPTS += $(foreach d,$(GMP_INCLUDE_DIRS),-I$(d)) # Mingwex Library # HaveLibMingwEx = @HaveLibMingwEx@ +DLLTOOL = @DlltoolCmd@ #----------------------------------------------------------------------------- # Flex (currently unused, could be moved to glafp-utils) diff --git a/rts/ghc.mk b/rts/ghc.mk index 220103d2a6..a4c31d8e80 100644 --- a/rts/ghc.mk +++ b/rts/ghc.mk @@ -118,7 +118,7 @@ ifneq "$$(findstring dyn, $1)" "" $$(rts_$1_LIB) : $$(rts_$1_OBJS) rts/libs.depend "$$(RM)" $$(RM_OPTS) $$@ ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32" - dlltool -d rts/win32/libHSbase.def -l rts/dist/build/win32/libHSbase.so.a + "$$(DLLTOOL)" -d rts/win32/libHSbase.def -l rts/dist/build/win32/libHSbase.so.a "$$(rts_dist_HC)" -shared -dynamic -dynload deploy \ -no-auto-link-packages `cat rts/libs.depend` $$(rts_$1_OBJS) rts/dist/build/win32/libHSbase.so.a -o $$@ else |