summaryrefslogtreecommitdiff
path: root/rules
Commit message (Collapse)AuthorAgeFilesLines
* Handle base et al. specially in foreachLibrary.mkHerbert Valerio Riedel2014-04-221-2/+15
| | | | | | | | | | | | 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>
* Update Cabal submodule to tip of v1.20 branchHerbert Valerio Riedel2014-04-161-1/+0
| | | | | | | | | | | | | | | | | | | 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>
* Pass custom CC and LD opts to Cabal when configuring a packageSimon Marlow2014-03-271-3/+11
| | | | | Cabal compiles a program to check for the existence of foreign libraries, so it needs to know our custom options, if any.
* Include EXTRA_LD_OPTS (amongst other things) when linking programsSimon Marlow2014-03-272-23/+30
| | | | | | | | | | 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.
* Fix installation of ghc-split (#8760)Austin Seipp2014-02-201-1/+9
| | | | | | | | | 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>
* fix sed expression in build dependencies rules to work well with non-GNU sed ↵Karel Gardas2014-02-191-12/+9
| | | | | | | | | (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>
* Fix inplace dynamic linking on OS X (#8266)Christiaan Baaj2014-01-284-61/+3
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Fix specification of -z origin for gold.Austin Seipp2014-01-071-1/+1
| | | | | | | 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>
* Fix make binary-dist on OS X (#8122)Austin Seipp2013-11-221-6/+7
| | | | | Authored-by: Christiaan Baaj <christiaan.baaij@gmail.com> Signed-off-by: Austin Seipp <austin@well-typed.com>
* Correctly set relative rpath for OS X (#8266)Austin Seipp2013-10-252-4/+25
| | | | | | | | | 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>
* Globally replace "hackage.haskell.org" with "ghc.haskell.org"Simon Marlow2013-10-0140-81/+81
|
* Comment fixGabor Greif2013-08-311-1/+1
|
* Change the ranlib detectionIan Lynagh2013-07-031-1/+1
| | | | | | | | 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.
* Fix the dynmaic library paths in the libs, as well as in the programsIan Lynagh2013-06-223-12/+38
| | | | Part of #7833
* On OS X, fix the path to the libffi dynlib; fixes #7833Ian Lynagh2013-06-221-0/+1
|
* Cleaning fixes, and other build system tweaks; part of #7941Ian Lynagh2013-06-142-9/+4
|
* Fix a commentIan Lynagh2013-06-021-1/+1
| | | | Make expands things even in comments
* Add a commentIan Lynagh2013-06-011-0/+4
|
* Don't link base/rts/... into C wrapper programsIan Lynagh2013-05-161-2/+2
|
* Make dynamic GHC no Windows installable tooIan Lynagh2013-05-161-11/+32
| | | | | We need different paths in the wrapper, as teh installed tree is a different shape to the build tree.
* Don't try to build bindist wrappers on WindowsIan Lynagh2013-05-151-0/+2
|
* Link to the right RTS whenever we build a .dll on WindowsIan Lynagh2013-05-151-12/+0
| | | | | When GHCi makes temporary DLLs, those also need to be linked against the right RTS, or we won't be able to load them.
* Define the right RTS config in the Windows dyn wrapper programsIan Lynagh2013-05-141-0/+17
| | | | | | 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.
* Fix the GHC package DLL-splittingIan Lynagh2013-05-142-1/+9
| | | | | | | 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.
* Simplify ghc-cabalIan Lynagh2013-05-142-2/+2
| | | | | | 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).
* Merge win:/cygdrive/c/ghc/git/dtIan Lynagh2013-05-122-1/+32
|\
| * More work towards dynamic programs on WindowsIan Lynagh2013-05-121-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * We actually need to use -threaded/-debug when linking /all/ DLLsIan Lynagh2013-05-121-0/+12
| | | | | | | | Not just base, integer-gmp and ghc-prim.
* | Generate dependencies for .cmm files properlyIan Lynagh2013-05-092-6/+13
|/
* Use -rpath flags on all Elf OSes, not just LinuxIan Lynagh2013-04-271-1/+1
| | | | Patch from pgj; part of #7819.
* When linking with $ORIGIN rpaths, use the "-z origin" linker flag tooIan Lynagh2013-04-271-1/+1
| | | | | On FreeBSD, one needs use "-z origin" in order to enable resolution of $ORIGIN in RPATH. Part of #7819.
* pass the correct -Dxxx_HOST_ARCH and -Dxxx_HOST_OS to hsc2hs; Fixes #7761.Ian Lynagh2013-04-211-2/+0
| | | | Patch from Stephen Blackheath.
* Fix "make 2" in ghc/Ian Lynagh2013-04-211-3/+12
| | | | The ghc-stage1_INPLACE variable wasn't being defined
* Use different exeext variables for each stage; fixes #7709Ian Lynagh2013-04-201-1/+1
| | | | | Currently they are all set to the same value, but when cross-compiling they could be set to different values.
* Follow build system changes in integer-gmpIan Lynagh2013-04-203-2/+10
| | | | Also a couple of other fixes and sanity checks along the way.
* Some build system refactoringIan Lynagh2013-04-208-27/+27
|
* Add a check that the Windows DLL split is OK; fixes #7780Ian Lynagh2013-04-071-0/+11
|
* Build system fix: really print the number of symbols in DLLsIan Lynagh2013-04-061-1/+1
|
* When making a DLL, print the number of symbols that are in itIan Lynagh2013-04-061-0/+1
|
* Tweak the _HC_OPTS variablesIan Lynagh2013-03-232-6/+9
| | | | | 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.
* Remove some commented out build system codeIan Lynagh2013-03-191-11/+0
|
* Fix building when $(CC_STAGE0) contains spacesIan Lynagh2013-03-191-2/+2
| | | | Spotted by Bill Tutt
* Optimistically assume that LD_LIBRARY_PATH works for all platformsIan Lynagh2013-03-191-3/+3
| | | | | | other than Windows and OS X. It's known to work on Linux and FreeBSD.
* Fix ohi-sanity-check when we have ways other than v and dyn enabledIan Lynagh2013-03-171-1/+5
| | | | | It thought that /all/ ways should create the dyn o/hi files, but only the v way does.
* Partial support for dynamic ghc on WindowsIan Lynagh2013-03-161-1/+9
|
* By default, use the dynamic way for programs in the GHC treeIan Lynagh2013-03-154-6/+6
| | | | | In particular, this means that GHCi will use DLLs, rather than loading object files itself.
* Finish adding support for 2 DLLs in the ghc package; fixes #5987Ian Lynagh2013-03-131-3/+17
|
* Merge branch 'master' of win:c:/ghc/git/cygwin/.Ian Lynagh2013-03-121-8/+33
|\
| * Fix building the GHC package DLL on WindowsIan Lynagh2013-03-111-8/+33
| | | | | | | | | | | | We now put a handful of modules in a separate DLL. For now the list is hand-written, but we could automate it in the future.
* | Update CabalIan Lynagh2013-03-111-7/+6
| |