From d8ee31a38b280e69c0b19e19992fc1df9c84c08c Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Fri, 18 Jul 2008 16:53:17 +0000 Subject: [PATCH] Build runghc with Cabal --- utils/Makefile | 6 +++--- utils/runghc/Makefile | 48 +++------------------------------------------ utils/runghc/runghc.cabal | 28 ++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 48 deletions(-) create mode 100644 utils/runghc/runghc.cabal diff --git a/utils/Makefile b/utils/Makefile index e101e50..ea6f904 100644 --- a/utils/Makefile +++ b/utils/Makefile @@ -3,13 +3,13 @@ include $(TOP)/mk/boilerplate.mk ifeq "$(DOING_BIN_DIST)" "YES" # We're doing a binary-dist, descend into a subset of the dirs. -SUBDIRS = mkdirhier hp2ps parallel unlit runghc hpc pwd +SUBDIRS = mkdirhier hp2ps parallel unlit hpc pwd else ifeq "$(BootingFromHc)" "YES" SUBDIRS = mkdependC mkdirhier runstdtest genapply genprimopcode unlit else SUBDIRS = mkdependC mkdirhier runstdtest hp2ps \ - parallel unlit genprimopcode genapply runghc hpc pwd + parallel unlit genprimopcode genapply hpc pwd endif ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32" # lndir doesn't build on Windows @@ -55,7 +55,7 @@ endif WITH_BOOTSTRAPPING_COMPILER = installPackage ghc-pkg hsc2hs -WITH_STAGE1 = installPackage ghc-pkg hasktags +WITH_STAGE1 = installPackage ghc-pkg hasktags runghc ifneq "$(NO_INSTALL_HSC2HS)" "YES" WITH_STAGE1 += hsc2hs endif diff --git a/utils/runghc/Makefile b/utils/runghc/Makefile index 54245a3..37e2a1d 100644 --- a/utils/runghc/Makefile +++ b/utils/runghc/Makefile @@ -1,49 +1,7 @@ + TOP=../.. include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/cabal.mk -# Beyond stage 1, honour any Mac OS X depolyment target options. If we use -# these options in stage 1 we get a linker error if the bootstrap compiler is -# for a more recent OS version -ifeq "$(stage)" "2" -SRC_CC_OPTS += $(MACOSX_DEPLOYMENT_CC_OPTS) -SRC_HC_OPTS += $(addprefix -optc, $(MACOSX_DEPLOYMENT_CC_OPTS)) -SRC_LD_OPTS += $(addprefix -optl, $(MACOSX_DEPLOYMENT_LD_OPTS)) -endif - -ifeq "$(ghc_ge_605)" "NO" -SRC_HC_OPTS += -cpp -endif - -# We have two version: the inplace version compiled by the bootstrap compiler -# and the install version compiled by the stage 1 compiler -ifeq "$(stage)" "2" -HS_PROG = runghc$(exeext) -else -HS_PROG = runghc-inplace$(exeext) -endif -INSTALL_PROGS += $(HS_PROG) - -UseGhcForCc = YES -SRC_MKDEPENDC_OPTS += -I$(GHC_INCLUDE_DIR) - -SRC_HC_OPTS += -Wall - -RUNHASKELL_PROG = runhaskell$(exeext) -all :: $(RUNHASKELL_PROG) - -$(RUNHASKELL_PROG) : $(HS_PROG) - $(CP) $< $(RUNHASKELL_PROG) - -MOSTLY_CLEAN_FILES += $(RUNHASKELL_PROG) - -ifneq "$(NO_INSTALL_RUNHASKELL)" "YES" -INSTALL_PROGS += $(RUNHASKELL_PROG) -endif - -binary-dist:: - $(INSTALL_DIR) $(BIN_DIST_DIR)/utils/runghc - $(INSTALL_DATA) Makefile $(BIN_DIST_DIR)/utils/runghc/ - $(INSTALL_PROGRAM) $(HS_PROG) $(BIN_DIST_DIR)/utils/runghc/ - $(INSTALL_PROGRAM) $(RUNHASKELL_PROG) $(BIN_DIST_DIR)/utils/runghc/ +# XXX Need to make runhaskell somehow -include $(TOP)/mk/target.mk diff --git a/utils/runghc/runghc.cabal b/utils/runghc/runghc.cabal new file mode 100644 index 0000000..17ed923 --- /dev/null +++ b/utils/runghc/runghc.cabal @@ -0,0 +1,28 @@ +Name: runghc +-- XXX version number: +Version: 0.67 +Copyright: XXX +License: BSD3 +-- XXX License-File: LICENSE +Author: XXX +Maintainer: XXX +Synopsis: XXX +Description: + XXX +Category: Development +build-type: Simple +cabal-version: >=1.2 + +Flag base3 + Description: Choose the new smaller, split-up base package. + +Executable runghc + Main-Is: runghc.hs + + if flag(base3) + Build-Depends: base >= 3 && < 4, + directory >= 1 && < 1.1, + process >= 1 && < 1.1 + else + Build-Depends: base < 3 + -- 1.7.10.4