X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Flib%2Fcompat%2FREADME;fp=ghc%2Flib%2Fcompat%2FREADME;h=0000000000000000000000000000000000000000;hb=0065d5ab628975892cea1ec7303f968c3338cbe1;hp=8d0697beb4f3d984d9838e85ed6a18fdde33d65f;hpb=28a464a75e14cece5db40f2765a29348273ff2d2;p=ghc-hetmet.git diff --git a/ghc/lib/compat/README b/ghc/lib/compat/README deleted file mode 100644 index 8d0697b..0000000 --- a/ghc/lib/compat/README +++ /dev/null @@ -1,32 +0,0 @@ -GHC compatibiliy library: libghccompat.a ----------------------------------------- - -This library contains interfaces that are available in recent versions -of GHC, but may or may not be available in older versions. The idea -is to provide an abstraction layer and reduce the amount of #ifdefery -and code duplication in GHC and its tools. Furthermore, we can add -modules to the main library and start using them right away in GHC, by -adding a stub to this compat library. - -There are two types of modules in here: - -(a) a module with the same name as a module in the main library - (eg. Distribution.Package). If the module is available in - the main library, then we don't include it in libghccompat. - Otherwise, we have a stub module here that just #includes - the source from the real location under libraries/. Go look - at Distribution/Package.hs for example. - -(b) a module that doesn't exist in another library. For example, - Compat.RawSystem. These modules are used to provide functions - that are available in newer versions of the main libraries. - -BIG NOTE: when building stage 2 of GHC, libghccompat is not used, -because we would have to build another version of it. Instead, we -just use the appropriate libraries directly. For (a)-type modules, -just import the module directly. For (b)-type modules, a single -#ifdef will be required to choose between the Compat version and -the real version. - -In stage 1 of GHC, and tools (eg. ghc-pkg, runghc), libghccompat.a -is linked in, so all its libraries will be accessible.