| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
#9094 mentions to "remove the RAW_CPP bits from the ghc build system because
they're not longer needed", "once the CPP settings ticket is merged #8683"
#8683 was merged with 34f7e9a3c99850859901ca74370f55f1d4e2279a, Phab:D26.
Test Plan: harbormaster
Reviewers: carter, austin
Reviewed By: austin
Subscribers: simonmar, ezyang, carter
Differential Revision: https://phabricator.haskell.org/D240
GHC Trac Issues: #9094
|
|
|
|
|
|
|
| |
Last-time tweak in commit 049bef7dc8858cff1b69002cde91b9d1cdef8e70
broke build. Update '_o-boot' to '_o-bootsuf' variable name.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
| |
The changes look like:
-$1/$2/build/%.$$($3_way_)s : $1/%.c $$(LAX_DEPS_FOLLOW) $$$$($1_$2_HC_DEP)
+$1/$2/build/%.$$($3_ssuf) : $1/%.c $$(LAX_DEPS_FOLLOW) $$$$($1_$2_HC_DEP)
This way typos will manifest themselves in all ways,
not only non-vanilla.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch set makes us no longer assume that a package key is a human
readable string, leaving Cabal free to "do whatever it wants" to allocate
keys; we'll look up the PackageId in the database to display to the user.
This also means we have a new level of qualifier decisions to make at the
package level, and rewriting some Safe Haskell error reporting code to DTRT.
Additionally, we adjust the build system to use a new ghc-cabal output
Make variable PACKAGE_KEY to determine library names and other things,
rather than concatenating PACKAGE/VERSION as before.
Adds a new `-this-package-key` flag to subsume the old, erroneously named
`-package-name` flag, and `-package-key` to select packages by package key.
RFC: The md5 hashes are pretty tough on the eye, as far as the file
system is concerned :(
ToDo: safePkg01 test had its output updated, but the fix is not really right:
the rest of the dependencies are truncated due to the fact the we're only
grepping a single line, but ghc-pkg is wrapping its output.
ToDo: In a later commit, update all submodules to stop using -package-name
and use -this-package-key. For now, we don't do it to avoid submodule
explosion.
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Test Plan: validate
Reviewers: simonpj, simonmar, hvr, austin
Subscribers: simonmar, relrod, carter
Differential Revision: https://phabricator.haskell.org/D80
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
On hardened gentoo ghc-stage2 does not work as-is,
as it uses runtime code generation/loading, thus
ghc0stage2 needs to be marked in a special way
(via POSIX extened attributes).
Before the patch we used 'cp -p' command, which
does not preserve that marking. It leads to buid
failure on hardened. Hardened's 'install' does
preserve POSIX xattrs, thus patch uses it instead.
'inplace/' directory can be seen the same way as target
for 'make install', thus using the same facilities
to install files to 'inplace/' sounds more consistent.
Reported-by: Jay Yang
Gentoo-bug: https://bugs.gentoo.org/518734
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Test Plan: tested ghc installation on vanilla and hardened distributions
Reviewers: austin
Reviewed By: austin
Subscribers: phaskell, simonmar, relrod, ezyang, carter
Differential Revision: https://phabricator.haskell.org/D108
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adapts the foreachLibrary rule to match the new situation of
base.git, ghc-prim.git, integer-gmp.git, integer-simple.git, and
template-haskell.git being folded into ghc.git (re #9016), and thus
not being mentioned anymore in the `packages` file.
One visible effect of this oversight was that the `clean_libraries`
make target would fail to clean those packages.
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This corresponds to the RC of the soon-to-be Cabal 1.20 release
One noteworthy change is the removal of the `--with-ranlib` flag
requiring a small adaptation in the GHC build system.
Moreover two new licences were added, MPL and BSD2.
Due to https://github.com/haskell/cabal/issues/1622 Cabal-1.20 now
allows to strip libraries as well, this doesn't work well with
`ghc-cabal copy` being fed a `":"` strip-command argument which was
simply ignored in the past. The current code tries to retain this
semantics as backward compat. However, this needs more investigation as
I'm not sure if/why the `test_bindist` step doesn't want the libraries
to be stripped on installation.
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
|
|
|
|
|
| |
Cabal compiles a program to check for the existence of foreign
libraries, so it needs to know our custom options, if any.
|
|
|
|
|
|
|
|
|
|
| |
One problem was that we weren't including $1_$2_DIST_LD_OPTS when
linking a program, which looks to be accidental: it was being defined
but not used anywhere. This meant that setting $1_$2_EXTRA_LD_OPTS,
for example, had no effect.
This commit straightens out the handling of LD_OPTS to be consistent
with the way we handle CC_OPTS and HC_OPTS.
|
|
|
|
|
|
|
|
|
| |
The rules weren't correctly setting INSTALL_TOPDIRS, and on top of that
the dependencies were wrong when BINDIST=YES.
Authored-by: Evan Hauck <khyperia@live.com>
Authored-by: Austin Seipp <austin@well-typed.com>
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
|
|
|
|
| |
(fixes #8764)
The patch is provided by Christian Maeder <Christian.Maeder@dfki.de>
Signed-off-by: Karel Gardas <karel.gardas@centrum.cz>
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
|
|
| |
Gold apparently doesn't recognize `-z origin`, only `-zorigin` it seems.
Authored-by: Ben Gamari <bgamari.foss@gmail.com>
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
| |
Authored-by: Christiaan Baaj <christiaan.baaij@gmail.com>
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
|
|
|
|
| |
This includes both executables (by correcly setting the rpath to the
topDir) and libffi, and GHC itself, so that everything works with no
build tree.
Authored-by: Christiaan Baaj <christiaan.baaij@gmail.com>
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
On Windows, the ranlib in the path may not be the right ranlib (it may
be the 32bit ranlib when we are making a Win64 compiler, or vice-versa).
Therefore we can't leave it up to libffi to detect the right ranlib, but
need to tell it which ranlib to use. This means that we need to find
ranlib even if we don't actually need it ourselves.
|
|
|
|
| |
Part of #7833
|
| |
|
| |
|
|
|
|
| |
Make expands things even in comments
|
| |
|
| |
|
|
|
|
|
| |
We need different paths in the wrapper, as teh installed tree is a
different shape to the build tree.
|
| |
|
|
|
|
|
| |
When GHCi makes temporary DLLs, those also need to be linked against
the right RTS, or we won't be able to load them.
|
|
|
|
|
|
| |
This is particularly important as without it validate fails, as it
tries to pass RTS options to haddock, and with the default RTS config
those options aren't permitted.
|
|
|
|
|
|
|
| |
There's now an internal -dll-split flag, which we use to tell GHC how
the GHC package is split into 2 separate DLLs. This is used by
Packages.isDllName to determine whether a call is within the same
DLL, or whether it is a call to another DLL.
|
|
|
|
|
|
| |
It now consistently takes directory and distDirectory as its first 2
arguments. Also, it only supports configuring 1 package at a time now
(we weren't using the ability to configure more than one at once).
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Dynamic GHC is now working in-place, but pathologically slow due
to the DLL split.
(GHC assumes that all intra-package calls are in the same DLL, but that
isn't true when we split the GHC package into 2 DLLs. That means that
GHC's startup time is around 22 seconds, as it is doing run-time
linking).
Also, ghci isn't actually working yet:
$ inplace/bin/ghc-stage2 --interactive
GHCi, version 7.7.20130512: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... <command line>: can't load .so/.DLL for:
HSghc-prim-0.3.1.0.dll (addDLL: could not load DLL)
ghc-stage2.exe: HSghc-prim-0.3.1.0: The specified module could not be
found.
|
| |
| |
| |
| | |
Not just base, integer-gmp and ghc-prim.
|
|/ |
|
|
|
|
| |
Patch from pgj; part of #7819.
|
|
|
|
|
| |
On FreeBSD, one needs use "-z origin" in order to enable resolution
of $ORIGIN in RPATH. Part of #7819.
|
|
|
|
| |
Patch from Stephen Blackheath.
|
|
|
|
| |
The ghc-stage1_INPLACE variable wasn't being defined
|
|
|
|
|
| |
Currently they are all set to the same value, but when cross-compiling
they could be set to different values.
|
|
|
|
| |
Also a couple of other fixes and sanity checks along the way.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
We no longer pass -hisuf/-osuf flags to "ghc -M". Doing so didn't really
make sense with the way the -dep-suffix flags now work.
|
| |
|
|
|
|
| |
Spotted by Bill Tutt
|
|
|
|
|
|
| |
other than Windows and OS X.
It's known to work on Linux and FreeBSD.
|