summaryrefslogtreecommitdiff
path: root/mk
Commit message (Collapse)AuthorAgeFilesLines
* Add ar location and details to settings fileIan Lynagh2011-04-291-3/+3
|
* Add stage-specific AS variables to the build systemIan Lynagh2011-04-291-0/+5
|
* Get CC_STAGE0 from the bootstrapping compilerIan Lynagh2011-04-231-1/+1
| | | | | | Rather than using the compiler that configure detects, we use the "GCC command" field from the --info output of the bootstrapping compiler (provided it is >= 7.1).
* Add stage-specific versions of more ar-related makefile varsIan Lynagh2011-04-231-0/+12
|
* Remove unused ArSupportsInput makefile varIan Lynagh2011-04-231-1/+0
|
* Remove now-unused BASH makefile variableIan Lynagh2011-04-231-3/+0
|
* Make and use AR_STAGE[0123] makefile varsIan Lynagh2011-04-231-0/+6
|
* Remove unused makefile variable PREPROCESSCMDIan Lynagh2011-04-231-1/+0
|
* Make stage-specific CC variablesIan Lynagh2011-04-231-0/+4
| | | | | This allows different gcc's to be used when building different stages, which we need to do when cross-compiling.
* Remove UseGcc makefile varIan Lynagh2011-04-221-7/+2
| | | | It couldn't be overridden, and was defined as YES.
* Remove HaveGcc (it was always YES)Ian Lynagh2011-04-221-3/+0
|
* Change the way module initialisation is done (#3252, #4417)Simon Marlow2011-04-121-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the code generator generated small code fragments labelled with __stginit_M for each module M, and these performed whatever initialisation was necessary for that module and recursively invoked the initialisation functions for imported modules. This appraoch had drawbacks: - FFI users had to call hs_add_root() to ensure the correct initialisation routines were called. This is a non-standard, and ugly, API. - unless we were using -split-objs, the __stginit dependencies would entail linking the whole transitive closure of modules imported, whether they were actually used or not. In an extreme case (#4387, #4417), a module from GHC might be imported for use in Template Haskell or an annotation, and that would force the whole of GHC to be needlessly linked into the final executable. So now instead we do our initialisation with C functions marked with __attribute__((constructor)), which are automatically invoked at program startup time (or DSO load-time). The C initialisers are emitted into the stub.c file. This means that every time we compile with -prof or -hpc, we now get a stub file, but thanks to #3687 that is now invisible to the user. There are some refactorings in the RTS (particularly for HPC) to handle the fact that initialisers now get run earlier than they did before. The __stginit symbols are still generated, and the hs_add_root() function still exists (but does nothing), for backwards compatibility.
* Flag for defaulting the codegen GhcStageXDefaultNewCodegen.Edward Z. Yang2011-04-111-0/+10
| | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* - disable shared lib support on Solaris 10 and older (fixes #4973)Karel Gardas2011-04-082-4/+13
|
* Remove dead code, now that -fvia-c is a no-opIan Lynagh2011-04-042-3/+0
|
* Fix the build on Windows (disable hsc2hs --cross-safe)Ian Lynagh2011-03-261-0/+5
| | | | | | 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
* Document new hsc2hs flags, and use the --cross-safe flag when we're compilingIan Lynagh2011-03-231-0/+1
| | | | Patch from Brian Bloniarz
* Change how we compute install paths on cygwinIan Lynagh2011-03-201-1/+1
| | | | | | | | | | | | | | | We used to have MK_INSTALL_DEST = "$(shell cygpath $1)" but this meant we ended up with "$(shell cygpath "[...]/html/`basename $$i`")" and the $(...) gets evaluated before the makefile rule, so the for loop hasn't been run, and so $i isn't defined. So we were taking the basename of the empty string, meaning docs weren't being installed in the right place. Now we have MK_INSTALL_DEST = $$(cygpath $1) so the evaluation happens in the shell, while the for loop is running.
* Turn off split objects on Darwin if XCode < 3.2 (#4013)Ian Lynagh2011-02-251-0/+2
|
* Reenable object splitting on Darwin, now #4013 appears to be fixedIan Lynagh2011-02-191-2/+1
|
* Use DTrace whenever it's availableIan Lynagh2011-02-101-3/+1
| | | | | Now that we've stopped trying to support 64bit OS X 10.5, the DTrace problems there don't matter.
* commentsSimon Marlow2011-02-011-5/+7
|
* Merge in new code generator branch.Simon Marlow2011-01-241-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | This changes the new code generator to make use of the Hoopl package for dataflow analysis. Hoopl is a new boot package, and is maintained in a separate upstream git repository (as usual, GHC has its own lagging darcs mirror in http://darcs.haskell.org/packages/hoopl). During this merge I squashed recent history into one patch. I tried to rebase, but the history had some internal conflicts of its own which made rebase extremely confusing, so I gave up. The history I squashed was: - Update new codegen to work with latest Hoopl - Add some notes on new code gen to cmm-notes - Enable Hoopl lag package. - Add SPJ note to cmm-notes - Improve GC calls on new code generator. Work in this branch was done by: - Milan Straka <fox@ucw.cz> - John Dias <dias@cs.tufts.edu> - David Terei <davidterei@gmail.com> Edward Z. Yang <ezyang@mit.edu> merged in further changes from GHC HEAD and fixed a few bugs.
* Fix "make 1" etc following the build system changesIan Lynagh2011-01-272-1/+61
| | | | | The logic is now in mk/compiler-ghc.mk rather than being duplicated in ghc/Makefile and compiler/Makefile.
* Keep separate linker flags, for when we want to link with gcc or ldIan Lynagh2011-01-241-3/+6
|
* Fix OSTYPE testIan Lynagh2011-01-201-2/+2
|
* Add OSTYPE build-system variable, and use itsimonpj@microsoft.com2011-01-133-7/+15
| | | | | | | | The use is in install.mk.in, where we need to know when we're on Cygwin. This fixes the build on my Windows box, where I have both Msys and Cygwin.
* Turn off dtrace unless you override USE_DTRACEIan Lynagh2011-01-161-0/+3
| | | | | There are problems with dtrace on 64bit 10.5. For now at least, we just turn dtrace off unless you override USE_DTRACE
* Build system improvementsIan Lynagh2011-01-151-2/+0
| | | | | | | | | We no longer use dummy-ghc; instead we don't configure most packages until the stage1 compiler is available. We also now use Cabal for building the ghc-bin package. There are a couple more sanity checks too.
* Make DESTDIR an absolute path when installing; fixes #4883Ian Lynagh2011-01-081-0/+4
|
* On Cygwin, use a Cygwin-style path for /bin/install's destinationIan Lynagh2011-01-061-8/+33
| | | | | | | | | | | | | | | | | cygwin's /bin/install doesn't set file modes correctly if the destination path is a C: style path: $ /bin/install -c -m 644 foo /cygdrive/c/cygwin/home/ian/foo2 $ /bin/install -c -m 644 foo c:/cygwin/home/ian/foo3 $ ls -l foo* -rw-r--r-- 1 ian None 0 2011-01-06 18:28 foo -rw-r--r-- 1 ian None 0 2011-01-06 18:29 foo2 -rwxrwxrwx 1 ian None 0 2011-01-06 18:29 foo3 This causes problems for bindisttest/checkBinaries.sh which then thinks that e.g. the userguide HTML files are binaries. We therefore use a /cygdrive path if we are on cygwin
* Drop a seven years old workaround for happyMatthias Kilian2010-12-311-4/+0
|
* Drop GhcWithLlvmCodeGen configuration bitsMatthias Kilian2010-12-191-3/+0
| | | | | | The LLVM code generator is always built unconditionally, so both the configuration variable in mk/config.mk.in as well as the string in compilerInfo can be removed.
* provide shared libraries support on i386-unknown-solaris2 platformKarel Gardas2010-12-171-0/+1
|
* comments on SRC_HC_OPTS (#4829)Simon Marlow2010-12-141-0/+17
|
* Remove dead code now that we require the bootstrapping compiler be >= 6.12Ian Lynagh2010-12-141-2/+0
|
* Make CPPFLAGS variables, as well as CFLAGS and LDFLAGSIan Lynagh2010-12-071-0/+3
| | | | | | | | | | | This fixes the "does unsetenv return void" test in the unix package on OS X, if I tell it to make 10.4-compatible binaries. The test uses CPPFLAGS but not CFLAGS, so it thought it returned int (as it was in 10.5-mode), but the C compiler (using CFLAGS, so in 10.4 mode) thought it returned void. I also added CONF_LD_OPTS_STAGE$3 to the list of things in LDFLAGS, which looks like an accidental ommission.
* Always enable the archive-loading codeIan Lynagh2010-11-271-6/+0
| | | | If the GHCi .o lib doesn't exist, load the .a instead
* Remove an unused build system variable: GhcDirIan Lynagh2010-11-241-2/+0
|
* Remove unused build system variable: GhcHasEditlineIan Lynagh2010-11-241-3/+0
|
* Remove unused variables from the build system: HBC, NHC, MKDEPENDHSIan Lynagh2010-11-241-8/+2
|
* Remove references to Haskell 98Ian Lynagh2010-11-231-1/+0
| | | | | They are no longer right, as we have Haskell' generating new Haskell standards.
* Libraries bytestirng, time, binary need -fno-warn-identitiessimonpj@microsoft.com2010-11-161-2/+5
| | | | | They all have redundant uses of fromIntegral, but are no under GHC HQ control.
* Fix computation of installed packagessimonpj@microsoft.com2010-09-241-0/+3
| | | | | | This is a follow-on to Simon's patch yesterday, developed with him. It cleans up the computation of how packages are installed, and installs the right ones.
* For now, switch off incomplete-pattern warnings in containerssimonpj@microsoft.com2010-09-231-0/+3
| | | | | Put it back on when my patch is applied to the containers repo. (the one that removes two refuable lambdas)
* turn off -Werror for primitive and vectorSimon Marlow2010-09-231-0/+6
|
* Refactoring and tidy up in the build systemSimon Marlow2010-09-231-0/+4
| | | | | | | | | | | Instead of the ghc-stage and ghc-stage2-package files in a package, we now have a list of these in ghc.mk. There are other similar lists (of boot-packages and non-installable packages), so this is not too bad, and is simpler. While poking around in the top-level ghc.mk file I spotted various opportunities to clean up and re-order some of the cruft that has accumulated over time.
* "UseArchivesForGhci = YES" on darwinIan Lynagh2010-09-201-0/+4
|
* Implement archive loading for ghciIan Lynagh2010-09-201-0/+2
|
* Enable shared libs on OpenBSDMatthias Kilian2010-09-181-1/+6
|