diff options
author | Ben Gamari <ben@smart-cactus.org> | 2022-08-05 22:46:26 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-08-25 20:05:31 -0400 |
commit | 4a426924578c1febe8a5d34c7a265223ba8031df (patch) | |
tree | 4cdbceb89873af08b542278c19312f85545eb803 | |
parent | 659502bc4f78ccba1b35d06eeaa934f2614f1706 (diff) | |
download | haskell-4a426924578c1febe8a5d34c7a265223ba8031df.tar.gz |
Drop mk/{build,install,config}.mk.in
-rw-r--r-- | configure.ac | 10 | ||||
-rw-r--r-- | distrib/configure.ac.in | 3 | ||||
-rw-r--r-- | ghc/ghc-bin.cabal.in | 4 | ||||
-rw-r--r-- | hadrian/src/Rules/BinaryDist.hs | 2 | ||||
-rw-r--r-- | mk/build.mk.sample | 111 | ||||
-rw-r--r-- | mk/config.mk.in | 877 | ||||
-rw-r--r-- | mk/install.mk.in | 152 | ||||
-rw-r--r-- | rts/rts.cabal.in | 10 | ||||
-rwxr-xr-x | validate | 3 |
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) @@ -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 |