summaryrefslogtreecommitdiff
path: root/compiler/utils/md5.c
Commit message (Collapse)AuthorAgeFilesLines
* GHC 7.4 is now required for building HEADIan Lynagh2012-07-201-241/+0
|
* omit the local MD5 implementation if we can get it fromSimon Marlow2011-07-121-0/+3
| | | | GHC.Fingerprint in base instead.
* Use MD5 checksums for recompilation checking (fixes #1372, #1959)Simon Marlow2008-05-281-0/+238
This is a much more robust way to do recompilation checking. The idea is to create a fingerprint of the ABI of an interface, and track dependencies by recording the fingerprints of ABIs that a module depends on. If any of those ABIs have changed, then we need to recompile. In bug #1372 we weren't recording dependencies on package modules, this patch fixes that by recording fingerprints of package modules that we depend on. Within a package there is still fine-grained recompilation avoidance as before. We currently use MD5 for fingerprints, being a good compromise between efficiency and security. We're not worried about attackers, but we are worried about accidental collisions. All the MD5 sums do make interface files a bit bigger, but compile times on the whole are about the same as before. Recompilation avoidance should be a bit more accurate than in 6.8.2 due to fixing #1959, especially when using -O.