summaryrefslogtreecommitdiff
path: root/ghc/utils
Commit message (Collapse)AuthorAgeFilesLines
* Make it a fatal error to try to enter a PAPSimon Marlow2006-03-141-1/+1
| | | | | | | This is just an assertion, in effect: we should never enter a PAP, but for convenience we previously attached the PAP apply code to the PAP info table. The problem with this was that it makes it harder to track down bugs that result in entering a PAP...
* Fix a really nasty bug in SMPSimon Marlow2006-03-141-4/+8
| | | | | | | | | | | In SMP mode a THUNK can change to an IND at any time. The generic apply code (stg_ap_p etc.) examines a closure to determine how to apply it to its arguments, if it is a THUNK it must enter it first in order to evaluate it. The problem was that in order to enter the THUNK, we were re-reading the info pointer, and possibly ending up with an IND instead of the original THUNK. It isn't safe to enter the IND, because it points to a function (functions are never "entered", only applied). Solution: we must not re-read the info pointer.
* Look for a package.conf.d directory containing per-package .conf filesSimon Marlow2006-03-131-2/+12
| | | | | | Contributed by Duncan Coutts, with changes to merge into the HEAD. This isn't the full deal, ghc-pkg still modifies files only, but it's enough to help the Gentoo folk along.
* pass arguments to unknown function calls in registersSimon Marlow2006-02-281-27/+166
| | | | | | | | | | | | | | | We now have more stg_ap entry points: stg_ap_*_fast, which take arguments in registers according to the platform calling convention. This is faster if the function being called is evaluated and has the right arity, which is the common case (see the eval/apply paper for measurements). We still need the stg_ap_*_info entry points for stack-based application, such as an overflows when a function is applied to too many argumnets. The stg_ap_*_fast functions actually just check for an evaluated function, and if they don't find one, push the args on the stack and invoke stg_ap_*_info. (this might be slightly slower in some cases, but not the common case).
* slightly better dependencies for GenApply.hsSimon Marlow2006-02-271-0/+6
|
* catch up with changes to Distribution.ParseUtils.ParseResultSimon Marlow2006-02-071-1/+1
|
* primop-docsDinko Tenev2006-01-221-0/+54
|
* Make hsc2hs emit the full path name in {-# LINE #-} pagmas.Duncan Coutts2006-01-221-1/+1
| | | | | For one thing this is the right thing to do anyway, it's what other tools do. Secondly it allows haddock to produce accurate source code links.
* [project @ 2006-01-09 14:38:01 by simonmar]simonmar2006-01-091-1/+2
| | | | | Initialise part of a structure to NULL to avoid a gcc warning I haven't checked the code on this one to be sure this isn't just a bug.
* [project @ 2006-01-09 14:32:31 by simonmar]simonmar2006-01-091-2/+2
| | | | Use correct format specifier for a size_t value
* [project @ 2006-01-09 14:32:03 by simonmar]simonmar2006-01-091-0/+1
| | | | Include string.h in unlit, fixing gcc "implicit declaration" warnings
* [project @ 2005-12-02 12:45:16 by simonmar]simonmar2005-12-021-1/+7
| | | | | | Fix Windows build Patch submitted by: Esa Ilari Vuokko <eivuokko at gmail.com>
* [project @ 2005-11-25 09:56:59 by simonmar]simonmar2005-11-251-1/+15
| | | | sort packages by name and version in the 'ghc-pkg list' output
* [project @ 2005-11-08 14:18:35 by simonmar]simonmar2005-11-081-2/+6
| | | | | | | | when GHC_PACKAGE_PATH is set, treat the database at the bottom of the stack as the "global" one, ie. the one we modify by default. This means that GHC_PACKAGE_PATH can be used to set up a virtual GHC package environment into which packages can be installed using Cabal, without setting anything other than GHC_PACKAGE_PATH.
* [project @ 2005-11-05 00:23:36 by ross]ross2005-11-051-0/+4
| | | | fix for pre-6.0 ghc's
* [project @ 2005-11-04 15:48:25 by simonmar]simonmar2005-11-041-23/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | - Add support for the GHC_PACKAGE_PATH environment variable, which specifies a :-separated (;-separated on Windows) list of package database files. If the list ends in : (; on Windows), then the normal user and global databases are added. GHC_PACKAGE_PATH is searched left-to-right for packages, like $PATH, but unlike -package-conf flags, which are searched right-to-left. This isn't ideal, but it seemed the least worst to me (command line flags always override right-to-left (except -i), whereas the PATH environment variable overrides left-to-right, I chose to follow the environment variable convention). I can always change it if there's an outcry. - Rationalise the interpretation of --user, --global, and -f on the ghc-pkg command line. The story is now this: --user and --global say which package database to *act upon*, they do not change the shape of the database stack. -f pushes a database on the stack, and also requests that the specified database be the one to act upon, for commands that modify the database. If a database is already on the stack, then -f just selects it as the one to act upon. This means you can have a bunch of databases in GHC_PACKAGE_PATH, and use -f to select the one to modify.
* [project @ 2005-09-13 12:50:59 by simonmar]simonmar2005-09-131-4/+0
| | | | | | Never use an installed Cabal package when building GHC (except when bootstrapping in stages 2 & 3). This insulates us from changes the user may have made to their Cabal installation.
* [project @ 2005-09-05 08:22:23 by ross]ross2005-09-051-1/+1
| | | | | | add a newline after error messages MERGE to STABLE
* [project @ 2005-08-03 09:34:55 by simonmar]simonmar2005-08-031-35/+28
| | | | | | | | | | | | | Tidyup, and make all the commands that take a package identifier behave the same. Previously, naming a package without a version number only matched the same package identifier, if you wanted to match multiple packages you had to say P-*. However, the new list and latest commands behave differently, which was inconsistent. I believe the previous behaviour was for backwards compatibility with packages that had no version number. However, it's unlikely that this is ever useful, so I've changed the semantics so that a package name on its own matches all versions of that package.
* [project @ 2005-08-03 09:13:32 by simonmar]simonmar2005-08-031-11/+52
| | | | | | | | | - Add "ghc-pkg list <pkg>" to list packages matching <pkg> - Add "ghc-pkg latest <pkg>" to show the latest version of <pkg> - Add --simple-output option to produce a more easily slurpable output from ghc-pkg list. Patch from Lennart Kolmodin <kolmodin at dtek.chalmers.se>
* [project @ 2005-08-01 15:25:09 by simonmar]simonmar2005-08-011-6/+0
| | | | Rmoeve a few lines that are provided by lib/compat/compat.mk
* [project @ 2005-07-12 17:07:56 by panne]panne2005-07-122-2/+2
| | | | Add casts to silence warnings when using Solaris' simple-minded isupper() macro.
* [project @ 2005-06-16 09:51:45 by simonmar]simonmar2005-06-161-18/+2
| | | | oops, bring runghc in on the shared-compat.mk game
* [project @ 2005-06-16 09:45:28 by simonmar]simonmar2005-06-162-39/+4
| | | | | | | | Move the boilerplate Makefile code for using libghccompat.a into a shared .mk file, lib/compat/compat.mk. libghccompat.a is really a poor-mans package, but to make it a real package would mean dealing with variationg in the package support of different GHC versions, so this is easier for now.
* [project @ 2005-05-21 15:07:26 by panne]panne2005-05-211-29/+25
| | | | | While acting as warning police, I tried to clean up the #ifdef chaos a little bit, I hope nothing has been broken due to that... :-]
* [project @ 2005-05-20 12:50:42 by simonmar]simonmar2005-05-201-61/+157
| | | | | | | | | | | | | | | | | | | Implement some more error checking to catch some cases where registering a package will lead to a package database containing conflicts, which would otherwise prevent GHC from being used without any -hide-package options. In 'update' mode, instead of complaining about conflicts, we now attempt to hide any packages which would cause a conflict. Previously this was limited to just older versions of the current package, now it applies to all packages which contain, or depend on packages which contain, modules which conflict with any module belonging to the current package or a dependency of it. Unfortunately we still can't cope with conflicts that cross the boundary between the user package databse and the global one. We will need some kind of white-out mechanism in order to be able to hide a global package in the user database.
* [project @ 2005-05-18 09:43:50 by simonmar]simonmar2005-05-181-10/+14
| | | | Fix and hopefully rationalise the #ifdefs for rawSystem/system/runProcess.
* [project @ 2005-05-17 09:48:27 by krasimir]krasimir2005-05-171-11/+36
| | | | | | Use runProcess instead of system if the former is available and we would like to redirect stdout of the new process. system is unsafe if you have spaces in the file path or you have / instead of \ on Windows.
* [project @ 2005-04-29 08:59:30 by simonmar]simonmar2005-04-291-84/+30
| | | | | Re-instate support for environment variable expansion and the -D flag. Now it is done pre-parsing, however.
* [project @ 2005-04-28 15:28:05 by simonmar]simonmar2005-04-281-0/+1
| | | | | | Small code-size optimisation: I forgot to add a specialised case for functions with no argument words (which might happen if the function takes a void argument, for example).
* [project @ 2005-04-27 14:09:43 by simonmar]simonmar2005-04-271-1/+1
| | | | fprintf(stderr,..) --> debugBelch(...)
* [project @ 2005-04-23 03:10:18 by sof]sof2005-04-231-1/+1
| | | | tweak to handle ghc-6.1 compilation. Merge to STABLE
* [project @ 2005-04-22 08:41:00 by simonmar]simonmar2005-04-221-19/+36
| | | | Various fixes to ghcprof, from Christian Maeder <maeder@tzi.de>. Thanks!
* [project @ 2005-04-21 10:06:17 by simonmar]simonmar2005-04-211-12/+20
| | | | | | Allow args to be passed to GHC from runghc syntax: runghc [-f GHCPATH] [GHC-ARGS] FILE ARG...
* [project @ 2005-04-19 12:50:52 by simonmar]simonmar2005-04-191-1/+2
| | | | Pass -ignore-dot-ghci to GHC
* [project @ 2005-04-05 14:39:13 by simonmar]simonmar2005-04-051-1/+0
| | | | blackhole updates
* [project @ 2005-03-16 10:24:47 by simonmar]simonmar2005-03-161-3/+5
| | | | Further to previous patch: only create the user database if we're modifying
* [project @ 2005-03-16 10:18:28 by simonmar]simonmar2005-03-161-7/+9
| | | | | Be a bit less eager about creating the user database: now we only create it when explicitly asked to use it with --user.
* [project @ 2005-03-11 12:54:08 by simonmar]simonmar2005-03-111-0/+2
| | | | oops, forgot to clean runhaskell
* [project @ 2005-03-10 17:58:42 by malcolm]malcolm2005-03-102-4/+4
| | | | Define __CYGWIN32__ for nhc98 build of hsc2hs.
* [project @ 2005-03-08 19:14:09 by sof]sof2005-03-081-1/+1
| | | | give 'runhaskell' the 'exeext' treatment too
* [project @ 2005-03-08 19:13:27 by sof]sof2005-03-081-2/+2
| | | | explicitly use 'exeext' to avoid cygwin 'cp' weirdity
* [project @ 2005-03-08 11:50:42 by simonmar]simonmar2005-03-081-0/+12
| | | | | Build & install runhaskell, but only install it if there isn't already a $(bindir)/runhaskell.
* [project @ 2005-03-05 13:54:36 by panne]panne2005-03-051-0/+2
| | | | Clean up Version.hs for distclean target
* [project @ 2005-03-05 13:48:42 by panne]panne2005-03-052-5/+7
| | | | Warning police
* [project @ 2005-02-23 11:03:42 by simonmar]simonmar2005-02-2319-18/+19
| | | | rearrange includes
* [project @ 2005-02-21 10:13:00 by simonmar]simonmar2005-02-211-1/+1
| | | | For some reason rev. 1.71 undid rev. 1.70. Restore it.
* [project @ 2005-02-18 15:06:38 by simonmar]simonmar2005-02-181-4/+4
| | | | | | | | | | | Rename fields in InstalledPackageInfo for consistency with PackageDescription & buildInfo: extra-libs (extraLibraries) --> extra-libraries (extraLibraries) extra-cc-opts (extraCcOpts) --> cc-options (ccOptions) extra-ld-opts (extraLdOpts) --> ld-options (ldOptions) extra-hugs-opts (extraHugsOpts) --> hugs-options (hugsOptions) extra-frameworks (extraFrameworks) --> frameworks (frameworks)
* [project @ 2005-02-15 16:41:25 by simonmar]simonmar2005-02-151-1/+1
| | | | Fix test in findPackages
* [project @ 2005-02-15 10:51:37 by simonmar]simonmar2005-02-151-69/+96
| | | | | | | | | | | | | Change in semantics: - commands which only inspect the databse (list,describe,field) now take into account the user database unless --global is given. This behaviour matches GHC, which also uses the user database by default. - However, commands which modify the database still use the global database, unless --user is given. Also, allow P-* to be given as a package identifier, which means "all versions of package P".