X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fconfig.mk.in;h=f146817bc46e18a57d69a066f96119856dbd4c21;hb=7a1deea7df2b58b6b66b9495a89e1e51741da6c3;hp=9bfd642ce1bf35e2cadfd509289c7d6eee99e0ca;hpb=60610640fdf2f9b037f2d323f3e1127849e76028;p=ghc-hetmet.git diff --git a/mk/config.mk.in b/mk/config.mk.in index 9bfd642..f146817 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -291,6 +291,14 @@ else GhcEnableTablesNextToCode=YES endif +# On Windows we normally want to make a relocatable bindist, to we +# ignore flags like libdir +ifeq "$(Windows)" "YES" +RelocatableBuild = YES +else +RelocatableBuild = NO +endif + # When building bindists we set this to yes so that the binaries are as # portable as possible. BeConservative = NO @@ -342,7 +350,6 @@ endif # thr_p : threaded profiled # debug : debugging (compile with -g for the C compiler, and -DDEBUG) # debug_p : debugging profiled -# debug_u : debugging unregisterised # thr_debug : debugging threaded # thr_debug_p : debugging threaded profiled # t : ticky-ticky profiling @@ -388,13 +395,7 @@ StripLibraries=NO # These are the URL patterns that Haddock uses to generate the "Source # File" links on each page. -CorePackageSourceURL = http://darcs.haskell.org/ghc-6.6/packages/$(PACKAGE)/%{FILE} -ExtraPackageSourceURL = http://darcs.haskell.org/packages/$(PACKAGE)/%{FILE} - -# These are the packages required to be present in order to bootstrap GHC -# NB. must be synced with libraries/core-packages -CorePackages = base Cabal haskell98 readline regex-base regex-compat \ - regex-posix parsec stm template-haskell unix Win32 +PackageSourceURL = http://darcs.haskell.org/packages/$(PACKAGE)/%{FILE} # ---------------------------------------------------------------------------- # Object-file splitting @@ -559,7 +560,7 @@ libdir0 := @libdir@ includedir := @includedir@ mandir := @mandir@ -ifeq "$(Windows)" "YES" +ifeq "$(RelocatableBuild)" "YES" # Hack: our directory layouts tend to be different on Windows, so # hack around configure's bogus assumptions here. @@ -567,6 +568,12 @@ datarootdir := $(prefix) datadir := $(prefix) libdir := $(prefix) +docdir := $(prefix)/doc +htmldir := $(docdir) +dvidir := $(docdir) +pdfdir := $(docdir) +psdir := $(docdir) + else # Unix: override libdir and datadir to put ghc-specific stuff in @@ -575,10 +582,6 @@ datarootdir := $(datadir0) datadir := $(datadir0)/ghc-$(ProjectVersion) libdir := $(libdir0)/ghc-$(ProjectVersion) -endif # Windows - -headerdir := $(libdir)/include - # New autoconf (>= 2.60?) make a configure with --docdir=DIR etc flags. # However, in order to support older autoconf's we don't use them. @@ -594,6 +597,10 @@ dvidir := $(docdir) pdfdir := $(docdir) psdir := $(docdir) +endif # Windows + +headerdir := $(libdir)/include + # Default place for putting interface files is $(libdir) # (overriden for packages in package.mk) ifacedir = $(libdir) @@ -634,6 +641,19 @@ INSTALL_HEADER = $(INSTALL) -m 644 INSTALL_MAN = $(INSTALL) -m 644 INSTALL_DIR = $(MKDIRHIER) +# +# runhaskell and hsc2hs are special, in that other compilers besides +# GHC might provide them. Systems with a package manager often come +# with tools to manage this kind of clash, e.g. RPM's +# update-alternatives. When building a distribution for such a system, +# we recommend setting both of the following to 'YES'. +# +# NO_INSTALL_RUNHASKELL = YES +# NO_INSTALL_HSC2HS = YES +# +# NB. we use negative tests here because for binary-distributions we cannot +# test build-time variables at install-time, so they must default to on. + # ----------------------------------------------------------------------------- # Utilities programs: flags @@ -694,6 +714,7 @@ GHC_DOCBOOK_DIR_REL = $(GHC_UTILS_DIR_REL)/docbook GHC_UNLIT_DIR_REL = $(GHC_UTILS_DIR_REL)/unlit GHC_HP2PS_DIR_REL = $(GHC_UTILS_DIR_REL)/hp2ps GHC_HSTAGS_DIR_REL = $(GHC_UTILS_DIR_REL)/hasktags +GHC_GHCTAGS_DIR_REL = $(GHC_UTILS_DIR_REL)/ghctags GHC_HSC2HS_DIR_REL = $(GHC_UTILS_DIR_REL)/hsc2hs GHC_TOUCHY_DIR_REL = $(GHC_UTILS_DIR_REL)/touchy GHC_PKG_DIR_REL = $(GHC_UTILS_DIR_REL)/ghc-pkg @@ -721,6 +742,7 @@ GHC_DOCBOOK_DIR = $(FPTOOLS_TOP)/$(GHC_DOCBOOK_DIR_REL) GHC_UNLIT_DIR = $(FPTOOLS_TOP)/$(GHC_UNLIT_DIR_REL) GHC_HP2PS_DIR = $(FPTOOLS_TOP)/$(GHC_HP2PS_DIR_REL) GHC_HSTAGS_DIR = $(FPTOOLS_TOP)/$(GHC_HSTAGS_DIR_REL) +GHC_GHCTAGS_DIR = $(FPTOOLS_TOP)/$(GHC_GHCTAGS_DIR_REL) GHC_HSC2HS_DIR = $(FPTOOLS_TOP)/$(GHC_HSC2HS_DIR_REL) GHC_TOUCHY_DIR = $(FPTOOLS_TOP)/$(GHC_TOUCHY_DIR_REL) GHC_PKG_DIR = $(FPTOOLS_TOP)/$(GHC_PKG_DIR_REL) @@ -748,6 +770,7 @@ GHC_DOCBOOK_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_DOCBOOK_DIR_REL) GHC_UNLIT_DIR = $(FPTOOLS_TOP_ABS)/$(GHC_UNLIT_DIR_REL) GHC_HP2PS_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_HP2PS_DIR_REL) GHC_HSTAGS_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_HSTAGS_DIR_REL) +GHC_GHCTAGS_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_GHCTAGS_DIR_REL) GHC_HSC2HS_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_HSC2HS_DIR_REL) GHC_TOUCHY_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_TOUCHY_DIR_REL) GHC_PKG_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_PKG_DIR_REL) @@ -767,6 +790,7 @@ GHC_SPLIT_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_SPLIT_DIR_REL) GHC_UNLIT_PGM = unlit$(exeext) GHC_HP2PS_PGM = hp2ps GHC_HSTAGS_PGM = hasktags +GHC_GHCTAGS_PGM = ghctags GHC_HSC2HS_INPLACE_PGM = hsc2hs-inplace GHC_TOUCHY_PGM = touchy$(exeext) GHC_MANGLER_PGM = ghc-asm @@ -792,6 +816,7 @@ endif UNLIT = $(GHC_UNLIT_DIR)/$(GHC_UNLIT_PGM) HP2PS = $(GHC_HP2PS_DIR)/$(GHC_HP2PS_PGM) HSTAGS = $(GHC_HSTAGS_DIR)/$(GHC_HSTAGS_PGM) +GHCTAGS = $(GHC_GHCTAGS_DIR)/$(GHC_GHCTAGS_PGM) HSC2HS_INPLACE = $(GHC_HSC2HS_DIR)/$(GHC_HSC2HS_INPLACE_PGM) MANGLER = $(GHC_MANGLER_DIR)/$(GHC_MANGLER_PGM) SPLIT = $(GHC_SPLIT_DIR)/$(GHC_SPLIT_PGM) @@ -1130,11 +1155,11 @@ HADDOCK = @HaddockCmd@ # # The ways currently defined. # -ALL_WAYS=p t u s mp mg a b c d e f g h i j k l m n o A B +ALL_WAYS=p t s mp mg a b c d e f g h i j k l m n o A B USER_WAYS=a b c d e f g h j k l m n o A B # -# The following ways currently have treated specially, p u t mg, +# The following ways currently have treated specially, p t mg, # as the driver script treats these guys specially and needs to carefully be told # about the options for these. Hence, we hide the required command line options # for these in the driver, as this is the only place they are needed. @@ -1153,10 +1178,6 @@ WAY_p_HC_OPTS= -prof WAY_t_NAME=ticky-ticky profiling WAY_t_HC_OPTS= -ticky -# Way `u': -WAY_u_NAME=unregisterized (using portable C only) -WAY_u_HC_OPTS=-unreg - # Way `mp': WAY_mp_NAME=parallel WAY_mp_HC_OPTS=-parallel @@ -1185,10 +1206,6 @@ WAY_debug_HC_OPTS=-optc-DDEBUG WAY_debug_p_NAME=debug profiled WAY_debug_p_HC_OPTS=-optc-DDEBUG -prof -# Way 'debug_u': -WAY_debug_u_NAME=debug unregisterised -WAY_debug_u_HC_OPTS=-optc-DDEBUG -unreg - # Way 'debug_t': WAY_debug_t_NAME=debug ticky-ticky profiling WAY_debug_t_HC_OPTS= -ticky -optc-DDEBUG