simonmar    2003/07/18 06:18:07 PDT
Sender: [EMAIL PROTECTED]
Errors-To: [EMAIL PROTECTED]
X-BeenThere: [EMAIL PROTECTED]
X-Mailman-Version: 2.0.13
Precedence: bulk
List-Help: <mailto:[EMAIL PROTECTED]>
List-Post: <mailto:[EMAIL PROTECTED]>
List-Subscribe: <http://www.haskell.org/mailman/listinfo/cvs-ghc>,
        <mailto:[EMAIL PROTECTED]>
List-Id: GHC/CVS discussion and fptools/ghc CVS commit messages <cvs-ghc.haskell.org>
List-Unsubscribe: <http://www.haskell.org/mailman/listinfo/cvs-ghc>,
        <mailto:[EMAIL PROTECTED]>
List-Archive: <http://www.haskell.org/pipermail/cvs-ghc/>
Date: Fri, 18 Jul 2003 06:18:07 -0700

  Modified files:
    ghc/compiler/compMan CompManager.lhs 
    ghc/compiler/main    DriverMkDepend.hs DriverPipeline.hs 
                         Finder.lhs 
  Log:
  Revision to the filename policy changes of yesterday.  This fixes the
  broken stage2 and library builds.
  
  The new story is this:
  
    A Haskell source filename should take the form
  
        <path>/<basename>.<extension>
  
    where
  
        <path>      is any directory
        <basename>  is the name of the module, with dots replaced by slashes.
        <extension> is ".hs" or ".lhs".
  
    given a source filename in this form, GHC will produce object and
    interface files named respectively:
  
          <hidir>/<basename>.<hisuf>
        <odir>/<basename>.<osuf>
  
    where
  
        <hidir>   is the value of the -hidir flag, if one was given, or
                  the value of <path> from the source file otherwise.
  
        <odir>    the same, for the -odir flag.
  
          <osuf>          the object suffix (settable with the -osuf flag)
        <hisuf>   the hi suffix (settable with the -hisuf flag)
  
  For example, if I have a module A.B.C, in source file foo/A/B/C.hs,
  then GHC will create foo/A/B/C.hi and foo/A/B/C.o.
  
  If GHC is given a source filename which is *not* of the form
  <path>/<basename>.<extension>, then it uses a different strategy.
  This happens if the filename does not follow the module name.  In this
  case, GHC will set <path> to be the directory in which the source file
  resides, and <basename> to the module name with dots replaced by
  slashes, and then use the rules above.
  
  For example, if we put module A.B.C in foo/bar/baz.hs, then GHC will
  produce foo/bar/A/B/C.o and foo/bar/A/B/C.hi.
  
  Revision  Changes    Path
  1.135     +2 -3      fptools/ghc/compiler/compMan/CompManager.lhs
  1.30      +6 -8      fptools/ghc/compiler/main/DriverMkDepend.hs
  1.156     +1 -1      fptools/ghc/compiler/main/DriverPipeline.hs
  1.66      +22 -7     fptools/ghc/compiler/main/Finder.lhs
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to