- Nov 10, 2016
-
-
Certain distributions (e.g. Debian and Ubuntu) have enabled PIE be default in their GCC packaging. This breaks our abuse of GCC as a linker which requires that we pass -Wl,-r, which is incompatible with PIE (since the former implies that we are generating a relocatable object file and the latter an executable). Test Plan: Validate Reviewers: hvr, austin Subscribers: rwbarton, thomie, erikd Differential Revision: https://phabricator.haskell.org/D2691 GHC Trac Issues: #12759
-
- Sep 05, 2016
-
-
As reported in #12555 this code was terribly broken. Sadly, Autoconf was none-the-wiser. Thanks to @rwbarton for pointing this out. Test Plan: Test with libdw version newer and older and 0.158 Reviewers: hvr, austin, rwbarton Reviewed By: rwbarton Subscribers: thomie, rwbarton, erikd Differential Revision: https://phabricator.haskell.org/D2510 GHC Trac Issues: #12555
-
- Jun 14, 2016
-
-
Thomas Miedema authored
This is a follow up to a74a3846 , which made the same change but for the toplevel configure.ac. Reviewed by: erikd Differential Revision: https://phabricator.haskell.org/D2330 GHC Trac Issues: #11659
-
- May 31, 2016
-
-
Erik de Castro Lopo authored
Test Plan: Configure/build with and without --enable-libdw Reviewers: trofi, hvr, austin, simonmar, bgamari Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2276
-
- Apr 16, 2016
-
-
Rather than using the non-standard/idiomatic `--with-{gcc,clang}=...` scheme use the `CC=...` style scheme. The basic idea is to have Autoconf's CC/CFLAG/CPPFLAG apply to stage{1,2,3}, while having a separate _STAGE0 set of env-vars denote the bootstrap-toolchain flags/programs. This should be simpler, less confusing, and somewhat more in line with Autoconf's idioms (allowing us to reuse more of Autoconf rather than (re)inventing our own confusing non-standard m4 macros to do stuff that Autoconf could almost do already for us) Morever, expose CC_STAGE0 as a so-called "precious" variable. So now we can better control which bootstrapping gcc is used (by default the one used by the stage0 ghc, unless CC_STAGE0 is overriden) ``` Some influential environment variables: CC_STAGE0 C compiler command (bootstrap) CC C compiler command CFLAGS C compiler flags ... Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. ``` Test Plan: I've tested that cross-compiling with `--target=powerpc-linux-gnu` still works, and tried a few variants of settting `CC=` and `CC_STAGE0=`; `./validate` passed as well Reviewers: erikd, austin, bgamari, simonmar Reviewed By: simonmar Subscribers: Phyx, thomie Differential Revision: https://phabricator.haskell.org/D2078
-
- Apr 15, 2016
-
-
Test Plan: Try configure in an environment with older `libdw` Reviewers: hvr, austin Subscribers: thomie, erikd Differential Revision: https://phabricator.haskell.org/D2103 GHC Trac Issues: #11820
-
- Mar 28, 2016
-
-
Herbert Valerio Riedel authored
This is the first phase of addressing #11757 which aims to make C99 support a base-line requirement for GHC and clean up the code-base to use C99 facilities when sensible. This patch exploits the logic/heuristic used by `AC_PROG_CC_C99` to determine the flags needed in case the C compiler isn't able to compile C99 code in its current mode. We can't use `AC_PROG_CC_C99` directly though because GHC's build-system expects CC to contain a filename without any flags, while `AC_PROG_CC_C99` would e.g. result in `CC="gcc -std=gnu99"`. Morever, we support different `CC`s for stage0/1/2, so we need a version of `AC_PROG_CC_C99` for which we can specify the `CC`/`CFLAGS` variables to operate on. This is what `FP_SET_CFLAGS_C99` does. Note that Clang has been defaulting to C99+ for a long time, while GCC 5 defaults to C99+ as well. So this has mostly an affect on older GCCs versions prior to 5.0 and possibly compilers other than GCC/Clang (which are not officially supported for building GHC anyway). Reviewers: kgardas, erikd, bgamari, austin Reviewed By: erikd Differential Revision: https://phabricator.haskell.org/D2045
-
- Feb 07, 2016
-
-
Ben Gamari authored
Fixes #11419
-
Ben Gamari authored
Fixes #11419.
-
- Jan 08, 2016
-
-
Thomas Miedema authored
Some parts of the build system require that paths are what msys2 calls "mixed style": * forwards slashes * absolute paths starting with a drive letter followed by a colon (e.g. "C:") The removal of ghc-pwd in 4c56ad36 changed $(TOP) from mixed style to unix style, resulting in a broken Windows build for some. Differential Revision: https://phabricator.haskell.org/D1752
-
- Jan 04, 2016
-
-
On Windows, with msys2, `pwd` works (as can be seen by the use of `pwd` that slipped into the validate script), so there is really no need for `ghc-pwd` anymore. Test Plan: try it Reviewers: austin, bgamari, Phyx Reviewed By: Phyx Subscribers: Phyx, erikd Differential Revision: https://phabricator.haskell.org/D1731
-
- Oct 17, 2015
-
-
This adds basic support to the RTS for DWARF-assisted unwinding of the Haskell and C stack via libdw. This only adds the infrastructure; consumers of this functionality will be introduced in future diffs. Currently we are carrying the initial register collection code in Libdw.c but this will eventually make its way upstream to libdw. Test Plan: See future patches Reviewers: Tarrasch, scpmw, austin, simonmar Reviewed By: austin, simonmar Subscribers: simonmar, thomie, erikd Differential Revision: https://phabricator.haskell.org/D1196 GHC Trac Issues: #10656
-
- Aug 21, 2015
-
-
Thomas Miedema authored
-
- Apr 10, 2015
-
-
Erik de Castro Lopo authored
* distrib/configure.ac.in : Detect correct version of LLVM tools as was done for the top level configure.ac in 42448e37. * aclocal.m4 : Add a FIND_LD macro that can be used in both configure scripts. * Use new FIND_LD macro in both configure scripts. Signed-off-by:
Erik de Castro Lopo <erikd@mega-nerd.com> Test Plan: validate on amd64-linux and armhf-linux. Reviewers: rwbarton, austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D828 GHC Trac Issues: #10234
-
- Feb 17, 2015
-
-
Thomas Miedema authored
Reviewers: carter, austin Reviewed By: austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D648 GHC Trac Issues: #9094
-
- Sep 23, 2014
-
-
Thomas Miedema authored
Summary: ``` git grep -l '#!' | xargs sed -i 's|#!.*/bin/\([^ ]*\)$|#!/usr/bin/env \1|' ``` and some manual tweaking Test Plan: harbormaster Reviewers: austin Subscribers: hvr, simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D237 GHC Trac Issues: #9057
-
- Aug 17, 2014
-
-
kgardas authored
Summary: Solaris 11 distributed GNU C 4.5.x is configured in a way that its CPP is not working well while invoked from GHC. GHC runs it with -x assembler-with-cpp and in this particular configuration GNU C CPP does not provide any line-markers so GHC's output of errors or warnings is confusing since it points to preprocessed file in /tmp and not to the original Haskell file. Fortunately old GNU C 3.4.x is still provided by the OS and when installed it'll be used automatically as GHC CPP which is whole logic of this patch. So although we use modern GCC as a C compiler and assembler we use old GCC as a C preprocessor. Test Plan: validate Reviewers: austin Reviewed By: austin Subscribers: phaskell, simonmar, relrod, ezyang, carter Differential Revision: https://phabricator.haskell.org/D151
-
- Jul 02, 2014
-
-
Carter Schonwald authored
Summary: Allow the CPP program and flag choices for GHC be configured via the the ghc settings file Test Plan: ran validate yesterday Reviewers: hvr, austin, mzero, simonmar Reviewed By: austin, mzero, simonmar Subscribers: mzero, simonmar, relrod, carter Differential Revision: https://phabricator.haskell.org/D26
-
- May 14, 2014
-
-
Herbert Valerio Riedel authored
Haskell2010 implies (at least) EmptyDataDecls, ForeignFunctionInterface, PatternGuards, DoAndIfThenElse, and RelaxedPolyRec. This is a follow-up to dd92e217 Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org>
-
- Apr 30, 2014
-
-
Joachim Breitner authored
As suggested in #9057.
-
- Mar 23, 2014
-
-
Gabor Greif authored
-
- Feb 19, 2014
-
-
kgardas authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
- Oct 01, 2013
-
-
Simon Marlow authored
-
- Jun 17, 2013
-
-
Austin Seipp authored
Previously, we did ./configure time checks to see if 'GNU ld' supported certain options. If it does, we bake those options into the link step. See Trac #5240. Unfortunately, the linker we use at runtime can change for several reasons. One is that the user specifies -pgml 'foo'. The other is if /usr/bin/ld or whatnot changes from when GHC was built. Those options mentioned earlier are specific to GNU ld, but many systems support GNU gold too. This is Trac #6063. So we need to check at runtime what linker we're using. This is actually a little bit complicated because we normally use the C compiler as our linker. Windows and OS X are also special here. Finally, this patch also unconditionally gives '--hash-size=31' and '--reduce-memory-overheads' to the system linker if it's GNU ld. These options have been supported for 8+ years from what I can see, and there are probably a lot of other reasons why GHC would not work with such an ancient binutils, all things considered. See Note [Run-time linker info] in SysTools for details. There are plenty of comments as well in the surrounding code. Signed-off-by:
Austin Seipp <aseipp@pobox.com>
-
- Apr 20, 2013
-
-
Ian Lynagh authored
It now just warns about files it doesn't recognise, rather than giving an error. This means that random text files etc in the same directory as the bindists don't make it fall over.
-
Ian Lynagh authored
We now leave making installers to the Haskell Platform.
-
- Mar 18, 2013
-
-
Ian Lynagh authored
Without it, when linking the split objects for Language.Haskell.TH.Syntax, the commandline was too long when listing all the files directly.
-
- Feb 17, 2013
-
-
Ian Lynagh authored
-
- Jan 30, 2013
-
-
Simon Marlow authored
-
- Jan 29, 2013
-
-
Ian Lynagh authored
-
- Jan 27, 2013
-
-
Ian Lynagh authored
Makes it clearer whether it succeeded when redirecting output
-
Ian Lynagh authored
It thought that something impossible was happening when they were involved.
-
Ian Lynagh authored
This program: main :: IO () main = do re "[^ ]" "\207" re "[ ]" "\207" re " " "\207" re :: String -> String -> IO () re r str = let r' = makeRegex r :: Regex res = matchM r' str :: Maybe (String, String, String, [String]) in print res prints Nothing Nothing Nothing for me with Posix, but Just ("","\207","",[]) Nothing Nothing with PCRE. This was causing compare to fail with Tar line doesn't parse: "drwxrwxr-x simonmar/GHC 0 2012-12-08 21:35 ghc-7.6.1.20121207/libraries/haskeline/tests/dummy-\206\188\206\177\207\\302\\203/" on the GHC source tarball.
-
Ian Lynagh authored
-
- Nov 13, 2012
-
-
Ian Lynagh authored
-
- Oct 11, 2012
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
They are no longer used
-
Ian Lynagh authored
We no longer produce installers fo OS X; we leave that to the Haskell Platform team.
-
- Oct 03, 2012
-
-
Ian Lynagh authored
This required various build system changes to get the build to go through. In the inplace shell wrappers, we set LD_LIBRARY_PATH to allow programs to find their libraries. In the future, we might change the inplace tree to be the same shape as an installed tree instead. However, this would mean changing the way we do installation, as currently we use cabal's installation methods to install the libraries, but that only works if the libraries are under libraries/foo/dist-install/build/..., rather than in inplace/lib/...
-