aboutsummaryrefslogtreecommitdiff
path: root/lang/ghc/Makefile
diff options
context:
space:
mode:
authorAde Lovett <ade@FreeBSD.org>2000-10-13 20:17:46 +0000
committerAde Lovett <ade@FreeBSD.org>2000-10-13 20:17:46 +0000
commit7ae3a78d483f3ef1fb328821b1028b6c78c80ec8 (patch)
tree5336b5bceb2d25bd34d48c88875b4f526ead1ca5 /lang/ghc/Makefile
parent99ca6f8804d1f51efe6c08f4cb6c1c5cf448a3db (diff)
downloadports-7ae3a78d483f3ef1fb328821b1028b6c78c80ec8.tar.gz
ports-7ae3a78d483f3ef1fb328821b1028b6c78c80ec8.zip
Update to 4.08.1
PR: 21502 Submitted by: maintainer
Notes
Notes: svn path=/head/; revision=33778
Diffstat (limited to 'lang/ghc/Makefile')
-rw-r--r--lang/ghc/Makefile31
1 files changed, 27 insertions, 4 deletions
diff --git a/lang/ghc/Makefile b/lang/ghc/Makefile
index c1e181c16e1c..7f125b8bf238 100644
--- a/lang/ghc/Makefile
+++ b/lang/ghc/Makefile
@@ -5,9 +5,9 @@
# $FreeBSD$
PORTNAME= ghc
-PORTVERSION= 4.08
+PORTVERSION= 4.08.1
CATEGORIES= lang
-MASTER_SITES= http://www.haskell.org/ghc/dist/4.08/
+MASTER_SITES= http://www.haskell.org/ghc/dist/4.08.1/
DISTFILES= ghc-${PORTVERSION}-src${EXTRACT_SUFX} \
ghc-${PORTVERSION}-x86-hc${EXTRACT_SUFX}
@@ -23,6 +23,12 @@ CONFIGURE_TARGET=
WRKSRC= ${WRKDIR}/fptools
+# override TMPDIR because /tmp often doesn't have enough space
+# to build some of the larger libraries.
+TMPDIR = ${WRKSRC}/tmp
+MAKE_ENV += TMPDIR=${TMPDIR}
+
+
# Note:
# - This port will bootstrap from pre-compiled C files.
# - ToDo: bootstrap using existing compiler, if one is installed.
@@ -31,17 +37,34 @@ WRKSRC= ${WRKDIR}/fptools
# switch to non-bootstrapping mode for installation, the build system
# won't try to create them.
#
-pre-build:
+BOOT_COOKIE = ${WRKDIR}/.boot_done
+
+${BOOT_COOKIE}:
+ @${MKDIR} ${TMPDIR}
@${CP} ${FILESDIR}/build.mk ${WRKSRC}/mk
@${TOUCH} ${TOUCH_FLAGS} ${WRKSRC}/ghc/compiler/rename/ParseIface.hs
@${TOUCH} ${TOUCH_FLAGS} ${WRKSRC}/ghc/compiler/parser/Parser.hs
@(cd ${WRKSRC}/glafp-utils; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} boot)
@(cd ${WRKSRC}/ghc; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} boot)
@(cd ${WRKSRC}/hslibs; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} boot)
+ @${TOUCH} ${TOUCH_FLAGS} ${BOOT_COOKIE}
+
+pre-build: ${BOOT_COOKIE}
-post-build:
+# After building the compiler, we go back and build the libraries from
+# source using the compiler we just built. We also build profiling
+# versions of the libraries at this point.
+
+REAL_LIBS_COOKIE = ${WRKDIR}/.real_libs_done
+
+${REAL_LIBS_COOKIE}:
@echo "GhcWithHscBuiltViaC=NO" >>${WRKSRC}/mk/build.mk
+ @echo "GhcLibWays=p" >>${WRKSRC}/mk/build.mk
+ @(cd ${WRKSRC}/ghc/rts; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} clean boot all)
@(cd ${WRKSRC}/ghc/lib; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} clean boot all)
@(cd ${WRKSRC}/hslibs; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} clean boot all)
+ @${TOUCH} ${TOUCH_FLAGS} ${REAL_LIBS_COOKIE}
+
+post-build: ${REAL_LIBS_COOKIE}
.include <bsd.port.mk>