summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormthomas <unknown>2004-05-20 07:15:49 +0000
committermthomas <unknown>2004-05-20 07:15:49 +0000
commitc7b6fe940417b8ff6200c85690c6ee2c613767c8 (patch)
tree5819ff170a89185a8742124ee65b98e509668b06
parent9d55b184a39e35dd18764713137054f79b8aa088 (diff)
downloadhaskell-c7b6fe940417b8ff6200c85690c6ee2c613767c8.tar.gz
[project @ 2004-05-20 07:15:47 by mthomas]
Install MinGW32 gcc and perl.
-rw-r--r--Makefile22
-rw-r--r--aclocal.m42
-rw-r--r--configure.ac7
-rw-r--r--mk/config.mk.in3
4 files changed, 33 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index b6b23572cd..e4b56142d8 100644
--- a/Makefile
+++ b/Makefile
@@ -121,6 +121,28 @@ install ::
fi; \
done
+# If installing on Windows with MinGW32, copy the gcc compiler, headers and libs
+# and the perl interpreter and dll into the GHC prefix directory.
+# Gcc and Perl source locations derived from configuration data.
+ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
+ifneq "$(WhatGccIsCalled)" ""
+install ::
+ -mkdir $(prefix)/gcc-lib
+ -mkdir $(prefix)/include
+ -mkdir $(prefix)/include/mingw
+ -cp -rp $(GccDir)../include/* $(prefix)/include/mingw
+ -cp -rp $(GccDir)../lib/gcc-lib/mingw32/$(GccVersion)/* $(prefix)/gcc-lib
+ -cp $(GccDir)../lib/*.* $(prefix)/gcc-lib
+ -cp $(GccDir)gcc.exe $(prefix)
+ -cp $(GccDir)as.exe $(prefix)/gcc-lib
+ -cp $(GccDir)ld.exe $(prefix)/gcc-lib
+ -cp $(GccDir)dllwrap.exe $(prefix)/gcc-lib
+ -cp $(GccDir)dlltool.exe $(prefix)/gcc-lib
+ -cp $(GhcDir)../perl.exe $(prefix)
+ -cp $(GhcDir)../perl56.dll $(prefix)
+endif
+endif
+
install-docs ::
@case '${MFLAGS}' in *-[ik]*) x_on_err=0;; *-r*[ik]*) x_on_err=0;; *) x_on_err=1;; esac; \
for i in $(filter-out $(ProjectsDontInstall), $(SUBDIRS)); do \
diff --git a/aclocal.m4 b/aclocal.m4
index fcfbef8a60..d5a3c83c89 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -569,6 +569,8 @@ fi
])
HaveGcc=`echo $fptools_cv_have_gcc | sed 'y/yesno/YESNO/'`
AC_SUBST(HaveGcc)
+GccVersion=`gcc --version | grep mingw | cut -f 3 -d ' '`
+AC_SUBST(GccVersion)
])
dnl
diff --git a/configure.ac b/configure.ac
index d4682eaabc..a83db0fdcb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -613,7 +613,12 @@ AC_ARG_WITH(gcc,
fi
fi;
CC="$withval"],
-[WhatGccIsCalled="gcc"]
+[if test "x$HostPlatform" = "xi386-unknown-mingw32"
+ then
+ WhatGccIsCalled=`which gcc`
+ else
+ WhatGccIsCalled="gcc"
+ fi;]
)
AC_SUBST(WhatGccIsCalled)
diff --git a/mk/config.mk.in b/mk/config.mk.in
index 4ffb9154b7..66c18c1256 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -713,6 +713,7 @@ HSC2HS_PREFIX = $(FPTOOLS_TOP)/ghc/utils/hsc2hs/
# (because the version numbers have to be calculated).
GHC = @WithGhc@
+GhcDir = $(dir $(GHC))
GhcVersion = @GhcVersion@
GhcMajVersion = @GhcMajVersion@
GhcMinVersion = @GhcMinVersion@
@@ -752,11 +753,13 @@ GHC_STAGE3 = $(FPTOOLS_TOP)/ghc/compiler/stage3/ghc-inplace
HaveGcc = @HaveGcc@
UseGcc = YES
WhatGccIsCalled = @WhatGccIsCalled@
+GccVersion = @GccVersion@
ifeq "$(strip $(HaveGcc))" "YES"
ifneq "$(strip $(UseGcc))" "YES"
CC = cc
else
CC = $(WhatGccIsCalled)
+ GccDir = $(dir $(WhatGccIsCalled))
endif
endif