From 941e5fe766fcfc323fba4648a0981948da045bd0 Mon Sep 17 00:00:00 2001 From: PHO Date: Fri, 7 Aug 2015 16:38:15 +0900 Subject: [PATCH] New configuration variable: USE_CABAL_COMMAND --- cabal-package.mk | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/cabal-package.mk b/cabal-package.mk index 6c96697..65404dc 100644 --- a/cabal-package.mk +++ b/cabal-package.mk @@ -2,6 +2,10 @@ # # Variables: # +# USE_CABAL_COMMAND :: whether to use the cabal(1) command instead +# of ./Setup +# default: "YES" if it's in the PATH, "NO" otherwise. +# # CONFIGURE_ARGS :: arguments to be passed to ./Setup configure # default: --disable-optimization # @@ -9,6 +13,7 @@ # AUTOCONF ?= autoconf +CABAL ?= cabal DARCS ?= darcs DITZ ?= ditz FIND ?= find @@ -21,6 +26,20 @@ RM_RF ?= rm -rf RSYNC ?= rsync SUDO ?= sudo +ifndef USE_CABAL_COMMAND +ifeq ($(shell which $(CABAL) >/dev/null 2>&1; echo $$?),0) +USE_CABAL_COMMAND := YES +else +USE_CABAL_COMMAND := NO +endif +endif + +ifeq ($(strip $(USE_CABAL_COMMAND)),YES) +SETUP_CMD := $(shell which $(CABAL)) +else +SETUP_CMD := ./Setup +endif + CONFIGURE_ARGS ?= --disable-optimization HADDOCK_OPTS ?= --hyperlink-source HLINT_OPTS ?= \ @@ -52,7 +71,7 @@ BUILDINFO_FILE := $(BUILDINFO_IN_FILE:.in=) all: build build: setup-config build-hook - ./Setup build + $(SETUP_CMD) build $(RM_RF) *.tix build-hook: @@ -71,14 +90,14 @@ setup-config: dist/setup-config setup-config-hook $(BUILDINFO_FILE) setup-config-hook: -dist/setup-config: $(CABAL_FILE) Setup $(AUTOCONF_FILE) - ./Setup configure $(CONFIGURE_ARGS) +dist/setup-config: $(CABAL_FILE) $(SETUP_CMD) $(AUTOCONF_FILE) + $(SETUP_CMD) configure $(CONFIGURE_ARGS) $(AUTOCONF_FILE): $(AUTOCONF_AC_FILE) $(AUTOCONF) $(BUILDINFO_FILE): $(BUILDINFO_IN_FILE) configure - ./Setup configure $(CONFIGURE_ARGS) + $(SETUP_CMD) configure $(CONFIGURE_ARGS) Setup: $(SETUP_FILE) $(GHC) --make Setup @@ -94,17 +113,17 @@ clean: clean-hook clean-hook: doc: setup-config - ./Setup haddock $(HADDOCK_OPTS) + $(SETUP_CMD) haddock $(HADDOCK_OPTS) install: build - $(SUDO) ./Setup install + $(SUDO) $(SETUP_CMD) install sdist: setup-config - ./Setup sdist + $(SETUP_CMD) sdist test: build $(RM_RF) dist/test - ./Setup test + $(SETUP_CMD) test if ls *.tix >/dev/null 2>&1; then \ $(HPC) sum --output="merged.tix" --union --exclude=Main *.tix; \ $(HPC) markup --destdir="dist/hpc" --fun-entry-count "merged.tix"; \ -- 2.40.0