Add autoconf code to locate dlltool on Windows
authorBen.Lippmeier@anu.edu.au <unknown>
Tue, 10 Nov 2009 05:12:57 +0000 (05:12 +0000)
committerBen.Lippmeier@anu.edu.au <unknown>
Tue, 10 Nov 2009 05:12:57 +0000 (05:12 +0000)
configure.ac
mk/config.mk.in
rts/ghc.mk

index 0af10c1..22801c9 100644 (file)
@@ -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])
index 36dd2d3..4431dd8 100644 (file)
@@ -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)
index 220103d..a4c31d8 100644 (file)
@@ -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