X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fconfig.mk.in;h=7148144b5dfcb12869c5610dd6c27a24ae26b18c;hb=0ecf634bfc122cdb81e7569718e27c880cd2c40f;hp=7e8cc32430f41e9d9e2614cdbcbe1bdee2f19f9e;hpb=aacbb9918d5458df0a64231bb55976679e471b91;p=ghc-hetmet.git diff --git a/mk/config.mk.in b/mk/config.mk.in index 7e8cc32..7148144 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -218,12 +218,8 @@ GhcStage1HcOpts= GhcStage2HcOpts= GhcStage3HcOpts= -ifneq "$(findstring thr, $(GhcRTSWays))" "" -GhcThreaded=YES -else -GhcThreaded=NO -endif GhcProfiled=NO +GhcDebugged=NO # Build a compiler that will build *unregisterised* libraries and # binaries by default. Unregisterised code is supposed to compile and @@ -320,6 +316,8 @@ BuildingGranSim=$(subst mg,YES,$(filter mg,$(WAYS))) HscIfaceFileVersion=6 +MakefileDeps=YES + #------------------------------------------------------------------------------ # Options for Libraries @@ -358,6 +356,9 @@ endif # be set in build.mk, which hasn't been read yet. GhcRTSWays += $(if $(findstring NO, $(GhcUnregisterised)),thr thr_p thr_debug,) +# We can only build GHCi threaded if we have a threaded RTS: +GhcThreaded = $(if $(findstring thr,$(GhcRTSWays)),YES,NO) + # Option flags to pass to GHC when it's compiling modules in # fptools/libraries. Typically these are things like -O or # -dcore-lint or -H32m. The ones that are *essential* are wired into @@ -496,29 +497,64 @@ ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" DEFAULT_TMPDIR = /C/TEMP endif -# FPTOOLS_TOP: the top of the fptools hierarchy, absolute path. (POSIX / unix-style path). +# FPTOOLS_TOP: the top of the fptools hierarchy, absolute path. +# On Windows this is a c:/foo/bar style path. FPTOOLS_TOP_ABS = @hardtop@ -# The platform specific version of 'hardtop'. -FPTOOLS_TOP_ABS_PLATFORM = @hardtop_plat@ -BIN_DIST_NAME=ghc-$(ProjectVersion) -BIN_DIST_TOPDIR=$(FPTOOLS_TOP_ABS) -BIN_DIST_DIR=$(BIN_DIST_TOPDIR)/$(BIN_DIST_NAME) - -# -# Installation directories, we don't use half of these, -# but since the configure script has them on offer while -# passing through, we might as well set them. +# This gets used in the default docdir +PACKAGE_TARNAME = @PACKAGE_TARNAME@ -prefix = @prefix@ -datarootdir = @datarootdir@ -exec_prefix = @exec_prefix@ -bindir = @bindir@ -datadir0 = @datadir@ -libdir0 = @libdir@ -includedir = @includedir@ -oldincludedir = @oldincludedir@ -mandir = @mandir@ +BIN_DIST_NAME=ghc-$(ProjectVersion) +BIN_DIST_TOPDIR_REL=$(FPTOOLS_TOP) +BIN_DIST_TOPDIR_ABS=$(FPTOOLS_TOP_ABS) +BIN_DIST_DIR=$(BIN_DIST_TOPDIR_ABS)/$(BIN_DIST_NAME) +BIN_DIST_TARBALL=$(BIN_DIST_TOPDIR_REL)/$(BIN_DIST_NAME)-$(TARGETPLATFORM).tar.bz2 + +BIN_DIST_INST_DIR = $(FPTOOLS_TOP_ABS)/bindisttest/installed + +# Definition of installation directories, we don't use half of these, but since +# the configure script has them on offer while passing through, we might as well +# set them. Note that we have to be careful, because the GNU coding standards +# have changed a bit over the course of time, and autoconf development reflects +# this. +# +# A little bit of history regarding autoconf and GNU coding standards, use this +# as a cheat-sheet for the stuff below: +# +# variable | default < 2.60 | default >= 2.60 +# ------------+--------------------+-------------------------------------- +# exec_prefix | ${prefix} | ${prefix} +# libdir | ${exec_prefix}/lib | ${exec_prefix}/lib +# datarootdir | NONE! | ${prefix}/share +# datadir | ${prefix}/share | ${datarootdir} +# infodir | ${prefix}/info | ${datarootdir}/info +# mandir | ${prefix}/man | ${datarootdir}/man +# docdir | NONE! | ${datarootdir}/doc/${PACKAGE_TARNAME} +# htmldir | NONE! | ${docdir} +# dvidir | NONE! | ${docdir} +# pdfdir | NONE! | ${docdir} +# psdir | NONE! | ${docdir} +# +# NOTE: The default e.g. ${docdir} above means that autoconf substitutes the +# string "${docdir}", not the value of docdir! This is crucial for the GNU +# coding standards. + +prefix := @prefix@ + +# New autoconf (>= 2.60?) make a configure with a --datarootdir=DIR flag. +# However, in order to support older autoconf's we don't use it. +# datarootdir is set lower down instead. +# But, as datadir is defined in terms of datarootdir, we also need to +# set it to the value (if any) that configure gives it here. +datarootdir := @datarootdir@ + +exec_prefix := @exec_prefix@ +bindir := @bindir@ +datadir0 := @datadir@ +libdir0 := @libdir@ +includedir := @includedir@ +oldincludedir := @oldincludedir@ +mandir := @mandir@ ifeq "$(Windows)" "YES" @@ -528,8 +564,9 @@ endif # Hack: our directory layouts tend to be different on Windows, so # hack around configure's bogus assumptions here. -datadir = $(prefix) -libdir = $(prefix) +datarootdir := $(prefix) +datadir := $(prefix) +libdir := $(prefix) else @@ -537,11 +574,29 @@ else # Unix: override libdir and datadir to put ghc-specific stuff in # a subdirectory with the version number included. # -libdir = $(libdir0)/ghc-$(ProjectVersion) -datadir = $(datadir0)/ghc-$(ProjectVersion) +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. + +#docdir := @docdir@ +#htmldir := @htmldir@ +#dvidir := @dvidir@ +#pdfdir := @pdfdir@ +#psdir := @psdir@ + +docdir := $(datarootdir)/doc/ghc +htmldir := $(docdir) +dvidir := $(docdir) +pdfdir := $(docdir) +psdir := $(docdir) + # Default place for putting interface files is $(libdir) # (overriden for packages in package.mk) ifacedir = $(libdir) @@ -583,6 +638,11 @@ ifeq "$(strip $(mandir))" "" mandir = $(prefix)/man endif +# This is a bit of a lie, as this is a wrapper rather than the program +# itself. However, it means that we don't have to worry about Windows +# and non-Windows having different extensions. +GHC_PKG_PROG = $(FPTOOLS_TOP_ABS)/$(GHC_PKG_DIR_REL)/ghc-pkg-inplace + #----------------------------------------------------------------------------- # install configuration @@ -604,6 +664,7 @@ INSTALL_PROGRAM = $(INSTALL) -m 755 INSTALL_SCRIPT = $(INSTALL) -m 755 INSTALL_SHLIB = $(INSTALL) -m 755 INSTALL_DATA = $(INSTALL) -m 644 +INSTALL_HEADER = $(INSTALL) -m 644 INSTALL_MAN = $(INSTALL) -m 644 INSTALL_DIR = $(MKDIRHIER)