| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Our *-cross flavours force -fllvm, this adds flavours for cross
compilation to x86_64, where we can use our native code generator.
Test Plan: ./validate
Reviewers: bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie, carter
Differential Revision: https://phabricator.haskell.org/D4443
|
|
|
|
|
|
|
|
| |
Reviewers: austin, bgamari
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D4144
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The submodule repository contains the latest version of the GMP source
distribution (6.1.2) with the doc/ subdirectory removed, as described
in gmp/ghc.mk. Rather than applying the old patch from gmp/tarball/patch
I moved its contents into gmp/gmpsrc.patch, canceling a patch related to
memory management there. Experimentally, the PIC-related patch for OS X
is still necessary.
The upgrade to GMP 6.1.2 fixes #7655.
Test Plan:
Built on OS X with in-tree gmp and tested that the command
`ghc -e 'length (show (2^(5*10^6) :: Integer))'` no longer segfaults.
Reviewers: mpickering, hvr, austin, bgamari
Reviewed By: bgamari
Subscribers: mpickering, thomie
Differential Revision: https://phabricator.haskell.org/D3044
GHC Trac Issues: #7655
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: austin, bgamari, RyanGlScott
Reviewed By: bgamari, RyanGlScott
Subscribers: RyanGlScott, thomie
Differential Revision: https://phabricator.haskell.org/D2824
|
|
|
|
|
| |
Mention that many GHC testsuite tests will fail with a compiler built with
the quickest profile. See Trac #12141.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The version of `haddock` that ghc has as a submodule has an option
for generating linkified sources. I don't think it hurts to have this
and they are great for exploring the codebase.
I'd be nice if harbormaster or travis published them somewhere, but
I don't know how to do that yet.
Test Plan:
uncomment, run `make` and look at the
nicely linkified sources in `compiler/stage2/doc/html/ghc/`
Reviewers: hvr, austin, bgamari
Reviewed By: bgamari
Subscribers: thomie, simonmar
Differential Revision: https://phabricator.haskell.org/D2119
|
|
|
|
|
|
|
|
|
| |
31bcf9b62ceaed98bdd3b7605e68d315bcff0c8a changed the behavior of WERROR
such that it would only apply to the stage 2 build. The reason for this
was to avoid silly redundant imports and such breaking validation on
different bootstrap compiler versions.
Document the fact that WERROR now only applies to the stage 2 build.
|
|
|
|
|
|
|
|
|
| |
This allows easier diffing of different BuildFlavours, including
`mk/flavours/validate.mk`.
Reviewed By: bgamari, austin
Differential Revision: https://phabricator.haskell.org/D1050
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
stm and parallel have an 'extra' tag in the ./packages file, so would get
added to PACKAGES_STAGE2 by default, and subsequently build by the stage2
compiler.
With this patch, this happens only when you set BUILD_EXTRA_PKGS=YES in
build.mk. A normal validate still builds (and tests) the 'extra'
packages, but they are skipped for `validate --fast`. Maybe this brings
us closer to finishing within the 50 minute Travis limit as well.
We can later try to give random, primitive and vector an 'extra' tag as
well (now they have a 'dph' tag), but some tests will probably fail at
first.
Differential Revision: https://phabricator.haskell.org/D1065
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We used to have the following in mk/build.mk.sample:
GhcLibWays = $(if $(filter $(DYNAMIC_GHC_PROGRAMS),YES),v dyn,v)
This commit removes that statement for the following reasons:
1) It depends on the variable DYNAMIC_GHC_PROGRAMS, which is set later
in the file for some BuildFlavours. Although this works because
`make` does multiple passes when reading Makefiles, it is confusing
to users [1]. Instead, test for DYNAMIC_GHC_PROGRAMS in
mk/config.mk.in.
2) Although it looks like that line is about compiling the `dyn` way,
its purpose is really to not build the `prof` way. This commit
introduces the variable BUILD_PROF_LIBS, to make this more
explicit.
This simplifies mk/build.mk.sample and mk/validate-settings.mk.
Note that setting GhcLibWays explicitly still works, and
DYNAMIC_GHC_PROGRAMS=NO in build.mk does not build the `dyn` way.
[1] https://mail.haskell.org/pipermail/ghc-devs/2014-December/007725.html
Differential Revision: https://phabricator.haskell.org/D1021
|
|
|
|
|
| |
This happened because the dyn way was listed twice in GhcLibWays for
BuildFlavour=perf.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The default validate settings currently disable some warnings in the
libraries. This patch moves those settings to a new file called
`mk/warnings.mk`, and applies them also to normal builds.
Through uncommenting a line in build.mk, developers can now build with
-Werror.
-Werror is not the default, because:
* We can not guarantee that the build is warning free on platforms we
don't run regularly run validate (as part of continuous integration
systems), and we still want the build to go through on those
platforms.
* quoting rwbarton on irc > "I think -Werror by default has come up in
the past and the argument was that it is too annoying when you are
doing nontrivial development"
Reviewed By: austin
Differential Revision: https://phabricator.haskell.org/D785
|
|
|
|
|
|
|
|
|
| |
On platforms that support -fasm, it is already the default, so we don't
have to set it.
Reviewed By: austin, erikd (tested on powerpc and armhf)
Differential Revision: https://phabricator.haskell.org/D784
|
|
|
|
|
|
| |
Reviewed By: austin
Differential Revision: https://phabricator.haskell.org/D783
|
|
|
|
|
|
|
|
|
| |
Use same format for each build flavour, to make it easier to compare
them. Refactoring only.
Reviewed By: austin
Differential Revision: https://phabricator.haskell.org/D782
|
|
|
|
| |
[skip ci]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
Reviewers: austin, carter
Reviewed By: carter
Subscribers: carter, thomie
Differential Revision: https://phabricator.haskell.org/D570
GHC Trac Issues: #9884
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
We can use the native codegen for stage 1 as it is to run on the host
platform.
Test Plan:
Reviewers:
Subscribers:
GHC Trac Issues:
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that the `libraries/dph` submodule is checked out always we need
a different way to disable building DPH to save compile-time while
developing GHC.
This commit adds a new YES/NO Make variable `BUILD_DPH` that can be used
inside mk/build.mk to control whether to build libraries/dph or not.
The default setting is `BUILD_DPH=YES` (via `mk/config.mk.in`).
This also changes `validate`'s flag `--no-dph` to explicitly disable DPH
for the current validation run.
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Test Plan: successful validates with `--fast --no-dph`
Differential Revision: https://phabricator.haskell.org/D31
|
| |
|
|
|
|
|
|
|
| |
This build generates the same code as the "perf" build and is thus
good for compiling benchmarks and inspecting the generated
code. However, it compiles the stage2 compiler faster at the expense
of compiler user programs more slowly.
|
|
|
|
|
|
|
| |
This is for building performance-optimized cross compilers (e.g. the iOS
target.)
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
|
|
| |
This is suitable e.g. for iOS.
Authored-by: Authored-by: Luke Iannini <lukexi@me.com>
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
|
|
|
|
| |
The LLVM back end does not yet work when building dynamically.
|
|
|
|
|
|
|
| |
People are probably more likely to notice some useful variables
if they're located closer to the top (like V=0 and stage=2.)
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
|
|
|
|
| |
Although it's not technically needed, it's less confusing if the vanilla
way works when people use the sample build.mk.
|
|
|
|
|
| |
In particular, this means that GHCi will use DLLs, rather than loading
object files itself.
|
|
|
|
|
|
| |
Closes Trac #7572.
Signed-off-by: Austin Seipp <mad.one@gmail.com>
|
|
|
|
|
| |
Now that we can build dyn-only, we don't need to force
DYNAMIC_BY_DEFAULT to NO. We just set GhcLibWays appropriately.
|
|
|
|
|
| |
This will hopefully make it less likely that we will get bug reports
with the pretty output, such as in trac ticket 7225.
|
|
|
|
|
| |
It sets GhcLibWays=v, which doesn't work with DYNAMIC_BY_DEFAULT on
as the dynamic libs aren't built.
|
|
|
|
|
|
| |
To explicitly choose whether you want an unregisterised build you now
need to use the "--enable-unregisterised"/"--disable-unregisterised"
configure flags.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This fixes a problem with commands like gzip, where if $GZIP is exported
in the environment, then when make runs a command it'll put the Makefile
variable's value in the environment. But gzip treats $GZIP as arguments
for itself, so when we run gzip it thinks we're giving it "gzip" as an
argument.
|
|
|
|
|
|
| |
Now, adding dyn to $(GhcLibWays) is how shared libs are enabled.
Everything else keys off that, rather than testing
$(BuildSharedLibs).
|
|
|
|
|
|
|
|
|
|
| |
Building a profiled GHC is as simple as adding
GhcLibWays += p
GhcProfiled = YES
to your build.mk and saying 'make'. Then you have a profiled
inplace/bin/ghc-stage2.
|
| |
|
| |
|