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