summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2022-08-05 22:46:26 -0400
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-08-25 20:05:31 -0400
commit4a426924578c1febe8a5d34c7a265223ba8031df (patch)
tree4cdbceb89873af08b542278c19312f85545eb803
parent659502bc4f78ccba1b35d06eeaa934f2614f1706 (diff)
downloadhaskell-4a426924578c1febe8a5d34c7a265223ba8031df.tar.gz
Drop mk/{build,install,config}.mk.in
-rw-r--r--configure.ac10
-rw-r--r--distrib/configure.ac.in3
-rw-r--r--ghc/ghc-bin.cabal.in4
-rw-r--r--hadrian/src/Rules/BinaryDist.hs2
-rw-r--r--mk/build.mk.sample111
-rw-r--r--mk/config.mk.in877
-rw-r--r--mk/install.mk.in152
-rw-r--r--rts/rts.cabal.in10
-rwxr-xr-xvalidate3
9 files changed, 6 insertions, 1166 deletions
diff --git a/configure.ac b/configure.ac
index daa28f4daf..0917d0789d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -73,9 +73,6 @@ cat rts/ghcversion.h.bottom >> rts/i
# Hmmm, we fix the RPM release number to 1 here... Is this convenient?
AC_SUBST([release], [1])
-# First off, a distrib sanity check..
-AC_CONFIG_SRCDIR([mk/config.mk.in])
-
dnl * We require autoconf version 2.69 due to
dnl https://bugs.ruby-lang.org/issues/8179. Also see #14910.
dnl * We need 2.50 due to the use of AC_SYS_LARGEFILE and AC_MSG_NOTICE.
@@ -1202,12 +1199,7 @@ checkMake380() {
checkMake380 make
checkMake380 gmake
-dnl Things specific to the make build system
-AC_CONFIG_FILES(
-[ mk/config.mk
- mk/install.mk
- mk/project.mk
-])
+AC_CONFIG_FILES([ mk/project.mk ])
dnl When adding things to this list be sure to update hadrian's
dnl Rules.Configure.configureResults list.
diff --git a/distrib/configure.ac.in b/distrib/configure.ac.in
index 2d579185dc..ea2d9f70a2 100644
--- a/distrib/configure.ac.in
+++ b/distrib/configure.ac.in
@@ -255,8 +255,7 @@ AC_SUBST(UseLibdw)
FP_SETTINGS
-#
-AC_CONFIG_FILES(config.mk mk/config.mk mk/install.mk)
+AC_CONFIG_FILES([config.mk])
AC_OUTPUT
# We get caught by
diff --git a/ghc/ghc-bin.cabal.in b/ghc/ghc-bin.cabal.in
index 7a4f604e0f..d7cf0cc55a 100644
--- a/ghc/ghc-bin.cabal.in
+++ b/ghc/ghc-bin.cabal.in
@@ -82,10 +82,6 @@ Executable ghc
UnboxedTuples
ViewPatterns
- -- The flag being True by default, this reflects the
- -- mk/config.mk.in logic for GhcThreaded (which ends up
- -- always being True as well). One can still opt out by
- -- disabling this flag.
if flag(threaded)
ghc-options: -threaded
diff --git a/hadrian/src/Rules/BinaryDist.hs b/hadrian/src/Rules/BinaryDist.hs
index 5a4539afc0..15c0a65d14 100644
--- a/hadrian/src/Rules/BinaryDist.hs
+++ b/hadrian/src/Rules/BinaryDist.hs
@@ -347,8 +347,6 @@ compressorExtension Bzip2 = "bz2"
bindistInstallFiles :: [FilePath]
bindistInstallFiles =
[ "config.sub", "config.guess", "install-sh"
- , "mk" -/- "config.mk.in" -- TODO: Remove when make is gone
- , "mk" -/- "install.mk.in" -- TODO: Remove when make is gone
, "mk" -/- "project.mk"
, "mk" -/- "relpath.sh"
, "mk" -/- "system-cxx-std-lib-1.0.conf.in"
diff --git a/mk/build.mk.sample b/mk/build.mk.sample
deleted file mode 100644
index e3417a2765..0000000000
--- a/mk/build.mk.sample
+++ /dev/null
@@ -1,111 +0,0 @@
-# -----------------------------------------------------------------------------
-# A Sample build.mk
-#
-# Uncomment one of the following BuildFlavour settings to get the desired
-# overall build type.
-
-# -------- Build profiles -----------------------------------------------------
-# Uncomment one of these to select a build profile below:
-
-# Full build with max optimisation and everything enabled (very slow build)
-#BuildFlavour = perf
-
-# As above but build GHC using the LLVM backend
-#BuildFlavour = perf-llvm
-
-# Perf build configured for a cross-compiler (using the LLVM backend)
-#BuildFlavour = perf-cross
-
-# Perf build configured for a cross-compiler (using the NCG backend)
-#BuildFlavour = perf-cross-ncg
-
-# Fast build with optimised libraries, no profiling (RECOMMENDED):
-#BuildFlavour = quick
-
-# Fast build with optimised libraries, no profiling, with LLVM:
-#BuildFlavour = quick-llvm
-
-# Fast build configured for a cross compiler (using the LLVM backend)
-#BuildFlavour = quick-cross
-
-# Fast build configured for a cross compiler (using the NCG backend)
-#BuildFlavour = quick-cross-ncg
-
-# Even faster build. NOT RECOMMENDED: the libraries will be
-# completely unoptimised, so any code built with this compiler
-# (including stage2) will run very slowly, and many GHC tests
-# will fail with this profile (see #12141):
-#BuildFlavour = quickest
-
-# Profile the stage2 compiler:
-#BuildFlavour = prof
-
-# Profile the stage2 compiler (LLVM backend):
-#BuildFlavour = prof-llvm
-
-# A development build, working on the stage 1 compiler:
-#BuildFlavour = devel1
-
-# A development build, working on the stage 2 compiler:
-#BuildFlavour = devel2
-
-# A build with max optimisation that still builds the stage2 compiler
-# quickly. Compiled code will be the same as with "perf". Programs
-# will compile more slowly.
-#BuildFlavour = bench
-
-# As above but build GHC using the LLVM backend
-#BuildFlavour = bench-llvm
-
-# Bench build configured for a cross-compiler (using the LLVM backend)
-#BuildFlavour = bench-cross
-
-# Bench build configured for a cross-compiler (using the NCG backend)
-#BuildFlavour = bench-cross-ncg
-
-# Use the same settings as validate.
-#BuildFlavour = validate
-
-ifneq "$(BuildFlavour)" ""
-include mk/flavours/$(BuildFlavour).mk
-endif
-
-# -------- Miscellaneous variables --------------------------------------------
-
-# Set to V = 0 to get prettier build output.
-# Please use V=1 (the default) when reporting GHC bugs.
-#V=0
-
-# Should all enabled warnings (see mk/warnings.mk) be turned into errors while
-# building stage 2?
-#WERROR=-Werror
-
-# After stage 1 and the libraries have been built, you can uncomment this line:
-#stage=2
-
-# Then stage 1 will not be touched by the build system, until
-# you comment the line again. This is a useful trick for when you're
-# working on stage 2 and want to freeze stage 1 and the libraries for
-# a while.
-
-# Enable these if you would like DWARF debugging symbols for your libraries.
-# This is necessary, for instance, to get DWARF stack traces out of programs
-# built by the produced compiler. You must also pass --enable-dwarf-unwind to
-# `configure` to enable the runtime system's builtin unwinding support.
-#GhcLibHcOpts += -g3
-#GhcRtsHcOpts += -g3
-
-# Build the "extra" packages (see ./packages). This enables more tests. See:
-# https://gitlab.haskell.org/ghc/ghc/wikis/building/running-tests/running#additional-packages
-#BUILD_EXTRA_PKGS=YES
-
-# Uncomment the following to force `ghc-bignum` to use the in-tree GMP 6.1.2
-# (other sometimes useful configure-options: `--with-gmp-{includes,libraries}`)
-#libraries/ghc-bignum_CONFIGURE_OPTS += --configure-option=--with-intree-gmp
-
-# Enable pretty hyperlinked sources
-#HADDOCK_DOCS = YES
-#EXTRA_HADDOCK_OPTS += --quickjump --hyperlinked-source
-
-# Don't strip debug and other unneeded symbols from libraries and executables.
-STRIP_CMD = :
diff --git a/mk/config.mk.in b/mk/config.mk.in
deleted file mode 100644
index f2afbb6f00..0000000000
--- a/mk/config.mk.in
+++ /dev/null
@@ -1,877 +0,0 @@
-# -*-makefile-*-
-# @configure_input@
-#
-################################################################################
-#
-# config.mk.in
-#
-# This file supplies defaults for many tweakable build configuration
-# options. Some of the defaults are filled in by the autoconf-generated
-# configure script.
-#
-# DO NOT EDIT THIS FILE!
-#
-# - config.mk is auto-generated from config.mk.in by configure.
-# If you edit config.mk your changes will be spammed.
-#
-# - Settings in this file may be overridden by giving replacement
-# definitions in build.mk. See build.mk.sample for a good
-# starting point for a build.mk file.
-#
-# If you don't have a build.mk file then you get defaults for everything.
-# The defaults should provide a reasonable vanilla build.
-
-# TOP: the top of the fptools hierarchy, absolute path.
-# On Windows this is a c:/foo/bar style path.
-TOP = @hardtop@
-
-include $(TOP)/mk/project.mk
-
-# By default, be verbose
-V = 1
-
-################################################################################
-#
-# Global configuration options
-#
-################################################################################
-
-NO_INCLUDE_DEPS = NO
-NO_INCLUDE_PKGDATA = NO
-
-################################################################################
-#
-# Variables that control how the compiler itself is built
-#
-################################################################################
-
-# The compiler used to build GHC is $(GHC). To change the actual compiler
-# used, re-configure with --with-ghc=<path-to-ghc>.
-
-# Extra option flags to pass to the compiler that compiles the compiler
-# (Ones that are essential are wired into compiler/Makefile)
-# Typical options to use here:
-#
-# -DDEBUG include debugging code and assertions (will make the
-# compiler slower and produce debugging output, but useful
-# for development)
-#
-# -dcore-lint check the types after every pass of the compiler;
-# a pretty strong internal check of the compiler being
-# used to compile GHC. Useful when bootstrapping.
-GhcHcOpts=-Rghc-timing
-
-# Extra options added to specific stages of the compiler bootstrap.
-# These are placed later on the command line, and may therefore
-# override options from $(GhcHcOpts).
-#
-# See Note [Stage number in build variables].
-#
-# -haddock is needed so the GHCi :doc command can find docs
-# in the .hi-files for the ghc library
-GhcStage1HcOpts=
-GhcStage2HcOpts=-O2 -haddock
-GhcStage3HcOpts=-O2 -haddock
-
-
-# Note [Stage number in build variables]
-# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-# There are (unfortunately) two different naming schemes for build variables
-# specific to a certain stage.
-#
-# * GhcStage1HcOpts/GhcStage2HcOpts/GhcStage3HcOpts:
-#
-# The stage number refers to the compiler stage being built (ghc library
-# and executable).
-#
-# * SRC_HC_OPTS_STAGE$4 and SRC_HC_WARNING_OPTS_STAGE$4:
-#
-# The stage number refers to the compiler stage the options are passed to.
-
-GhcDebugged=NO
-
-# GhcProfiled=YES means compile a profiled stage-2 compiler
-GhcProfiled=NO
-
-# WITH_TERMINFO can be used to disable terminfo support throughout the compiler
-# and its tools. This is handy in the case of cross-compilation, where we may
-# not have an ncurses build for the target.
-ifeq "$(TargetOS_CPP)" "ios"
-# iOS has no terminfo support
-WITH_TERMINFO=NO
-else ifeq "$(Windows_Target)" "YES"
-WITH_TERMINFO=NO
-else
-WITH_TERMINFO=YES
-endif
-
-ifeq "$(findstring $(TargetOS_CPP),linux freebsd dragonfly openbsd netbsd solaris2 kfreebsdgnu haiku linux-android)" ""
-TargetElf = NO
-else
-TargetElf = YES
-endif
-
-# Some platforms don't support shared libraries
-NoSharedLibsPlatformList = \
- powerpc-ibm-aix \
- x86_64-unknown-mingw32 \
- i386-unknown-mingw32
-
-ifeq "$(SOLARIS_BROKEN_SHLD)" "YES"
-NoSharedLibsPlatformList += i386-unknown-solaris2
-endif
-
-PlatformSupportsSharedLibs = $(if $(filter $(TARGETPLATFORM),\
- $(NoSharedLibsPlatformList)),NO,YES)
-
-# If building both v and dyn ways, then use -dynamic-too to build them.
-# This makes the build faster.
-DYNAMIC_TOO = YES
-
-# Use the dynamic way when building programs in the GHC tree. In
-# particular, this means that GHCi will use DLLs rather than loading
-# object files directly.
-ifeq "$(TargetOS_CPP)" "mingw32"
-# This doesn't work on Windows yet
-DYNAMIC_GHC_PROGRAMS = NO
-DYNAMIC_TOO=NO
-else ifeq "$(PlatformSupportsSharedLibs)" "NO"
-DYNAMIC_GHC_PROGRAMS = NO
-else
-DYNAMIC_GHC_PROGRAMS = YES
-endif
-
-# Build a compiler that will build *unregisterised* libraries and
-# binaries by default. Unregisterised code is supposed to compile and
-# run without any support for architecture-specific assembly mangling,
-# register assignment or tail-calls, and is therefore a good way to get
-# started when porting GHC to new architectures.
-#
-# NOTE: the stage1 compiler will be a registerised binary (assuming
-# the compiler you build with is generating registerised binaries), but
-# the stage2 compiler will be an unregisterised binary.
-#
-GhcUnregisterised=@Unregisterised@
-
-# ArchSupportsSMP should be set iff there is support for that arch in
-# rts/include/stg/SMP.h
-ifeq "$(TargetArch_CPP)" "arm"
-# We don't support load/store barriers pre-ARMv7. See #10433.
-ArchSupportsSMP=$(if $(filter $(ARM_ISA),ARMv5 ARMv6),NO,YES)
-else
-ArchSupportsSMP=$(strip $(patsubst $(TargetArch_CPP), YES, $(findstring $(TargetArch_CPP), i386 x86_64 sparc powerpc powerpc64 powerpc64le s390x aarch64 riscv64)))
-endif
-
-# The THREADED_RTS requires `BaseReg` to be in a register and the
-# `GhcUnregisterised` mode doesn't allow that.
-GhcWithSMP := $(strip $(if $(filter YESNO, $(ArchSupportsSMP)$(GhcUnregisterised)),YES,NO))
-
-# Whether or not the bootstrapping GHC supplies a threaded RTS.
-GhcThreadedRts = @GhcThreadedRts@
-
-# Whether to include GHCi in the compiler. Depends on whether the RTS linker
-# has support for this OS/ARCH combination.
-
-OsSupportsGHCi=$(strip $(patsubst $(TargetOS_CPP), YES, $(findstring $(TargetOS_CPP), mingw32 linux solaris2 freebsd dragonfly netbsd openbsd darwin kfreebsdgnu)))
-ArchSupportsGHCi=$(strip $(patsubst $(TargetArch_CPP), YES, $(findstring $(TargetArch_CPP), i386 x86_64 powerpc powerpc64 powerpc64le sparc sparc64 arm aarch64)))
-
-ifeq "$(OsSupportsGHCi)$(ArchSupportsGHCi)" "YESYES"
-GhcWithInterpreter=YES
-else
-GhcWithInterpreter=$(if $(findstring YES,$(DYNAMIC_GHC_PROGRAMS)),YES,NO)
-endif
-
-# On Windows we normally want to make a relocatable bindist, to we
-# ignore flags like libdir
-ifeq "$(Windows_Host)" "YES"
-RelocatableBuild = YES
-else
-RelocatableBuild = NO
-endif
-
-# needs to be after $(RelocatableBuild) is set above
-include $(TOP)/mk/install.mk
-
-# When building bindists we set this to yes so that the binaries are as
-# portable as possible.
-BeConservative = NO
-
-ExtraMakefileSanityChecks = NO
-
-#------------------------------------------------------------------------------
-# Options for Libraries
-
-# Backend to use in ghc-bignum (gmp, native, etc.)
-BIGNUM_BACKEND=gmp
-
-# We build the libraries at least the "vanilla" way (way "v")
-# Technically we don't need the v way if DYNAMIC_GHC_PROGRAMS is YES,
-# but with -dynamic-too it's cheap, and makes life easier.
-GhcLibWays = v
-
-# In addition to the normal sequential way, the default is to also build
-# profiled prelude libraries
-# $(if $(filter ...)) allows controlling this expression from build.mk.
-GhcLibWays += $(if $(filter $(BUILD_PROF_LIBS),NO),,p)
-
-# Backward compatibility: although it would be cleaner to test for
-# PlatformSupportsSharedLibs, or perhaps a new variable BUILD_SHARED_LIBS,
-# some users currently expect that DYNAMIC_GHC_PROGRAMS=NO in build.mk implies
-# that dyn is not added to GhcLibWays.
-GhcLibWays += $(if $(filter $(DYNAMIC_GHC_PROGRAMS),NO),,dyn)
-
-# Handy way to test whether we're building shared libs or not.
-BuildSharedLibs=$(strip $(if $(findstring dyn,$(GhcLibWays)),YES,NO))
-
-# In addition, the RTS is built in some further variations. Ways that
-# make sense here:
-#
-# thr : threaded
-# thr_p : threaded + profiled
-# debug : debugging
-# thr_debug : debugging + threaded
-# p : profiled
-#
-# While the eventlog used to be enabled in only a subset of ways, we now always
-# enable it.
-
-# Usually want the debug version
-GhcRTSWays = debug
-
-# We always have the threaded versions, but note that SMP support may be disabled
-# (see GhcWithSMP).
-GhcRTSWays += thr thr_debug
-GhcRTSWays += $(if $(findstring p, $(GhcLibWays)),thr_p,)
-GhcRTSWays += $(if $(findstring dyn, $(GhcLibWays)),dyn debug_dyn thr_dyn thr_debug_dyn,)
-GhcRTSWays += $(if $(findstring p, $(GhcLibWays)),thr_debug_p debug_p,)
-
-# 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
-# the build system.
-#
-# -O(2) is pretty desirable, otherwise no inlining of prelude
-# things (incl "+") happens when compiling with this compiler
-#
-# -haddock is needed so the GHCi :doc command can find the boot
-# library docs in the respective .hi-files
-
-GhcLibHcOpts=-O2 -haddock
-
-# Strip local symbols from libraries? This can make the libraries smaller,
-# but makes debugging somewhat more difficult. Doesn't work with all ld's.
-#
-StripLibraries=NO
-
-# ----------------------------------------------------------------------------
-# Section splitting
-#
-# Similar to -ffunction-sections -fdata-sections in GCC.
-#
-# Set SplitSections=YES or NO in your build.mk to override the default.
-#
-# This is not supported on Darwin (where you can use subsections-via-symbols
-# instead) and Windows is disabled until we figure the linking performance
-# issues related to BFD out. (See #11445, #12913 and related tickets.)
-OsSupportsSplitSections=$(if $(filter $(TargetOS_CPP),darwin),NO,YES)
-SupportsSplitSections=$(if $(and $(filter YES,$(OsSupportsSplitSections)),\
- $(filter YES,$(LdIsGNULd))),YES,NO)
-SplitSections ?= $(SupportsSplitSections)
-
-# ----------------------------------------------------------------------------
-
-# There are a number of things which technically depend on GHC (e.g. if
-# ghc changes then Haskell files may be compiled differently, or Cabal
-# packages may be configured differently). By default we therefore
-# have dependencies on the compiler executable.
-
-# However, in practice, having a dependency on GHC is just a pain: We
-# normally don't want to spend time recompiling other things while
-# we're working on the compiler, and even if we did, GHC will normally
-# decide compilation isn't needed anyway. So by setting LAX_DEPENDENCIES
-# to YES you can turn these dependencies into order-only dependencies,
-# i.e. GHC must exist, but if it's newer than other targets then
-# rebuilding is not necessary.
-
-LAX_DEPENDENCIES = NO
-
-# ----------------------------------------------------------------------------
-# Options for GHC's RTS
-
-# Build an optimised RTS. Remember that we need to turn on
-# optimisation both for C code (-optc-O2) and .cmm code (-O2). For
-# the debugging RTS flavour, rts/ghc.mk overrides these to turn off
-# optimisation.
-GhcRtsHcOpts=-O2
-GhcRtsCcOpts=-O2 -fomit-frame-pointer -g
-
-# Configuration for libffi
-UseSystemLibFFI=@UseSystemLibFFI@
-# Flags to go into package.conf for rts
-FFILibDir=@FFILibDir@
-FFIIncludeDir=@FFIIncludeDir@
-
-UseLibffiForAdjustors=@UseLibffiForAdjustors@
-
-UseLibdw=@UseLibdw@
-LibdwLibDir=@LibdwLibDir@
-LibdwIncludeDir=@LibdwIncludeDir@
-
-# GHC needs arch-specific tweak at least in
-# rts/Libdw.c:set_initial_registers()
-GhcRtsWithLibdw=$(strip $(if $(filter $(TargetArch_CPP),i386 x86_64 s390x),@UseLibdw@,NO))
-
-################################################################################
-#
-# Paths (see paths.mk)
-#
-################################################################################
-
-BINDIST = NO
-BIN_DIST_NAME = ghc-$(ProjectVersion)
-BIN_DIST_PREP_DIR = bindistprep/$(BIN_DIST_NAME)
-BIN_DIST_PREP_TAR = bindistprep/$(BIN_DIST_NAME)-$(TARGETPLATFORM).tar
-BIN_DIST_PREP_TAR_COMP ?= $(BIN_DIST_PREP_TAR).$(TAR_COMP_EXT)
-BIN_DIST_TAR_COMP = $(BIN_DIST_NAME)-$(TARGETPLATFORM).tar.$(TAR_COMP_EXT)
-
-# -----------------------------------------------------------------------------
-# Utilities programs: flags
-
-# If you want to give any standard flags to pretty much any utility
-# (see utils.mk for a complete list), by adding a line here
-#
-# SRC_P_OPTS += ...
-#
-# where P is the utility. For example, to add -O to all Haskell
-# compilations,
-#
-# SRC_HC_OPTS += -O
-
-
-# SRC_HC_OPTS includes flags to be added to *every* Haskell
-# compilation. Setting SRC_HC_OPTS is a good way to set the default
-# optimisation level (-O) and heap size (-H<size>).
-#
-# SRC_HC_OPTS is *not* for adding flags that are required to make your
-# build work. Examples:
-#
-# - instead of using -pgmc/-pgmcxx/-pgma-/-pgml, use the --with-gcc option to configure
-#
-# - if you need -optc, -opta, or -optl flags, the CONF_CC_* and CONF_LD_*
-# variables are more appropriate (set via configure)
-#
-# Note that SRC_HC_OPTS are added to every Haskell compilation,
-# including when using the bootstrapping compiler (stage 0), So don't
-# put options here that are only supported by very recent GHCs.
-#
-SRC_HC_OPTS += -H32m -O
-
-
-# See Note [Stage number in build variables].
-SRC_HC_OPTS_STAGE0 =
-SRC_HC_OPTS_STAGE1 =
-SRC_HC_OPTS_STAGE2 =
-
-# Warning suppression flags. See mk/warnings.mk.
-SRC_CC_WARNING_OPTS =
-SRC_HC_WARNING_OPTS =
-
-# See Note [Stage number in build variables].
-SRC_HC_WARNING_OPTS_STAGE0 =
-SRC_HC_WARNING_OPTS_STAGE1 =
-SRC_HC_WARNING_OPTS_STAGE2 =
-
-# -----------------------------------------------------------------------------
-# Names of programs in the GHC tree
-
-GENERATED_FILE = chmod a-w
-EXECUTABLE_FILE = chmod +x
-
-#-----------------------------------------------------------------------------
-# Installed GHC
-
-# $(GHC) points to installed version of the compiler.
-#
-# NOTE: Don't override $(GHC) in build.mk, use
-# `./configure GHC=...` instead
-# (because the version numbers have to be calculated).
-
-GHC := @WithGhc@
-# If we have a make dependency on c:/ghc/ghc, and the file is actually
-# called c:/ghc/ghc.exe, then make will think that ghc doesn't exist
-# and that it doesn't know how to create it.
-ifneq "$(wildcard $(GHC).exe)" ""
-GHC := $(GHC).exe
-endif
-
-GHC_STAGE0 = $(GHC)
-GHC_STAGE1 = $(ghc-stage1_INPLACE)
-GHC_STAGE2 = $(ghc-stage2_INPLACE)
-GHC_STAGE3 = $(ghc-stage3_INPLACE)
-
-BOOTSTRAPPING_CONF = libraries/bootstrapping.conf
-
-INPLACE_PACKAGE_CONF = $(INPLACE_LIB)/package.conf.d
-
-GhcVersion = @GhcVersion@
-GhcPatchLevel = @GhcPatchLevel@
-GhcMajVersion = @GhcMajVersion@
-GhcMinVersion = @GhcMinVersion@
-
-# Canonicalised ghc version number, used for easy (integer) version
-# comparisons. We must expand $(GhcMinVersion) to two digits by
-# adding a leading zero if necessary:
-ifneq "$(findstring $(GhcMinVersion), 0 1 2 3 4 5 6 7 8 9)" ""
-GhcCanonVersion = $(GhcMajVersion)0$(GhcMinVersion)
-else
-GhcCanonVersion = $(GhcMajVersion)$(GhcMinVersion)
-endif
-
-#-----------------------------------------------------------------------------
-# Settings
-
-# We are in the process of moving the settings file from being entirely
-# generated by configure, to generated being by the build system. Many of these
-# might become redundant.
-# See Note [tooldir: How GHC finds mingw on Windows]
-
-GccExtraViaCOpts = @GccExtraViaCOpts@
-LdHasFilelist = @LdHasFilelist@
-ArArgs = @ArArgs@
-HaskellHostOs = @HaskellHostOs@
-HaskellHostArch = @HaskellHostArch@
-HaskellTargetOs = @HaskellTargetOs@
-HaskellTargetArch = @HaskellTargetArch@
-TargetWordSize = @TargetWordSize@
-TargetWordBigEndian = @TargetWordBigEndian@
-TargetHasGnuNonexecStack = @TargetHasGnuNonexecStack@
-TargetHasIdentDirective = @TargetHasIdentDirective@
-TargetHasSubsectionsViaSymbols = @TargetHasSubsectionsViaSymbols@
-TargetHasRTSLinker = @TargetHasRTSLinker@
-TargetHasLibm = @TargetHasLibm@
-TablesNextToCode = @TablesNextToCode@
-
-SettingsCCompilerCommand = @SettingsCCompilerCommand@
-SettingsCxxCompilerCommand = @SettingsCxxCompilerCommand@
-SettingsHaskellCPPCommand = @SettingsHaskellCPPCommand@
-SettingsHaskellCPPFlags = @SettingsHaskellCPPFlags@
-SettingsCCompilerFlags = @SettingsCCompilerFlags@
-SettingsCxxCompilerFlags = @SettingsCxxCompilerFlags@
-SettingsCCompilerLinkFlags = @SettingsCCompilerLinkFlags@
-SettingsCCompilerSupportsNoPie = @SettingsCCompilerSupportsNoPie@
-SettingsLdCommand = @SettingsLdCommand@
-SettingsLdFlags = @SettingsLdFlags@
-SettingsMergeObjectsCommand = @SettingsMergeObjectsCommand@
-SettingsMergeObjectsFlags = @SettingsMergeObjectsFlags@
-SettingsArCommand = @SettingsArCommand@
-SettingsOtoolCommand = @SettingsOtoolCommand@
-SettingsInstallNameToolCommand = @SettingsInstallNameToolCommand@
-SettingsRanlibCommand = @SettingsRanlibCommand@
-SettingsDllWrapCommand = @SettingsDllWrapCommand@
-SettingsWindresCommand = @SettingsWindresCommand@
-SettingsTouchCommand = @SettingsTouchCommand@
-SettingsClangCommand = @SettingsClangCommand@
-SettingsLlcCommand = @SettingsLlcCommand@
-SettingsOptCommand = @SettingsOptCommand@
-SettingsUseDistroMINGW = @SettingsUseDistroMINGW@
-
-#-----------------------------------------------------------------------------
-# C compiler
-#
-# NB. Don't override $(CC) using build.mk, re-configure using
-# the flag CC=<blah> instead. The reason is that the configure script
-# needs to know which gcc you're using in order to perform its tests.
-
-# TargetPlatformFull retains the string passed to configure so we have it in
-# the necessary format to pass to libffi's configure.
-TargetPlatformFull = @TargetPlatformFull@
-
-# Do we have a C compiler using an LLVM back end?
-CcLlvmBackend = @CcLlvmBackend@
-
-CC = @CC@
-CC_STAGE0 = @CC_STAGE0@
-CC_STAGE1 = $(CC)
-CC_STAGE2 = $(CC)
-CC_STAGE3 = $(CC)
-
-AS = @CC@
-AS_STAGE0 = @CC_STAGE0@
-AS_STAGE1 = $(AS)
-AS_STAGE2 = $(AS)
-AS_STAGE3 = $(AS)
-
-# why no LD=@LD@ ?
-LD_STAGE0 = @LD_STAGE0@
-LD_STAGE1 = $(LD)
-LD_STAGE2 = $(LD)
-LD_STAGE3 = $(LD)
-
-MERGE_OBJS_STAGE0 = @MergeObjsCmd@
-MERGE_OBJS_STAGE1 = @MergeObjsCmd@
-MERGE_OBJS_STAGE2 = @MergeObjsCmd@
-MERGE_OBJS_STAGE3 = @MergeObjsCmd@
-
-MERGE_OBJS_STAGE0_FLAGS = @MergeObjsArgs@
-MERGE_OBJS_STAGE1_FLAGS = @MergeObjsArgs@
-MERGE_OBJS_STAGE2_FLAGS = @MergeObjsArgs@
-MERGE_OBJS_STAGE3_FLAGS = @MergeObjsArgs@
-
-# Cross-compiling options
-# See Note [CrossCompiling vs Stage1Only]
-CrossCompiling = @CrossCompiling@
-
-# Change this to YES if you're building a cross-compiler and don't
-# want to build stage 2.
-# See Note [CrossCompiling vs Stage1Only]
-# See Note [Stage1Only vs stage=1]
-Stage1Only = NO
-
-# Installed tools prefix:
-# we add prefix to crosscompiler GHC only (ghc-stage1),
-# not cross-built GHC (not ghc-stage2).
-CrossCompilePrefix = $(if $(filter YES,$(Stage1Only)),@CrossCompilePrefix@,)
-
-# Install stage 2 by default, or stage 1 in the cross compiler
-# case. Can be changed to 3
-INSTALL_GHC_STAGE= $(if $(filter YES,$(Stage1Only)),1,2)
-
-# Note [CrossCompiling vs Stage1Only]
-# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-# There are 4 possible settings:
-#
-# 1 CrossCompiling=NO Stage1Only=NO
-# The default.
-#
-# 2 CrossCompiling=NO Stage1Only=YES
-# Don't build ghc-stage2. See Note [Stage1Only vs stage=1].
-#
-# 3 CrossCompiling=YES Stage1Only=YES
-# Building a cross-compiler (ghc-stage1). See [1] and
-# Note [Stage1Only vs stage=1].
-#
-# 4 CrossCompiling=YES Stage1Only=NO
-# Cross-compiling GHC itself. See [1].
-#
-# [1] https://gitlab.haskell.org/ghc/ghc/wikis/building/cross-compiling
-
-# Note [Stage1Only vs stage=1]
-# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-# Stage1Only=YES means:
-# - don't build ghc-stage2 (the executable)
-# - don't build utils that rely on ghc-stage2
-# See Note [No stage2 packages when CrossCompiling or Stage1Only] in
-# ./ghc.mk.
-# - install ghc-stage1 instead of ghc-stage2
-# - install the ghc-pkg that was built with the stage0 compiler
-# - (*do* still build compiler/stage2 (i.e. the ghc library))
-# - (*do* still build all other libraries)
-#
-# stage=1 means:
-# - don't build compiler/stage2 (i.e. the ghc library)
-# - don't build ghc-stage2 (the executable)
-# Note: these are the only two things it does. If you want to exclude more
-# stuff, combine it with Stage1Only=YES, or run make in the ghc or compiler
-# directory.
-#
-# running make in the ghc or compiler directory means:
-# - don't build any packages in the libraries/ directory, except the ones
-# listed in PACKAGES_STAGE0 (i.e. the boot libraries)
-#
-# You may wonder why Stage1Only=YES still builds compiler/stage2. Quoting
-# simonmar in #7639:
-#
-# "strictly speaking building compiler/stage2 is correct, because it is
-# the ghc package that can be used with [ghc-stage1]. If you don't
-# want to build it, then setting stage=1 in your mk/build.mk should
-# disable it."
-
-# C compiler and linker flags from configure (e.g. -m<blah> to select
-# correct C compiler backend). The stage number is the stage of GHC
-# that is being used to compile with.
-CONF_CC_OPTS_STAGE0 = @CONF_CC_OPTS_STAGE0@
-CONF_CC_OPTS_STAGE1 = @CONF_CC_OPTS_STAGE1@
-CONF_CC_OPTS_STAGE2 = @CONF_CC_OPTS_STAGE2@
-CONF_GCC_LINKER_OPTS_STAGE0 = @CONF_GCC_LINKER_OPTS_STAGE0@
-CONF_GCC_LINKER_OPTS_STAGE1 = @CONF_GCC_LINKER_OPTS_STAGE1@
-CONF_GCC_LINKER_OPTS_STAGE2 = @CONF_GCC_LINKER_OPTS_STAGE2@
-CONF_LD_LINKER_OPTS_STAGE0 = @CONF_LD_LINKER_OPTS_STAGE0@
-CONF_LD_LINKER_OPTS_STAGE1 = @CONF_LD_LINKER_OPTS_STAGE1@
-CONF_LD_LINKER_OPTS_STAGE2 = @CONF_LD_LINKER_OPTS_STAGE2@
-CONF_CPP_OPTS_STAGE0 = @CONF_CPP_OPTS_STAGE0@
-CONF_CPP_OPTS_STAGE1 = @CONF_CPP_OPTS_STAGE1@
-CONF_CPP_OPTS_STAGE2 = @CONF_CPP_OPTS_STAGE2@
-CONF_HC_OPTS_STAGE0 = @CONF_HC_OPTS_STAGE0@
-CONF_HC_OPTS_STAGE1 = @CONF_HC_OPTS_STAGE1@
-CONF_HC_OPTS_STAGE2 = @CONF_HC_OPTS_STAGE2@
-
-# The .hsc files aren't currently safe for cross-compilation on Windows:
-# libraries\haskeline\.\System\Console\Haskeline\Backend\Win32.hsc:160
-# directive "let" is not safe for cross-compilation
-ifneq "$(Windows_Host)" "YES"
-SRC_HSC2HS_OPTS += --cross-safe
-endif
-SRC_HSC2HS_OPTS += $(foreach d,$(GMP_INCLUDE_DIRS),-I$(d))
-
-define set_stage_HSC2HS_OPTS
-# $1 = stage
-SRC_HSC2HS_OPTS_STAGE$1 += $$(addprefix --cflag=,$$(filter-out -O,$$(SRC_CC_OPTS) $$(CONF_CC_OPTS_STAGE$1)))
-SRC_HSC2HS_OPTS_STAGE$1 += $$(addprefix --cflag=,$$(CONF_CPP_OPTS_STAGE$1))
-SRC_HSC2HS_OPTS_STAGE$1 += $$(addprefix --lflag=,$$(CONF_GCC_LINKER_OPTS_STAGE$1))
-endef
-$(eval $(call set_stage_HSC2HS_OPTS,0))
-$(eval $(call set_stage_HSC2HS_OPTS,1))
-$(eval $(call set_stage_HSC2HS_OPTS,2))
-ifeq "$(CrossCompiling)" "YES"
-SRC_HSC2HS_OPTS_STAGE1 += --cross-compile
-SRC_HSC2HS_OPTS_STAGE2 += --cross-compile
-ifeq "$(Windows_Target)" "YES"
-# We'll assume we compile with gcc or clang, and both support `-S` and can as such use the
-# --via-asm pass, which should be faster and is required for cross compiling to windows, as
-# the c compiler complains about non-constant expressions even though they are constant and
-# end up as constants in the assembly.
-SRC_HSC2HS_OPTS_STAGE1 += --via-asm
-SRC_HSC2HS_OPTS_STAGE2 += --via-asm
-endif
-endif
-SRC_HSC2HS_OPTS_STAGE0 += --cflag=-D$(HostArch_CPP)_HOST_ARCH --cflag=-D$(HostOS_CPP)_HOST_OS
-SRC_HSC2HS_OPTS_STAGE1 += --cflag=-D$(TargetArch_CPP)_HOST_ARCH --cflag=-D$(TargetOS_CPP)_HOST_OS
-SRC_HSC2HS_OPTS_STAGE2 += --cflag=-D$(TargetArch_CPP)_HOST_ARCH --cflag=-D$(TargetOS_CPP)_HOST_OS
-
-WINDRES=@WindresCmd@
-
-#-----------------------------------------------------------------------------
-# Python for testsuite driver and code generators
-#
-PYTHON=@PythonCmd@
-
-#-----------------------------------------------------------------------------
-# Mingwex Library
-#
-HaveLibMingwEx = @HaveLibMingwEx@
-DLLTOOL = @DlltoolCmd@
-
-#-----------------------------------------------------------------------------
-# Other standard (ha!) Unix utilities
-
-AR = @ArCmd@
-AR_OPTS = @ArArgs@
-ArSupportsAtFile = @ArSupportsAtFile@
-ArSupportsDashL = @ArSupportsDashL@
-
-AR_STAGE0 = @AR_STAGE0@
-AR_STAGE1 = $(AR)
-AR_STAGE2 = $(AR)
-AR_STAGE3 = $(AR)
-AR_OPTS_STAGE0 = @AR_OPTS_STAGE0@
-AR_OPTS_STAGE1 = $(AR_OPTS)
-AR_OPTS_STAGE2 = $(AR_OPTS)
-AR_OPTS_STAGE3 = $(AR_OPTS)
-EXTRA_AR_ARGS_STAGE0 = $(EXTRA_AR_ARGS)
-EXTRA_AR_ARGS_STAGE1 = $(EXTRA_AR_ARGS)
-EXTRA_AR_ARGS_STAGE2 = $(EXTRA_AR_ARGS)
-EXTRA_AR_ARGS_STAGE3 = $(EXTRA_AR_ARGS)
-ArSupportsAtFile_STAGE0 = @ArSupportsAtFile_STAGE0@
-ArSupportsAtFile_STAGE1 = $(ArSupportsAtFile)
-ArSupportsAtFile_STAGE2 = $(ArSupportsAtFile)
-ArSupportsAtFile_STAGE3 = $(ArSupportsAtFile)
-
-CONTEXT_DIFF = @ContextDiffCmd@
-CP = cp
-
-# It's not easy to separate the CPP program from its flags, as
-# AC_PROG_CPP defines CPP as "/usr/bin/gcc -E"
-CPP = @CPP@ @CPPFLAGS@
-HS_CPP = @HaskellCPPCmd@ @HaskellCPPArgs@
-
-FIND = @FindCmd@
-
-#
-# 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 = @INSTALL@
-INSTALL := $(subst .././install-sh,$(TOP)/install-sh,$(INSTALL))
-
-LN_S = @LN_S@
-MV = mv
-PIC = pic
-RANLIB_CMD = @RANLIB_CMD@
-REAL_RANLIB_CMD = @REAL_RANLIB_CMD@
-SED = @SedCmd@
-SHELL = @SHELL@
-
-HaveDtrace = @HaveDtrace@
-USE_DTRACE = $(HaveDtrace)
-DTRACE = @DtraceCmd@
-
-LD = @LdCmd@
-NM = @NmCmd@
-AR = @ArCmd@
-OBJDUMP = @ObjdumpCmd@
-
-CLANG = @ClangCmd@
-LLC = @LlcCmd@
-OPT = @OptCmd@
-
-# GNU ld supports input via a linker script, which is useful to avoid
-# overflowing command-line length limits.
-LdIsGNULd = @LdIsGNULd@
-
-# Set to YES if ld has the --no_compact_unwind flag. See #5019
-# and GHC.Driver.Pipeline.
-LdHasNoCompactUnwind = @LdHasNoCompactUnwind@
-
-# On MSYS, building with SplitObjs=YES fails with
-# ar: Bad file number
-# see #3201. We need to specify a smaller max command-line size
-# to work around it. 32767 doesn't work; 30000 does, but says
-# xargs: value for -s option should be < 28153
-# so we now use 20000 to be comfortably below this bound
-XARGS = xargs
-ifeq "$(Windows_Host)" "YES"
-XARGS_OPTS = -s 20000
-endif
-
-ifeq "$(TARGETPLATFORM)" "x86_64-unknown-mingw32"
-STRIP_CMD = $(TOP)/inplace/mingw/bin/strip.exe
-else ifeq "$(TARGETPLATFORM)" "arm-unknown-linux"
-# The Cortex A8 hardware apparently has a bug which ld.gold will check for;
-# however in order to do so it must have unstripped executables lest we
-# see warnings of the form (see #10376, #10464),
-#
-# /usr/bin/ld.gold: warning: cannot scan executable section 1 of ... for
-# Cortex-A8 erratum because it has no mapping symbols.
-#
-# Consequently we disabling stripping by default on this architecture.
-# The hack of using `:` to disable stripping is implemented by ghc-cabal.
-STRIP_CMD = :
-else
-STRIP_CMD = @StripCmd@
-endif
-PATCH_CMD = @PatchCmd@
-TAR_CMD = @TarCmd@
-BZIP2_CMD = @Bzip2Cmd@
-GZIP_CMD = @GzipCmd@
-XZ_CMD = @XzCmd@
-
-# xz is default compression
-TAR_COMP ?= xz
-
-# select compression command and .tar extension based on TAR_COMP value
-ifeq "$(TAR_COMP)" "bzip2"
-TAR_COMP_CMD = $(BZIP2_CMD) $(TAR_COMP_OPTS)
-TAR_COMP_EXT = bz2
-else ifeq "$(TAR_COMP)" "gzip"
-TAR_COMP_CMD = $(GZIP_CMD) $(TAR_COMP_OPTS)
-TAR_COMP_EXT = gz
-else ifeq "$(TAR_COMP)" "xz"
-TAR_COMP_CMD = $(XZ_CMD) $(TAR_COMP_OPTS)
-TAR_COMP_EXT = xz
-else
-$(error $$(TAR_COMP) set to unknown value "$(TAR_COMP)" (supported: "bzip2", "gzip", "xz"))
-endif
-
-ifeq "$(Windows_Host)" "YES"
-TOUCH_CMD = $(utils/touchy_dist_INPLACE)
-TOUCH_DEP = $(TOUCH_CMD)
-else
-TOUCH_CMD = touch
-TOUCH_DEP =
-endif
-
-HSCOLOUR_CMD = @HSCOLOUR@
-
-TIME_CMD = @TimeCmd@
-
-#-----------------------------------------------------------------------------
-# Sphinx stuff
-
-SPHINXBUILD = @SPHINXBUILD@
-BUILD_MAN = @BUILD_MAN@
-BUILD_SPHINX_HTML = @BUILD_SPHINX_HTML@
-BUILD_SPHINX_PDF = @BUILD_SPHINX_PDF@
-SPHINXOPTS = -D latex_paper_size=letter
-XELATEX = @XELATEX@
-MAKEINDEX = @MAKEINDEX@
-
-#-----------------------------------------------------------------------------
-# FPtools support software
-
-#
-# ghc-pkg
-#
-GHC_PKG = @GhcPkgCmd@
-
-#
-# Happy
-#
-HAPPY = @HappyCmd@
-HAPPY_VERSION = @HappyVersion@
-#
-# Options to pass to Happy when we're going to compile the output with GHC
-#
-SRC_HAPPY_OPTS = -agc --strict
-
-#
-# Alex
-#
-ALEX = @AlexCmd@
-ALEX_VERSION = @AlexVersion@
-#
-# Options to pass to Alex when we're going to compile the output with GHC
-#
-SRC_ALEX_OPTS = -g
-# The compiler isn't using the Unicode support in Alex 3.0 yet, in fact we do our own
-# Unicode handling, so diable Alex's.
-compiler_ALEX_OPTS = --latin1
-
-# Should we build haddock docs?
-HADDOCK_DOCS = YES
-# And HsColour the sources?
-ifeq "$(HSCOLOUR_CMD)" ""
-HSCOLOUR_SRCS = NO
-else
-HSCOLOUR_SRCS = YES
-endif
-
-# Build and install the "extra" packages (see ./packages)?
-BUILD_EXTRA_PKGS = NO
-
-################################################################################
-#
-# To be passed to sub-builds
-#
-################################################################################
-
-ICONV_INCLUDE_DIRS = @ICONV_INCLUDE_DIRS@
-ICONV_LIB_DIRS = @ICONV_LIB_DIRS@
-
-GMP_INCLUDE_DIRS = @GMP_INCLUDE_DIRS@
-GMP_LIB_DIRS = @GMP_LIB_DIRS@
-GMP_PREFER_FRAMEWORK = @GMP_PREFER_FRAMEWORK@
-GMP_FORCE_INTREE = @GMP_FORCE_INTREE@
-
-CURSES_LIB_DIRS = @CURSES_LIB_DIRS@
-
-# See Note [Disable -O2 in unregisterised mode]
-# Be careful: 'GhcUnregisterised' should be defined earlier in this file.
-ifeq "$(GhcUnregisterised)" "YES"
-GhcStage1HcOpts=
-GhcStage2HcOpts=
-GhcStage3HcOpts=
-
-GhcLibHcOpts=
-endif
-
-# Note [Disable -O2 in unregisterised mode]
-# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-# Disable -O2 optimization in unregisterised mode. Otherwise amount
-# of generated C code # makes things very slow to compile (~5 minutes
-# on core-i7 for 'compiler/GHC/Hs/Expr.hs') and sometimes not compile
-# at all: powerpc64 overflows TOC section on 'compiler/GHC/Hs/Expr.hs'
-# ia64 overflows short data section on 'compiler/GHC/Driver/Session.hs'
diff --git a/mk/install.mk.in b/mk/install.mk.in
deleted file mode 100644
index 7b146e7bed..0000000000
--- a/mk/install.mk.in
+++ /dev/null
@@ -1,152 +0,0 @@
-# -*-makefile-*-
-# @configure_input@
-#
-################################################################################
-#
-# install.mk.in
-#
-# This file sets up the installation directories.
-#
-# DO NOT EDIT THIS FILE!
-#
-# - install.mk is auto-generated from install.mk.in by configure.
-# If you edit install.mk your changes will be spammed.
-#
-# - Settings in this file may be overridden by giving replacement
-# definitions in build.mk.
-
-# 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. See #1924.
-
-define set_default
-# $1 = variable to set
-# $2 = default value to use, if configure didn't expand it
-# If $1 starts with an @ then configure didn't set it (because a version
-# of autoconf that is too old was used), so set it to a sensible value
-ifneq "$$(filter @%,$$($1))" ""
-$1 = $2
-endif
-endef
-
-prefix = @prefix@
-
-datarootdir = @datarootdir@
-$(eval $(call set_default,datarootdir,$${prefix}/share))
-
-exec_prefix = @exec_prefix@
-bindir = @bindir@
-datadir = @datadir@
-libdir = @libdir@
-includedir = @includedir@
-mandir = @mandir@
-
-# Note that `./configure --docdir=/foo/bar` should work.
-docdir = @docdir@
-PACKAGE_TARNAME = ghc-${ProjectVersion}
-$(eval $(call set_default,docdir,$${datarootdir}/doc/$${PACKAGE_TARNAME}))
-
-htmldir = @htmldir@
-dvidir = @dvidir@
-pdfdir = @pdfdir@
-psdir = @psdir@
-$(eval $(call set_default,htmldir,$${docdir}))
-$(eval $(call set_default,dvidir,$${docdir}))
-$(eval $(call set_default,pdfdir,$${docdir}))
-$(eval $(call set_default,psdir,$${docdir}))
-
-ifeq "$(RelocatableBuild)" "YES"
-
-# Hack: our directory layouts tend to be different on Windows, so
-# hack around configure's bogus assumptions here.
-datarootdir = $(prefix)
-datadir = $(prefix)/lib
-libdir = $(prefix)/lib
-
-docdir = $(prefix)/doc
-htmldir = $(docdir)
-dvidir = $(docdir)
-pdfdir = $(docdir)
-psdir = $(docdir)
-
-ghclibdir = $(libdir)
-
-else
-
-# Unix: override libdir and datadir to put ghc-specific stuff in
-# a subdirectory with the version number included.
-ghclibdir = $(libdir)/$(CrossCompilePrefix)ghc-$(ProjectVersion)
-endif
-
-ghclibexecdir = $(ghclibdir)
-topdir = $(ghclibdir)
-ghcheaderdir = $(ghclibdir)/rts/include
-
-#-----------------------------------------------------------------------------
-# install configuration
-
-#
-# Set this to have files installed with a specific owner
-#
-INSTALL_OWNER =
-
-#
-# Set this to have files installed with a specific group
-#
-INSTALL_GROUP =
-
-#
-# Invocations of `install' for the four different classes
-# of targets:
-#
-CREATE_SCRIPT = create () { touch "$$1" && chmod 755 "$$1" ; } && create
-CREATE_DATA = create () { touch "$$1" && chmod 644 "$$1" ; } && create
-
-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_DOC = $(INSTALL) -m 644
-INSTALL_DIR = $(INSTALL) -m 755 -d
-
-# 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.
-
-ifneq "$(DESTDIR)" ""
-override DESTDIR := $(abspath $(DESTDIR))
-endif
-
diff --git a/rts/rts.cabal.in b/rts/rts.cabal.in
index 6324829903..d0c1a588c5 100644
--- a/rts/rts.cabal.in
+++ b/rts/rts.cabal.in
@@ -77,13 +77,9 @@ library
-- ^ see Note [Packaging libffi headers] in
-- GHC.Driver.CodeOutput.
- -- The make build system does something special in config.mk.in
- -- for generating profiled, debugged, etc builds of those
- -- libraries, but we need to be transparent for hadrian which
- -- gets information about the rts "package" through Cabal and
- -- this cabal file. We therefore declare several
- -- flavours to be available when passing the suitable (combination of)
- -- flag(s) when configuring the RTS from hadrian, using Cabal.
+ -- Here we declare several flavours to be available when passing the
+ -- suitable (combination of) flag(s) when configuring the RTS from hadrian,
+ -- using Cabal.
extra-library-flavours: _thr
if flag(profiling)
diff --git a/validate b/validate
index 6850096349..20611cad03 100755
--- a/validate
+++ b/validate
@@ -108,8 +108,7 @@ hpc=NO
speed=NORMAL
be_quiet=0
# Validate uses gzip compression for the binary distribution to avoid the rather
-# heavy cost of xz, which is the typical default. The options are defined in
-# mk/config.mk.in
+# heavy cost of xz, which is the typical default.
tar_comp=gzip
use_stack=NO
ignore_perf_all=NO