summaryrefslogtreecommitdiff
path: root/ghc/compiler/main/DynFlags.hs
Commit message (Collapse)AuthorAgeFilesLines
* Reorganisation of the source treeSimon Marlow2006-04-071-1344/+0
| | | | | | | | | | | | | | | Most of the other users of the fptools build system have migrated to Cabal, and with the move to darcs we can now flatten the source tree without losing history, so here goes. The main change is that the ghc/ subdir is gone, and most of what it contained is now at the top level. The build system now makes no pretense at being multi-project, it is just the GHC build system. No doubt this will break many things, and there will be a period of instability while we fix the dependencies. A straightforward build should work, but I haven't yet fixed binary/source distributions. Changes to the Building Guide will follow, too.
* GHC.Base.breakpoint isn't vaporware anymore.Lemmih2006-04-061-0/+2
| | | | | -fignore-breakpoints can be used to ignore breakpoints.
* -fno-code shouldn't be a mode.Lemmih2006-03-181-10/+4
| | | | | | | | I've removed -fno-code from Main to make it work equally well with --make and -c. I've also allowed it not to write hi files unless -fwrite-iface is given.
* -fno-code shouldn't be a mode.Lemmih2006-03-181-4/+10
| | | | | | | | I've removed -fno-code from Main to make it work equally well with --make and -c. I've also allowed it not to write hi files unless -fwrite-iface is given.
* x86_64: add -fno-builtin to gcc command line for .hc files.Simon Marlow2006-03-071-1/+5
| | | | This seems to be required now that we're stealing more registers.
* Completion for :set, :unset and :undef.Lemmih2006-02-101-0/+10
|
* add -dfaststring-stats to dump some stats about the FastString hash tableSimon Marlow2006-02-081-0/+2
|
* Add bang patternssimonpj@microsoft.com2006-02-031-1/+4
| | | | | | | | | | This commit adds bang-patterns, enabled by -fglasgow-exts or -fbang-patterns diabled by -fno-bang-patterns The idea is described here http://haskell.galois.com/cgi-bin/haskell-prime/trac.cgi/wiki/BangPatterns
* [project @ 2005-11-25 13:04:41 by simonmar]simonmar2005-11-251-1/+1
| | | | -ddump-minimal-imports shouldn't turn off recompilation checking
* [project @ 2005-10-31 11:53:42 by simonmar]simonmar2005-10-311-1/+6
| | | | x86_64: pass -fno-unit-at-a-time to gcc. See comment for details.
* [project @ 2005-10-28 15:22:39 by simonmar]simonmar2005-10-281-18/+25
| | | | | | | | | | | | | | Add -stubdir option to control location of generated stub files. Also do some clean up while I'm here - remove hscStubCOut/hscStubHOut from DynFlags, and add mkStubPaths :: DynFlags -> Module -> ModLocation -> (FilePath,FilePath) to Finder. (this seemed better than caching the stub paths in every ModLocation, because they are rarely needed and only present in home modules, and are easily calculated from other available information). -stubdir behaves in exactly the same way as -odir and -hidir.
* [project @ 2005-10-28 11:35:35 by simonmar]simonmar2005-10-281-4/+6
| | | | | | | | | | | | Change the default executable name to match the basename of the source file containing the Main module (or the module specified by -main-is), if there is one. On Windows, the .exe extension is added. As requested on the ghc-users list, and as implemented by Tomasz Zielonka <tomasz.zielonka at gmail.com>, with modifications by me. I changed the type of the mainModIs field of DynFlags from Maybe String to Module, which removed some duplicate code.
* [project @ 2005-10-25 12:48:35 by simonmar]simonmar2005-10-251-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Two changes from Krasimir Angelov, which were required for Visual Haskell: - messaging cleanup throughout the compiler. DynFlags has a new field: log_action :: Severity -> SrcSpan -> PprStyle -> Message -> IO () this action is invoked for every message generated by the compiler. This means a client of the GHC API can direct messages to any destination, or collect them up in an IORef for later perusal. This replaces previous hacks to redirect messages in the GHC API (hence some changes to function types in GHC.hs). - The JustTypecheck mode of GHC now does what it says. It doesn't run any of the compiler passes beyond the typechecker for each module, but does generate the ModIface in order that further modules can be typechecked. And one change from me: - implement the LANGUAGE pragma, finally
* [project @ 2005-08-19 08:02:39 by simonpj]simonpj2005-08-191-0/+1
| | | | Make -fno-code work again
* [project @ 2005-08-03 15:16:14 by simonmar]simonmar2005-08-031-2/+0
| | | | fix bogus #ifdef in defaultHscTarget
* [project @ 2005-07-11 09:10:58 by simonmar]simonmar2005-07-111-1/+7
| | | | | | x86_64: Pass -fno-asynchronous-unwind-tables to gcc, which eliminates some unnecessary junk from the via-C generated code and allows -split-objs to work.
* [project @ 2005-06-07 09:55:03 by simonmar]simonmar2005-06-071-1/+1
| | | | -ddump-hi-diffs shouldn't turn off recompilation checking
* [project @ 2005-05-23 09:56:03 by simonpj]simonpj2005-05-231-6/+5
| | | | Track new semantics of splitLongestPrefix; fixes -main-is bug
* [project @ 2005-04-26 14:43:31 by simonmar]simonmar2005-04-261-1/+1
| | | | | | | | | | Back out previous revision. It appears that passing -g to the assembly phase of C compilation results in an object file with broken debug info, that gdb can't read. This is probably a bug in gcc and/or binutils, but this change means that I can't avoid it (unless we were to hack the pipeline to do .c->.s->.o in one stage instead of two).
* [project @ 2005-04-25 13:02:31 by simonmar]simonmar2005-04-251-1/+1
| | | | | | | | | | | | | Requested by Duncan Coutts: -optc flags get passed to the assembler phase too. It's not obvious, when using GHC to compile a .c file, that options need to be passed both with -optc and -opta - gcc doesn't need this, for example. This is an experimental change - if it breaks anything we can back it out. If anyone needs to pass flags to the .c->.s phase *only*, then we will need to add another flag for that purpose. It seems unlikely, though (there aren't many flags that affect the assembler only, and those that do don't conflict with flags for the C phase).
* [project @ 2005-04-22 21:54:37 by simonmar]simonmar2005-04-221-0/+1
| | | | enable splitting on x86_64
* [project @ 2005-04-07 11:35:48 by simonmar]simonmar2005-04-071-0/+4
| | | | Add the -hide-all-packages flag.
* [project @ 2005-03-31 10:16:33 by simonmar]simonmar2005-03-311-2/+2
| | | | | | | Tweaks to get the GHC sources through Haddock. Doesn't quite work yet, because Haddock complains about the recursive modules. Haddock needs to understand SOURCE imports (it can probably just ignore them as a first attempt).
* [project @ 2005-03-22 17:33:38 by simonpj]simonpj2005-03-221-10/+11
| | | | Windows wibbles
* [project @ 2005-03-21 10:50:22 by simonmar]simonmar2005-03-211-4/+61
| | | | | | | | | | | | Complete the transition of -split-objs into a dynamic flag (looks like I half-finished it in the last commit). Also: complete the transition of -tmpdir into a dynamic flag, which involves some rearrangement of code from SysTools into DynFlags. Someday, initSysTools should move wholesale into initDynFlags, because most of the state that it initialises is now part of the DynFlags structure, and the rest could be moved in easily.
* [project @ 2005-03-18 13:37:27 by simonmar]simonmar2005-03-181-0/+1230
Flags cleanup. Basically the purpose of this commit is to move more of the compiler's global state into DynFlags, which is moving in the direction we need to go for the GHC API which can have multiple active sessions supported by a single GHC instance. Before: $ grep 'global_var' */*hs | wc -l 78 After: $ grep 'global_var' */*hs | wc -l 27 Well, it's an improvement. Most of what's left won't really affect our ability to host multiple sessions. Lots of static flags have become dynamic flags (yay!). Notably lots of flags that we used to think of as "driver" flags, like -I and -L, are now dynamic. The most notable static flags left behind are the "way" flags, eg. -prof. It would be nice to fix this, but it isn't urgent. On the way, lots of cleanup has happened. Everything related to static and dynamic flags lives in StaticFlags and DynFlags respectively, and they share a common command-line parser library in CmdLineParser. The flags related to modes (--makde, --interactive etc.) are now private to the front end: in fact private to Main itself, for now.