[project @ 1997-06-10 18:40:34 by sof]
[ghc-hetmet.git] / mk / config.mk.in
index 35ce354..57910d4 100644 (file)
 #              * ghc&hslibs next
 #              then it's up to you
 
-ProjectsToBuild =  glafp-utils literate ghc hslibs
+ProjectsToBuild   = glafp-utils literate ghc hslibs
+#
+# Make a distinction between building and installing, ProjectsToInstall
+# does not include the literate bits..
+#
+ProjectsToInstall = glafp-utils ghc hslibs
 
 #
 # Should the various project tests directories be built?
@@ -82,9 +87,9 @@ IncludeTestDirsInBuild=NO
 # 
 GhcProjectName       =The Glorious Glasgow Haskell Compilation System
 GhcProjectNameShort  =ghc
-GhcProjectVersion    =2.02
+GhcProjectVersion    =2.04
 GhcProjectPatchLevel =0
-GhcBuildeeVersion    =202
+GhcBuildeeVersion    =204
 GhcBuilderVersion    =29
 
 #
@@ -153,10 +158,18 @@ GhcWithNativeCodeGen=YES
 # Build the compiler with the deforester included?
 GhcWithDeforester=NO
 
+#
+# Building various ways?
+# (right now, empty if not).
+BuildingParallel=$(subst mp,YES,$(filter mp,$(WAYS)))
+BuildingConcurrent=$(subst mc,YES,$(filter mc,$(WAYS)))
+BuildingProfiling=$(subst p,YES,$(filter p,$(WAYS)))
+BuildingGranSim=$(subst mg,YES,$(filter mg,$(WAYS)))
+BuildingProfilingConcurrent=$(subst mr,YES,$(filter mr,$(WAYS)))
 
 #---------------------------------------------------------------
 #
-# Variables that control how the prelude libararies and runtime system are built
+# Variables that control how the prelude libraries and runtime system are built
 
 # What extra ways to build the libraries in
 # In addition to the normal sequential way, the default is to also build
@@ -287,18 +300,58 @@ FPTOOLS_TOP_ABS           = @hardtop@
 prefix                  = @prefix@
 exec_prefix             = @exec_prefix@
 bindir                  = @bindir@
-sbindir                 = @sbindir@
-libexecdir              = @libexecdir@
+#UNUSED, see below: libexecdir              = @libexecdir@
 datadir                 = @datadir@
-sysconfdir              = @datadir@
-sharedstatedir          = @sharedstatedir@
-localstatedir           = @localstatedir@
+#sysconfdir              = @datadir@
+#sharedstatedir          = @sharedstatedir@
+#localstatedir           = @localstatedir@
 libdir                  = @libdir@
 infodir                        = @infodir@
 includedir              = @includedir@
 oldincludedir           = @oldincludedir@
 mandir                 = @mandir@
-srcdir                  = @srcdir@
+#UNUSED:srcdir          = @srcdir@
+
+# 
+# Default values for most of the above are only set if
+# they weren't configured to anything in particular
+# via the configure script. (i.e., we make no assumption
+# that the autoconf-generated script will assign defaults
+# to all of the above).
+#
+ifeq "$(strip $(exec_prefix))" ""
+exec_prefix            = $(prefix)
+endif
+ifeq "$(strip $(bindir))" ""
+bindir                 = $(exec_prefix)/bin
+endif
+
+#
+# NOTE: by intention, libexecdir and libdir point to 
+# the same place.
+#  => Only way to override this is to set libexecdir= on the command line.
+#     (NOTE: configure script setting is ignored).
+libexecdir             = $(libdir)
+
+ifeq "$(strip $(datadir))" ""
+datadir                = $(prefix)/share
+endif
+ifeq "$(strip $(libdir))" ""
+libdir         = $(exec_prefix)/lib
+endif
+ifeq "$(strip $(infodir))" ""
+infodir                = $(prefix)/info
+endif
+ifeq "$(strip $(includedir))" ""
+includedir     = $(prefix)/include
+endif
+ifeq "$(strip $(oldincludedir))" ""
+oldincludedir  = /usr/include
+endif
+ifeq "$(strip $(mandir))" ""
+mandir         = $(prefix)/man
+endif
 
 #################################################################################
 #
@@ -330,9 +383,14 @@ HOSTPLATFORM                       = @HostPlatform@
 TARGETPLATFORM                 = @TargetPlatform@
 BUILDPLATFORM                  = @HostPlatform@
 
+# Hack alert:
+# in one or two places, we need to get at the OS version (major and perhaps even minor),
+# HostOS_Full is the OS name reported by AC_CANONICAL_SYSTEM.
+#
 HostPlatform_CPP               = @HostPlatform_CPP@
 HostArch_CPP                   = @HostArch_CPP@
 HostOS_CPP                     = @HostOS_CPP@
+HostOS_Full                    = @HostOS_Full@
 HostVendor_CPP                 = @HostVendor_CPP@
 
 #
@@ -468,6 +526,12 @@ CTAGS                      = $(ETAGS)
 RAWCPP                  = @RAWCPP@
 GNUCPP                  = @GNUCPP@
 INSTALL                        = @INSTALL@
+#
+# Sigh - the autoconf macro for INSTALL will subst a relative path to the fallback
+# install-sh script (if chosen). This not terribly useful to us, so we convert
+# it into an abs. path.
+# 
+INSTALL                        := $(subst .././install-sh,$(FPTOOLS_TOP_ABS)/install-sh,$(INSTALL))
 LATEX                  = latex
 LN_S                   = @LN_S@
 MANMACROS              = -man
@@ -482,6 +546,29 @@ RANLIB                     = @RANLIB@
 RM                     = rm -f
 SED                    = @SedCmd@
 SHELL                  = /bin/sh
+#
+# In emergency situations, REAL_SHELL is used to perform shell commands
+# from within the ghc driver script, by scribbling the command line to
+# a temp file and then having $(REAL_SHELL) execute it. 
+#
+# The reason for having to do this is that overly long command lines
+# cause unnecessary trouble with some shells (e.g., /bin/sh on Solaris
+# 2.5.1), which is why this backdoor is provided. The situation of overly
+# long command lines is either encountered while doing `make boot' in ghc/compiler, 
+# or when linking the compiler binary (`hsc'). 
+#
+# We do not use SHELL to execute long commands, as `make' will more than likely
+# override whatever setting you have in your environment while executing. 
+
+# By default, REAL_SHELL is set equal SHELL, which is not really a smart move
+# as it SHELL that will show up the bogosity in the first place, but setting
+# it to anything else isn't really portable.
+#
+#  ====> If long command lines cause you trouble, invoke `ghc' (via `make' or otherwise)
+# with REAL_SHELL set to something else than /bin/sh, for instance, your favourite
+# command shell.
+#
+REAL_SHELL=$(SHELL)
 SIZE                   = size
 STRIP                  = strip
 TAR                    = @TarCmd@